Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ODTUG An Introduction to Application Integration Architecture


Published on

My presentation on ODTUG KSCOPE11 over An Introduction to Application Integration Architecture

Published in: Technology
  • Be the first to comment

  • Be the first to like this

ODTUG An Introduction to Application Integration Architecture

  1. 1. An Introduction to Application Integration Architecture ( AIA )<br />Edwin Biemond<br />Whitehorses<br />
  2. 2. Goal of thisPresentation<br />To makeyouunderstandwhat AIA is and whatitcan do foryou.<br />What are the development steps of an AIA project<br />Hope thispresentationcanbe a guideforyourown AIA project.<br />
  3. 3. Software<br />Required<br /><ul><li>SOA Suite 11g R1
  4. 4. AIA Foundation Pack</li></ul>Optional<br /><ul><li>Oracle Service Bus
  5. 5. Oracle EnterpriseRepository
  6. 6. BPM
  7. 7. BPA Suite
  8. 8. ODI</li></li></ul><li>Minimum Installation<br />11g R2 Database for AIA and SOA Suite Repository<br />RCU 11g R1 PS3, RepositoryCreation Utility<br />WebLogic 10.3.4<br />SOA Suite 11g R1 PS3<br />AIA Foundation Pack PS3, installationinstructions<br />
  9. 9. What is AIA<br />Oracle’s approach to implementing SOA<br />Tools<br />Process model decomposition -> Project Lifecycle Workbench<br />Service construction -> JDeveloper plug-in<br />Deployment plan generation<br />Deployment<br />Canonical Model with XSD’s and WSDL’s<br />Error Hospital for Business and Systems Faults<br />Testing and simulation of Services<br />
  10. 10. AIA Foundation Pack and PIPs<br />
  11. 11. AIA Example<br />An AIA process is not 1 compositewithsome service componentslike BPEL, Mediator and HumanTasks<br />
  12. 12. AIA Process steps<br />Let’sbuildan AIA processbyfollowing the next steps<br />Define a new Project, Business Tasks and Service SolutionComponents<br />IdentifyingyourEnterprise B. Object(XSD) and Services (WSDL) <br />Building Composites<br />Adapters<br />Application Business Connector Services (ABCS)<br />Enterprise Business Services (EBS)<br />Enterprise Business Flow (EBF)<br />AnnotateyourComposites<br />HarvestyourComposites to LifecycleWorkbench<br />Bill of Material (BOM)<br />Generate a Deployment Plan from the generated BOM<br />Deployment of the Resource Adapters, Composites & AIA Configuration<br />Testingyour AIA processwith the Composite Application Validation System (CAVS)<br />ErrorHospitalfor System and Business Faults<br />
  13. 13. Creating a new Project<br />url = http://xxxx/AIA/faces/aiaHomeLogin.jspx<br />Go to the Project LifecycleWorkbenchapplication<br />
  14. 14. Add a Project with Business Tasks<br />Define a new Project withoneor more Business Tasks<br />
  15. 15. Service SolutionComponents<br />Forcesyou to thinkaboutyourprocess and split up the project in SOA Composites<br />
  16. 16. Enterprise Business Object EBO<br />AIA has manypre-defined business data object<br />Identify and optionalextend the XSDsyou want to use<br />
  17. 17. Enterprise Business Message EBM<br />AIA contains an EBM for every Enterprise Business Object<br />EBMs are the messages that are exchanged between two applications<br />Has XSD elements for Operation input and response<br />Has an EBM Header for tracing and routing information<br />
  18. 18. Enterprise Business Service EBS<br />Has many Web service definitions for performing a business task<br />Identify the Service Operations you want to use<br />
  19. 19. Building Composites<br />Start from the Destination Application -> Source Application<br />This way you can deploy and test your composite with SoapUI<br />Have a service definition for the next composite who use this WSDL as a reference<br />Source<br />Destination<br />Scott<br />Employee<br />HR<br />Employee<br />ABCS<br />Provider<br />ABCS<br />Requester<br />EBF<br />EBS<br />EBS<br />Application Adapter<br />Application Adapter<br />
  20. 20. Application Adapters<br />Choose your application adapter, like a DB or AQ/JMS Adapter<br />Expose this Adapter as a Service with your own Application XSD and WSDL<br />Add the adapter WSDL and XSD to the AIA DB MDS<br />Transformation<br />Generated DB adapter XSD<br />Own Application<br />XSD<br />
  21. 21. Application Business Connector Services<br />Generated by the AIA Service Constructor<br />Always BPEL when Stateful or Asynchronous<br />Tasks ABCS<br />Validation<br />Transformations like message translation, content enrichment<br />Invoking application operations<br />Error handling<br />Security<br />
  22. 22. ABCS Creation (Provider side)<br />Start the AIA Service Constructor in JDeveloper<br />Connect to the AIA Lifecycle Workbench and select the ABCS from the Service Solution Components<br />
  23. 23. ABCS Service<br />Select the EBS WSDL from the MDS connection ( Resource Palette)<br />Choose the operation<br />
  24. 24. ABCS Reference<br />Enable Error handling<br />Enable Testing Simulation<br />Select the Application Adapter WSDL<br />
  25. 25. ABCS Composite<br />EBS Service with the QueryPerson operation, a BPEL component and an Application Adapter & AIA Error handling as Reference<br />
  26. 26. ABCS BPEL Flow<br />Read and Fill the EBM Header<br />Add some Tracing information<br />Set the endpoint to Application Adapter or Test Simulator<br />
  27. 27. ABCS Exception Handling<br />Can handle Adapter failures<br />
  28. 28. Enterprise Business Services<br />Can be a Mediator or an OSB Proxy<br />
  29. 29. Enterprise Business Flow<br />Implements the Business activity<br />Can be BPM or BPEL<br />Long running<br />Can contain Human Tasks & Business Rules<br />Raise Business Faults to Error Hospital<br />Calls EBS Services<br />
  30. 30. EBF Composite<br />Has EBS references and is called by an EBS Composite<br />Has an AIA Error handler reference for Business Faults<br />
  31. 31. EBF Business Fault Example<br />Check if an Employee already exists if so raise a Business Fault<br />
  32. 32. Annotate your Composites<br />Add annotations to Composite, Services and References elements ( composite.xml ) <br />Will be used by the Harvester utility<br />This data will be used in the deployment plan generator<br />
  33. 33. Reference Annotations<br />Added to the AIA DB Resource Adapter <br />
  34. 34. Harvester<br />Read the Composites Annotations<br />Optionally Publish to Oracle Enterprise Repository<br />Updates the project service components (Lifecycle workbench)<br />Create HarvesterSetting.xml and start AIAHarvest.bat<br />
  35. 35. Bills of Materials<br />Go to the AIA Lifecycle Workbench<br />Generate the Bill of Materials of your project<br />
  36. 36. Export Bills of Materials<br />Optional -> change or add composites<br />Export BOM.xml<br />
  37. 37. Generate Deployment Plan<br />Start the ANT Deployment Plan Generator <br /> ( AIADeploymentPlanGenerator.xml )<br />Bill of Materials ( BOM.xml ) willbeused as input<br />
  38. 38. Deployment Plan<br />A XML which is read by the ANT Deployment Utility Can create, configure or deploy the following:<br />JDBC Datasources<br />JMS Resources<br />MDS update<br />Start & shutdown WLS Server<br />Resource Adapters AQ, DB, JMS<br />EAR & WARS<br />Composites<br />See my blog for more information<br />
  39. 39. Deployment configuration<br />JDBC Datasource<br />JMS Queue<br />Update MDS<br />Shutdown Managed Server<br />Add an entry to the DB<br />Resource adapter<br />Deploy a WAR<br />Deploy a Composite<br />
  40. 40. Enterprise Manager & AIA<br />With SOA Suite 11g you can still follow the instance through all the <br />AIA Composites <br />
  41. 41. Error Handling<br />Two types of faults<br />System / Adapter Faults which are captured by the ABCS ( Generated by the JDeveloper Service Constructor)<br />Business Faults can be thrown in the EBF Composite (Developer Task)<br />
  42. 42. Error Handling - Configuration<br />Defined in the AIAConfigurationProperties.xml located in the MDS<br />Enabling Tracing<br />Define your own error handling class<br />Enable BPM Worklist<br />Enable Email notification<br />
  43. 43. Error Handling - Notifications<br /><ul><li>Go to http://xxxx/AIA/faces/aiaHomeLogin.jspx
  44. 44. Click on the Go button in the Setup window
  45. 45. Configure actions for a particular fault</li></li></ul><li>Error Handling - BPM Worklist<br />Business and System Faults<br />shown in the BPM Worklist Application which has an ADF Task Flow for the Task details<br />
  46. 46. Composite Application Validation System<br />Go to http://xxxx/AIA/faces/aiaHomeLogin.jspx<br />Press the Go button in the CAVS window<br />What can CAVS do for you<br />Create tests and validate responses<br />Simulate Adapter services in ABCS<br />Group Tests<br />Combine Test and Simulators with Routing<br />Import / Export Definitions<br />For more informationseemyblogpost<br /><br />
  47. 47. CAVS Definitions<br />
  48. 48. CAVS Test<br />Load the WSDL and select the operation<br />Define 1 or more Requests<br />Define 1 or more Responses and Generate Xpath<br />Add Expected Node Values<br />
  49. 49. CAVS Simulator<br />Define requests, Generate XPath and set a unique identifier so the matching response can be returned<br />Provide the matching Response<br />
  50. 50. Add Simulator onan ABCS reference<br />
  51. 51. CAVS Routing<br />Activates CAVS Simulators<br />Canbeused in a CAVS Test<br />
  52. 52. Conclusion<br /><ul><li>AIA is a lot of work and it can really help you in building complete and reliable SOA processes</li></ul>Complete Deployment framework<br />A lot of XSDs and WSDLs you can use<br />Error Hospital which handles Business and Adapters Fault<br />Testing and simulation of Services<br />Build you own PIP build on AIA and sell it for big Money to Oracle <br />
  53. 53. An Introduction to Application Integration Architecture ( AIA )<br />Please Fill Out Your Evaluations<br />Edwin Biemond<br />Whitehorses<br />