Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Performs an environment-specific composite purge controlled by the "Composite Revision To Keep" environment/instance property.  The purge operation will go across all partitions on the server.  This operation also has the ability to preview the composite revisions that would be purged, just logging with no purging.

Environment/Instance Properties

Property Name

Property Code

Required

Description

SOA Server Host

FDSOA_SERVER_HOST

Yes

Host name of the SOA managed server.

SOA Server Port

FDSOA_SERVER_PORT

Yes

Port number of the SOA managed server.

Weblogic Admin User

FDWLS_ADMIN_USER

Yes

Admin user name for WebLogic server.

Weblogic Admin Password

FDWLS_ADMIN_PASSWORD

Yes

Weblogic Admin User password for WebLogic server.

Oracle SOA Home

FD_ORACLE_SOA_HOME

Yes

Oracle SOA Home, indicates where SOA Suite is installed.

Composite Revisions To KeepFDSOA_REVISIONS_TO_KEEPNoNumber of composite revisions to retain on the server after successful deployment

  

  

Project Properties

Property Name

Property Code

Required

Description





  

Inputs

Input Name

Input Code

Required

Description

Preview Mode For Purge

FDSOA_INP_PURGE_PREVIEW_MODE

No

Deployment config plan that is to be used for the composite deployment. Takes a Wildcard expression or filename. Can be a relative or absolute path (see Configuration Plans section below).

Composite Revision

FDSOA_INP_REVISION

No

Provide the composite revision, this input will override the SOA Overwrite Revision project property (see Composite Revisions).

Stop On Purge FailureFDSOA_INP_STOP_ON_PURGE_FAILNoProvides the ability to control whether a failed purge stops the workflow (default is False)
Activate Purge On DeployFDSOA_INP_ACTIVATE_PURGENoActivates the composite revision purge on deploy feature (default is False)
Preview Mode For PurgeFDSOA_INP_PURGE_PREVIEWNoActivates the purge preview mode. If purge is activated, preview mode will show in the logs the composite revisions that would have been purged with no purge occurring.  (default is False) see Composite Revision Purge for examples

  

Outputs

Output Name

Required

Description

FDSOA_DEPLOYED_REVISION

Yes

Revision of the composite for this deployment.

FDSOA_LAST_DFLT_REVISION

Yes

Revision of the composite for the previous default revision.

  

Artifacts

This operation consumes an SCA composite jar from the artifacts repository.


Endpoint Selection

This operation will select all available endpoints associated to the Environment/Instance.


Endpoint Execution

This operation will execute on any one of the selected endpoints and will be random in the determination of which one.


Special Considerations

Utilize the SOA Extend Classpath environment variable to extend the plugin classpath to allow the compile to succeed with custom java classes or xpath functions.

NOTE: when patching a long running process revision that isn't the default revision, the patching process will make the patched revision the default revision.


Composite Revisions 

The revision for a composite is calculated unless either Composite Revision (plugin input) is used or SOA Overwrite Revision (project property) is checked.  The input will override all revision logic and use the value that is passed in.  If the input is empty and the project property is unchecked, then the plugin will determine the largest revision on the server and increment the revision before deploying.  The revision format is N.nn[.nn][.nn] with an initial value of 1.0, with

  • N – initial segment that will increment with no limitation
  • nn – 0 through 99, when segment hits 100 it rolls to the next higher segment


Current revision

Next revision
1.01.01
1.992.00
1.0.01.0.01
1.0.991.01.00

Composite Revision Purge 

The composite revision purge will undeploy specific revisions based on the "Composite Revisions to Keep" Target property, defaulted to 1.  The retained revisions will start at the default revision and retain composites until the property value is met.  If there are more recent revisions than the default revision, those recent revisions will also be retained but will not count against the property value.  Default revision is bold and Composite Revisions to Keep is 2.

Revision Ex 1

Action

Revision Ex 2

Action

1.01

purged

1.01

purged

1.02

purged

1.02

kept due to property count

1.03

purged

1.03

kept due to default revision

1.04

kept due to property count

1.04

kept due to more recent than default revision

1.05

kept due to default revision

1.05

kept due to more recent than default revision

In addition, the Preview Mode for Purge input can activate the preview feature that will show the revisions that would have been purged in the logs.  No purge will occur in preview mode.


Configuration Plans 

Configuration plans are used to automatically cleanup environment specific information in a composite.xml file during deployment. Information that can be changed includes URL hosts and retry values, to name a few items. Configuration plans can utilize property replacement to utilize FlexDeploy properties.  Utilizing FlexDeploy properties allows configuration plans to become re-usable.

Composite specific configuration plans that were captured during build in configPlans sub-folder, are available during deploy step along with SCA Jar file.

Configuration plan can be specified using SOA Deploy Config Plan project property and/or Deploy Config Plan plugin input. The plugin input will take precedence over the project property. Deploy Config Plan input can be either an absolute path to a global configuration plan or composite configuration plans file name. Composite configuration plans are placed in FD_TEMP_DIR by FlexDeploy SOA Plugin (from configPlans artifact directory), so you do not need to qualify it, just provide name when using composite specific configuration plans.

There are two approaches to Configuration Plans:

Shared (recommended method)

A shared configuration plan provides the same functionality as a composite specific configuration plan but with the added benefit of not needing to remember to generate a configuration plan for new composites or new environments.  The shared configuration plan will be managed seperately from the composites and deployed independently to a common location on the servers.  With a shared configuration plan, utilizing FlexDeploy property replacement is a must.  Shared configuration files can be either environment specific or global across all environments due to the use of property replacement.

You will notice that in the import section of the conguration plan, any host name is being replaced with a string "change to mds ref".  The reason is that when leveraging MDS or relative paths for XSDs or abstract WSDLs, there should be no references to the server.  When a developer forgets to clean up the composite correctly, this helps to remind them because the deploy will fail with a message that includes the string above.

There may be other properties that need to be replaced based on your organization, which include endpointURI, oracle.webservices.auth.userid and oracle.webservices.auth.password, as examples.  These can be replaced utilizing the same pattern as above.

Shared Configuration Plan
<?xml version="1.0" encoding="UTF-8"?>
<SOAConfigPlan xmlns:jca="http://platform.integration.oracle/blocks/adapter/fw/metadata" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" xmlns:edl="http://schemas.oracle.com/events/edl" xmlns="http://schemas.oracle.com/soa/configplan">
   <composite name="*">
      <import>
         <searchReplace>
		    <search>localhost</search>
			<replace>change to mds ref</replace>
		 </searchReplace>
       </import>
	  <reference name="*">
         <!--Add search and replace rules for the binding properties-->
         <binding type="ws">
            <attribute name="location">
			    <searchReplace>
				   <search>localhost</search>
				   <replace>${{FDSOA_SERVER_HOST}}</replace>
				</searchReplace>
				<searchReplace>
				   <search>devsoa.flexagon.com</search>
				   <replace>${{FDSOA_SERVER_HOST}}</replace>
				</searchReplace>
				<searchReplace>
				   <search>qasoa.flexagon.com</search>
				   <replace>${{FDSOA_SERVER_HOST}}</replace>
				</searchReplace>
				<searchReplace>
				   <search>soa.flexagon.com</search>
				   <replace>${{FDSOA_SERVER_HOST}}</replace>
				</searchReplace>
            </attribute>
         </binding>
      </reference>
   </composite>
</SOAConfigPlan>

On the soaDeploy operation used in the deployment workflow, change the FDSOA_INP_DEPLOY_CFG_PLAN input to a groovy expression similar to following if the shared plan is environment specific:

"/shared/location/" + FD_ENVIRONMENT_CODE + "*_cfgplan.xml"

If the shared plan is global, use an expression like: 

"/shared/location/acme_cfgplan.xml"

This will allow the workflow to remain re-usable across all composite deployments even though the configuration plans are specific to a composite.

Composite specific (not recommended because it leads to errors, many files with similar contents)

A composite specific configuration plan is created directly in the composite project using the JDeveloper wizard.  Right click on the composite.xml file and select "Generate Config Plan".  Provide the plan a name and it is recommended that you add the FlexDeploy environment code in the name.  

When a configuration plan is generated the file will contain most of the composite.xml content, there will be many lines that contain static content and will change infrequently. Removing all static content from the file will keep the configuration plan easier to update. Also, if static content is changed in the composite.xml file but the configuration plan is unchanged, the configuration plan will overwrite the composite.xml changes on deployment.

Composite specific approach will require a configuration plan for each environment for each composite since the goal is to cleanup host names as we progress through environments. The two blocks below show examples of what a configuration plan would look like for a DEV (hard code the host name) and QA (utilizing FlexDeploy property replacement) environment. You can decide to either hard code such values in each environment specific Configuration Plan or you can use FlexDeploy property replacement support.

DEV Configuration Plan (HostName is hardcoded)
<?xml version="1.0" encoding="UTF-8"?>
<SOAConfigPlan xmlns:jca="http://platform.integration.oracle/blocks/adapter/fw/metadata" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" xmlns:edl="http://schemas.oracle.com/events/edl" xmlns="http://schemas.oracle.com/soa/configplan">
   <composite name="processOrder">
      <reference name="validateCredit">
         <!--Add search and replace rules for the binding properties-->
         <binding type="ws">
            <attribute name="location">
               <replace>http://soalt06.flexagon:8001/soa-infra/services/order/validateCredit/validateCredit_client_ep?WSDL</replace>
            </attribute>
         </binding>
      </reference>
   </composite>
   <wsdlAndSchema name="Schemas/processOrder.xsd|WSDLs/processOrder.wsdl">
      <searchReplace>
         <search/>
         <replace/>
      </searchReplace>
   </wsdlAndSchema>
</SOAConfigPlan>
QA Configuration Plan (using FlexDeploy property replacement)
<?xml version="1.0" encoding="UTF-8"?>
<SOAConfigPlan xmlns:jca="http://platform.integration.oracle/blocks/adapter/fw/metadata" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" xmlns:edl="http://schemas.oracle.com/events/edl" xmlns="http://schemas.oracle.com/soa/configplan">
   <composite name="processOrder">
      <reference name="validateCredit">
         <!--Add search and replace rules for the binding properties-->
         <binding type="ws">
            <attribute name="location">
               <replace>http://${{FDSOA_SERVER_HOST}}:8001/soa-infra/services/order/validateCredit/validateCredit_client_ep?WSDL</replace>
            </attribute>
         </binding>
      </reference>
   </composite>
   <wsdlAndSchema name="Schemas/processOrder.xsd|WSDLs/processOrder.wsdl">
      <searchReplace>
         <search/>
         <replace/>
      </searchReplace>
   </wsdlAndSchema>
</SOAConfigPlan>

On the soaDeploy operation used in the deployment workflow, change the FDSOA_INP_DEPLOY_CFG_PLAN input to a groovy expression similar to:

"./" + FD_ENVIRONMENT_CODE + "*_cfgplan.xml".  

This will allow the workflow to remain re-usable across all composite deployments even though the configuration plans are specific to a composite.

  

Replacement Properties 

All files with the following suffix ("xml", "txt", "wsdl", "bpel", "jca", "xsd", "componentType", "dvm", "xref", "xsl", "wadl", "mplan", "task") within the composite file structure are pre-processed by the plugin to transform any defined replacement properties.

A deployment config plan file or composite.xml will have server host names within it and will vary from environment to environment.

  • No labels