oracle openworld 2010 practical insights on using aia

Post on 05-Dec-2014

4.961 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

S316877 Practical Insights on Using Application Integration Architecture. Best Practices implementing AIA. Oracle OpenWorld 2010 San Francisco Moscone West L3 Room 3011 Thursday September 23, 1:30pm

TRANSCRIPT

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

top related