1
2
The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions.The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
<Insert Picture Here>
Practical Insight on Using Oracle Application Integration Architecture
Rajesh RahejaSenior Director, Development
Rohit AgarwalConsulting Solution Architect
@RahejaRajesh
4
Connector Service
Connector Service
Session Agenda
EBM EBS EBF ABCS Adapters GuaranteedDelivery ErrorHandlingFramework PLW MEP
BPEL ESB ODI OER PIPS Integration Flow SOA SCA Governance CAVS ServiceArtifactGenerator BPM BPA FoundationPack FP PIPAuditor XMAN PSAA
XREF DVM EBO AdapterServices LifecycleDatabase Harvestor NetworkTopology
ConfigurationWizard AIAInstallationDriver BusinessTask ServiceSolutionComponent
JDeveloper Canonical DeploymentPlan Cluster Rollout Extensions
Share Implementation Best PracticesShare Implementation Best Practices
5
Application Integration ArchitectureSolutions Which Deliver Sustainable Integration
Complete. Open. Integrated.
Foundation Pack
Reference Process Models
Common Objects & Standard Shared Services
SOA/BPM Framework & Methodology
Packaged Integration Accelerators For Specific Applications & Processes (PIPs and Direct Integrations)
Pre-built Integrations
BPM Suite
Process Management
Registry & Repository
Service Managemen
t
SOA Governance
Process Integration
B2BIntegratio
n
SOA Suite ODI Suite
Bulk Data Processing
Data Quality
Developer Utilities
6
Example PIP ImplementationAgent Assisted Billing Care - Communications Process Integration Pack
Customer AgentNo problem, let me look at your current bill
I have a question about a current
charge
Siebel CRM Call Center
Oracle Billing and Revenue Management
What It Does:Eliminate CRM Billing “swivel chair integration”
Goal:Increase Agent productivity and reduce ramp up time
Benefits:Improve Call Handling KPIs and reduce training costs
AIA - Service Usage Details
7
AIA - Service Usage Details
Implementation RequirementsStart with Agent Assisted Billing Care Pre-built Integration Accelerator
Siebel CRM Call Center
Oracle Billing and Revenue Management
AIA - Service Usage Details + Data Plan Usage R1
Self Service Web Channel Custom Application
R2
Oracle Billing and Revenue ManagementUS Subscribers Only
R3
Mobile Apps
Customer
I will look up my data plan usage charge online.
8
. . .
Business Process Modeling
FunctionalDefinition
Service Design&
Construction
Deployment Plan
Generation
Install &Deploy
Implementation Task ListBased on AIA Development Lifecycle Tools UsedTools Used
9
Reuse & ExtendServices
10
Review Service DesignSelect Integration Flows to Extend
Service Usage
Event Details
Service Usage
DetailsSearch Usage
Send
Service Usage
Event Details
Send
Service Usage
Details
Send Search Results
CRM
Billing
CustomerProvides
Account Info
Search Customer
Inquires Service
Usage
Internal to CRM Integration Points
Get Balance
Resource Detail
Send Balance
Resource Detail
Oracle BPA Suite
Service Usage Business Process
11
Review Service Design Identify Implementation Sub-Projects
BRM
Provider ABCSQueryServiceUsage
BRMCommsProvABCSImpl
ServiceUsageEBS ServiceUsageEBO
PCM_OP_BILL_GET_ITEM_EVENT_CHARGE_DISCOUNT
QueryServiceUsageList()QueryServiceUsageList()
OpCodeAPI
1 Extend EBO 2 Extend Mappings
BRM
OpCodeAPI3 Additional
Instance
EBM
Self Service
Application
ABM
Requestor ABCSQueryUnbilledEventDetails
SelfServiceCommsReqABCSImpl
4 New Connector
QueryServiceUsageListEBM
Query Service Usage Event Detailsa.k.a Usage Allocation or Charge Distribution
Oracle Enterprise RepositoryAIA PIP Implementation Guides
ABM
Requestor ABCSQueryUnbilledEventDetails
SiebelCommsReqABCSImpl
QueryServiceUsageListEBM
Siebel
CRM
12
SOA Doesn’t Preclude Good DesignsDocument Integration Artifacts
Services, Operations & Message PayloadsServiceUsageEBS.QueryServiceUsageList()ServiceUsageEBO (Communications Industry Version)QueryServiceUsageListEBMQueryServiceUsageListResponseEBM
Services, Operations & Message PayloadsServiceUsageEBS.QueryServiceUsageList()ServiceUsageEBO (Communications Industry Version)QueryServiceUsageListEBMQueryServiceUsageListResponseEBM
Application Business Connector ServicesQueryUnbilledUsageSiebelCommsReqABCSImplQueryUnbilledEventDetailsSiebelCommsReqABCSImplQueryServiceUsageBRMCommsProvABCSImplQueryUnbilledEventDetailsSelfServiceCommsReqABCSImpl
Application Business Connector ServicesQueryUnbilledUsageSiebelCommsReqABCSImplQueryUnbilledEventDetailsSiebelCommsReqABCSImplQueryServiceUsageBRMCommsProvABCSImplQueryUnbilledEventDetailsSelfServiceCommsReqABCSImpl
Domain Value Maps (DVM)ACCOUNTBALANCEADJUSTMENT_STATUS ACCOUNTBALANCEADJUSTMENT_SUBSTATUS ACCOUNTBALANCEADJUSTMENT_TYPE ADDRESS_COUNTRYID ADDRESS_COUNTRYSUBDIVID COLLECTION STATUS CONTACT_SALUTATION CURRENCY_CODE CUSTOMERPARTY_ACCOUNTTYPECODE CUSTOMERPARTY_STATUSCODE INSTALLEDPRODUCT_STATUS PAYMENTRECEIPT_TYPE PHONENUMBER_TYPE PROVINCE STATE … and 15 more …
Domain Value Maps (DVM)ACCOUNTBALANCEADJUSTMENT_STATUS ACCOUNTBALANCEADJUSTMENT_SUBSTATUS ACCOUNTBALANCEADJUSTMENT_TYPE ADDRESS_COUNTRYID ADDRESS_COUNTRYSUBDIVID COLLECTION STATUS CONTACT_SALUTATION CURRENCY_CODE CUSTOMERPARTY_ACCOUNTTYPECODE CUSTOMERPARTY_STATUSCODE INSTALLEDPRODUCT_STATUS PAYMENTRECEIPT_TYPE PHONENUMBER_TYPE PROVINCE STATE … and 15 more …
Cross ReferencesCUSTOMERPARTY_ACCOUNTIDCUSTOMERPARTY_BILLPROFILEIDCUSTOMERPARTY_PAYPROFILEIDCUSTOMERPARTY_CONTACTIDCUSTOMERPARTY_PARTYIDCUSTOMERPARTY_PARTYCONTACTIDCUSTOMERPARTY_PARTYLOCATIONIDCUSTOMERPARTY_LOCATIONREFIDCUSTOMERPARTY_ACCOUNT_COMMIDCUSTOMERPARTY_CONTACT_COMMIDCUSTOMERPARTY_CONTACT_PHONECOMMIDCUSTOMERPARTY_CONTACT_EMAILCOMMIDCUSTOMERPARTY_CONTACT_FAXCOMMIDCUSTOMERPARTY_ADDRESSIDCUSTOMERPARTY_DEFAULTBALANCEGROUPID
Cross ReferencesCUSTOMERPARTY_ACCOUNTIDCUSTOMERPARTY_BILLPROFILEIDCUSTOMERPARTY_PAYPROFILEIDCUSTOMERPARTY_CONTACTIDCUSTOMERPARTY_PARTYIDCUSTOMERPARTY_PARTYCONTACTIDCUSTOMERPARTY_PARTYLOCATIONIDCUSTOMERPARTY_LOCATIONREFIDCUSTOMERPARTY_ACCOUNT_COMMIDCUSTOMERPARTY_CONTACT_COMMIDCUSTOMERPARTY_CONTACT_PHONECOMMIDCUSTOMERPARTY_CONTACT_EMAILCOMMIDCUSTOMERPARTY_CONTACT_FAXCOMMIDCUSTOMERPARTY_ADDRESSIDCUSTOMERPARTY_DEFAULTBALANCEGROUPID
Oracle Enterprise RepositoryAIA PIP Implementation Guides
Query Service Usage Event Details PIP Artifacts
Sequence Diagram
13
Extend Message PayloadAdd New Attributes to Extension Area
1
JDeveloper 11gJDeveloper 11g
../Custom/Common/V2/CustomCommonComponents.xsd
(Upgrade Safe Sandbox)
../EBO/ServiceUsage/V2/ServiceUsageEBO.xsd
Extend EBO
14
Enrich Attribute MappingsMap New Attributes to Connector Service
…_Custom.xsl (Upgrade Safe Sandbox)<ABM>_To_QueryServiceUsageListResponseEBM.xsl
2 Extend Mappings
JDeveloper 11gJDeveloper 11g
BRM Provider ABCS Mapping ABM-EBM Response
15
ReceiveReceive
TransformEBM-ABMTransformEBM-ABM
TransformABM-EBMTransformABM-EBM
ReplyReply
InvokeInvoke
Extension XSLT
Extension XSLT
Extension XSLT
Extension XSLT
Extension Service
Extension Service
PreInvoke Extension Service
PreInvoke Extension Service
PostInvokeExtension Service
PostInvokeExtension Service
Extension Service
Extension Service
CalloutCallout
CalloutCallout
CalloutCallout
CalloutCallout
BRM OpcodePCM_OP_BILL_GET_ITEM_
EVENT_CHARGE_DISCOUNT
BRM OpcodePCM_OP_BILL_GET_ITEM_
EVENT_CHARGE_DISCOUNT
Enrich Attribute MappingsCall out to External Systems to Validate or Add Content
BRM ProviderServiceQueryServiceUsageBRMCommsProvABCSImpl
2 Extend Mappings
Service Usage EBS
Service Usage EBS
Que
ryS
ervi
ceU
sage
List
()
Syn
chro
nous
Req
uest
Res
pons
e M
EPR
eque
st E
BM
Res
pons
e E
BM
…Extension Service
Upgrade Safe Sandbox
JDeveloper 11gJDeveloper 11g
16
Ensure Service InteroperabilityMapping Consistency – Entity Attributes, XREF, DVM AIA XSL Mapping AnalyzerAIA XSL Mapping Analyzer
Potential Functional Interoperability Issue
2 Extend MappingsXMAN CSV Pivot Table – EBM Attribute Usage Analysis
17
ProviderABCS
Service
EBS
Create()Create()
Update()Update()
Query()Query()
BRM
ABM
EBM
EBM
EBM
ProviderABCS
ServiceProviderABCS
Service
EBM
EBM
EBM
ABM
ABM
Add Application InstancesReuse Connector Services and Configure Adapters
3 Additional Instance
BRMABM
JDeveloper 11gJDeveloper 11gAIA Project Lifecycle WorkbenchAIA Project Lifecycle WorkbenchWeb Logic ServerWeb Logic Server
Artifacts Affected Adapters: Services, Connection Factories, Connection Pools, Datasources SOA Configuration: XREF column, DVM column, Routing Rules AIA Configuration: PLW System Entries, Endpoint URLs
18
ProviderABCS
Service
EBS
Create()Create()
Update()Update()
Query()Query()
BRM
ABM
EBM
EBM
ProviderABCS
Service
ABM 3rd Party
App
ProviderABCS
ServiceProviderABCS
Service
EBM
EBM
EBM
ABM
ABM
Add Application Instances (3rd Party)Implement as New Connector Service
EBM
Modify Routing Rules (Mediator)
3 Additional Instance
JDeveloper 11gJDeveloper 11gAIA Project Lifecycle WorkbenchAIA Project Lifecycle Workbench
19
Implementation Task SummaryReuse Services using AIA Extensibility Features and Programming Model
20
Build NewServices
21
Register Integration MetadataProject, Business Task and Service Solution Component AIA Project Lifecycle WorkbenchAIA Project Lifecycle Workbench
4 New Connector
22
Generate ServicesEnter Implementation Details for Desired Service
4
AIA Service Constructor (JDev)AIA Service Constructor (JDev)
New Connector
23
Review Functional AnnotationEnsure Completeness before Modifying Files
Ensure all <svcdoc> annotations are complete in composite.xml
Design View
Source View
JDeveloper 11gJDeveloper 11g
4 New Connector
24
Add Message TransformationsAdd Message Transformation Mappings – ABM to EBM
4 New Connector
JDeveloper 11gJDeveloper 11g
25
Ensure Service Interoperability Review Service Entity Mapping for Consistency
Data Model Mapping
PortalEBOSiebel
Address
Billing Profile
BalanceGroup
Purchased Discounts
Account
Account
Pay Info
Purchased Products
Billing Profile (1..N)
Bill Info
Address (1..N)
Service Instance
Account
Invoice
AddressAddress (1..N)
Invoice
Adjustment
Payment
Adjustments
Payments Balances
Bill
Items(1..N)
Customer data transformation
Order data transformation Billing Integration
4 New Connector
AIA PIP Implementation GuidesAIA PIP Implementation Guides
Siebel CRM EBO (Common Object) Oracle BRM
Account CustomerParty Account
Billing Profile CustomerParty BillInfo/PayInfo
Invoice Invoice Bill
ServiceUsage ServiceUsage ServiceUsage
Payment PaymentReceipt Payment
Adjustment AccountBalanceAdjustment Adjustment
26
Ensure Service InteroperabilityMapping Consistency – Entity Attributes, XREF, DVM
4 New Connector
AIA XSL Mapping AnalyzerAIA XSL Mapping Analyzer
27
Register Service ImplementationHarvest Metadata in OER and AIA Lifecycle DB AIA Harvester/Lifecycle DatabaseAIA Harvester/Lifecycle Database
Oracle Enterprise RepositoryOracle Enterprise Repository
Design Time. Run Time. Visibility and Control = Governance
28
Test Service DeploymentCreate Deployment Plan and Test Initial Deployment
WHAT to Deploy = Composites List + Harvested AnnotationsGenerated from AIA Project Lifecycle
Workbench
HOW to Deploy = Bill of Materials + Deployment Specific Info
WHERE to Deploy = Installer properties
Extensible framework to bundle and deploy custom components.
AIA Installation DriverAIA Installation DriverAIA Project Lifecycle WorkbenchAIA Project Lifecycle Workbench
29
Validate Integration FlowTechnical Compliance to AIA Standards AIA Code AuditorAIA Code Auditor
SOA Validation ChecklistSOA Validation Checklist
30
ProviderParticipatingApplication
ProviderParticipatingApplication
ProviderABC ServiceProviderABC ServiceProviderABC Service
Validate Integration Flow Write Automated Integration Tests and Simulators
Testing Tips• Automate regression tests of all integration points• Validate optional attributes in service payload• Test business exceptions as well as system faults
RequesterParticipatingApplication
EnterpriseBusinessService
RequesterABC Service
Test Definition
Simulator
RequesterParticipatingApplication
EnterpriseBusinessService
RequesterABC Service
AIA CAVSAIA CAVSSOA 11g Composite Testing FwkSOA 11g Composite Testing Fwk
31
Implementation Task SummaryAdopt a Holistic, Productive Approach to SOA Development
32
Plan RolloutIntegration Solution
33
Siebel
CRM BRM
ABM RequesterABCS
Service
ProviderABCS
Service
EnterpriseBusinessService
ProviderABCS
Service
3rd Party
App
ABM
ABM3rd Party
App
ABM RequesterABCS
Service
EBM EBM
EBM
EBM
Complete Integration ScenariosAdd New Integration Flows or Pre-packaged Integration Accelerators
New EBOs and EBMs
New EBS
New operations for an existing EBS
New ABCS
New Direct Integrations
34
Refine Service ResiliencyMake Services Production Ready
• Message Handling (Re-sequencer / Aggregator / Throttling)• Guaranteed Message Delivery - Milestones• Correlations for Asynchronous Service Invocations• Configuration Properties e.g. bpel.config.transaction, oneWayDeliveryPolicy
• Deployment Descriptors• Fault Policies and Error Handling• Security Policies
JDeveloper 11gJDeveloper 11g
Guaranteed Message Delivery
35
Test Advanced Deployments Remote, Cluster, Files Only, Patch Deployment AIA Installation DriverAIA Installation Driver
Cluster DeploymentRemote Deployment
36
Plan Network Topologies Logical Topologies
XREF
AIAAIA
SOA
Cluster
SOA
Cluster
Customer Flows
AIAAIA
SOA
Cluster
SOA
Cluster
Order Flows
AIAAIA
SOA
Cluster
SOA
Cluster
Product Flows
XREFXREF XREF
AIAAIA
SOA
Cluster
SOA
Cluster
PIP 1
AIAAIA
SOA
Cluster
SOA
Cluster
PIP 2
AIAAIA
SOA
Cluster
SOA
Cluster
PIP 3
PIP Based Clusters
(supported by PIPs)
Functional Flow Based Clusters
37
Plan Network TopologiesPhysical Topologies
Web Servers
Load balancer
App Servers
Database
DMZ Firewall
J2EE Firewall
Intranet Firewall
38
Prepare for Go-Live
• Environment Provisioning• Dev, QA, Stage, Prod, Training, Performance
• Performance, Scalability and Reliability
• Data Migration• Seed Data, Test Data, Initial Load
• End User Training
• Adequate Resources!
Think Big. Start Small. Adopt Incrementally.
39
Implementation Task SummaryEnsure Integration Solution is Production Ready
40
Session Summary
33Key Take Aways Implementing AIAKey Take Aways Implementing AIA
41
For More Information
www.oracle.com/aia
http://twitter.com/OracleAIA
http://blogs.oracle.com/aia
Oracle Application Integration Architecture Page
Oracle AIA – Application Integration Architecture Group
42
43
44
45
Extensible Architecture for ImplementationsProvided by Application Integration Architecture
Enrich TransformValidate
Application Business Connector Service
Application Business Object
Application EBM(EBO)
Adding fields to existing service/API
Change validation rules
Alter enrichment process
Alter transformations to add new fields or change how existing fields are mapped
Modify common object payload with new
application content
Configure routing rules, filter conditions, new operations
and error handling
Enterprise Business Service
Replace service providers
46
Enrich Attribute MappingsCall out to External Systems
2
Implement, deploy & activate extension service using supplied abstract WSDL.
Extend Mappings Tools Used:Tools Used:JDeveloper 11gJDeveloper 11g
47
ProviderABCS
Service
EBS
Create()Create()
Update()Update()
Query()Query()
BRM
ABM
Validate()Validate()BRM
ProviderABCS
Service
ABM
EBM
EBM
EBM
ProviderABCS
ServiceProviderABCS
Service
EBM
EBM
EBM
ABM
ABM
EBM
Add New OperationsImplement new operations – Connector Service cannot be Reused
3Configure Additional Instance
All new artifacts - EBM, EBS WSDL, Mediator routing, therefore upgrade safe.
EBM
Tools Used:Tools Used:JDeveloper 11gJDeveloper 11g
48
Generate Service DraftSelect Service Solution Component and Enter Implementation Details
4 Tools Used:Tools Used:AIA Service Constructor (JDev)AIA Service Constructor (JDev)
New Connector
49
Add Message TransformationsReview Cross Reference Usage within Existing Connector Services
Operation Cross Reference Entity Siebel CRM ID Oracle BRM IDInserts & Lookups CUSTOMERPARTY_ACCOUNTID Account RowId Account POIDInserts & Lookups CUSTOMERPARTY_BILLPROFILEID Bill Profile RowId BillInfo POIDInserts & Lookups CUSTOMERPARTY_PAYPROFILEID Bill Profile RowId PayInfo POIDInserts & Lookups CUSTOMERPARTY_CONTACTID Contact RowId Account POID(s) and/or
PayInfo POID(s)Inserts & Lookups CUSTOMERPARTY_PARTYID Party RowId N/A
Inserts & Lookups CUSTOMERPARTY_PARTYCONTACTID Account RowId : Contact Row Id N/AInserts & Lookups CUSTOMERPARTY_PARTYLOCATIONID Account RowId : Address Row Id N/A
Inserts & Lookups CUSTOMERPARTY_LOCATIONREFID Siebel Location Id N/A
Inserts & Lookups CUSTOMERPARTY_ACCOUNT_COMMID Siebel Account Communication Id N/A
Inserts & Lookups CUSTOMERPARTY_CONTACT_COMMID Siebel Contact Communication Id N/A
Inserts & Lookups CUSTOMERPARTY_CONTACT_PHONECOMMID Siebel Contact Phone Communication Id N/A
Inserts & Lookups CUSTOMERPARTY_CONTACT_EMAILCOMMID Siebel Contact Email Communication Id N/A
Inserts & Lookups CUSTOMERPARTY_CONTACT_FAXCOMMID Siebel Contact Fax Communication Id N/A
Inserts & Lookups CUSTOMERPARTY_ADDRESSID Address RowId Account POID(s) and/or
PayInfo POID(s)
Inserts CUSTOMERPARTY_DEFAULTBALANCEGROUPID N/A Account’s Default Balance Group POID
Tools Used:Tools Used:AIA PIP Implementation GuidesAIA PIP Implementation Guides
4 New Connector
50
Generate Deployment PlanHarvest Integration Metadata
Tools Used:Tools Used:AIA HarvesterAIA HarvesterAIA Lifecycle DatabaseAIA Lifecycle DatabaseOracle Enterprise RepositoryOracle Enterprise Repository
51
Validate Integration Flow Service Usage Details UI
52
Test Advanced Deployments Analyze Co-Deployment routing rule clashes between PIP combinations
52
Tools Used:Tools Used:AIA Shared Artifact AnalyzerAIA Shared Artifact Analyzer
53
AIA - Service Usage Details
AIA is an Architecture Designed for Adaptability
Customer
Thank you for resolving it in the first call itself. I am glad I can
check this online.
AIA - Service Usage Details + Data Plan Usage 1
Self Service Web Channel
(Custom Application)
2
3
Agent
54
Getting Started with Oracle SOA Suite
http://snipurl.com/soa11gbook
Download pre-built Virtual Box:http://snipurl.com/soa-vb
Run on the Amazon EC2 Cloud:http://snipurl.com/soa-ec2
Install free evaluation:http://snipurl.com/soa-otn > downloads
or
facebook.com/OracleSOA “Oracle SOA” Group twitter.com/OracleSOA
1. Get the software1. Get the software1. Get the software1. Get the software 2. Go through tutorial2. Go through tutorial2. Go through tutorial2. Go through tutorial
3. Join thousands of others at:3. Join thousands of others at:3. Join thousands of others at:3. Join thousands of others at:
or
©2010 Oracle Corporation 54