DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Because the DevOps movement has redefined engineering responsibilities, SREs now have to become stewards of observability strategy.

Apache Cassandra combines the benefits of major NoSQL databases to support data management needs not covered by traditional RDBMS vendors.

The software you build is only as secure as the code that powers it. Learn how malicious code creeps into your software supply chain.

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

Related

  • The Pros and Cons of API-Led Connectivity
  • How To Rewrite a Huge Codebase
  • Building a Reusable API Platform With WSO2 API Manager

Trending

  • When Airflow Tasks Get Stuck in Queued: A Real-World Debugging Story
  • How to Introduce a New API Quickly Using Micronaut
  • Useful System Table Queries in Relational Databases
  • Is Big Data Dying?
  1. DZone
  2. Software Design and Architecture
  3. Integration
  4. Configuration Plans for SOA Suite 12C

Configuration Plans for SOA Suite 12C

In this post, we take look at cover composite specific configuration plans for SOA architectures.

By 
Rebecca Pruess user avatar
Rebecca Pruess
·
May. 23, 19 · Tutorial
Likes (4)
Comment
Save
Tweet
Share
12.4K Views

Join the DZone community and get the full member experience.

Join For Free

This is the first of a three part blog covering how to replace URLs and other environment specific fields in a SOA composite. The three options I will discuss are:

  • Composite specific configuration plan
  • Shared Configuration Plan
  • Global tokens

For each of these approaches to cleaning up environment specific fields, we will show how the Oracle capability works, then show how Flexagon’s FlexDeploy product supports each approach. My example will be using the CreateOrderService composite that has a call to the GetOrderDiscount composite. I am running it on a local 12C SOA Server, and need to deploy it to a central 12C test server. Although this post is written for SOA 12C, the capability is virtually identical to the 11G. To see the required fix up in this composite, I open the composite.xml file (see the local reference highlighted below):

We will clean up this URL using the above three techniques to show the strengths of each approach. The post today will cover composite specific configuration plans; in future posts, we will cover the shared configuration plan and global tokens.

Composite Specific Configuration Plan

With the composite specific configuration plan, we will generate a plan, and customize it specifically for the CreateOrderService composite.

Generating the Configuration Plan with JDeveloper

To generate the configuration plan in JDeveloper, right click on the composite.xml file. Select “Generate Config Plan” and give the plan a name. This name is often specific to an environment because each environment will have its only values to which you will need to set the URL.  For example, the Dev URL might start with http://devsoa01:8001, but since the QA environment is fronted by a load balancer, the URL is http://soaqa01:80.

Adjusting the Plan

Once the plan is generated, we can open the plan and adjust it for the environment to which we are going to deploy the composite. In this case, we need to adjust the location for the reference SOAP_GetOrderDiscount. At times, you may need to handle environment specific content in your imports, services, or other parts of the composite.xml file. You can also adjust other files like JCA files or WSDLs. Note how specific this generated plan is — it has been generated specifically for the CreateOrderService composite.  The section of the generated plan requiring fix up is below:

After updating the location URL, the Configuration plan looks like:

Deploying With the Configuration Plan From JDeveloper

Now we are ready to deploy the composite to the development environment. When deploying from JDeveloper, select the checkbox indicating that we will use the config plan, then select the plan you would like to use. Then proceed with the remaining deployment screens. The Config plan you selected will perform the required fix up.

Using a Specific Plan With FlexDeploy

To use the configuration plan with Flexagon’s FlexDeploy, generate the plan as described above. In the SOA deploy workflow, open the soaDeploy step and configure the configuration plan. In the example below, I use the Environment Code (DEV) and the project name (CreateOrderService). The plugin will then apply this plan when you deploy from FlexDeploy.

Using Workflow Properties in a Config Plan

FlexDeploy provides the ability to create user-defined workflow properties that can be set based on environment. In this case, I defined a property named SOAURLPREFIX. We now only need one configuration plan for the composite. When using these workflow properties, I would change the name of the config plan to be CreateOrderService_configplan.xml (it is not specific to an environment anymore!). This property replacement will handle mapping the URL for each environment. Central administrators can manage the actual values in FlexDeploy instead of each developer setting the actual URL in the config plan, you just reference the property name.

I now update my config plan to use this property. To reference a property in your config plan use  ${{…}} to delimit the property name. The updated config plan is below:

Then we can configure this property in FlexDeploy on the DEV environment for the SOA instance:

SOA

Published at DZone with permission of Rebecca Pruess. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • The Pros and Cons of API-Led Connectivity
  • How To Rewrite a Huge Codebase
  • Building a Reusable API Platform With WSO2 API Manager

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!