SlideShare uma empresa Scribd logo
1 de 49
Java Power to the SOA Developer ODTUG Kaleidoscope 2010 Wednesday, 30th June Clemens Utschig-Utschig Lucas Jellema  AMIS, The Netherlands
Overview Three perspectives Java2SOA, SOA2Java, SOA running Java inside Invoking SOA Composite Application from Java WebService, EJB and ADF Binding; JMS Calling Java from SOA Composite application EJB binding, JMS Adapter Service; direct & socket Java exposed as WebService and as ADF-BC SDO Java inside BPEL Embedded Java; Mediator Java Callout Spring Context Service Component
From Java, To Java, Run Java ADF BC SDO  ADF-BC Java Application JAX-WS Java Class Java Application EJB ADF EJB Java Application JMS Java Application JMS
Some material used from the book Shipping before OOW End of August On SOA and SOA Suite Chapters on  Java inside SOA Suite (Java Callout, EmbeddedJava BPEL activity, Springcomponent) EJB and ADF Binding Interaction betweenSOA Suite & ADF SDO Services & BPEL
Invoking SOA Composite Application from Java Create Java WebService client (JAX-WS) Generate in JDeveloper, based on WSDL and XSD Call over HTTP with XML based messages Expose EJB Binding or ADF Binding from Composite Invoke over RMI with XML or (serialized) POJOs Interact from Java over JMS, through Direct Binding or Socket Adapter
Expose EJB Binding Create the SOA Composite application Create a Java Interface that describes the service to be exposed Create an EJB binding based on that interface as external Service exposed by the composite Create a Mediator wired to the EJB binding That routes incoming requests to ‘the rest of the composite’ Create the Java client that calls over RMI
Create Composite application, WS interface and Java Interface
Create the (inbound) EJB Binding
Invoking the SOA Composite via the EJB Binding
Client of EJB Binding in action
Inbound ADF Binding Expose a service with  binding.adf Based on the same WSDL as the binding.ws Wire this service to whatever the binding.ws service is wired to Incoming calls are overRMI and use XML according to WSDL/XSD
Client for ADF Binding Use SOA Suite run-time Java API Locator class pointed at t3://localhost:8001/soa-infra Lookup Composite default/FilterAndTranslateWithADFBinding!1.0 Find Service Invoke with XML message Response returned in XML
Overview Three perspectives Java2SOA, SOA2Java, SOA running Java inside Invoking SOA Composite Application from Java WebService, EJB and ADF Binding; JMS Calling Java from SOA Composite application EJB binding, JMS Adapter Service; direct & socket Java exposed as WebService and as ADF-BC SDO Java inside BPEL Embedded Java; Mediator Java Callout Spring Context Service Component
Invoking External Java based logic Expose Java application as JAX-WS WebService Expose ADF-BC with (SDO) Service Interface Use ADF-BC Binding Adapter and BPEL Entity Invoke Java EJB over EJB Binding Call out using Direct Binding or Socket Adapter Interact using JMS Adapter
Accessing Java based logic exposed by EJBs Create and deploy EJB Get (remote) Java Interface and JNDI name Create EJB Binding (reference) Configure with JNDI name and Java Interface Create wire  to the EJB Binding A WSDL is automatically derived from the Java interface definition
(outbound) EJB Binding
The WSDL is created upon wiring to the EJB binding
Run composite with call via outbound EJB binding
ADF BC providing Data Access service to BPEL processes SOA Suite communicates with database through Database Adapter SQL (select, DML), PL/SQL and polling Alternatively, Service Data Objects and a Data Access Service can be used XML and HTTP based Stateful dataset & two-way synchronization
ADF Faces Web Application PatientAdministration (SDO) Web Service PatientsService Application Module PatientsService SOA Suite View Object PatientsVw E DN ADF  Business Components Entity Object Patient PATIENTS
ADF BC, SDO and BPEL ADF BC Application Module can be exposed as Service Interface that is SDO enabled The SOA Suite ADF BC binding adapter connects to the SDO Service Interface BPEL Variables can be based on SDO Entity BPEL activity Create Entity does Insert BPEL activity Bind Entity does retrieve Assign in BPEL results in call to update on SDO
Expose ADF BC Service Interface
Test SDO enabled Service Interface
Using the ADF-BC Binding Adapter
Create SDO Entity based variable in BPEL process
BPEL activity Bind Entity does ‘select * into BPEL variable’
Overview Three perspectives Java2SOA, SOA2Java, SOA running Java inside Invoking SOA Composite Application from Java WebService, EJB and ADF Binding; JMS Calling Java from SOA Composite application EJB binding, JMS Adapter Service; direct & socket Java exposed as WebService and as ADF-BC SDO Java inside BPEL Embedded Java; Mediator Java Callout Spring Context Service Component
Run Java inside SOA Composite Extend BPEL processes with Embedded Java For manipulation of variables, auditing/logging,external call-outs, validation,.. Mediator Java Callout Before or after transformation ofrequest or reply For validation, transformation & enrichment, logging, … Spring Context service component
Consult Preparation Service
Add translations using Google’s RESTful Translation Service Java Class StringTranslator publishes a static method translate that will translate strings:
Add embedded Java activity
Extend with Dutch translations
Extend with Dutch translations
Java Embedding in BPEL process Hidden inside, not very decoupled Hard to maintain Mixing technology paradigms  Requiring different skills In general: Useful for advanced logging/tracing Useful for special validations/transformations Use with great caution
Mediator Java Call-outs Mediators allow registration of a Java Callout class This class extends from AbstractJavaCalloutImpl May override methods invoke at specific momentsin thelife cycle
Mediator Java Call-outs Used for debugging & logging/auditing, advanced manipulation (enrichment?), complex validation
Java inside composites: Spring Component Primary citizen in SCA Composite applications As per the SCA Specification As per 11gR1 PS2 (preview in PS1) POJOs configured as Spring Beans provide services inside the Composite And potentially exposed externally Spring’s Dependency Injection is very similar to SCA’s Reference concept
Steps for adding Java logic to a composite application Add Spring Context to the composite A Spring Bean Configuration file is created Add bean definitions for POJOs based on Java Interfaces Add sca:service elements to exposebeans as service to other components Add sca:reference elements to get Service Components injected to satisfy a dependency
First Steps
Use Case: Add PDF generation to a composite application PDF Generating Spring Bean is defined in the Spring Content – with an sca:service
Dependency Injection: Spring Beans get Service Components injected Dependency injection is the heart and soul of Spring References in SCA are very similar Spring Beans can publish their dependencies as sca:reference elements That get exposed by the Spring Context These References can be satisfied by wiring in other Service Components Usually Mediator
Second round
Third round
Injecting LogFileWriter & ConsoleLogger
48 Summary and Conclusion SOA Composite applications can expose and access EJB bindings next to WebService BPEL Entity variables have direct SDO binding Service Adapters for Direct Binding, Sockets and JMS interact with Java applications both incoming and outgoing interaction Spring Context Service Component allows Spring Beans (POJOs) to be run inside SOA Spring Bean can be invoked as service  Spring Bean can have service component injected
Resources Presentation and demos are on our blog http://technology.amis.nl/blog Contact me at:lucas.jellema@amis.nl

Mais conteúdo relacionado

Mais procurados

Building a non-blocking REST API in less than 30 minutes
Building a non-blocking REST API in less than 30 minutesBuilding a non-blocking REST API in less than 30 minutes
Building a non-blocking REST API in less than 30 minutesThomas Meijers
 
Spring framework-tutorial
Spring framework-tutorialSpring framework-tutorial
Spring framework-tutorialvinayiqbusiness
 
Spring Portlet MVC
Spring Portlet MVCSpring Portlet MVC
Spring Portlet MVCJohn Lewis
 
Spring Social - Messaging Friends & Influencing People
Spring Social - Messaging Friends & Influencing PeopleSpring Social - Messaging Friends & Influencing People
Spring Social - Messaging Friends & Influencing PeopleGordon Dickens
 
Java EE 8 Web Frameworks: A Look at JSF vs MVC
Java EE 8 Web Frameworks: A Look at JSF vs MVCJava EE 8 Web Frameworks: A Look at JSF vs MVC
Java EE 8 Web Frameworks: A Look at JSF vs MVCJosh Juneau
 
J2EE - JSP-Servlet- Container - Components
J2EE - JSP-Servlet- Container - ComponentsJ2EE - JSP-Servlet- Container - Components
J2EE - JSP-Servlet- Container - ComponentsKaml Sah
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring FrameworkASG
 
Java Spring framework, Dependency Injection, DI, IoC, Inversion of Control
Java Spring framework, Dependency Injection, DI, IoC, Inversion of ControlJava Spring framework, Dependency Injection, DI, IoC, Inversion of Control
Java Spring framework, Dependency Injection, DI, IoC, Inversion of ControlArjun Thakur
 
Spring framework in depth
Spring framework in depthSpring framework in depth
Spring framework in depthVinay Kumar
 
Spring Boot with Kotlin, Kofu and Coroutines
 Spring Boot with Kotlin, Kofu and Coroutines Spring Boot with Kotlin, Kofu and Coroutines
Spring Boot with Kotlin, Kofu and CoroutinesVMware Tanzu
 
Annotation-Based Spring Portlet MVC
Annotation-Based Spring Portlet MVCAnnotation-Based Spring Portlet MVC
Annotation-Based Spring Portlet MVCJohn Lewis
 
Declarative Services - Dependency Injection OSGi Style
Declarative Services - Dependency Injection OSGi StyleDeclarative Services - Dependency Injection OSGi Style
Declarative Services - Dependency Injection OSGi StyleFelix Meschberger
 

Mais procurados (20)

Spring WebApplication development
Spring WebApplication developmentSpring WebApplication development
Spring WebApplication development
 
Building a non-blocking REST API in less than 30 minutes
Building a non-blocking REST API in less than 30 minutesBuilding a non-blocking REST API in less than 30 minutes
Building a non-blocking REST API in less than 30 minutes
 
Spring framework-tutorial
Spring framework-tutorialSpring framework-tutorial
Spring framework-tutorial
 
Http and REST APIs.
Http and REST APIs.Http and REST APIs.
Http and REST APIs.
 
Spring Basics
Spring BasicsSpring Basics
Spring Basics
 
Enterprise Service Bus Part 2
Enterprise Service Bus Part 2Enterprise Service Bus Part 2
Enterprise Service Bus Part 2
 
Spring Portlet MVC
Spring Portlet MVCSpring Portlet MVC
Spring Portlet MVC
 
Spring Social - Messaging Friends & Influencing People
Spring Social - Messaging Friends & Influencing PeopleSpring Social - Messaging Friends & Influencing People
Spring Social - Messaging Friends & Influencing People
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Java EE 8 Web Frameworks: A Look at JSF vs MVC
Java EE 8 Web Frameworks: A Look at JSF vs MVCJava EE 8 Web Frameworks: A Look at JSF vs MVC
Java EE 8 Web Frameworks: A Look at JSF vs MVC
 
J2EE - JSP-Servlet- Container - Components
J2EE - JSP-Servlet- Container - ComponentsJ2EE - JSP-Servlet- Container - Components
J2EE - JSP-Servlet- Container - Components
 
Spring MVC Framework
Spring MVC FrameworkSpring MVC Framework
Spring MVC Framework
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
 
Java Spring framework, Dependency Injection, DI, IoC, Inversion of Control
Java Spring framework, Dependency Injection, DI, IoC, Inversion of ControlJava Spring framework, Dependency Injection, DI, IoC, Inversion of Control
Java Spring framework, Dependency Injection, DI, IoC, Inversion of Control
 
Java EE 6 & Spring: A Lover's Quarrel
Java EE 6 & Spring: A Lover's QuarrelJava EE 6 & Spring: A Lover's Quarrel
Java EE 6 & Spring: A Lover's Quarrel
 
Spring framework in depth
Spring framework in depthSpring framework in depth
Spring framework in depth
 
Spring Boot with Kotlin, Kofu and Coroutines
 Spring Boot with Kotlin, Kofu and Coroutines Spring Boot with Kotlin, Kofu and Coroutines
Spring Boot with Kotlin, Kofu and Coroutines
 
Annotation-Based Spring Portlet MVC
Annotation-Based Spring Portlet MVCAnnotation-Based Spring Portlet MVC
Annotation-Based Spring Portlet MVC
 
Declarative Services - Dependency Injection OSGi Style
Declarative Services - Dependency Injection OSGi StyleDeclarative Services - Dependency Injection OSGi Style
Declarative Services - Dependency Injection OSGi Style
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 

Destaque

Spring Mvc,Java, Spring
Spring Mvc,Java, SpringSpring Mvc,Java, Spring
Spring Mvc,Java, Springifnu bima
 
Java web services using JAX-WS
Java web services using JAX-WSJava web services using JAX-WS
Java web services using JAX-WSIndicThreads
 
Web Services - A brief overview
Web Services -  A brief overviewWeb Services -  A brief overview
Web Services - A brief overviewRaveendra Bhat
 
Web services - A Practical Approach
Web services - A Practical ApproachWeb services - A Practical Approach
Web services - A Practical ApproachMadhaiyan Muthu
 
Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Tuna Tore
 
Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Peter R. Egli
 
Web Service Presentation
Web Service PresentationWeb Service Presentation
Web Service Presentationguest0df6b0
 

Destaque (9)

Spring Mvc
Spring MvcSpring Mvc
Spring Mvc
 
Spring Mvc,Java, Spring
Spring Mvc,Java, SpringSpring Mvc,Java, Spring
Spring Mvc,Java, Spring
 
Java web services using JAX-WS
Java web services using JAX-WSJava web services using JAX-WS
Java web services using JAX-WS
 
Web Services - A brief overview
Web Services -  A brief overviewWeb Services -  A brief overview
Web Services - A brief overview
 
Web services - A Practical Approach
Web services - A Practical ApproachWeb services - A Practical Approach
Web services - A Practical Approach
 
Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5
 
Web Services
Web ServicesWeb Services
Web Services
 
Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)
 
Web Service Presentation
Web Service PresentationWeb Service Presentation
Web Service Presentation
 

Semelhante a Java power to the SOA developer (ODTUG Kaleidoscope 2010)

SpringBootCompleteBootcamp.pptx
SpringBootCompleteBootcamp.pptxSpringBootCompleteBootcamp.pptx
SpringBootCompleteBootcamp.pptxSUFYAN SATTAR
 
Spring Framework
Spring FrameworkSpring Framework
Spring Frameworknomykk
 
Using state-engine-as-sca-component-final
Using state-engine-as-sca-component-finalUsing state-engine-as-sca-component-final
Using state-engine-as-sca-component-finalGuido Schmutz
 
Reusing Existing Java EE Applications from SOA Suite 11g
Reusing Existing Java EE Applications from SOA Suite 11gReusing Existing Java EE Applications from SOA Suite 11g
Reusing Existing Java EE Applications from SOA Suite 11gGuido Schmutz
 
Enterprise Spring Building Scalable Applications
Enterprise Spring Building Scalable ApplicationsEnterprise Spring Building Scalable Applications
Enterprise Spring Building Scalable ApplicationsGordon Dickens
 
Dev212 Comparing Net And Java The View From 2006
Dev212 Comparing  Net And Java  The View From 2006Dev212 Comparing  Net And Java  The View From 2006
Dev212 Comparing Net And Java The View From 2006kkorovkin
 
Spring IOC and DAO
Spring IOC and DAOSpring IOC and DAO
Spring IOC and DAOAnushaNaidu
 
Building apps with tuscany
Building apps with tuscanyBuilding apps with tuscany
Building apps with tuscanyLuciano Resende
 
Web Services Container
Web Services ContainerWeb Services Container
Web Services ContainerJorgen Thelin
 
Oracle JET CRUD and ADF BC REST
Oracle JET CRUD and ADF BC RESTOracle JET CRUD and ADF BC REST
Oracle JET CRUD and ADF BC RESTandrejusb
 
Introduction to jsf2
Introduction to jsf2Introduction to jsf2
Introduction to jsf2Rajiv Gupta
 
SOA (hands-on exercise w.r.t Oracle included)
SOA (hands-on exercise w.r.t Oracle included)SOA (hands-on exercise w.r.t Oracle included)
SOA (hands-on exercise w.r.t Oracle included)santosh_c_s
 
Ibm 1 Wps Arch
Ibm 1 Wps ArchIbm 1 Wps Arch
Ibm 1 Wps Archluohd
 
Oracle adf online training
Oracle adf online trainingOracle adf online training
Oracle adf online trainingo2education
 
Integration of Web Service Stacks in an Esb
Integration of Web Service Stacks in an EsbIntegration of Web Service Stacks in an Esb
Integration of Web Service Stacks in an EsbWen Zhu
 
Make Your API Catalog Essential with z/OS Connect EE
Make Your API Catalog Essential with z/OS Connect EEMake Your API Catalog Essential with z/OS Connect EE
Make Your API Catalog Essential with z/OS Connect EETeodoro Cipresso
 

Semelhante a Java power to the SOA developer (ODTUG Kaleidoscope 2010) (20)

SpringBootCompleteBootcamp.pptx
SpringBootCompleteBootcamp.pptxSpringBootCompleteBootcamp.pptx
SpringBootCompleteBootcamp.pptx
 
Spring
SpringSpring
Spring
 
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
 
Using state-engine-as-sca-component-final
Using state-engine-as-sca-component-finalUsing state-engine-as-sca-component-final
Using state-engine-as-sca-component-final
 
Reusing Existing Java EE Applications from SOA Suite 11g
Reusing Existing Java EE Applications from SOA Suite 11gReusing Existing Java EE Applications from SOA Suite 11g
Reusing Existing Java EE Applications from SOA Suite 11g
 
Enterprise Spring Building Scalable Applications
Enterprise Spring Building Scalable ApplicationsEnterprise Spring Building Scalable Applications
Enterprise Spring Building Scalable Applications
 
Enterprise service bus part 2
Enterprise service bus part 2Enterprise service bus part 2
Enterprise service bus part 2
 
Dev212 Comparing Net And Java The View From 2006
Dev212 Comparing  Net And Java  The View From 2006Dev212 Comparing  Net And Java  The View From 2006
Dev212 Comparing Net And Java The View From 2006
 
Spring IOC and DAO
Spring IOC and DAOSpring IOC and DAO
Spring IOC and DAO
 
Introduction to OWIN
Introduction to OWINIntroduction to OWIN
Introduction to OWIN
 
Building apps with tuscany
Building apps with tuscanyBuilding apps with tuscany
Building apps with tuscany
 
JEE5 New Features
JEE5 New FeaturesJEE5 New Features
JEE5 New Features
 
Web Services Container
Web Services ContainerWeb Services Container
Web Services Container
 
Oracle JET CRUD and ADF BC REST
Oracle JET CRUD and ADF BC RESTOracle JET CRUD and ADF BC REST
Oracle JET CRUD and ADF BC REST
 
Introduction to jsf2
Introduction to jsf2Introduction to jsf2
Introduction to jsf2
 
SOA (hands-on exercise w.r.t Oracle included)
SOA (hands-on exercise w.r.t Oracle included)SOA (hands-on exercise w.r.t Oracle included)
SOA (hands-on exercise w.r.t Oracle included)
 
Ibm 1 Wps Arch
Ibm 1 Wps ArchIbm 1 Wps Arch
Ibm 1 Wps Arch
 
Oracle adf online training
Oracle adf online trainingOracle adf online training
Oracle adf online training
 
Integration of Web Service Stacks in an Esb
Integration of Web Service Stacks in an EsbIntegration of Web Service Stacks in an Esb
Integration of Web Service Stacks in an Esb
 
Make Your API Catalog Essential with z/OS Connect EE
Make Your API Catalog Essential with z/OS Connect EEMake Your API Catalog Essential with z/OS Connect EE
Make Your API Catalog Essential with z/OS Connect EE
 

Mais de Lucas Jellema

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Lucas Jellema
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Lucas Jellema
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lucas Jellema
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Lucas Jellema
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...Lucas Jellema
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...Lucas Jellema
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Lucas Jellema
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)Lucas Jellema
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Lucas Jellema
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Lucas Jellema
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Lucas Jellema
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Lucas Jellema
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...Lucas Jellema
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Lucas Jellema
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Lucas Jellema
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...Lucas Jellema
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Lucas Jellema
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Lucas Jellema
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Lucas Jellema
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Lucas Jellema
 

Mais de Lucas Jellema (20)

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
 

Último

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 

Último (20)

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 

Java power to the SOA developer (ODTUG Kaleidoscope 2010)

  • 1. Java Power to the SOA Developer ODTUG Kaleidoscope 2010 Wednesday, 30th June Clemens Utschig-Utschig Lucas Jellema AMIS, The Netherlands
  • 2. Overview Three perspectives Java2SOA, SOA2Java, SOA running Java inside Invoking SOA Composite Application from Java WebService, EJB and ADF Binding; JMS Calling Java from SOA Composite application EJB binding, JMS Adapter Service; direct & socket Java exposed as WebService and as ADF-BC SDO Java inside BPEL Embedded Java; Mediator Java Callout Spring Context Service Component
  • 3. From Java, To Java, Run Java ADF BC SDO ADF-BC Java Application JAX-WS Java Class Java Application EJB ADF EJB Java Application JMS Java Application JMS
  • 4. Some material used from the book Shipping before OOW End of August On SOA and SOA Suite Chapters on Java inside SOA Suite (Java Callout, EmbeddedJava BPEL activity, Springcomponent) EJB and ADF Binding Interaction betweenSOA Suite & ADF SDO Services & BPEL
  • 5. Invoking SOA Composite Application from Java Create Java WebService client (JAX-WS) Generate in JDeveloper, based on WSDL and XSD Call over HTTP with XML based messages Expose EJB Binding or ADF Binding from Composite Invoke over RMI with XML or (serialized) POJOs Interact from Java over JMS, through Direct Binding or Socket Adapter
  • 6. Expose EJB Binding Create the SOA Composite application Create a Java Interface that describes the service to be exposed Create an EJB binding based on that interface as external Service exposed by the composite Create a Mediator wired to the EJB binding That routes incoming requests to ‘the rest of the composite’ Create the Java client that calls over RMI
  • 7. Create Composite application, WS interface and Java Interface
  • 8. Create the (inbound) EJB Binding
  • 9. Invoking the SOA Composite via the EJB Binding
  • 10. Client of EJB Binding in action
  • 11. Inbound ADF Binding Expose a service with binding.adf Based on the same WSDL as the binding.ws Wire this service to whatever the binding.ws service is wired to Incoming calls are overRMI and use XML according to WSDL/XSD
  • 12. Client for ADF Binding Use SOA Suite run-time Java API Locator class pointed at t3://localhost:8001/soa-infra Lookup Composite default/FilterAndTranslateWithADFBinding!1.0 Find Service Invoke with XML message Response returned in XML
  • 13. Overview Three perspectives Java2SOA, SOA2Java, SOA running Java inside Invoking SOA Composite Application from Java WebService, EJB and ADF Binding; JMS Calling Java from SOA Composite application EJB binding, JMS Adapter Service; direct & socket Java exposed as WebService and as ADF-BC SDO Java inside BPEL Embedded Java; Mediator Java Callout Spring Context Service Component
  • 14. Invoking External Java based logic Expose Java application as JAX-WS WebService Expose ADF-BC with (SDO) Service Interface Use ADF-BC Binding Adapter and BPEL Entity Invoke Java EJB over EJB Binding Call out using Direct Binding or Socket Adapter Interact using JMS Adapter
  • 15. Accessing Java based logic exposed by EJBs Create and deploy EJB Get (remote) Java Interface and JNDI name Create EJB Binding (reference) Configure with JNDI name and Java Interface Create wire to the EJB Binding A WSDL is automatically derived from the Java interface definition
  • 17. The WSDL is created upon wiring to the EJB binding
  • 18. Run composite with call via outbound EJB binding
  • 19. ADF BC providing Data Access service to BPEL processes SOA Suite communicates with database through Database Adapter SQL (select, DML), PL/SQL and polling Alternatively, Service Data Objects and a Data Access Service can be used XML and HTTP based Stateful dataset & two-way synchronization
  • 20. ADF Faces Web Application PatientAdministration (SDO) Web Service PatientsService Application Module PatientsService SOA Suite View Object PatientsVw E DN ADF Business Components Entity Object Patient PATIENTS
  • 21. ADF BC, SDO and BPEL ADF BC Application Module can be exposed as Service Interface that is SDO enabled The SOA Suite ADF BC binding adapter connects to the SDO Service Interface BPEL Variables can be based on SDO Entity BPEL activity Create Entity does Insert BPEL activity Bind Entity does retrieve Assign in BPEL results in call to update on SDO
  • 22. Expose ADF BC Service Interface
  • 23. Test SDO enabled Service Interface
  • 24. Using the ADF-BC Binding Adapter
  • 25. Create SDO Entity based variable in BPEL process
  • 26. BPEL activity Bind Entity does ‘select * into BPEL variable’
  • 27. Overview Three perspectives Java2SOA, SOA2Java, SOA running Java inside Invoking SOA Composite Application from Java WebService, EJB and ADF Binding; JMS Calling Java from SOA Composite application EJB binding, JMS Adapter Service; direct & socket Java exposed as WebService and as ADF-BC SDO Java inside BPEL Embedded Java; Mediator Java Callout Spring Context Service Component
  • 28. Run Java inside SOA Composite Extend BPEL processes with Embedded Java For manipulation of variables, auditing/logging,external call-outs, validation,.. Mediator Java Callout Before or after transformation ofrequest or reply For validation, transformation & enrichment, logging, … Spring Context service component
  • 29.
  • 31. Add translations using Google’s RESTful Translation Service Java Class StringTranslator publishes a static method translate that will translate strings:
  • 32. Add embedded Java activity
  • 33.
  • 34. Extend with Dutch translations
  • 35. Extend with Dutch translations
  • 36. Java Embedding in BPEL process Hidden inside, not very decoupled Hard to maintain Mixing technology paradigms Requiring different skills In general: Useful for advanced logging/tracing Useful for special validations/transformations Use with great caution
  • 37. Mediator Java Call-outs Mediators allow registration of a Java Callout class This class extends from AbstractJavaCalloutImpl May override methods invoke at specific momentsin thelife cycle
  • 38. Mediator Java Call-outs Used for debugging & logging/auditing, advanced manipulation (enrichment?), complex validation
  • 39. Java inside composites: Spring Component Primary citizen in SCA Composite applications As per the SCA Specification As per 11gR1 PS2 (preview in PS1) POJOs configured as Spring Beans provide services inside the Composite And potentially exposed externally Spring’s Dependency Injection is very similar to SCA’s Reference concept
  • 40. Steps for adding Java logic to a composite application Add Spring Context to the composite A Spring Bean Configuration file is created Add bean definitions for POJOs based on Java Interfaces Add sca:service elements to exposebeans as service to other components Add sca:reference elements to get Service Components injected to satisfy a dependency
  • 42. Use Case: Add PDF generation to a composite application PDF Generating Spring Bean is defined in the Spring Content – with an sca:service
  • 43.
  • 44. Dependency Injection: Spring Beans get Service Components injected Dependency injection is the heart and soul of Spring References in SCA are very similar Spring Beans can publish their dependencies as sca:reference elements That get exposed by the Spring Context These References can be satisfied by wiring in other Service Components Usually Mediator
  • 47. Injecting LogFileWriter & ConsoleLogger
  • 48. 48 Summary and Conclusion SOA Composite applications can expose and access EJB bindings next to WebService BPEL Entity variables have direct SDO binding Service Adapters for Direct Binding, Sockets and JMS interact with Java applications both incoming and outgoing interaction Spring Context Service Component allows Spring Beans (POJOs) to be run inside SOA Spring Bean can be invoked as service Spring Bean can have service component injected
  • 49. Resources Presentation and demos are on our blog http://technology.amis.nl/blog Contact me at:lucas.jellema@amis.nl

Notas do Editor

  1. http://technology.amis.nl/blog/8144/publish-soa-composite-application-as-ejb-to-be-invoked-from-java-applications-using-ejb-binding