1 How Java and BPEL join forces How Java and BPEL join forces What every Java developer should know about BPEL Lucas Jellema (AMIS) NL-JUG’s J-Spring 2006.

Slides:



Advertisements
Similar presentations
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Advertisements

Integrated Platform version 5.2
Siebel Web Services Siebel Web Services March, From
An Approach to Wrap Legacy Applications into Web Services Wesal Al Belushi, Youcef Baghdadi Department of Computer Science, Sultan Qaboos University, Sultanate.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Apache Struts Technology
Spring, Hibernate and Web Services 13 th September 2014.
פתרונות J2EE וטכנולוגיות Oracle Mr. Liran Zelkha, Chief Architect
Oracle BPEL, How To Get Ready For It OpenWorld 2007 Sunday, November 11.
Oracle Fusion Middleware 11g Abhishek Khanolkar. What is Oracle Fusion? “Oracle Fusion Middleware is a ‘preintegrated’ portfolio of customer- proven software.
Transparent Robustness in Service Aggregates Onyeka Ezenwoye School of Computing and Information Sciences Florida International University May 2006.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Integrating SOA and the Application Development Framework Shaun O’Brien Principal Product Manager – Oracle JDeveloper / ADF.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
SOA Basics SSE USTC Qing Ding. Topics Quick introduction to SOA Composite applications Services and SOA.
Introduction to Enterprise JavaBeans. Integrating Software Development Server-side Component Model Distributed Object Architecture –CORBA –DCOM –Java.
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
Lucas Jellema Oracle OpenWorld 2014, San Francisco, CA, USA Web- and Mobile-Oriented Architectures with Oracle Fusion Middleware for XML.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
® IBM Software Group © IBM Corporation IBM Information Server Service Oriented Architecture WebSphere Information Services Director (WISD)
Distributed System Using Java 2 Enterprise Edition (J2EE)
Struts 2.0 an Overview ( )
UNIT-V The MVC architecture and Struts Framework.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Oracle SOA Suite 11g.
A Choice between Interoperability and Migration By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.
SOA, BPM, BPEL, jBPM.
1 INTRO TO BUSINESS COMPONENTS FOR JAVA (BC4J) Matt Fierst Computer Resource Team OracleWorld Session
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
SOA-4: Introduction to OpenEdge ® Integration Technologies Jamie Townsend Applied Architect.
Mia Urman, Bring Your Legacy Applications to the Mobile World.
Introduction to the Oracle Application Development Framework 11g
Slide heading: 28pt Arial Regular, light blue R204 | G204 | B255 Maximum length: 2 lines Slide body: 18pt Arial Regular, white Square bullet color: green.
FIORANO FOR SAAS.  Fiorano addresses the need for integration technology that bridge the gap between SaaS providers and Consumers.  Fiorano enables.
Introduction to J2EE Architecture Portions by Kunal Mehta.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
International Telecommunication Union Geneva, 9(pm)-10 February 2009 ITU-T Security Standardization on Mobile Web Services Lee, Jae Seung Special Fellow,
Lecture 15 Introduction to Web Services Web Service Applications.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
SCA Bindings Simon Holdsworth Piotr Przybylski. Agenda n SCA Bindings Overview l Bindings TC Charter n Bindings l Web Services Binding l JMS Binding l.
XML and Web Services (II/2546)
SOA support in J2EE Platform overview Primitive SOA support Support for service-orientation principles Contemporary SOA support.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1.
An Introduction to Web Services Web Services using Java / Session 1 / 2 of 21 Objectives Discuss distributed computing Explain web services and their.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
Overview of SOA and the role of ESB/OSB
EGEE is a project funded by the European Union under contract IST Introduction to Web Services 3 – 4 June
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
DEVELOPING WEB SERVICES WITH JAVA DESIGN WEB SERVICE ENDPOINT.
Apache Struts Technology A MVC Framework for Java Web Applications.
Building J2EE Applications Based on Design Patterns with Business Components for Java Olivier LE DIOURIS Principal Product Manager Oracle Corporation.
© IBM Corporation 2008 WebSphere demonstration Maurits André – WebSphere Technical Sales.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
1 Seminar on SOA Seminar on Service Oriented Architecture BPEL Some notes selected from “Business Process Execution Language for Web Services” by Matjaz.
Business Process Execution Language (BPEL) Pınar Tekin.
TECHLEADS IT Oracle Apps ADF R12
Web Programming Developing Web Applications including Servlets, and Web Services using NetBeans 6.5 with GlassFish.V3.
Sabri Kızanlık Ural Emekçi
The Development Experience for Oracle Fusion
Introduction to J2EE Architecture
Inventory of Distributed Computing Concepts and Web services
Service-centric Software Engineering
Web-Services-based Systems Architecture, Design and Implementation
Distributed System Using Java 2 Enterprise Edition (J2EE)
Services-based Systems Architecture, Design and Implementation
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
JavaServer Faces: The Fundamentals
Presentation transcript:

1 How Java and BPEL join forces How Java and BPEL join forces What every Java developer should know about BPEL Lucas Jellema (AMIS) NL-JUG’s J-Spring 2006 Thursday 15th june

2 How Java and BPEL join forces Overview Introduction of Service Oriented Architecture and BPEL (Business Process Execution Language) Calling BPEL Services from Java Applications  When, Why and How? Invoking Java based Services from a BPEL Process  When, Why and How? Workflow Tasks picked up and performed by Java applications  Human Workflow and Complex Automated Workflow Conclusions

3 How Java and BPEL join forces The SOA principles Attitude, Way of thinking  No individual, stand-alone applications  Instead: Implementations of business processes composition of services Optional: execution in a container Reuse of services  Loosely coupled  Standardized interfaces  Central management facilities

4 How Java and BPEL join forces Services in various shapes Library (dll, jar) EJB URL RSS feed Portlet SOAP WebService Database View …. If it exposes a clear, standardized interface

5 How Java and BPEL join forces Timemachine….? Are we back in 2000 => 1995 => => …..? What is new? Why is this such a hype?

6 How Java and BPEL join forces SOA in 2006 Standards!  Industry-wide, supported by major vendors and governing bodies

7 How Java and BPEL join forces SOA in 2006: Standards XML Interfaces & protocols  From CORBA, DCOM, RMI to JMS, JCA and most importantly SOAP Web Services  Internet & HTTP Cross Technology Bridges  Apache WSIF, SOAP WebServices, Adapters in MOM, ESB and BPEL Formal service specification using WSDL Tool and Programming-language support  IDEs, Frameworks, Libraries, Browsers Infrastructures  BPEL Container, Enterprise Service Bus, Web Service Management

8 How Java and BPEL join forces Service Oriented Architecture Benefits Money  Lower IT development costs due to high level of reuse  Cost reduction through less manual action in business process execution Time  Shorter time to market of business processes  Quicker execution of business processes Quality  Higher quality systems through reuse of proven components and services  Better process execution because of better interfaces and reduced humanual intervention

9 How Java and BPEL join forces Overview Introduction of Service Oriented Architecture and BPEL (Business Process Execution Language) Calling BPEL Services from Java Applications  When, Why and How? Invoking Java based Services from a BPEL Process  When, Why and How? Workflow Tasks picked up and performed by Java applications  Human Workflow and Complex Automated Workflow Conclusions

10 How Java and BPEL join forces Java application is looking for a 360 degrees customer view CRM CRM OLD JCA Files FINAN CIAL Oracle EBS API CRE DIT EJB ORDERS PL/SQL Socio Sys SOAP Java Application

11 How Java and BPEL join forces Challenges The number of technologies to interface with  Skills required  Complexity of resulting code The number of data structures and formats The very real danger of changes  Moving service endpoints  Changing Service APIs Reusing the “360 degrees Customer profile” service Monitor (trace, audit, debug) service execution

12 How Java and BPEL join forces SOA-style approach: Create a BPEL Service as intermediary Note: could also be done using an Enterprise Service Bus! Java Application CRM CRM OLD JCA Files FINAN CIAL Oracle EBS API CRE DIT EJB ORDERS PL/SQL Socio Sys SOAP

13 How Java and BPEL join forces Calling BPEL Service from Java Calling a SOAP WebService  For example using Apache AXIS, JAX-RPC Calling a remote Enterprise Java Bean (Session Bean) from another JVM  Generic Java API Making a local (intra JVM) call using the local interface  Generic Java API

14 How Java and BPEL join forces The BPEL CustomerProfileService CRM CRM OLD JCA Files FINAN CIAL Oracle EBS API CRE DIT EJB ORDERS PL/SQL Socio Sys SOAP

15 How Java and BPEL join forces Testing the BPEL CustomerProfileService from the BPEL Console

16 How Java and BPEL join forces Testing the BPEL CustomerProfileService from the BPEL Console

17 How Java and BPEL join forces Testing the BPEL CustomerProfileService from the BPEL Console

18 How Java and BPEL join forces Calling BPEL Service from a Java Application using RMI and BPEL Session Bean Java Application is local client  That invokes a (remote) service possibly In a different JVM Application Server Oracle BPEL PM Server IDeliveryService Session Bean Local JVM RMI Port Java Application... invoke BPEL Service;...

19 How Java and BPEL join forces Java Application Calling BPEL Service

20 How Java and BPEL join forces Java Application Calling BPEL Service (2) Oracle BPEL PM Server IDeliveryService Session Bean RMI Port

21 How Java and BPEL join forces Putting a Faces on a BPEL Service Create a Java Client GUI or a Java Web Application that exposes the BPEL Service Using Java Server Faces – ADF Faces in Oracle JDeveloper  Create BPEL WebService DataControl from WSDL  Create new JSF JSP page  Drag & Drop UI Components based on DataControl  Run

22 How Java and BPEL join forces Overview Introduction of Service Oriented Architecture and BPEL (Business Process Execution Language) Calling BPEL Services from Java Applications  When, Why and How? Invoking Java based Services from a BPEL Process  When, Why and How? Human Workflow Tasks  Putting a (Java Server) Face on Web Services and SOA Conclusions

23 How Java and BPEL join forces Calling Services from a BPEL Process A BPEL Process is typically a combination of  XML data manipulation  Simple flow logic Loop, Decision Point, Wait,…  Service Calls Services can be  implemented in virtually any technology  invoked through a substantial number of protocols and adapters HTTP, EJB, JCA, JMS, Oracle Apps, , FTP, File, Fax, SMS, Java (WSIF), … CRM CRM OLD JCA Files FINAN CIAL Oracle EBS API CRE DIT EJB ORDERS PL/SQL Socio Sys SOAP

24 How Java and BPEL join forces Implement Business Process in a SOA We will see a shift from ‘developing applications’ to ‘implementing business processes’ Business processes are implemented as a chain of service calls with some orchestration on top Services do most of the actual work  Providing and processing data from enterprise stores  Calculations, Validations and Conversions  Reporting and Interacting A large portion of the functionality required by business processes is already available  In existing (legacy) applications  In a plethora of technologies, including Java Exposing existing functionality as reusable service is key

25 How Java and BPEL join forces SOA and Java Services Reusable functionality implemented in Java can have one or more of several interface styles  public method on POJO  Servlet  EJB  SOAP WS A BPEL Process can invoke each of these interface styles A BPEL Process can act as wrapper for Java based Services  Service (URL and Protocol) Virtualization

26 How Java and BPEL join forces Calling Java Services from a BPEL Process Call a SOAP WebService  And wrap the Java service as a WebService Call a Java Service wrapped with a WSIF binding  For either EJB, Servlet/Http and plain (local) Java Use exec tag to execute (local) Java code  to execute a snippet of Java code  The snippet can invoke Entity and Session EJBs  Not part of BPEL standard

27 How Java and BPEL join forces Calling the Java Service through WSIF JavaBinding POJO PriceCalculator BPEL Process GetPriceQuote  Needs to call PriceCalculator for getting the base price  May add some discounting logic…

28 How Java and BPEL join forces The WSIF-WSDL file for the PriceCalculator Describes the Service details for consumers  What:  Where:  Mapping WSDL/Java:

29 How Java and BPEL join forces Include PriceCalculatorService in the BPEL GetPriceQuote Process Create PartnerLink  Browse for WSIF WSDL From here on there is no difference between Java & WSIF based services and other services  Note: the Java Classes need to be available on the BPEL PM Server

30 How Java and BPEL join forces Running the GetPriceQuote BPEL Process

31 How Java and BPEL join forces Composing a more complex BPEL Process: The ProcessOrder Service The ProcessOrder service  takes an order for a specific customer  gets a price quote from the GetPriceQuote service  gets the customer profile from the CustomerProfileService  awards a discount depending on the CustomerStatus  processes the order straight into the Orders Database  returns the total price for the order

32 How Java and BPEL join forces The ProcessOrder Service CRM CRM OLD FINAN CIAL CRE DIT ORDERS Socio Sys GetPriceQuote Customer ProfileService ProcessOrder orders

33 How Java and BPEL join forces Overview Introduction of Service Oriented Architecture and BPEL (Business Process Execution Language) Calling BPEL Services from Java Applications  When, Why and How? Invoking Java based Services from a BPEL Process  When, Why and How? Workflow Tasks picked up and performed by Java applications  Human Workflow and Complex Automated Workflow Conclusions

34 How Java and BPEL join forces BPEL Processes and Human Workflow Many Business Process require a form of humanual activities  choose, approve, confer, communicate BPEL Processes often contain such humanual steps  in addition to automated service calls A User Interface is typically required for the human workflow steps  to notify  Worklist to presents the outstanding tasks  (Web) User Interface to inspect the task details, perform the required operations and complete the task Java Web Applications are very well suited for providing this Humanual Task User Interface

35 How Java and BPEL join forces Workflow extension of the ProcessOrder Service If order total is over 10k and the customer status is GOLD, let’s try to negotiate a deal  Start workflow in which a human needs to negotiate a deal, update the total price and complete the workflow  An is sent for notification of the employee to start working on the deal-task  A Java Web UI is used to present the task details and allow update of Total Price and Task Status  When the Workflow completes, the ProcessOrder process resumes, possibly with an updated TotalPrice

36 How Java and BPEL join forces ProcessOrder BPEL Process with Workflow

37 How Java and BPEL join forces Very slightly modified Generic Oracle BPEL PM Worklist Application

38 How Java and BPEL join forces Programmatic access to BPEL Workflow Our Java Application can implement the interface for (human) workflow activities in BPEL processes  Java GUI (Swing), Java Web App, Java WebService can invoke the WorkList Service Application Server Oracle BPEL PM Server IDeliveryService Session Bean Local JVM RMI Port Java Application... - Invoke remote WorkList Service; - Get Tasks - Execute Task and Update Worklist...

39 How Java and BPEL join forces Programmatically Accessing the WorkList Service

40 How Java and BPEL join forces Programmatically Accessing the WorkList Service

41 How Java and BPEL join forces Overview Introduction of Service Oriented Architecture and BPEL (Business Process Execution Language) Calling BPEL Services from Java Applications  When, Why and How? Invoking Java based Services from a BPEL Process  When, Why and How? Workflow Tasks picked up and performed by Java applications  Human Workflow and Complex Automated Workflow Conclusions

42 How Java and BPEL join forces Conclusions SOA in general and BPEL in particular promote reuse, loosely coupling, business agility Java Applications can easily invoke BPEL Services  Through RMI or SOAP WS BPEL Process and call Java based services  Through WSIF (POJO, EJB, Http/Servlet) or SOAP WS Java Applications can provide the User Interface for Humanual steps in BPEL Processes Java and BPEL – a good team!