Oracle® Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack 11g Release 1 (11.1.1.4.0) E17364-02 |
|
Previous |
Next |
This chapter describes annotations and discusses how to annotate specific Oracle Application Integration Architecture (AIA) elements.
This chapter includes the following sections:
Section 11.2, "How to Annotate the Service Element in a Requester ABCS Composite"
Section 11.3, "How to Annotate the Reference Element in a Requester ABCS Composite"
Section 11.4, "How to Annotate the Service Element in a Provider ABCS Composite"
Section 11.5, "How to Annotate the Reference Element in a Provider ABCS"
Section 11.6, "How to Annotate the Transport Adapter Composite"
Section 11.7, "How to Annotate the Service Element in Enterprise Business Flow Composite"
Section 11.8, "How to Annotate the Reference Element in Enterprise Business Flow Composite"
Section 11.9, "How to Annotate the Service Element in Composite Business Process Composite"
Section 11.10, "How to Annotate the Reference Element in Composite Business Process Composite"
AIA recommends annotations in the composite XML file to provide detailed information about:
AIA artifacts and their relationships to other AIA artifacts.
Composite-level descriptor properties that are used to configure the component at deployment and run time.
AIA architecture categorizes SOA composites further as adapter services, requester services, provider services, and so on based on their usage. The meta information of these AIA services is used in maintaining Oracle Enterprise Repository (OER) assets of AIA asset types and linking them to OER assets with native asset types; this is accomplished with the help of the AIA Harvester, which harvests the SOA composites.
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.
In line with SOA modeling and development practices, these composites are expected to be harvested multiple times during the development cycle, from conception till deployment to production environment.
Embed annotations in the <svcdoc:AIA> element and place the <svcdoc:AIA> element itself inside the xml comments tags <!-- and -- > as shown below.
The first annotation element that should occur in every annotated composite.xml file is <svcdoc:ServiceSolutionComponentAssociation>. This element, shown in Example 11-1, describes the globally unique identifier (GUID) used for artifacts generation and should be placed under the root element <composite>. The value for this element is not provided by the composite developer and is left blank. The GUID is used to associate the PM-identified Solution Service Component with the implemented Application Business Connector Service (ABCS) Composite. This association enables autopopulation into the Bill Of Material user interface (UI). The GUID is first autogenerated in the Solution Service Component UI and it is persisted in the AIA Project Lifecycle Workbench database.
Example 11-1 First Annotation Element for Every composite.xml File
<composite name="SamplesCreateCustomerPartyPortalProvABCSImpl"> ........................ <!--<svcdoc:AIA> <svcdoc:ServiceSolutionComponentAssociation> <svcdoc:GUID></svcdoc:GUID> </svcdoc:ServiceSolutionComponentAssociation> </svcdoc:AIA>--> ..................................... </composite>
You must annotate the Service and Reference elements of the Composite.xml in the manner presented in Example 11-2 and Example 11-3.
Example 11-2 A Skeletal Service Element in a composite.xml with Annotations
<service ui:wsdlLocation .......> <interface.wsdl ....... /> <binding.ws ........... /> <!-- <svcdoc:AIA> <svcdoc:Service> . . . . . . . . . . . . </svcdoc:Service> </svcdoc:AIA> --> </service>
Example 11-3 A Skeletal Reference Element in a composite.xml with Annotations
<reference ui:wsdlLocation ........"> <interface.wsdl ............/> <binding.ws ................/> <!-- <svcdoc:AIA> <svcdoc:Reference> ................. </svcdoc:Reference> </svcdoc:AIA> --> </reference>
As shown in Example 11-2 and Example 11-3 the root of the annotation element of the composite is <svcdoc:AIA>. Provide annotations for the Service and Reference elements of the Composite under xml comment tags using the annotation elements <svcdoc:Service> and <svcdoc:Reference>, respectively.
Figure 11-1 illustrates the annotations for Reference and Service elements.
The annotation element <svcdoc:Service> describes the details of the exposed service as denoted by the Service element of the Composite.xml. At a broader level, three annotation elements provide details about a service interface, its implementation, and the transport details (only if it is a transport adapter composite or if the composite contains as an adapter component).
These annotation elements are:
InterfaceDetails
This element provides information about the service interface, such as the name of the service, the name of the operation defined on the service, and the type of the service artifact.
ImplementationsDetails
This element provides information about the application with which the ABCS is interacting.
TransportDetails
This element provides information about the transport adapters and their details, if the composite has any transport adapters.
Figure 11-2 illustrates the annotations for interface, implementation, and transport details.
Note: Only when the Composite is that of an Adapter service are the Transport details provided. |
For more information, see Section 11.1.4, "Understanding the TransportDetails Element".
This element identifies the interface that is being implemented by the AIA service in consideration. The AIA service that implements an interface definition has these details annotated in its composite.xml. This element should provide details such as:
The name of the service
The name of the service operation
The type of the service artifact.
The element InterfaceDetails is explained in detail in Table 11-1.
Table 11-1 Interface Details Elements
Element | Description |
---|---|
ServiceName |
Identifies the name of the AIA service whose interface is being implemented by the composite under consideration. The Deployment Plan Generator uses this value. |
Namespace |
The namespace of the service whose interface is being implemented as defined in its WSDL. |
ArtifactType |
The type of service artifact, for example, an ABCS, and so on. The valid values are given here: Valid Values for Annotation Elements. |
ServiceOperation/Name |
The element that holds the complete service operation name in the format of verb + entity. The name of the operation of the AIA service whose interface is being implemented by the composite under consideration. |
AdditionalServiceInformation |
This element can be used to provide the additional service information like the supported application versions along with the base version or any other service related information Example:- This service supports create customer or billing profile ABM coming out of Siebel 8.0.x and 8.2 versions |
Example 11-4 shows a sample of the interface details annotation element.
Example 11-4 Interface Details Annotation Element Example
<svcdoc:InterfaceDetails> <svcdoc:ServiceName>CustomerPartyEBS</svcdoc:ServiceName> <svcdoc:Namespace>http://xmlns.oracle.com/EnterpriseServices/Core/CustomerParty /V2</svcdoc:Namespace> <svcdoc:ArtifactType>EnterpriseBusinessService</svcdoc:ArtifactType> <svcdoc:ServiceOperation> <svcdoc:Name>CreateCustomerPartyList</svcdoc:Name> </svcdoc:ServiceOperation> <AdditionalServiceInformation>This service supports create customer or billing profile ABM coming out of Siebel 8.0.x and 8.2 versions</AdditionalServiceInformation> </svcdoc:InterfaceDetails>
Service Interface details are optional. The AIA artifacts that implement an interface definition have these details annotated. For example, a provider ABCS implements an interface defined by an Enterprise Business Service (EBS) operation, whereas a requester ABCS does not. So, annotations about the service interface will only be captured in the provider ABCS to identify which interface that particular ABCS is implementing.
Therefore, specify Service Interface details in the Composite.xml only if they are applicable.
The annotation element ImplementationDetails describes the application for which the AIA service is being implemented. Table 11-2 lists the elements and provides a description for each element.
Table 11-2 ImplementationDetails Elements
Element | Description |
---|---|
ApplicationName |
The name of the participating application with which the service is interacting. |
B2BDocument |
For requester or provider B2B Connector Services, this element contains the name of the B2B document type that is supported by the B2B Connector Service. An example of a B2B document type is an 850 (EDI ORDER). The value in this field should also match the DocumentType name in Oracle B2B. |
B2BDocumentVersion |
Contains the version of the B2B document type that is supported by the B2B Connector Service, for example, 4010. The value in this field should also match the DocumentRevision in Oracle B2B. |
B2BStandard |
Contains the name of the B2B standard/protocol that is supported by the B2B Connector Service, for example, EDI_X12, OAG, or RosettaNet. |
B2BStandardVersion |
Contains the version of the B2B standard/protocol that is supported by the B2B Connector Service, for example, 1.0. |
BaseVersion |
The version of the participating application with which the service is interacting. |
DevelopedBy |
The name of the Business Unit that developed the service. A possible value is ABSG. |
OracleCertified |
Indicates whether it is tested by Oracle or not. |
ArtifactType |
Describes the type of the service artifact, for example, whether it is an ABCS, and so on. The valid values are given here: Valid Values for Annotation Elements. |
AdditionalServiceInformation |
Provide any additional service information . |
ServiceOperation/Name |
Holds the complete service operation name in the format of verb + entity. The name of the operation defined in the WSDL of the AIA service that is being implemented. |
Example 11-5 shows a sample of the ImplementationDetails annotation element.
Example 11-5 ImplementationDetails Annotation Element Example
<svcdoc:ApplicationName>BRM</svcdoc:ApplicationName> <svcdoc:ImplementationDetails> <svcdoc:BaseVersion>7.3</svcdoc:BaseVersion> <svcdoc:DevelopedBy>Oracle</svcdoc:DevelopedBy> <svcdoc:OracleCertified>Yes</svcdoc:OracleCertified> <svcdoc:ArtifactType>ProviderABCSImplementation</svcdoc:ArtifactType> <svcdoc:ServiceOperation> <svcdoc:Name>CreateCustomer</svcdoc:Name> </svcdoc:ServiceOperation> </svcdoc:ImplementationDetails>
The annotation element <svcdoc:Reference> describes the Reference element of the composite. Figure 11-3 illustrates the Reference annotation element. The child elements of this element and their purpose are described below.
These annotation elements are:
Describes the type of AIA artifact used at the Reference service.
Holds the complete service operation name in the format of verb + entity, as defined on the Reference service.
Provides information about the transport adapters and their details, if the composite has any transport adapters. See Section 11.1.4, "Understanding the TransportDetails Element" for details about the TransportDetails element.
Note: Only when the Composite is for an Adapter service would TransportDetails be provided. |
This element can be used to provide the additional service information like the supported application versions along with the base version or any other service related information. This provides more information about the service in the OER. Example:- This service supports EBiz 11.x and 12.x application adapters
Use the annotation element TransportDetails to provide details about a transport adapter in a composite if a nonSOAP transport is used to interface with an application, either using inbound or outbound connectivity.
The structure of the element TransportDetails is shown in Figure 11-4.
If you give ApplicationName details for DBAdapter and set the ResourceType value to Business Event, then the deployment plan generator executes the SQL scripts on the participating application layer and the datasource is created for the database in the participating application. If not, then Deployment Plan Generator executes the SQL scripts on the middleware layer, that is, on the same server where PIP or project is to be deployed.
Table 11-3 lists the elements found in the DBAdapter element and provides a description for each.
Element | Description |
---|---|
ResourceProvider |
Holds data about the Database Provider name. Examples: Oracle 10g, Oracle 11g, MS-SQL 9, MySQL 9. Based on this tag, the Deployment Plan Generator identifies and generate the appropriate configurations for the database. |
ConnectionFactory |
Holds the name of the connection factory. Using this value, the AIA installation driver creates data sources during deployment. The DB Adapter.rar file is updated during deployment. For example: eis/DB/AIASamplesDB |
ApplicationName |
The name of the source or target application, depending on whether it is an inbound or outbound adapter. For example: EBizDB, SiebelDB |
BaseVersion |
The version of the application database with which the service is interacting. |
XAEnabled |
Used by the Deployment Plan Generator to decide if DataSource is to be configured using XA connection or not. Possible values are true and false. Based on the whether the tag is true or false, the AIA installation driver selects the appropriate JDBC driver and other configurations. |
ResourceTargetIdentifier |
Identifier that is used as the element name in the AIAInstallProperties.xml to retrieve database information while running the deployment plan. The xpath to retrieve database details is presented in DP as xpath, for example, pips.<projectCode_fromBOM>.db.<ResourceTargetIdentifier>. The AIA installation driver uses this element during deployment. Examples: EBIZ1, EBIZ2, JMSUSER1, JMSUSER2 |
Resource Type |
Identifies what type of resource must be configured. |
ResourceName |
Holds data about database table name. The Deployment Plan Generator uses this element to create and configure data sources. |
ResourceFileName |
Holds data about SQL file name of the database table creation script. The Deployment Plan Generator uses this element to create and configure data sources. |
AdditionalResourceInformation |
Provide additional resource information such as the supported adapter versions or specifications or any other resource related information. |
Table 11-4 lists the elements found in JMSAdapter and provides a description for each.
Table 11-4 JMSAdapter Elements
Element | Description |
---|---|
ResourceProvider |
Holds data about JMS Provider name. Examples: WLSJMS, AQJMS, Tibco, MQ-Series, and SonicMQ. Based on this tag, the Deployment Plan Generator identifies whether it is AQJMS or WLSJMS and generate the appropriate configurations for AQ or WLS. |
ConnectionFactory |
Holds the name of the connection factory. Using this value, the AIA installation driver creates JMS modules during deployment. The JMS Adapter.rar file is updated during deployment. Example: eis/jms/ AIA<Application Name>CF. |
XAEnabled |
The Deployment Plan Generator uses this element to decide whether the DataSource should be configured using XA connection. Possible values are true and false. Based on the whether this tag is true or false, the AIA installation driver selects the appropriate JDBC driver and other configurations. |
ResourceTargetIdentifier |
Can be either blank or filled in. If blank, AIAJMSModule is used to create resources on WLS. If filled in, AIAJDBCJMSModule is used to create resources on WLS. |
ResourceType |
Identifies what type of the JMS resource must be configured. The value can be Queue or Topic. |
ResourceName |
Holds data about the Queue or Topic name. The AIA installation driver uses this element to create and configure data sources. |
ResourceFileName |
Holds data about the SQL file name of the database table creation script. The AIA installation driver uses the SQL file to create and configure data sources. |
AdditionalResourceInformation |
Provide the additional resource information such as the supported adapter versions or specifications or any other resource related information. This provides more information about the service in the OER. |
Table 11-5 lists the elements found in AQJMSAdapter and provides a description for each.
Table 11-5 AQJMSAdapter Elements
Element | Description |
---|---|
ResourceProvider |
Holds data about AQJMS Provider name. Examples: AQJMS.Based on this tag, the Deployment Plan Generator generates the appropriate configurations for AQJMS. |
ConnectionFactory |
Holds the name of the connection factory. Using this value, the AIA installation driver creates AQJMS modules during deployment. The AQ Adapter .rar file is updated during deployment. Example: eis/aqjms/ AIA<Application Name>CF. |
XAEnabled |
The Deployment Plan Generator uses this element to decide whether the DataSource should be configured using XA connection. Possible values are true and false. Based on the whether this tag is true or false, the AIA installation driver selects the appropriate JDBC driver and other configurations. |
JMSForeignServerName |
Value used to create JMSForeignServer under JMSModule |
ResourceTargetIdentifier |
Identifier used as the element name in the AIAInstallProperties.xml to retrieve database information while running the deployment plan. The xpath to retrieve database details is presented in DP as xpath, for example, pips.<projectCode_fromBOM>.db.<ResourceTargetIdentifier>. |
ResourceType |
Identifies what type of the AQ resource must be configured. The value can be Queue or Topic. |
ResourceName |
Holds data about the Queue or Topic name. The Deployment Plan Generator uses this element to create and configure data sources. |
ResourceFileName |
Holds data about the SQL file name of the database table creation script. The AIA installation driver uses to create and configure data sources. |
AdditionalResourceInformation |
Provide additional Resource information such as the supported adapter versions or specifications or any other resource related information. This provides more information about the service in the OER. |
If you want to use other resources like File or FTP adapters or any other resource, you must provide the following annotations. The Deployment Plan Generator does not have support for all the resource adapters. For more information on supported resource adapters, refer to the Foundation Pack release notes.
Table 11-6 lists the elements used to annotate other resources and provides a description for each.
Table 11-6 Elements for Other Resources
Element | Description |
---|---|
ResourceProvider |
Holds data about Resource Provider name like FILE or FTP or AQ. |
ConnectionFactory |
Holds the name of the connection factory. Using this value, the AIA installation driver can create JNDI reference to the target URI. |
BaseVersion |
The version of the application with which the service is interacting. This provides more information about the service in the OER. |
XAEnabled |
The Deployment Plan Generator uses this element to decide whether the DataSource should be configured using XA connection. Possible values are true and false. Based on the whether this tag is true or false, the AIA installation driver selects the appropriate JDBC driver and other configurations. |
ResourceTargetIdentifier |
The value of the application product code name. The AIA installation driver uses this element during deployment. If ResourceTargetIdentifier is used for AQAdapter, then it is the identifier that is used as the element name in the AIAInstallProperties.xml to retrieve database information while running the deployment plan. The xpath to retrieve database details is presented in DP as xpath, for example, pips.<projectCode_fromBOM>.db.<ResourceTargetIdentifier>. |
ResourceName |
Holds data about the Queue or Topic name. The AIA installation driver use this element to create and configure data sources. |
ResourceType |
Identifies what type of the resource must be configured. |
ResourceFileName |
Holds data about the SQL file name of the database table creation script or Shall scripts to create the file folders at a specified location. The AIA installation driver uses to create and configure these sources. |
AdditionalResourceInformation |
Provide the additional Resource information like the supported adapter versions or specifications or any other resource related information. This provides more information about the service in the OER. |
ResourceLocation |
Provide the information about the location or relative path of the file. This is used to create the source or target folders at appropriate local or remote locations. |
If you give ApplicationName details for EBiz Adapter and set the ResourceType value to Business Event, then the deployment plan generator executes the SQL scripts on the edge application layer and the datasource is created for the database in the participating application. If not, then Deployment Plan Generator executes the SQL scripts on the middleware layer, that is, on the same server where PIP/project is to be deployed.
Table 11-7 lists the elements found in ApplicationAdapter and provides a description for each.
Table 11-7 Application Adapter Elements
Element | Description |
---|---|
ResourceProvider |
Holds data about EBiz Provider name. |
ConnectionFactory |
Holds the name of the connection factory. Using this value, the AIA installation driver creates EBiz modules during deployment. The EBiz Adapter .rar file is updated during deployment. |
Application Name |
The name of the source or target application, depending on whether it is an inbound or outbound adapter. |
BaseVersion |
The version of the application with which the service is interacting. This provides more information about the service in the OER. |
XAEnabled |
The Deployment Plan Generator uses this element to decide whether the DataSource should be configured using XA connection. Possible values are true and false. Based on the whether this tag is true or false, the AIA installation driver selects the appropriate JDBC driver and other configurations. |
ResourceTargetIdentifier |
The value of the application product code name. The AIA installation driver uses this element during deployment. If ResourceType is blank, database information is retrieved from pip.<projectCode_fromBOM>.db.ResourceTargetIdentifier element in the AIAInstallProperties.xml during execution of deployment plan. If ResourceType is BusinessEvent or Procedure, database details are retrieved from participatingapplications.<ApplicationName>.db |
ResourceName |
Holds data about the Queue or Topic name. The AIA installation driver uses this element to create and configure data sources. |
ResourceType |
Identifies what type of the AQ resource must be configured. The value can be Queue or Topic. If values are BusinessEvent or Procedure, dp retrieves database information from under participatingapplications.<ApplicationName>.db in AIAInstallProperties.xml |
ResourceFileName |
Holds data about the SQL file name of the database table creation script. The AIA installation driver uses to create and configure data sources. |
AdditionalResourceInformation |
Provide the additional Resource information such as the supported adapter versions or specifications or any other resource related information. This provides more information about the service in the OER. |
To annotate the service element in a requester ABCS composite:
The details of the source participating application must be furnished in this element.
Annotating the Service element in the composite is explained using the Example 11-6:
Example 11-6 Service Element in Requester ABCS Composite Annotation Example
<service ui:wsdlLocation……….."> <interface.wsdl ………………./> <binding.ws …………./> <!--<svcdoc:AIA> <svcdoc:Service> <svcdoc:ImplementationDetails> <svcdoc:ApplicationName>SampleSEBL</svcdoc:ApplicationName> <svcdoc:BaseVersion>1.0</svcdoc:BaseVersion> <svcdoc:DevelopedBy>Oracle</svcdoc:DevelopedBy> <svcdoc:OracleCertified>Yes</svcdoc:OracleCertified> <svcdoc:ArtifactType>RequesterABCSImplementation</svcdoc:ArtifactType> <svcdoc:ServiceOperation> <svcdoc:Name>CreateCustomer</svcdoc:Name> </svcdoc:ServiceOperation> </svcdoc:ImplementationDetails> </svcdoc:Service> </svcdoc:AIA>--> </service>
In Example 11-6, the value of the element, ArtifactType, is provided as RequesterABCSImplementation because the composite represents a Requester ABCS.
The value of the element, ServiceOperation/Name, should be same as the value defined for the operation in the WSDL of the ABCS.
To annotate the Reference Element in a requester ABCS composite:
Annotate the Reference Element in the composite, as shown in Example 11-7, providing the details of the Service being invoked.
Example 11-7 Reference Element in Requester ABCS Composite Annotation Example
<reference ui:wsdlLocation…………………………………………."> <interface.wsdl ……………………………………………./> <binding.ws…………………………………………………../> <!--<svcdoc:AIA> <svcdoc:Reference> <svcdoc:ArtifactType>EnterpriseBusinessService</svcdoc:ArtifactType> <svcdoc:ServiceOperation> <svcdoc:Name>CreateCustomerPartyList</svcdoc:Name> </svcdoc:ServiceOperation> </svcdoc:Reference> </svcdoc:AIA>--> </reference>
In Example 11-7, the value of the element, ArtifactType, is provided as EnterpriseBusinessService because it references an external service in the composite.
In cases when the external service is an infrastructure utility, such as AIAAsyncErrorHandlingBPELProcess, then the value should be UtilityService.
The value of the element, ServiceOperation/Name, should be the same as the value defined for the operation in the WSDL of the service being referenced.
To annotate the Service Element in a provider ABCS composite:
Furnish the details of the interface that this ABCS is implementing.
Match the values for elements ServiceName, Namespace, and ServiceOperation/name with the corresponding values defined in the interface service's WSDL target participating application as shown in Example 11-8.
Example 11-8 Service Element in a Provider ABCS Composite Annotation Example
<service ui:wsdlLocation=………………> <interface………………………………/> <binding.ws ………………………../> <!--<svcdoc:AIA> <svcdoc:Service> <svcdoc:InterfaceDetails> <svcdoc:ServiceName>CustomerPartyEBS</svcdoc:ServiceName> <svcdoc:Namespace>http://xmlns.oracle.com/EnterpriseServices/Core/CustomerParty /V2</svcdoc:Namespace> <svcdoc:ArtifactType>EnterpriseBusinessService</svcdoc:ArtifactType> <svcdoc:ServiceOperation> <svcdoc:Name>CreateCustomerPartyList</svcdoc:Name> </svcdoc:ServiceOperation> </svcdoc:InterfaceDetails> <svcdoc:ImplementationDetails> <svcdoc:ApplicationName>SamplePortal</svcdoc:ApplicationName> <svcdoc:BaseVersion>1.0</svcdoc:BaseVersion> <svcdoc:DevelopedBy>Oracle</svcdoc:DevelopedBy> <svcdoc:OracleCertified>Yes</svcdoc:OracleCertified> <svcdoc:ArtifactType>ProviderABCSImplementation</svcdoc:ArtifactType> <svcdoc:ServiceOperation> <svcdoc:Name>CreateCustomer</svcdoc:Name> </svcdoc:ServiceOperation> </svcdoc:ImplementationDetails> </svcdoc:Service> </svcdoc:AIA>--> </service>
In Example 11-8, the value of the element, InterfaceDetails/ArtifactType, is provided as EnterpriseBusinessService because it defines the interface that is being implemented by the Provider ABCS.
ImplementationDetails/ArtifactType, is provided as ProviderABCSImplementation because the composite represents a provider ABCS.
The value of the element, ServiceOperation/Name, should be same as the value defined for the operation in the WSDL of the ABCS.
Annotate the Reference element in the composite, as shown in Example 11-9, Example 11-10, and Example 11-11 providing the details of the Service. The service being invoked can be a participating application, an adapter service, or a utility service.
Example 11-9 Reference Element in Provider ABCS Invoking Participating Web Service Annotation Example
<!--<svcdoc:AIA> ; <svcdoc:Reference> <svcdoc:ArtifactType>UtilityService</svcdoc:ArtifactType> <svcdoc:ServiceOperation> <svcdoc:Name>initiate</svcdoc:Name> </svcdoc:ServiceOperation> </svcdoc:Reference> </svcdoc:AIA>--> <!--<svcdoc:AIA> <svcdoc:Reference> <svcdoc:ArtifactType>ApplicationWebService</svcdoc:ArtifactType> <svcdoc:ServiceOperation> <svcdoc:Name>insert</svcdoc:Name> </svcdoc:ServiceOperation> </svcdoc:Reference> </svcdoc:AIA>-->
Example 11-10 Reference Element in Provider ABCS Invoking Utility Service Annotation Example
<!--<svcdoc:AIA> <svcdoc:Reference> <svcdoc:ArtifactType>UtilityService</svcdoc:ArtifactType> <svcdoc:ServiceOperation> <svcdoc:Name>initiate</svcdoc:Name> </svcdoc:ServiceOperation> </svcdoc:Reference> </svcdoc:AIA>-->
Example 11-11 Reference Element in Provider ABCS Invoking Non-SOAP Service Annotation Example
<!--<svcdoc:AIA> <svcdoc:Reference> <svcdoc:ArtifactType>TransportAdapter</svcdoc:ArtifactType> <svcdoc:ServiceOperation> <svcdoc:Name>process</svcdoc:Name> </svcdoc:ServiceOperation> </svcdoc:Reference> </svcdoc:AIA>-->
To annotate the Transport Adapter composite:
For a Transport Adapter composite, 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.
In both cases, the values for the element ArtifactType are provided as TransportAdapter.
The artifact type TransportAdapter indicates that the service is responsible for transforming nonSOAP requests into SOAP requests and vice versa.
Example 11-12 illustrates how transport details are populated in the section Service.
Example 11-12 Transport Adapter Composite Annotation Example
<!--<svcdoc:AIA> <svcdoc:Service> <svcdoc:ImplementationDetails> <svcdoc:ApplicationName>SamplePortal</svcdoc:ApplicationName> <svcdoc:BaseVersion>1.0</svcdoc:BaseVersion> <svcdoc:DevelopedBy>ABSG</svcdoc:DevelopedBy> <svcdoc:OracleCertified>Yes</svcdoc:OracleCertified> <svcdoc:ArtifactType>TransportAdapter</svcdoc:ArtifactType> <svcdoc:ServiceOperation> <svcdoc:Name>process</svcdoc:Name> </svcdoc:ServiceOperation> </svcdoc:ImplementationDetails> </svcdoc:Service> </svcdoc:AIA>-->
Example 11-13 depicts how transport details are populated in the section Reference.
Example 11-13 Transport Details Populated in Reference Element Annotation Example
<!--<svcdoc:AIA> <svcdoc:Reference> <svcdoc:ArtifactType>TransportAdapter</svcdoc:ArtifactType> <svcdoc:ServiceOperation> <svcdoc:Name>insert</svcdoc:Name> </svcdoc:ServiceOperation> <svcdoc:TransportDetails> <svcdoc:DBAdapter> <svcdoc:ResourceProvider>OracleDB</svcdoc:ResourceProvider> <svcdoc:ConnectionFactory>eis/db/AIASamplesDB</svcdoc:ConnectionFactory> <svcdoc:ApplicationName>SamplePortal</svcdoc:ApplicationName> <svcdoc:XAEnabled>True</svcdoc:XAEnabled> <svcdoc:ResourceTargetIdentifier>AIASamplesDB</svcdoc:ResourceTargetIdentifier> <svcdoc:ResourceName>AIAS_PORTAL_ACC_ CONTACT</svcdoc:ResourceName> <svcdoc:ResourceName>AIAS_PORTAL_ACCOUNT</svcdoc:ResourceName> <svcdoc:ResourceFileName>AIAS_PORTAL_ACCOUNT_ CONTACT.sql</svcdoc:ResourceFileName> </svcdoc:DBAdapter> </svcdoc:TransportDetails> </svcdoc:Reference> </svcdoc:AIA>-->
Note that in Example 11-13:
The element <svcdoc:ResourceTargetIdentifier> denotes the database schema used for the project.
The element <svcdoc:ResourceName> denotes the database table used. This element may be repeated for each database table when more than one table is used.
The element <svcdoc:ResourceFileName> should have all the SQLs and sequences required included in the file. Also, it should provide the correct order for the SQLs, in which SQLs must be executed.
Example 11-14 shows the code when a JMS Adapter is used.
Example 11-14 Transport Details Populated in Reference Element Using JMS Adapter Annotation Example
<!--<svcdoc:AIA> <svcdoc:Reference> <svcdoc:ArtifactType>TransportAdapter</svcdoc:ArtifactType> <svcdoc:ServiceOperation> <svcdoc:Name>Produce</svcdoc:Name> </svcdoc:ServiceOperation> <svcdoc:TransportDetails> <svcdoc:JMSAdapter> <svcdoc:ResourceProvider>WLSJMS</svcdoc:ResourceProvider> <svcdoc:ConnectionFactory>eis/jms/AIASamplesCF</svcdoc:ConnectionFactory> <svcdoc:XAEnabled>True</svcdoc:XAEnabled> <svcdoc:ResourceTargetIdentifier>JMSUSER1</svcdoc:ResourceTargetIdentifier> <svcdoc:ResourceType>Queue</svcdoc:ResourceType> <svcdoc:ResourceName>AIA_SiebelCustomerJMSQueue</svcdoc:ResourceName> <svcdoc:ResourceFileName>AIA_SiebelCustomerJMSQueue.sql</svcdoc:ResourceFileName> </svcdoc:JMSAdapter> </svcdoc:TransportDetails> </svcdoc:Reference> </svcdoc:AIA>-->
To annotate the Service Element in Enterprise Business Flow composite:
Furnish the details of the EBS interface that the Enterprise Business Flow (EBF) implements.
Match the values for elements - ServiceName, Namespace, ServiceOperation/name with the corresponding values defined in the interface service's WSDL as shown below.
In Example 11-15 the value of the element:
InterfaceDetails/ArtifactType is provided as EnterpriseBusinessService because it defines the interface that is being implemented by the EBF.
ImplementationDetails/ArtifactType is provided as EnterpriseBusinessFlow because the composite represents an EBF.
ImplementationDetails/ApplicationName is provided as AIA because the composite is participating application-agnostic.
The value of the element, ServiceOperation/Name, should be same as the value defined for the operation in the EBS WSDL.
Example 11-15 Service Element in EBF Composite Annotation Example
<service ui:wsdlLocation=………………> <interface………………………………/> <binding.ws ………………………../> <!--<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>--> </service>
To annotate the Reference Element in an EBF composite:
Annotate the Reference element in the composite, as shown in Example 11-16, providing the details of the Service being invoked.
Example 11-16 Reference Element in EBF Composite Annotation Example
<reference ui:wsdlLocation…………………………………………."> <interface.wsdl ……………………………………………./> <binding.ws…………………………………………………../> <!--<svcdoc:AIA> <svcdoc:Reference> <svcdoc:ArtifactType>EnterpriseBusinessService</svcdoc:ArtifactType> <svcdoc:ServiceOperation> <svcdoc:Name>GetCreditScoreCustomerPartyList</svcdoc:Name> </svcdoc:ServiceOperation> </svcdoc:Reference> </svcdoc:AIA>--> </reference>
In Example 11-16, the value of the element, ArtifactType, is provided as EnterpriseBusinessService because it is the referenced external service in the composite.
When the external service is an infrastructure utility, such as AIAAsyncErrorHandlingBPELProcess, then the value should be UtilityService.
The value of the element, ServiceOperation/Name, should be same as the value defined for the operation in the WSDL of the service to which it refers.
To annotate the Service Element in a composite business process composite:
Furnish the details of the interface that the EBF is implementing.
This could be an application specific interface, a UI service interface, or canonical interface.
Match the values for elements ServiceName, Namespace, and ServiceOperation/name with the corresponding values defined in the WSDL of the interface service shown below.
In Example 11-17, the value of the element:
InterfaceDetails/ArtifactType is provided as UIService because it defines the interface that is being implemented by the Composite Business Process (CBP).
ImplementationDetails/ArtifactType is provided as CompositeBusinessProcess because the composite represents a CBP.
ImplementationDetails/ApplicationName is provided as AIA because the composite, in this case, is participating application-agnostic.
The value of the element, ServiceOperation/Name, should be same as the value defined for the operation in the UI service WSDL.
Example 11-17 Service Element in Composite Business Process Composite Annotation Example
<service ui:wsdlLocation=………………> <interface………………………………/> <binding.ws ………………………../> <!--<svcdoc:AIA> <svcdoc:Service> <svcdoc:InterfaceDetails> <svcdoc:ServiceName>TelcoResolveCustomerComplaintCBP</svcdoc:ServiceName> <svcdoc:Namespace>http://xmlns.oracle.com/UIServices/Industry/CustomerParty/V1 </svcdoc:Namespace> <svcdoc:ArtifactType>UIService</svcdoc:ArtifactType> <svcdoc:ServiceOperation> <svcdoc:Name>TelcoResolveCustomerComplaint</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>CompositeBusinessProcess</svcdoc:ArtifactType> <svcdoc:ServiceOperation> <svcdoc:Name>TelcoResolveCustomerComplaint</svcdoc:Name> </svcdoc:ServiceOperation> </svcdoc:ImplementationDetails> </svcdoc:Service> </svcdoc:AIA>--> </service>
To annotate the Reference Element in a Composite Business Process composite:
Annotate the Reference element in the composite, as shown in tExample 11-18 by providing the details of the Service being invoked.
Example 11-18 Reference Element in Composite Business Process Composite Annotation Example
<reference ui:wsdlLocation…………………………………………."> <interface.wsdl ……………………………………………./> <binding.ws…………………………………………………../> <!--<svcdoc:AIA> <svcdoc:Reference> <svcdoc:ArtifactType>EnterpriseBusinessService</svcdoc:ArtifactType> <svcdoc:ServiceOperation> <svcdoc:Name>GetComplaintDetails</svcdoc:Name> </svcdoc:ServiceOperation> </svcdoc:Reference> </svcdoc:AIA>--> </reference>
In Example 11-18, the value of the element, ArtifactType, is provided as EnterpriseBusinessService because it is the referenced external service in the composite.
When the external service is an infrastructure utility, such as, AIAAsyncErrorHandlingBPELProcess, then the value should be UtilityService.
The value of the element, ServiceOperation/Name, should be same as the value defined for the operation in the WSDL of the service being referred to.
This section lists the valid values for the annotation elements:
ArtifactType
ApplicationName
RequesterABCSImplementation
RequesterABCSExtension
ProviderABCSImplementation
ProviderABCSExtension
EnterpriseBusinessService
EnterpriseBusinessFlow
EnterpriseBusinessFlowExtension
CompositeBusinessProcess
CompositeBusinessProcessExtension
ApplicationService
ExternalService
UtilityService
TransportAdapter
VersionAdapter
Other