Oracle SOA Suite
Objective
You have a given SOA composite that was developed in JDeveloper and the source code is managed in a GIT repository. The goal of the tutorial is to automate the deployment of the composite across multiple environments. This automation will include:
cloning the composite from a GIT repository
compiling and packaging the composite into a SAR file
deploying the SAR file to multiple environments
utilizing a global config plan to adjust environment-specific URLs as deployments progress through the environments
We will walk through each of the FlexDeploy features that will be created/configured to accomplish this goal and have the composite deployed in a very short amount of time.
The tutorial does not cover every feature or configuration option available in FlexDeploy.
Checklist
Checklist | Description |
---|---|
Are configuration plan files stored in a separate folder or along with composite? | Know where the configuration files are stored so that you can modify the build and deploy workflows accordingly. |
Oracle SOA Home (installation path) | Location to Oracle SOA Home i.e. indicates where SOA Suite is installed. |
SOA Server Host | Host name of the SOA-managed server. |
SOA Server Port | Port number of the SOA managed server, which will be the SSL Listen Port or Listen Port based on whether you desire to connect using SSL. |
WebLogic Admin User | Admin user name for WebLogic server. |
WebLogic Admin Password | Weblogic Admin User password for WebLogic server. |
MDS User Id | Username of MDS Access |
MDS Password | Password for MDS UserID. |
MDS JDBC URL | Database URL for MDS access. |
Connectivity to WebLogic Node(s) | FlexDeploy should be able to communicate over SSH with WebLogic domain nodes. |
User id which runs Oracle SOA (eg. Oracle) | FlexDeploy will connect to target server using this user. |
Password for user id which runs Oracle SOA | The password for the User Id which runs Oracle SOA. |
JDK Home for WebLogic Node(s) | Recommended JDK used by Oracle SOA |
Base Directory on each WebLogic Node | Minimum of 4GB space on each WebLogic node. Avoid /tmp and /var/tmp as Linux processes may clean up files automatically and conflict with FlexDeploy. |
Create SOA Project using Blueprint
The assumption is that you have FlexDeploy installed and ready for use. When logged into the FlexDeploy, you will see the Home page. Click on the + icon on the top and click “Create Project” to create a new project.
The screen displays the list of blueprints technologies supported by the FlexDeploy. Select the blueprint from the list or you can search for the blueprint in the search filter present in the top. In our case, we will select the SOA Composite blueprint.
General Configuration
Scroll through this guide to fill in the blueprint properties. It is a best practice to name the Project with the same name as the SOA Composite, a FlexDeploy property (ProjectName and FD_PROJECT_NAME) will be automatically set and can be utilized during the configuration.
Project Info
Property Name | Value for this tutorial | Description |
---|---|---|
Composite Name | HRSOAService | Name of the composite that is being built and deployed. |
SOA Partition | Order | SOA Partition / Folder should this composite be deployed to. |
Jdeveloper .jws Name | HRSOAService | Brief description of the custom module. |
SOA Install Name | SOA1 | This value will provide environment independent name for SOA install (eg. SOA, SOAHR ). The default is SOA. |
Composite Description | Creating SOA project using Blueprints | Brief description of the composite. |
The Build and Deploy options are auto-selected.
Source Control
Click on source repository dropdown. If you have already created a connection to your source code repository, select it from the list. Enter the sparse checkout folder, if any.
Otherwise add one by clicking on “Create new Source Repository”. Enter the sparse checkout folders script, if any.
Inputs Info
Field | Required | Description |
---|---|---|
Name | Yes | A descriptive name for this SCM instance. |
Code | Yes | A technical code for the instance, without any spaces. The codes are available as variables to shell and Groovy scripts, and therefore needs to comply with their limitations. |
Source Control Type | Yes | Type of Source Control Management System. We will use Git for this tutorial. Supported Source Control Management Systems are:
|
Description | No |
|
SCM Properties | Yes | The remaining properties are specific to the selected SCM. For Git:
|
We selected the SCM type as GIT. The properties related to the GIT source control management will be displayed on the screen.
Click on Create New Credential to create a new credential password for GIT password. Enter the credential Name which is unique name to identify the password. In the secret text, enter the password and click on Save.
After saving the credential, click on Save again on the SCM instance. Do a Test Connection. The green color ticket mark will show that the connection is successful.
Enter the sparse checkout folder value, if any.
Gather Build and Deployment information
Enter values for any workflow properties which are required for the build and deploy. In the image below, no properties are required for this build. Select the target endpoint that the build and deploy should execute on.
Target Properties
Property Name | Values for this Tutorial | Description |
---|---|---|
SOA Server Host | locate this value from your SOA server. | The hostname of SOA Server. |
SOA Server Port | 8001 | The Port number of the SOA Server. |
Oracle SOA Home | locate this value from your SOA server. | Oracle SOA Home, indicates where SOA Suite is installed. |
MDS JDBC URL | locate this value from your server. | The database URL for MDS Access. |
MDS User | DEV_MDS | The Username for MDS Access. |
MDS Password | locate this value from your MDS Access. | Password to connect for MDS Access. |
WebLogic Admin User | weblogic | The admin username for the WLS Admin Server. |
WebLogic Admin Password | locate this value from your WLS admin server. | The admin password for the WLS Admin Server. |
The Project Name will be auto updated as HRSOAService since it takes the value same as SOA Composite.
The Folder path is auto updated to FlexDeploy/SOA/ and it creates the project under folder named same as Jdeveloper workspace name i.e. HRSOAService and click on “Create”.
We can see the Folder hierarchy on the top of the project.
Summary
General Configuration
Build and Deploy Workflows
Project Properties
These properties are project scoped resources and can be changed per project. The plugin operations that were added to the workflows determine the available project properties that can be configured. The property that are updated are the and SOA Composite Name and SOA partition, which is the organizational structure for composites on the SOA server. You can filter out the properties by using the search filter properties in the top.
Source Control
Branch Name
Change the branch name similar to the git repositories branch name. Click on Save.
SCM Instance
Viewing the current list of Integrations is achieved by selecting Topology from the menu, then the Integrations tab from the left-hand pane. There are eleven types of integrations in FlexDeploy, but we will focus on Source Control in this tutorial.
Target Properties
Select Topology from the menu and then select Topology Overview from the left menu. You will see a table that has Instances as the rows and Environments as the columns with colored circles representing the Target. Color coding represents:
RED - no required properties are set and/or the Endpoint is not configured
YELLOW - some of the required properties are set and/or the Endpoint is not configured
GREEN - all required properties are set and the Endpoint is configured
Selecting the GREEN circle for DEV will display the configurable properties/Endpoint and allows for the configuration of the properties.
Build Execution
FlexDeploy is configured with everything that is required to execute a build and deploy request for the SOA composite, we can execute the first build. Click on Execution tab to submit the build request for that package. Click on Build.
The Build Request Form will appear and we need to:
select the environment we want to build the composite in, the environments that had the Build Environment checkbox will appear in the dropdown
select the SCM Branch that was configured on the project, this will be pre-populated if there is only one configured Branch.
submit the request, this will initiate the soaBuild workflow
Upon submission, the build workflow is initiated and the workflow steps are executed on the SOA instance in the Dev environment, utilizing the SOADEV endpoint. Upon completion of the workflow, the execution status will be successful.
With the successful execution of the build, a SAR file artifact is created, stored in the artifact repository and marked with the Project Version. Every build will generate a new Project Version. The generated SAR artifact and the discovered project specific config plans can be viewed from the Execution Id link and the Artifacts tab.
Navigate to steps tab in order to view the workflow steps. Click on the link to view the plugin logs.
Now the composite can be deployed to an environment by selecting the icon as shown in the below screenshot.
The Deploy Request Form will appear and we need to:
The Project Version will be updated same as the build project version. However, the dropdown will contain all previously create Project Versions
select the Environment that the deployment will be executed in
The Deploy Instance, will be updated same as the deploy instance on the General Configuration. However, Deployments can happen on multiple instances.
submit the request, this will initiate the soaDeploy workflow
Upon submission, the deploy workflow is initiated and the workflow steps are executed on the SOA instance in the Dev environment, utilizing the SOADEV endpoint. Upon completion of the workflow, the execution status will be successful. With the successful execution of the deploy, the SAR file artifact will be deployed to the Dev environment.
The Execution Id is a link to all of the execution data related to each request, such as
the workflow execution steps
the logs for each workflow step, which can be viewed by clicking on the link under the step
the artifact, which can be downloaded
the project and environment instance property values at the time of execution
Congratulations! You have successfully completed the SOA Suite tutorial.
Now that you have configured FlexDeploy for one composite, it is extremely easy to add more composites. Simply use the Copy Project feature and a new project will be created with all of the configuration completed already.
- style