odtug an introduction to application integration architecture
DESCRIPTION
My presentation on ODTUG KSCOPE11 over An Introduction to Application Integration ArchitectureTRANSCRIPT
An Introduction to Application Integration Architecture ( AIA )
Edwin Biemond
Whitehorses
Goal of this Presentation
To make you understand what AIA is and what it can do for you.
What are the development steps of an AIA project
Hope this presentation can be a guide for your own AIA project.
Software
Required• SOA Suite 11g R1• AIA Foundation Pack
Optional• Oracle Service Bus• Oracle Enterprise
Repository• BPM• BPA Suite• ODI
Minimum Installation
11g R2 Database for AIA and SOA Suite Repository RCU 11g R1 PS3, Repository Creation Utility WebLogic 10.3.4 SOA Suite 11g R1 PS3 AIA Foundation Pack PS3, installation instructions
http://blog.whitehorses.nl/2011/02/19/installing-aia-on-soa-suite-11g-r1-ps3-developer-release/
What is AIA
Oracle’s approach to implementing SOA Tools
● Process model decomposition -> Project Lifecycle Workbench
● Service construction -> JDeveloper plug-in● Deployment plan generation● Deployment
Canonical Model with XSD’s and WSDL’s Error Hospital for Business and Systems Faults Testing and simulation of Services
AIA Foundation Pack and PIPs
AIA Example
An AIA process is not 1 composite with some service components like BPEL, Mediator and Human Tasks
AIA Process steps
Let’s build an AIA process by following the next steps Define a new Project, Business Tasks and Service Solution Components Identifying your Enterprise B. Object(XSD) and Services (WSDL) Building Composites
● Adapters● Application Business Connector Services (ABCS)● Enterprise Business Services (EBS)● Enterprise Business Flow (EBF)
Annotate your Composites Harvest your Composites to Lifecycle Workbench Bill of Material (BOM) Generate a Deployment Plan from the generated BOM Deployment of the Resource Adapters, Composites & AIA Configuration
Testing your AIA process with the Composite Application Validation System (CAVS) Error Hospital for System and Business Faults
Creating a new Project
url = http://xxxx/AIA/faces/aiaHomeLogin.jspxGo to the Project Lifecycle Workbench application
Add a Project with Business Tasks
Define a new Project with one or more Business Tasks
Service Solution Components
Forces you to think about your process and split up the project in SOA Composites
Enterprise Business Object EBO
AIA has many pre-defined business data object Identify and optional extend the XSDs you want to use
Enterprise Business Message EBM
AIA contains an EBM for every Enterprise Business Object EBMs are the messages that are exchanged between two
applications Has XSD elements for Operation input and response Has an EBM Header for tracing and routing information
Enterprise Business Service EBS
Has many Web service definitions for performing a business task Identify the Service Operations you want to use
Building Composites
Start from the Destination Application -> Source Application● This way you can deploy and test your composite with SoapUI● Have a service definition for the next composite who use this
WSDL as a reference
ScottEmployee
HREmployee
Application Adapter
Application Adapter
Source Destination
ABCSProvider
ABCSRequester
EBS EBS
EBF
Application Adapters
Choose your application adapter, like a DB or AQ/JMS Adapter Expose this Adapter as a Service with your own Application XSD and
WSDL Add the adapter WSDL and XSD to the AIA DB MDS
Generated DB adapter XSD
Own ApplicationXSD
Transformation
Application Business Connector Services
Generated by the AIA Service Constructor● Always BPEL when Stateful or Asynchronous
Tasks ABCS● Validation● Transformations like message translation, content
enrichment● Invoking application operations● Error handling● Security
ABCS Creation (Provider side)
Start the AIA Service Constructor in JDeveloper Connect to the AIA Lifecycle Workbench and select the
ABCS from the Service Solution Components
ABCS Service
Select the EBS WSDL from the MDS connection ( Resource Palette) Choose the operation
ABCS Reference
Enable Error handling Enable Testing Simulation Select the Application Adapter WSDL
ABCS Composite
EBS Service with the QueryPerson operation, a BPEL component and an Application Adapter & AIA Error handling as Reference
ABCS BPEL Flow
Read and Fill the EBM HeaderAdd some Tracing information
Set the endpoint to Application Adapter or Test Simulator
ABCS Exception Handling
Can handle Adapter failures
Enterprise Business Services
Can be a Mediator or an OSB Proxy
Enterprise Business Flow
Implements the Business activity Can be BPM or BPEL Long running Can contain Human Tasks & Business
Rules Raise Business Faults to Error Hospital Calls EBS Services
EBF Composite
Has EBS references and is called by an EBS Composite Has an AIA Error handler reference for Business Faults
EBF Business Fault Example
Check if an Employee already exists if so raise a Business Fault
Annotate your Composites
Add annotations to Composite, Services and References elements ( composite.xml )
Will be used by the Harvester utility This data will be used in the deployment plan generator
Reference Annotations
Added to the AIA DB Resource Adapter
Harvester
Read the Composites Annotations Optionally Publish to Oracle Enterprise Repository Updates the project service components (Lifecycle workbench)
Create HarvesterSetting.xml and start AIAHarvest.bat
Bills of Materials
Go to the AIA Lifecycle Workbench Generate the Bill of Materials of your project
Export Bills of Materials
Optional -> change or add composites
Export BOM.xml
Generate Deployment Plan
Start the ANT Deployment Plan Generator
( AIADeploymentPlanGenerator.xml )● Bill of Materials ( BOM.xml ) will be used as input
Deployment Plan
A XML which is read by the ANT Deployment Utility Can create, configure or deploy the following:● JDBC Datasources● JMS Resources● MDS update● Start & shutdown WLS Server● Resource Adapters AQ, DB, JMS● EAR & WARS● Composites
See my blog for more information http://biemond.blogspot.com/2011/02/do-your-soa-deployments-configuration.html
Deployment configuration
JDBC Datasource
JMS Queue
Update MDS
Shutdown Managed ServerAdd an entry to the DBResource adapter
Deploy a WAR
Deploy a Composite
Enterprise Manager & AIA
With SOA Suite 11g you can still follow the instance through all the AIA Composites
Error Handling
Two types of faults● System / Adapter Faults which are captured by
the ABCS ( Generated by the JDeveloper Service Constructor)
● Business Faults can be thrown in the EBF Composite (Developer Task)
Error Handling - Configuration
Defined in the AIAConfigurationProperties.xml located in the MDS
Enabling Tracing Define your own error handling class Enable BPM Worklist Enable Email notification
Error Handling - Notifications
• Go to http://xxxx/AIA/faces/aiaHomeLogin.jspx• Click on the Go button in the Setup window• Configure actions for a particular fault
Error Handling - BPM Worklist
Business and System Faultsshown in the BPM Worklist Application which has an ADF Task Flow for the Task details
Composite Application Validation System
Go to http://xxxx/AIA/faces/aiaHomeLogin.jspx Press the Go button in the CAVS window
What can CAVS do for you Create tests and validate responses Simulate Adapter services in ABCS Group Tests Combine Test and Simulators with Routing Import / Export Definitions
For more information see my blogpost http://biemond.blogspot.com/2011/03/test-your-services-with-aia-cavs.html
CAVS Definitions
CAVS Test
Load the WSDL and select the operation Define 1 or more Requests Define 1 or more Responses and Generate Xpath Add Expected Node Values
CAVS Simulator
Define requests, Generate XPath and set a unique identifier so the matching response can be returned
Provide the matching Response
Add Simulator on an ABCS reference
CAVS Routing
Activates CAVS Simulators Can be used in a CAVS Test
Conclusion
AIA is a lot of work and it can really help you in building complete and reliable SOA processes● Complete Deployment framework● A lot of XSDs and WSDLs you can use● Error Hospital which handles Business and Adapters Fault● Testing and simulation of Services
Build you own PIP build on AIA and sell it for big Money to Oracle
An Introduction to Application Integration Architecture ( AIA )Please Fill Out Your Evaluations
Edwin Biemond
Whitehorses