Once you have unit-tested, source-controlled, and completed your
composite implementation, you can harvest these design-time composites
into the Project Lifecycle Workspace and, optionally, Oracle Enterprise
Repository. When you choose to harvest into the Project Lifecycle
Workbench, annotations in composite XML files are published to Project
Lifecycle Workbench. These annotations published to
Project Lifecycle Workbench are instrumental in facilitating downstream
automation, such as bill of material (BOM) generation and deployment
plan generation. Annotations and harvesting are required to enable this
downstream automation.
AIA Annotation Introduction:
AIA
annotates SOA components (adapter services, requester services,
provider services) in the composite.xml to provide detailed information
about:
Those information will be harvested and generated at BOM.xml (Bill Of Materials)
When
you utilize Service constructor to create ABCS, you will get AIA
annotation for predefined web services (like
AIAAsyncErrorHandlingBPELProcess), but during your development stage,
you must provide annotations in the composites for the exposed services
and for the referenced services, according to AIA guidelines, and you
must insert these comments at development time.
Embed
annotations in the <svcdoc:AIA> element and place the
<svcdoc:AIA> element itself inside the xml comments tags <!--
and -- >. <svcdoc:TransportDetails> is ONLY used for Adapter
service / reference at SOA composite.
<!--<svcdoc:AIA>
..................
</svcdoc:AIA>-->
1. Annotate Service, Reference and Adapter:
1.1 Annotate Composite - <svcdoc:ServiceSolutionComponentAssociation>:
<svcdoc:ServiceSolutionComponentAssociation>
is generated by service constructor and describes the globally unique
identifier (GUID) used for artifacts generation and should be placed
under the root element <composite>.
<!--<svcdoc:AIA>
<svcdoc:ServiceSolutionComponentAssociation>
<svcdoc:GUID>81e4d7b1-b723-4ec5-a532-c579f79a106b</svcdoc:GUID>
</svcdoc:ServiceSolutionComponentAssociation>
</svcdoc:AIA>-->
1.2 Annotate Service - <svcdoc:Service>:
It
describes the details of the exposed service as denoted by the Service
element of the Composite.xml. It contains
<svcdoc:InterfaceDetails> and
<svcdoc:ImplementationDetails>, plus
<svcdoc:TransportDetails> if it is adapter service.
<!--<svcdoc:AIA>
<svcdoc:Service>
<svcdoc:InterfaceDetails>
<svcdoc:ServiceName>UtilitiesBatchPaymentsEBSV1</svcdoc:ServiceName>
<svcdoc:Namespace>http://xmlns.oracle.com/EnterpriseServices/Core/BusinessUnit/V1</svcdoc:Namespace>
<svcdoc:ArtifactType>EnterpriseBusinessService</svcdoc:ArtifactType>
<svcdoc:ServiceOperation>
<svcdoc:Name>CreateInvoices</svcdoc:Name>
</svcdoc:ServiceOperation>
</svcdoc:InterfaceDetails>
<svcdoc:ImplementationDetails>
<svcdoc:ApplicationName>CCB</svcdoc:ApplicationName>
<svcdoc:BaseVersion></svcdoc:BaseVersion>
<svcdoc:DevelopedBy>Oracle</svcdoc:DevelopedBy>
<svcdoc:OracleCertified>Yes</svcdoc:OracleCertified>
<svcdoc:ArtifactType>ProviderABCSImplementation</svcdoc:ArtifactType>
<svcdoc:ServiceOperation>
<svcdoc:Name>CreateInvoices</svcdoc:Name>
</svcdoc:ServiceOperation>
</svcdoc:ImplementationDetails>
</svcdoc:Service>
</svcdoc:AIA>-->
1.3 Annotate Reference - <svcdoc:Reference>:
It
describes the Reference element. It contains <svcdoc:
ArtifactType> and <svcdoc: ServiceOperation>, plus
<svcdoc:TransportDetails> if it is adapter service.
<!--<svcdoc:AIA>
<svcdoc:Reference>
<svcdoc:ArtifactType>UtilityService</svcdoc:ArtifactType>
<svcdoc:ServiceOperation>
<svcdoc:Name>initiate</svcdoc:Name>
</svcdoc:ServiceOperation>
</svcdoc:Reference>
</svcdoc:AIA>-->
1.4 Annotate Transport Adapter - <svcdoc:TransportDetails>:
It
provides details about a transport adapter in a composite if a non-SOAP
transport is used to interface with an application, either using
inbound or outbound connectivity.
Populate the element, TransportDetails, under:
· Service if nonSOAP transport is used to interface with this service.
· Reference if the service uses nonSOAP transport to interface with participating applications /external systems.
Here is example of annotating Transport Adapter under reference.
Annotating Transport Adapter under service is pretty similar, mainly by
replace <svcdoc:Reference> with <svcdoc:Service>
(1) DBAdapter
<!--<svcdoc:AIA>
<svcdoc:Reference>
<svcdoc:ArtifactType>TransportAdapter</svcdoc:ArtifactType>
<svcdoc:ServiceOperation>
<svcdoc:Name>Populate_CI_PAY_TNDR_ST</svcdoc:Name>
</svcdoc:ServiceOperation>
<svcdoc:TransportDetails>
<svcdoc:DBAdapter>
<svcdoc:ResourceProvider>OracleDB</svcdoc:ResourceProvider>
<svcdoc:ConnectionFactory>eis/DB/CCBDEV1</svcdoc:ConnectionFactory>
<svcdoc:ApplicationName>OUCCB</svcdoc:ApplicationName>
<svcdoc:XAEnabled>True</svcdoc:XAEnabled>
<svcdoc:ResourceTargetIdentifier>CCBDEV</svcdoc:ResourceTargetIdentifier>
<svcdoc:ResourceName>CI_PAY_TNDR_ST</svcdoc:ResourceName>
</svcdoc:DBAdapter>
</svcdoc:TransportDetails>
</svcdoc:Reference>
</svcdoc:AIA>-->
(2) JMSAdapter
<!--<svcdoc:AIA>
<svcdoc:Reference>
<svcdoc:ArtifactType>TransportAdapter</svcdoc:ArtifactType>
<svcdoc:ServiceOperation>
<svcdoc:Name>Produce_Message</svcdoc:Name>
</svcdoc:ServiceOperation>
<svcdoc:TransportDetails>
<svcdoc:JMSAdapter>
<svcdoc:ResourceProvider>WLSJMS</svcdoc:ResourceProvider>
<svcdoc:ConnectionFactory>eis/wlsjms/AIACommonCF</svcdoc:ConnectionFactory>
<svcdoc:XAEnabled>false</svcdoc:XAEnabled>
<svcdoc:ResourceType>Topic</svcdoc:ResourceType>
<svcdoc:ResourceName>AIA_SiebelCustomerJMSQueue</svcdoc:ResourceName>
</svcdoc:JMSAdapter>
</svcdoc:TransportDetails>
</svcdoc:Reference>
</svcdoc:AIA>-->
(3) FileAdapter
<!--<svcdoc:AIA>
<svcdoc:Reference>
<svcdoc:ArtifactType>TransportAdapter</svcdoc:ArtifactType>
<svcdoc:ServiceOperation>
<svcdoc:Name>Write</svcdoc:Name>
</svcdoc:ServiceOperation>
<svcdoc:TransportDetails>
<svcdoc:OtherResourceAdapter>
<svcdoc:ResourceProvider>FILE</svcdoc:ResourceProvider>
<svcdoc:ConnectionFactory>eis/HAFileAdapter</svcdoc:ConnectionFactory>
<svcdoc:XAEnabled>false</svcdoc:XAEnabled>
</svcdoc:OtherResourceAdapter>
</svcdoc:TransportDetails>
</svcdoc:Reference>
</svcdoc:AIA>-->
2. Annotate Requester ABCS, Provider ABCS and EBF:
2.1 Annotate Reference Element at Requester ABCS
It has following characteristics:
a) <svcdoc:ArtifactType> = EnterpriseBusinessService (EBS) or UtilityService (AIAAsyncErrorHandlingBPELProcess)
b) ServiceOperation/Name is same as the value defined for the operation in the WSDL of the ABCS
<!--<svcdoc:AIA>
<svcdoc:Reference>
<svcdoc:ArtifactType>EnterpriseBusinessService</svcdoc:ArtifactType>
<svcdoc:ServiceOperation>
<svcdoc:Name>BatchPayments</svcdoc:Name>
</svcdoc:ServiceOperation>
</svcdoc:Reference>
</svcdoc:AIA>-->
2.2 Annotate Service Element at Requester ABCS
It has following characteristics:
a) Contain <svcdoc:ImplementationDetails>
b) <svcdoc:ArtifactType> = RequesterABCSImplementation.
c) ServiceOperation/Name is same as the value defined for the operation in the WSDL of the ABCS.
<! - - <svcdoc:AIA>
<svcdoc:Service>
<svcdoc:ImplementationDetails>
<svcdoc:ApplicationName>StdVendors</svcdoc:ApplicationName>
<svcdoc:BaseVersion>1</svcdoc:BaseVersion>
<svcdoc:DevelopedBy>Oracle</svcdoc:DevelopedBy>
<svcdoc:OracleCertified>Yes</svcdoc:OracleCertified> <svcdoc:ArtifactType>RequesterABCSImplementation</svcdoc:ArtifactType>
<svcdoc:ServiceOperation>
<svcdoc:Name>BatchPayments</svcdoc:Name>
</svcdoc:ServiceOperation>
</svcdoc:ImplementationDetails>
</svcdoc:Service>
</svcdoc:AIA> - - >
2.3 Annotate Reference Element at Provider ABCS
It has the following characteristics:
a) <svcdoc:ArtifactType> = UtilityService (AIAAsyncErrorHandlingBPELProcess) or others
b) ServiceOperation/Name is same as the value defined for the operation in the WSDL of the ABCS
<!--<svcdoc:AIA>
<svcdoc:Reference>
<svcdoc:ArtifactType>UtilityService</svcdoc:ArtifactType>
<svcdoc:ServiceOperation>
<svcdoc:Name>initiate</svcdoc:Name>
</svcdoc:ServiceOperation>
</svcdoc:Reference>
</svcdoc:AIA>-->
2.4 Annotate Service Element at Provider ABCS
It has the following characteristics:
a) Contain both <svcdoc:InterfaceDetails> and <svcdoc:ImplementationDetails>
b) InterfaceDetails/ArtifactType = EnterpriseBusinessService.
c) ImplementationDetails/ArtifactType = ProviderABCSImplementation
d) ServiceOperation/Name is same as the value defined for the operation in the WSDL of the ABCS.
<!--<svcdoc:AIA>
<svcdoc:Service>
<svcdoc:InterfaceDetails>
<svcdoc:ServiceName>UtilitiesBatchPaymentsEBSV1</svcdoc:ServiceName>
<svcdoc:Namespace>http://xmlns.oracle.com/EnterpriseServices/Core/BusinessUnit/V1</svcdoc:Namespace>
<svcdoc:ArtifactType>EnterpriseBusinessService</svcdoc:ArtifactType>
<svcdoc:ServiceOperation>
<svcdoc:Name>CreateBatchPayments</svcdoc:Name>
</svcdoc:ServiceOperation>
</svcdoc:InterfaceDetails>
<svcdoc:ImplementationDetails>
<svcdoc:ApplicationName>CCB</svcdoc:ApplicationName>
<svcdoc:BaseVersion></svcdoc:BaseVersion>
<svcdoc:DevelopedBy>Oracle</svcdoc:DevelopedBy>
<svcdoc:OracleCertified>Yes</svcdoc:OracleCertified>
<svcdoc:ArtifactType>ProviderABCSImplementation</svcdoc:ArtifactType>
<svcdoc:ServiceOperation>
<svcdoc:Name>CreateBatchPayments</svcdoc:Name>
</svcdoc:ServiceOperation>
</svcdoc:ImplementationDetails>
</svcdoc:Service>
</svcdoc:AIA>-->
2.5 Annotate Reference Element at EBF
It has the following characteristics:
a) <svcdoc:ArtifactType> = EnterpriseBusinessService.
b) ImplementationDetails/ArtifactType = EnterpriseBusinessFlow
c) ServiceOperation/Name is same as the value defined for the operation in the WSDL of the ABCS.
<!--<svcdoc:AIA>
<svcdoc:Reference>
<svcdoc:ArtifactType>EnterpriseBusinessService</svcdoc:ArtifactType>
<svcdoc:ServiceOperation>
<svcdoc:Name>GetCreditScoreCustomerPartyList</svcdoc:Name>
</svcdoc:ServiceOperation>
</svcdoc:Reference>
</svcdoc:AIA>-->
2.6 Annotate Service Element at EBF
It has the following characteristics:
a) Contain both <svcdoc:InterfaceDetails> and <svcdoc:ImplementationDetails>
b) InterfaceDetails/ArtifactType = EnterpriseBusinessService.
c) ImplementationDetails/ArtifactType = EnterpriseBusinessFlow
d) ServiceOperation/Name is same as the value defined for the operation in the WSDL of the ABCS.
<!--<svcdoc:AIA>
<svcdoc:Service>
<svcdoc:InterfaceDetails>
<svcdoc:ServiceName>DoCreditCheckCustomerPartyEBS</svcdoc:ServiceName>
<svcdoc:Namespace>http://xmlns.oracle.com/EnterpriseServices/Core/CustomerParty
/V2</svcdoc:Namespace>
<svcdoc:ArtifactType>EnterpriseBusinessService</svcdoc:ArtifactType>
<svcdoc:ServiceOperation>
<svcdoc:Name>DoCreditCheckCustomerParty</svcdoc:Name>
</svcdoc:ServiceOperation>
</svcdoc:InterfaceDetails>
<svcdoc:ImplementationDetails>
<svcdoc:ApplicationName>AIA</svcdoc:ApplicationName>
<svcdoc:BaseVersion>1.0</svcdoc:BaseVersion>
<svcdoc:DevelopedBy>Oracle</svcdoc:DevelopedBy>
<svcdoc:OracleCertified>Yes</svcdoc:OracleCertified>
<svcdoc:ArtifactType>EnterpriseBusinessFlow</svcdoc:ArtifactType>
<svcdoc:ServiceOperation>
<svcdoc:Name>DoCreditCheck</svcdoc:Name>
</svcdoc:ServiceOperation>
</svcdoc:ImplementationDetails>
</svcdoc:Service>
</svcdoc:AIA>--> |
Saturday, June 23, 2012
AIA 11g PIPS Deployment using AIA Installer Driver: Harvesting AIA composites Part 1 Annotations
########
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment