21 Oracle AIA Naming Standards for AIA Development

This chapter provides an overview of guidelines for naming standards for various AIA components for AIA development.

Note:

Composite Business Processes (CBP) will be deprecated from next release. Oracle advises you to use BPM for modeling human/system interactions.

This chapter includes the following sections:

21.1 General Guidelines

The goal is to ensure that the intent of each artifact is clear, and that the text associated with the artifact conveys as much information as possible given the space constraints. The following should be applied whenever applicable:

  • Avoid abbreviations.

    Abbreviations may be ambiguous. The names used must be spelled out. Do not abbreviate unless the object name becomes too long.

  • Artifact names must be alphanumeric.

    Names must be composed only of alphanumeric character with these rules:

    Word comprising a name should be concatenated without spaces in an upper camel-case fashion.

    Example: Purchase Order

    Avoid using numeric characters in the name unless it is required to convey some business meaning.

    No special characters such as spaces, '-', '_', '.', '$', '%', '#', []

  • Indicate artifact type in the name to reduce ambiguity.

    When the same name is used for different artifact types, append a suffix to indicate its type. It makes it easier to distinguish these artifacts by identifying their types:

    <Artifact Name><Type Suffix>

    Example: InvoiceEBO, InvoiceEBOType, InvoiceEBM, InvoiceEBMType.

  • The total path length to a named artifact must not exceed 17000 characters.

    Some operating systems such as Windows have a limit of 255 characters for file names. Some room is left for prefixing with complete network directory or URL.

21.1.1 XML Naming Standards

The following standards are based on UN/CEFACT - XML Naming and Design Rules.

21.1.1.1 General Naming Standards

Follow these general naming standards:

  • Lower-Camel-case must be used for naming attributes.

    Example: <xsd:attribute name="unitCode"/>

  • Upper-Camel-case must be used for naming elements and types.

    Example: <xsd:element name="UnitOfMeasure"/> <xsd:complexType name="InvoiceEBOType"/>

  • Names must be singular unless the concept itself is plural.

    For example repeating elements must have a singular name.

  • Names must not contain special characters such as: space, '-', '_', '.', '$', '%', '#', ....

  • Avoid having numeric characters in the name.

    There are cases were using a numeric character is required to convey some significance.

  • Complex type names should end with the 'Type' suffix to help recognize types from elements.

    Example: <xsd:complexType name="InvoiceEBOType"/>

  • The name of a simple type definition should be the name of the root element with the 'ContentType' suffix.

    Example: <xsd:simpleType name="PhoneNumberContentType">

21.1.1.2 General Namespace Naming Standards

These are the general namespace naming rules. More detailed rules are described in the following sections, especially naming rules for EBS and ABCS.

  • All namespaces must start with http://xmlns.oracle.com/.

  • Namespaces used by Enterprise Business Objects (EBOs) and Enterprise Business Messages (EBMs) start with http://xmlns.oracle.com/EnterpriseObjects/.

    Example: http://xmlns.oracle.com/EnterpriseObjects/Core/EBO/Invoice/V1

  • Namespaces used for externally facing services must start with http://xmlns.oracle.com/EnterpriseServices/.

    Examples: http://xmlns.oracle.com/EnterpriseServices/Core/Invoice/V1 http://xmlns.oracle.com /EnterpriseServices/Industry/Telco/Invoice/V1

  • Namespaces for versioned artifacts must have the major version number as a suffix with 'V' as an abbreviation for 'version'.

    Example: http://xmlns.oracle.com/ EnterpriseObjects/Core/EBO/Invoice/V1

  • The namespace structure should closely map to the taxonomy of the types it encapsulates.

    Example: Horizontal: http://xmlns.oracle.com/EnterpriseObjects/Core/EBO/Invoice/V1.

    Telco: http://xmlns.oracle.com/EnterpriseObjects/Industry/Telco/EBO/Invoice/V1.

  • Namespaces for artifacts generated within ABCSs must start with: http://xmlns.oracle.com/ABCS/.

  • When importing or including schema in a schema file, the schema location must always use relative path.

    Example: <xsd:importnamespace="http://xmlns.oracle.com/EnterpriseObjects/Core/EBO/Invoice/V1" schemaLocation="../../../../Core/EBO/Invoice/InvoiceEBO .xsd"/>

  • Namespace prefixes must be a minimum of six (6) lowercase characters abbreviation of the namespace.

    The abbreviation must be descriptive and unambiguous within the context where it is being used.

  • Namespace prefixes for EBOs and EBMs must adhere to the following standard wherever used regardless of the applications or technology used.

    Auto-generated prefixes such as ns1, ns2 must not be used. Auto-generated prefixes for standard namespaces such as xsd, xsi are acceptable.

Table 21-1 provides details on the namespace patterns and files associated with namespace prefixes.


Table 21-1 Namespace Prefixes

Prefixes Namespace Pattern Files

corecomcust

http://xmlns.oracle.com/EnterpriseObjects/Core/Custom/Common/V1

CustomCommonComponents, CustomReferenceComponents

coreinvcust

http://xmlns.oracle.com/EnterpriseObjects/Core/Custom/EBO /Invoice/V1

CustomInvoiceEBO

corecom

http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V1

CommonComponents. Reference Components

coreinv

http://xmlns.oracle.com/EnterpriseObjects/Core/EBO/Invoice/V1

InvoiceEBO

coreinv

http://xmlns.oracle.com/EnterpriseObjects/Core/EBO/Invoice/V1

InvoiceEBM

telcocomcust

http://xmlns.oracle.com/EnterpriseObjects/Industry/Telco/Custom/Common/V1

CustomCommonComponents, CustomReferenceComponents

telcoinvcust

http://xmlns.oracle.com/EnterpriseObjects/Industry/Telco/Custom/EBO/Invoice/V1

CustomInvoiceEBO

telcocom

http://xmlns.oracle.com/EnterpriseObjects/Industry/Telco/Common/V1

CommonComponents. Reference Components

telcoinv

http://xmlns.oracle.com/EnterpriseObjects/Industry/Telco/EBO/Invoice/V1

InvoiceEBO

telcoinv

http://xmlns.oracle.com/EnterpriseObjects/Industry/Telco/EBO/Invoice/V1

InvoiceEBM


21.1.1.3 Participating Applications Names

When participating application names are part of an artifact name, upper-camel-case short names should be used. For cases where an abbreviation is needed, an upper-case abbreviation should be used.

Table 21-2 provides a list of short names and abbreviations used for participating applications.


Table 21-2 Short Names and Abbreviations for Participating Application Names

Application Short Name Abbreviation

Oracle E-Business Suite

Ebiz

EBIZ

Oracle Siebel

Siebel

SEBL

Oracle PeopleSoft

PeopleSoft

PSFT

Oracle JD Edwards Enterprise One

JDEOne

JDE1

Oracle JD Edwards World

JDEWorld

JDEW

Oracle Transportation Management Suite

Logistics

LOGIS

Oracle Telephony @Work

Telephony

TELE

Oracle Demantra

Demantra

DMTR

Oracle Communications Billing and Revenue Management

Portal

PORTAL

Oracle Retail Applications

Retek

RETEK


21.2 Composites

A composite is unit of deployment for SCA and contains service components.

The name of the composite is the same as the name of the Oracle Application Integration Architecture (AIA) artifact.

The composites are created for the following AIA artifacts:

  • Composite Business Process

  • Enterprise Business Flow

  • Enterprise Business Service

  • Application Business Connector Service

  • Utility Services

Examples: SalesOrderOrchestrationProcess, InterfaceCustomerToFulfillmentEBF, CreateCustomerEBS, CreateOrderSiebelReqABCSImpl, AsyncErrorHandlerService

21.3 Composite Business Process

Composite business processes are long running SOA BPEL orchestration processes.

Table 21-3 provides details about the naming standards for composite business processes.


Table 21-3 Naming Standards for Composite Business Processes

Artifact Name Example

Service Name (in the WSDL)

[Optional Industry] [Verb][EBO Name]CBP

OrchestrateSalesOrderCBP, TelcoResolveComplaintCBP

Namespace

http://xmlns.oracle.com/CompositeProcess/{Core/ or Industry/[Industry Name]}/{EBO name}/V{VersionNumber}

http://xmlns.oracle.com/CompositeProcess /Core/SalesOrder/V1

http://xmlns.oracle.com/ CompositeProcess /Industry/Telco/SalesOrder/V1

Namespace Prefix

Follow the namespace prefix standard.

coreordprocess, telordprocess, …

WSDL

[Service Name].wsdl

OrchestrateSalesOrderCBP.wsdl

TelcoResolveComplaintCBP.wsdl

WSDL Message

Request message: [Verb][EBO Name]ReqMsg Response message: [Verb][EBO Name]RespMsg

OrchestrateSalesOrderReqMsg, OrchestrateSalesOrderRespMsg

WSDL Port Type

[Service Name]Service

OrchestrateSalesOrderCBPService, TelcoResolveComplaintCBPService

WSDL Port Type Operations

[Verb][EBO Name]

OrchestrateSalesOrder

BPEL Flow Name

[Service Name]V[Version Number]

ProcessSalesOrderCBP, TelcoVerifyCustomerCBPV2


21.4 Enterprise Business Services

Enterprise Business Services (EBS) are SOA Mediator Routing Services with routing rules to invoke the appropriate composite business processes, Enterprise Business Flows, and Application Business Connector Services.

Table 21-4 provides details about the naming standards for Enterprise Business Services.


Table 21-4 Naming Standards for Enterprise Business Services

Artifact Name Example

Service Name [in the WSDL]

[Optional Industry Name][EBO Name]EBS

OrderEBS, CustomerEBS, TelcoInvoiceEBS

Namespace

http://xmlns.oracle.com/EnterpriseServices/{Core/ or Industry/[Industry Name]}/{EBO name}/V{VersionNumber}

http://xmlns.oracle.com/EnterpriseServices/Industry/Telco/Invoice/V1

http://xmlns.oracle.com/EnterpriseServices/Core/Invoice/V2

Namespace Prefix

Follow the namespace prefix standard.

coreinv, telcoinv, …

WSDL

[Service Name].wsdl

CreateOrderEBS.wsdl, UpdateCustomerEBS.wsdl, TelcoProcessInvoiceEBS.wsdl

WSDL Message

Request message: [Verb][EBO Name]ReqMsg

Response message: [Verb][EBO Name]RespMsg

CreateOrderReqMsg CreateOrderRespMsg

WSDL Port Type

Request - Response EBS or Request Only EBS: [Industry name][ServiceName][version number]

Response EBS in one-way call: [industry name][Service Name]Response[Version number]

CreateOrderEBS, CreateOrderEBSResponse, TelcoProcessInvoiceEBS, TelcoProcessInvoiceEBSResponse

WSDL Port Type Operations

Request - Response EBS or Request Only EBS: [Verb][EBO Name]

Response EBS in one-way call: [Verb][EBO Name]Response

CreateOrder, CreateOrderResponse

Mediator Routing Service Name

[Service Name]V[Version Number]

CreateOrderEBS, CreateOrderEBSV2, UpdateCustomerEBSV2, TelcoProcessInvoiceEBSV2


21.5 Enterprise Business Flows

Table 21-5 provides details about the naming standards for BPEL flows used primarily to interact with multiple Enterprise Business Services.


Table 21-5 Naming Standards for Enterprise Business Flows

Artifact Name Example

Service Name (in the WSDL)

[Optional Industry] [Verb][EBO Name]EBF

ProcessOrderEBF, TelcoVerifyCustomerEBF

Namespace

http://xmlns.oracle.com/EnterpriseFlows/{Core/ or Industry/[Industry Name]}/{EBO name}/V{VersionNumber}

http://xmlns.oracle.com/EnterpriseFlows /Core/Order/V1

http://xmlns.oracle.com/ EnterpriseFlows /Industry/Telco/Order/V1

Namespace Prefix

Follow the namespace prefix standard.

coreordflow, telordflow, …

WSDL

[Service Name].wsdl

ProcessOrderEBF.wsdl, TelcoVerifyCustomerEBF.wsdl

WSDL Message

Request message: [Verb][EBO Name]ReqMsg

Response message: [Verb][EBO Name]RespMsg

ProcessOrderReqMsg, ProcessOrderRespMsg

WSDL Port Type

[Service Name]Service

ProcessOrderEBFService, VerifyAccountEBFService

WSDL Port Type Operations

[Verb][EBO Name]

ProcessOrder

BPEL Flow Name

[Service Name]V[Version Number]

ProcessOrderEBF, TelcoVerifyCustomerEBFV2


21.6 Application Business Connector Service

Application Business Connector Services are of two categories: Requester and Provider.

21.6.1 Requester Application Business Connector Service

Requester ABCS are the services that serve requests coming from client applications and process these requests and delegate them to the EBSs.

Table 21-6 provides details about the naming standards for requester ABCS.


Table 21-6 Naming Standards for Requester ABCS

Artifact Name Example

Service Name (in the wsdl)

[Verb][App Entity Name][Short Application Name][Optional Industry]ReqABCSImpl

CreateOrderSiebelReqABCSImpl UpdateOrderSiebelTelcoReqABCSImpl CreateCustomerPortalTelcoReqABCSImpl

Namespace

http://xmlns.oracle.com/ABCSImpl/{Participating Application Name}/{Core/ or Industry/[Industry Name]}/{App Entity Name}/V{version}

http://xmlns.oracle.com/ABCSImpl/Siebel/Core/Order/V1 http://xmlns.oracle.com/ABCSImpl/Portal/Industry/Telco/ Customer/V2

Namespace Prefix

Follow the namespace prefix standard.

abcsimplsieblelinv, abcsimplportalprod, …

WSDL

[Service Name].wsdl

CreateOrderSiebelReqABCSImpl.wsdl UpdateOrderSiebelTelcoReqABCSImpl.wsdl CreateCustomerPortalTelcoReqABCSImpl.wsdl

WSDL Message

Request message: Verb[ABO Name]ReqMsg

Response message: Verb[ABO Name]RespMsg

CreateOrderReqMsg, CreateOrderRespMsg UpdateOrderLinesReqMsg, UpdateOrderLinesRespMsg

WSDL Port Type

BPEL: [Service Name]Service

Mediator: [Service Name]

CreateOrderSiebelReqABCSImplService UpdateOrderSiebelReqABCSImpl

WSDL Port Type Operations

Verb[ABO Name]

Should be self-describing to reflect the functionality needed by the application.

UpdateOrder, GetOrderLines, …

BPEL Flow Name/ Mediator Routing Service Name

[Service Name]V[Version Number]

CreateOrderSiebelReqABCSImplV2Process

UpdateOrderSiebelTelcoReqABCSImplProcess CreateCustomerPortalTelcoReqABCSImplProcess


21.6.2 Provider Application Business Connector Services

Provider ABCS are the implementation of Enterprise Business Services.

Table 21-7 provides details about the naming standards for provider ABCS.


Table 21-7 Naming Standards for Provider ABCS

Artifact Name Example

Service Name (in the WSDL)

[Verb][App Entity Name][Short Application Name][Optional Industry]ProvABCSImpl

CreateOrderSiebelProvABCSImpl UpdateOrderSiebelTelcoProvABCSImpl CreateCustomerPartyTelcoPortalProvABCSImpl

Namespace

http://xmlns.oracle.com/ABCSImpl/{Participating Application Name}/{Core/ or Industry/[Industry Name]}/{App Entity Name}/V{version}

http://xmlns.oracle.com/ABCSImpl/Siebel/Core/Order/V1 http://xmlns.oracle.com/ABCSImpl/Portal/Industry/Telco/ CustomerParty/V2

Namespace Prefix

Follow the namespace prefix standard.

abcsimplsieblelinv, abcsimplportalprod, …

WSDL

[Service Name].wsdl

CreateOrderSiebelProvABCSImpl.wsdl UpdateOrderSiebelTelcoProvABCSImpl.wsdl CreateCustomerPartyTelcoPortalProvABCSImpl.wsdl

WSDL Message

Request message: [Verb][ABO Name]ReqMsg

Response message: [Verb][ABO Name]RespMsg

CreateOrderReqMsg, CreateOrderRespMsg

WSDL Port Type

BPEL: [Service Name]Service

Mediator: [Service Name]

CreateOrderSiebelProvABCSImplService UpdateOrderSiebelProvABCSImpl

WSDL Port Type Operations

[Verb][ABO

Has one operation which should match the operations exposed by the corresponding EBS.

UpdateOrder, getOrderLines, …

BPEL Flow Name/ Mediator Routing Service Name

[Service Name]V[Version Number]

CreateOrderSiebelProvABCSImplV2Process

UpdateOrderSiebelTelcoProvABCSImplProcess CreateCustomerPortalTelcoProvABCSImplProcess


21.7 JMS and Adapters

Table 21-8 provides details about the naming standards for JMS and Adapters.


Table 21-8 Naming Standards for JMS and Adapters

Artifact Name Example

JMS Store, JMS Server, JMS Module

Use the default configuration created by SOA Core Extension

N/A

JNDI Name for Queue or Topic Connection Factory

eis/wlsjms/AIA<Application Name>CFOReis/wlsjms/AIACommonCF (For common queues or topics used as milestones before/after EBS or EBF)For XA connection factory, follow the below convention:eis/wlsjms/AIA<Application Name>XACF

eis/wlsjms/AIAPeopleSoftCFFor XA: eis/wlsjms/AIAPeopleSoftXACFOracle SOA Core Extension creates the JMS module level connection factory automatically by appending "jms/aia" to the given connection factory name. Example:jms/aia/AIAPeopleSoftCF

Queue or Topic Name

AIA_<ApplicationName> <EBO / ABO Name><Optional Industry>JMSQueueV<Version Number >AIA_<ApplicationName> <EBO / ABO Name><Optional Industry>JMSTopicV<Version Number >

AIA_PeopleSoftCurrencyExchangeJMSQueue

AIA_SiebelCustomerPartyJMSTopicV1

Notes:

  • Here the "JMSQueue" indicates "WLS JMS Queue" by default. For other JMS providers, a prefix should be added like AqJMSQueue, TibJMSQueue...and so on.

  • While coming up with the queue/topic names, you could use the meaningful short names or abbreviations in the following use cases:

    Long Application/Industry name.Long EBO/ABO name.

    JMS provider having a restriction on the number of characters. For example: AQ JMS provider has 24 characters limitation on queue name.

  • Use short form "JMSQ" instead of "JMSQueue" and "JMST" in the above cases. Based on the JMS provider's maximum characters limitation on their queue name, it is recommended to come up with a suitable & meaningful queue or topic name by following short names or abbreviations of application/industry and EBO/ABO names. Example: AIA_PSFTCurExchangeJMSQ, AIA_SEBLCustPartyJMSTV1

  • Oracle SOA Core Extension creates the JNDI names for queue or topic under JMS module during deployment by appending "jms/aia". Example: jms/aia/ AIA_SiebelCustomerPartyJMSTopicV1

Error Queues

<Queue Name>_ErrorQ

FP scripts use the resource name from annotations to get the queue/topic name and then append "_ErrorQ" as suffix.

Example:- For "AIASalesOrderQueue", FP generates "AIASalesOrderQueue_ErrorQ"

Table Name for AQJMS provider

AIA_<App><ABO/EBO><optional industry>JMSQTABV[Version Number]

AIA_SiebelCustomerProvJMSQTAB

AIA_EbizOrderProvJMSQTABV2


21.7.1 AQ JMS (Additional Attributes)

Table 21-9 provides details about the naming standards for AQ JMS additional attributes.


Table 21-9 Naming Standards for AQ JMS Additional Attributes

Artifact Name Example

Database User/Schema for queues and queue tables creation in AQJMS provider

JMSUSER

N/A

Table Name for AQJMS provider

AIA_<App><ABO/EBO><optional industry>JMSQTABV[Version Number]

AIA_SiebelCustomerProvJMSQTAB

AIA_EbizOrderProvJMSQTABV2


21.7.2 Adapter Services Naming

Table 21-10 provides details about the naming standards for adapter services.


Table 21-10 Naming Standards for Adapter Services

Artifact Name Example

Transport adapter services (File/FTP)

<Optional Application Short Name><optional verb><EBO/ABO Name><Optional Industry><Resource Provider><Operation>V<Version Number>

E1PurchaseOrderFileReadAdapter

E1PurchaseOrderFileWriteAdapterV1

CRMODPOFtpGetAdapter

CRMODPOFtpPutAdapterV1

AQJMS /WLSJMS Consumer Adapter Service

<Optional Application Short Name><optional verb><EBO/ABO Name><Optional Industry><Resource Provider><Operation>V<Version Number>

PSFTupdateCurrencyExchange

AQJMSCons

SiebelCustomerPartyJMSConsumerV1

AQJMS /WLSJMS Producer Adapter Service

<Optional Application Short Name><optional verb><EBO/ABO Name><Optional Industry><Resource Provider><Operation>V<Version Number>

PSFTupdateCurrencyExchange

AQJMSProd

SiebelCustomerPartyJMSProducerV1

Apps/DB Adapter

<optional verb><EBO/ABO Name><Optional Industry><Application Short Name><Resource Provider>V<Version Number>

SyncCurrencyExchangeListEBiz

DBAdapter

CreateCustomerEBizAppAdapterV1

UpdatePriceListEBizEventAdapter


21.7.3 Participating Application Service

Table 21-11 provides details about the naming standards for participating application services.


Table 21-11 Naming Standards for Participating Application Services

Artifact Name

Name

Registered in Mediator with the same name as exposed by the application. For example, BRMCUSTService, Account_BS

Namespace

Follows the namespace used by the application.

Namespace Prefix

Follow the namespace prefix standard.

WSDL

Follows the WSDL name as exposed by the application.

WSDL Message

Follows the message names exposed in the application WSDL.

WSDL Port Type

Follows the port types exposed in the application WSDL.

WSDL Port Type Operations

Follows the operation names exposed in the application WSDL

WSDL Binding

Follows the WSDL

WSDL Service

Follows the service name exposed in the application WSDL


21.8 DVMs and Cross References

This section includes the naming standards for:

21.8.1 DVMs

When creating DVMs, the following naming standards should be followed:

21.8.1.1 Map Name

Map names:

  • Must start with the object name.

    This enables you to identify maps that belong to a certain object. The object name should be equivalent to the EBO name.

  • Should be followed by the element name that needs domain value mapping.

  • Must be uppercase.

Pattern: {Object Name}_{Element Name}

Examples: CUSTOMERPARTY_ACCOUNTTYPECODE, INVOICE_REJECT_REASON, SALESORDER_CARRIER_TYPECODE

DVM File Name Examples: CUSTOMERPARTY95ACCOUNTTYPECODE, INVOICE95REJECT95REASON, SALESORDER95CARRIER95TYPECODE

21.8.1.2 Map Column Names

Map column names:

  • Must be set to the participating application instance name abbreviation that the column value represents. This name can be the application name and its version, or an instance name in case two similar applications of the same version are integrated. The name must be a unique identifier for the application instance across the integration platform in the form: {Application Abbreviated Name}_{Sequence Number}. The sequence number uniquely identifies multiple instances of the same application.

  • Must be uppercase.

  • A column named COMMON must be always added. This column contains the values used in the EBOs within the platform.

Examples: COMMON, EBIZ_01, PSFT_01, SEBL_02, SEBL_03, PORTAL_01, IFLEX_01

21.8.2 Cross References

When creating cross-reference virtual tables in the cross reference tables, the following naming standard should be followed:

21.8.2.1 Table Name

Table names:

  • Must not exceed 48 characters.

  • Must start with the object name.

    This enables you to identify cross-references that belong to a certain object. The object name should be equivalent to the EBO name.

  • Must be followed by the element name that needs cross-referencing.

    If exceeds 48 characters, it should be properly abbreviated.

  • Must be uppercase.

Pattern: {Object Name}_{Element Name}

Examples: ORDER ORDERID, INVOICE INVOICEID, CUSTOMER ID

21.8.2.2 Column Names

Column names:

  • Must not exceed 48 characters.

  • Must be set to the participating application instance name abbreviation that the column value represents.

    The name must be a unique identifier for the application instance across the integration platform in the form: {Application Abbreviated Name}_{Sequence Number}. The sequence number uniquely identifies multiple instances of the same application.

  • Must be uppercase.

  • Must have a column named COMMON added.

    This column contains the values used in the EBOs within the platform.

Examples: COMMON, EBIZ_01, PSFT_01, SEBL_02, SEBL_03, PORTAL_01, IFLEX_01

21.9 BPEL

This section discusses naming standards for:

21.9.1 BPEL Activities

This section provides naming standards for the following BPEL activities:

21.9.1.1 BPEL Process Name and Namespace

The BPEL process JDeveloper project name should match the BPEL process name (use default project setting).

Name standards

  • The name should follow the general standard naming standards depending on whether it is being used for EBS, ABCS Impl, or Adapter Service.

  • The name should clearly describe the process and action/verb being performed.

Namespace standards:

  • The namespace should follow the general namespace standards depending on whether it is being used for EBS, ABCS Impl, or Adapter Service.

  • The namespace must reflect the taxonomy of the process.

  • The namespace must include the major version number where appropriate.

  • BPEL composite's reference component name should follow the general naming standards based on the type of AIA artifacts it is calling.

21.9.1.2 Assign

Follow these guidelines:

  • The name should follow the general standard naming standards.

  • Starts with the Assign prefix.

  • Followed by a name describing what is being assigned. If what is assigned is a message, then use the message name.

  • In case there are multiple assignments, provide a name that describes the group of assignments if possible.

Pattern: Assign<Name of what is being assigned>

Example: AssignPaymentEBM, AssignOrderInitialValues

21.9.1.3 Compensate

Follow these guidelines:

  • The name should follow the general standard naming standards.

  • Start with the Compensate prefix.

  • Followed by the scope encapsulating the tasks to be compensated.

Pattern: Compensate<scope name>

Example: CompensateProcessCreditCheckMilestone, Compensate TranseferFundsScope

21.9.1.4 Flow

Follow these guidelines:

  • The name should follow the general standard naming standards.

  • Starts by a name describing the tasks being run concurrently.

  • Ends with the Flow suffix.

Pattern: <Name describing concurrent tasks>Flow

Example: CallManufacturersFlow, GetQuotesFlow

21.9.1.5 FlowN

Follow these guidelines:

  • The name should follow the general standard naming standards.

  • Starts by a name describing the dynamic tasks being run concurrently.

  • Ends with the FlowN suffix.

  • The index variable name should be the flow name with Index as suffix.

Pattern: name = <Name describing concurrent tasks>FlowN, index variable = <Name describing concurrent tasks>FlowNIndex

Example: ActivateUsersFlowN (ActivateUsersFlowNIndex), CheckSuppliersFlowN (CheckSuppliersFlowNIndex)

21.9.1.6 Invoke

Follow these guidelines:

  • The name should follow the general standard naming standards.

  • Starts with the Invoke prefix.

  • Followed by the partner link to be invoked.

  • Followed by Call if synchronous invocation or Start if asynchronous invocation.

  • Followed by the operation name within the partner link.

Pattern: Invoke<Partner Link Name>{Call/Start}<Operation>

Example: InvokeCustomerServiceCallGetCustomer, InvokeNotificationServiceStartNotifyByEmail

21.9.1.7 Java Embedding

Follow these guidelines:

  • The name should follow the general standard naming standards.

  • The name should be similar to a Java method Name with lower-camel-case.

Pattern: <A name describing the functionality>

Example: getDiscountPrice

21.9.1.8 Pick

Follow these guidelines:

  • The name should follow the general standard naming standards.

  • Starts with the Pick prefix.

  • Followed by a name describing as accurate as possible all branches (onMessage and onAlarm) within the pick activity.

Pattern: Pick<Name describing the branches to pick from>

Example: PickOrderAckOrTimeout, PickFirstQuote

21.9.1.9 Receive

Follow these guidelines:

  • The name should follow the general standard naming standards.

  • Starts with the Receive prefix.

  • Contains the name of the message it is receiving.

Pattern: Receive<Message Name>

Example: ReceiveUpdateInvoiceEBM

21.9.1.10 Scope

Follow these guidelines:

  • The name should follow the general standard naming standards.

  • Including brief information about transaction type may be appropriate.

  • Use Milestone as the suffix if the scope is a candidate for end-user monitor.

  • If it is not intended for the end-user monitor, use Scope as the suffix.

Pattern: <Name describing the Scoped Tasks>{Scope |Milestone}

Examples: GetCreditRatingScope, GetLoanOfferScope, ProcessCreditCheckMilestone

21.9.1.11 Sequence

Follow these guidelines:

  • The name should follow the general standard naming standards.

  • The sequence name should describe the steps performed in the sequence.

  • The sequence name should end with Sequence suffix.

Pattern: <Name describing the Sequenced Tasks>Sequence

Example: GetCustomerInfoSequence

21.9.1.12 Switch

Follow these guidelines:

  • The name should follow the general standard naming standards.

  • Start with the Switch prefix.

  • Followed by what is being evaluated.

Pattern: Switch<Name of what is being evaluated>

Example: SwitchCreditRating

21.9.1.13 Case

Follow these guidelines:

  • The name should follow the general standard naming standards.

  • Start with the Case prefix.

  • Followed by the evaluated value.

Pattern: Case<Name evaluated value>

Example: CaseBadCredit, CaseApprovalRequired

21.9.1.14 Terminate

Follow these guidelines:

  • The name should follow the general standard naming standards.

  • Starts with the Terminate prefix.

  • Followed by a name describing the termination reason.

Pattern: Terminate<reason of termination>

Example: TerminateTimeout, TerminateEndOfProcess

21.9.1.15 Throw

Follow these guidelines:

  • The name should follow the general standard naming standards.

  • Starts with the Throw prefix.

  • Followed by the fault name.

  • The fault variable name is typically named the same as the fault name.

Pattern: Throw<fault name>

Example: ThrowExceededMaxAmount, which uses ExceededMaxAmount variable.

Note:

When defining a Catch in the Scope activity, the displayed catch name is the fault name.

21.9.1.16 Transform

Follow these guidelines:

The name should follow the general standard naming standards.

  • Starts with the Xform prefix.

  • Followed by the source name.

  • Followed by To.

  • Followed by the destination name.

Pattern: Xform<source>To<destination>

Example: XformBillToPortal80Bill

21.9.1.17 Wait

Follow these guidelines:

The name should follow the general standard naming standards.

  • Starts with the Wait prefix.

  • Followed by a name describing the reason for waiting.

Pattern: Wait<Name describing the waiting reason>

Example: WaitOrderAcknowledgeTimeout, WaitWarmUpTime

21.9.1.18 While

Follow these guidelines:

  • The name should follow the general standard naming standards.

  • Starts with the While prefix.

  • Followed by a name describing the loop condition.

Pattern: While<Name describing the loop condition>

Example: WhileAllMsgsSent

21.9.2 Other BPEL Artifacts

Follow these guidelines for other BPEL artifacts:

21.9.2.1 Variables

Follow these guidelines:

  • The name should follow the general standard naming standards.

  • Use lower-camel-case for variable names.

  • The data type must not be part of the variable name.

Example: accountBalance, invoiceAmount.

21.9.2.2 Properties

Property names follow the general BPEL variables naming standards.

21.9.2.3 Correlation Sets

Follow these guidelines:

  • The name should follow the general standard naming standards.

  • Starts with a name describing the correlation set.

  • Ends with CorSet suffix.

Pattern: <Name describing the correlation>CorSet

Example: PurchaseOrderCorSet

21.9.2.4 Correlation Set Properties

The correlation set property names follows the general BPEL variables naming standards.

21.10 Custom Java Classes

Custom Java classes must follow the standard Java coding practices. The Java code components names types must conform to the Oracle Corporate Java Coding Standards: http://bali.xy.example.com/bali/ojcs/front.html.

All of AIA custom java code must exist in a sub-package:

oracle.apps.aia.<lba>... where lba stands for logical business area.

Externally facing services implemented in Java must have the version number part of the package to be in line with our namespace naming standards. This also enables you to publish the same service under different versions at the same time.

oracle.apps.aia.<lba>... v<version> where lba stands for logical business area.

Tip:

To avoid collisions, 'aia' must be defined as an application in the Fusion Application.

Examples:

  • oracle.apps.aia.util.logging: contains util java classes used for logging.

  • oracle.apps.aia.security.siebel.login: contains java modules to login into Siebel.

  • oracle.apps.aia.order.siebel.V1: contains an order query service implemented in Java.

  • oracle.apps.aia.item.pricediscount.v3: contains a Java Service price discount engine.

21.11 Package Structure

The complete source control and package structure related information is described in the Oracle Fusion Middleware Installation and Upgrade Guide for Oracle Application Integration Architecture Foundation Pack.

21.12 Deployment Plans

Table 21-12 provides details about the naming standards for Deployment Plans.


Table 21-12 Naming Standards for Deployment Plans

Artifact Name Artifact File Name Purpose Mandatory / Optional Details

Deployment Plan holding customer extensions

<PIP Code>CustomDP.xml

Deployment instructions for the artifacts created by the customer

"<ProjectCode>CustomDP.xml :re-generated deployment plan on customer sites using PLW and DPG. It contains only native artifacts

This is similar to the main deployment plan with all the Preinstall, Configurations, Deployments and PostInstall section.

Deployment Plan holding non-native artifacts

<PIP Code>SupplementaryDP.xml

Deployment instructions for non-native artifacts (J2EE application, java class, web services and every other artifact that could not be harvested)

Pre-Built Integrations having non-native artifacts alone should deliver this plan

This is similar to the main deployment plan with all the Preinstall, Configurations, Deployments and PostInstall section.