Five Cool Use Cases for the Spring Component of the SOA Suite 11g

  • 3,935 views
Uploaded on

Both Oracle SOA Suite and Oracle Unified Business Process Management Suite make it possible to embed Java code as a Service Component Architecture (SCA) first-class citizen through the Spring …

Both Oracle SOA Suite and Oracle Unified Business Process Management Suite make it possible to embed Java code as a Service Component Architecture (SCA) first-class citizen through the Spring component implementation type. Thereby the coarse-grained components of Oracle SOA Suite are extended by the much-finer-grained Spring beans wrapped inside the Spring component. This session presents five cool use cases for the Spring component. It shows how and why you would want to use the Spring component and will hopefully inspire attendees to use it for their own projects.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,935
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
6
Comments
0
Likes
5

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Welcome Five Cool Use Cases for the Spring Component of Oracle SOA Suite Guido Schmutz 1.10.2012BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 2. Guido Schmutz• Working for Trivadis for more than 15 years• Oracle ACE Director for Fusion Middleware and SOA• Co-Author of different books• Consultant, Trainer Software Architect for Java, Oracle, SOA and EDA• Member of Trivadis Architecture Board• Technology Manager @ Trivadis• More than 20 years of software development experience• Contact: guido.schmutz@trivadis.com• Blog: http://guidoschmutz.wordpress.com• Twitter: gschmutz 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 3. Agenda1. Introduction2. How does the Spring component work3. The use cases4. Summary 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 4. Different strategies for integrating Java in SOA SuiteJava Embedding in BPELJava Callout in Mediator/Oracle Service BusCustom BPEL/XPATH FunctionsJAX-WS or JAX-RS Web Services (SOAP / REST services)EJB ServicesJMS Adapter/Transport and Message Driven Bean (MDB)Custom JCA Adapter or Custom OSB TransportSpring Component“When Java meets SOA”: https://blogs.oracle.com/rammenon/entry/java_and_soa_suite 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 5. SOA Suite 11g Overview BPMN 2.0, Shared BPMN BPELBPA Model Web based customization Rich End User Interaction Business View Workspace Process Portal MS Office (WC spaces) BPM Studio Process Composer(with Business and IT views) Human Workflow Business BPEL BPMN Mediator Spring (+AMX, AG, Rules Orgn) B2B Unified Runtime Process Common JCA-based connectivity infrastructure Policy Manager Analytics OptimizedBAM binding Proc Cubes Oracle Service Bus EM console +BPMN Screens Repository 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 6. Spring Service ComponentThe Spring Framework is a lightweight container using “plain old Javaobjects” (POJOs)WebLogic SCA enables the usage of the Spring Framework and to exposecomponents as SCA services and referencesSCA extends Spring framework capabilities• Publish spring beans as SCA component services• Provide references to Spring beans wired to services of other componentsFollowing types of component integrations are supported• Java components to WSDL components• WSDL components to Java components• Java components to Java components 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 7. Agenda1. Introduction2. How does the Spring component work3. The use cases4. Summary 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 8. Hello WorldThe HelloWorldImpl POJO used inside a Spring componentLessons learnt: Make sure to compile classes before wiring! 2012 © Trivadis SOA Suite 11g Spring Component / Apache Commons SCXML
  • 9. <sca:service> ElementDeclares a Spring bean that SCA exposes as a serviceTakes the following attributes:• Name  the name of the service (required)• Type  The fully qualified Java type of the Java class to be exposed as an SCA service (required)• Target  The bean to be exposed as a service (required) 2012 © Trivadis SOA Suite 11g Spring Component / Apache Commons SCXML
  • 10. <sca:reference> ElementDeclares a Spring bean representing an SCA service external to the Springapplication contextTakes the following attributes:• Name  The name of the reference (required)• Type  The fully-qualified Java type of the interface or class representing the remote service (required)• Default  The target bean for the reference if none is specified (optional) 2012 © Trivadis SOA Suite 11g Spring Component / Apache Commons SCXML
  • 11. Using the Predefined BeansThe following spring beans are predefined in SOA Suite:• headerHelperBean – for getting an setting header properties• instanceHelperBean – for getting Instance ID of composite and component, name of the Spring service component• loggerBean – for providing context-aware logging messageYou can also define your own Spring beans globally => see use case 3 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 12. Agenda1. Introduction2. How does the Spring component work3. The use cases  Case 1 - Configuration4. Summary 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 13. Case 1 – Configuration: Within SOA SuiteUse Case: Need configuration properties which are changeable at runtimeWith SOA Suite preferences can be added to the SCA composite• Has to start with bpel.preferenceUse ora:getPreference(greetingMessage)from within BPELRestriction: Only scalar values are supported! 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 14. Case 1 – Configuration: Within SOA SuiteValues can be changed through System MBean Browser in EM oracle.soa.config > Server : soa_server1 > SCAComposite > your_project > SCAComposite.SCAComponent > your bpel_process 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 15. Case 1 – Configuration: using Spring and JMX 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 16. Case 1 – Configuration: using Spring and JMX 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 17. Case 1 – Configuration: using Spring and JMX 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 18. Agenda1. Introduction2. How does the Spring component work3. The use cases  Case 2 – Dynamic Routing4. Summary 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 19. Case 2 – Dynamic Routing: Using Spring bean for subscription 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 20. Case 2 – Dynamic Routing: Using Spring bean for subscription 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 21. Case 2 – Dynamic Routing: Using Spring bean for subscription 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 22. Case 2a – Dynamic Routing: Using Spring bean forsubscription 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 23. Case 2a – Dynamic Routing: Using Spring bean forsubscription 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 24. Agenda1. Introduction2. How does the Spring component work3. The use cases  Case 3 – NoSQL4. Summary 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 25. Case 3 – NoSQL: What is NoSQL?NoSQL is a new class of databasesCommon characteristics of NoSQL databases• They don„t use the relational data model and thus don„t use SQL• Tend to be designed to run on cluster• Tend to be Open Source• Schema-Less - Don„t have a fixed schema, allowing to store any RDBMS NoSQL data in any record Presentation Tier User Interface User Interface• Different APIs Key Value Stores Services Caching Search Middle Tier Object-Relational Relational-Object Lucene Transactions Batch MapReduce Search Blobs Database Tier Transactions Batch Data Caching Triggers 2012 © Trivadis25 NoSQL for Data Services, Data Virtualization & Big Data 25.9.2012
  • 26. Case 3 – NoSQL: Different Types of NoSQL Databases Key/Value Column Family Document Graph Key/Value StoresDesign Collections of Columns and Key/Value pairs Focus on the Ordered Key-Value Stores Colum Families. Key/Value Pairs but value is connections Acesses directly interpreted by between data and Big Table Stores (map-of-maps-of-maps) the colum values. the database the fast navigation Document StoresScalability/ +++ +++ ++ ++Performance Graph DatabasesAggregate- Yes Yes Yes NoorientedComplexity + ++ ++ +++Inspiration and Berkley DB, SAP Sybase IQ, Lotus Notes Graph TheoryRelation Memcached, BigTable Distributed HashmapsNoSQL Voldemort Hbase CouchDB SonesProducts Redis Cassandra MongoDB Neo4J Riak Hypertable OrientDB InfoGrid Amazon SimpleDB RavenDB FlockDB 2012 © Trivadis26 NoSQL for Data Services, Data Virtualization & Big Data 25.9.2012
  • 27. Case 3 – NoSQL: MongoDB Integration through Spring 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 28. Case 3 – NoSQL: MongoDB Integration through Spring 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 29. Case 3 – NoSQL: MongoDB Integration through Spring 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 30. Case 3a – NoSQL: MongoDB Logging Bean 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 31. Case 3a – NoSQL: MongoDB Logging BeanDefine bean in the global spring context (custom predefined bean) so thatlogging is globally available1. Add the bean definition here  SOA_HOME/soa/modules/oracle.soa.ext_11.1.1/classes/ springse-extension-global-beans.xml2. Add the corresponding classes in either the lib or classes directory3. Run the ant script and restart server (more information in readme.txt) 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 32. Case 3a – NoSQL: MongoDB Logging BeanUsage of the custom bean in the global spring context 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 33. Agenda1. Introduction2. How does the Spring component work3. The use cases  Case 4 – Twitter4. Summary Please follow me on twitter to get the full experience  Twitter User: gschmutz 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 34. Send a Twitter message to @gschmutz with the hash tags#oow and #con6210 …… to get the link to the slides @gschmutz #oow #con6210 Oracle SOA Suite and Spring rocks! @gschmutz #oow #con6210@gschmutz #oow #con6210 please! @gschmutz #oow #con6210 this is really cool! @gschmutz #oow #con6210 this is so wrong! Send me that electronic trash! @gschmutz Cool stuff dude! Pls send me the link to the slides! #oow #con6210 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 35. Case 4 – Twitter: Send an Update Message 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 36. Case 4 – Twitter: Send an Update Message 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 37. Case 4 – Twitter: Send an Update Message 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 38. Case 4a – Twitter: Process Mentioned Messages and sendmessage with link to slides  2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 39. Agenda1. Introduction2. How does the Spring component work3. The use cases  Case 5 – …4. Summary 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 40. Case 5: so many more ideas …. And not enough time• Invoking Spring Batch• Invoking Hadoop Processing• Groovy Script integration (i.e. XML  JSON)• Read/Write Excel• Create PDF• Submit to Evernote• Message Enrichment (Mediator cannot do that) 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 41. Agenda1. Introduction2. How does the Spring component work3. The use cases4. Summary 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 42. SummaryThe Spring component is a nice way to extend the functionality of the SOASuite and the other service enginesUse cases for it are endless ….Only use the Spring component if no out-of-the-box feature in the SOASuite existsMake sure that you test the Java and Spring stuff externally firstOnly Spring Framework 2.5 … 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012
  • 43. THANK YOU. Trivadis Guido Schmutz guido.schmutz@trivadis.com info@trivadis.com www.trivadis.comBASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN 2012 © Trivadis Five Cool Use Cases for the Spring Component of Oracle SOA Suite 1.10.2012