Welcome                                                                          Five Cool Use Cases for                  ...
Guido Schmutz•   Working for Trivadis for more than 15 years•   Oracle ACE Director for Fusion Middleware and SOA•   Co-Au...
Agenda1. Introduction2. How does the Spring component work3. The use cases4. Summary             2012 © Trivadis          ...
Different strategies for integrating Java in SOA SuiteJava Embedding in BPELJava Callout in Mediator/Oracle Service BusCus...
SOA Suite 11g Overview                                                   BPMN 2.0,                      Shared BPMN       ...
Spring Service ComponentThe Spring Framework is a lightweight container using “plain old Javaobjects” (POJOs)WebLogic SCA ...
Agenda1. Introduction2. How does the Spring component work3. The use cases4. Summary              2012 © Trivadis         ...
Hello WorldThe HelloWorldImpl POJO used inside a Spring componentLessons learnt: Make sure to compile classes before wirin...
<sca:service> ElementDeclares a Spring bean that SCA exposes as a serviceTakes the following attributes:•   Name     the ...
<sca:reference> ElementDeclares a Spring bean representing an SCA service external to the Springapplication contextTakes t...
Using the Predefined BeansThe following spring beans are predefined in SOA Suite:•   headerHelperBean – for getting an set...
Agenda1. Introduction2. How does the Spring component work3. The use cases    Case 1 - Configuration4. Summary           ...
Case 1 – Configuration: Within SOA SuiteUse Case: Need configuration properties which are changeable at runtimeWith SOA Su...
Case 1 – Configuration: Within SOA SuiteValues can be changed through System MBean Browser in EM oracle.soa.config > Serv...
Case 1 – Configuration: using Spring and JMX           2012 © Trivadis           Five Cool Use Cases for the Spring Compon...
Case 1 – Configuration: using Spring and JMX           2012 © Trivadis           Five Cool Use Cases for the Spring Compon...
Case 1 – Configuration: using Spring and JMX           2012 © Trivadis           Five Cool Use Cases for the Spring Compon...
Agenda1. Introduction2. How does the Spring component work3. The use cases    Case 2 – Dynamic Routing4. Summary         ...
Case 2 – Dynamic Routing: Using Spring bean for subscription           2012 © Trivadis           Five Cool Use Cases for t...
Case 2 – Dynamic Routing: Using Spring bean for subscription           2012 © Trivadis           Five Cool Use Cases for t...
Case 2 – Dynamic Routing: Using Spring bean for subscription           2012 © Trivadis           Five Cool Use Cases for t...
Case 2a – Dynamic Routing: Using Spring bean forsubscription           2012 © Trivadis           Five Cool Use Cases for t...
Case 2a – Dynamic Routing: Using Spring bean forsubscription           2012 © Trivadis           Five Cool Use Cases for t...
Agenda1. Introduction2. How does the Spring component work3. The use cases    Case 3 – NoSQL4. Summary              2012 ...
Case 3 – NoSQL: What is NoSQL?NoSQL is a new class of databasesCommon characteristics of NoSQL databases•    They don„t us...
Case 3 – NoSQL: Different Types of NoSQL Databases              Key/Value                              Column Family      ...
Case 3 – NoSQL: MongoDB Integration through Spring           2012 © Trivadis           Five Cool Use Cases for the Spring ...
Case 3 – NoSQL: MongoDB Integration through Spring           2012 © Trivadis           Five Cool Use Cases for the Spring ...
Case 3 – NoSQL: MongoDB Integration through Spring           2012 © Trivadis           Five Cool Use Cases for the Spring ...
Case 3a – NoSQL: MongoDB Logging Bean          2012 © Trivadis          Five Cool Use Cases for the Spring Component of Or...
Case 3a – NoSQL: MongoDB Logging BeanDefine bean in the global spring context (custom predefined bean) so thatlogging is g...
Case 3a – NoSQL: MongoDB Logging BeanUsage of the custom bean in the global spring context             2012 © Trivadis    ...
Agenda1. Introduction2. How does the Spring component work3. The use cases    Case 4 – Twitter4. Summary   Please follow ...
Send a Twitter message to @gschmutz with the hash tags#oow and #con6210 …… to get the link to the slides     @gschmutz #oo...
Case 4 – Twitter: Send an Update Message           2012 © Trivadis           Five Cool Use Cases for the Spring Component ...
Case 4 – Twitter: Send an Update Message           2012 © Trivadis           Five Cool Use Cases for the Spring Component ...
Case 4 – Twitter: Send an Update Message           2012 © Trivadis           Five Cool Use Cases for the Spring Component ...
Case 4a – Twitter: Process Mentioned Messages and sendmessage with link to slides            2012 © Trivadis           Fi...
Agenda1. Introduction2. How does the Spring component work3. The use cases    Case 5 – …4. Summary              2012 © Tr...
Case 5: so many more ideas …. And not enough time•   Invoking Spring Batch•   Invoking Hadoop Processing•   Groovy Script ...
Agenda1. Introduction2. How does the Spring component work3. The use cases4. Summary              2012 © Trivadis         ...
SummaryThe Spring component is a nice way to extend the functionality of the SOASuite and the other service enginesUse cas...
THANK YOU.                                                                                         Trivadis               ...
Upcoming SlideShare
Loading in...5
×

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

4,506

Published 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 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.

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

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

×