Presentation is loading. Please wait.

Presentation is loading. Please wait.

SOA & BPEL: Building a Service With BPEL and the Java EE Platform Todd FAST Chief Architect, Java Enterprise Tools Hong LIN Senior Software Engineer.

Similar presentations


Presentation on theme: "SOA & BPEL: Building a Service With BPEL and the Java EE Platform Todd FAST Chief Architect, Java Enterprise Tools Hong LIN Senior Software Engineer."— Presentation transcript:

1 SOA & BPEL: Building a Service With BPEL and the Java EE Platform Todd FAST Chief Architect, Java Enterprise Tools Hong LIN Senior Software Engineer

2 Sun Proprietary/Confidential: Internal Use Only Goal Developing composite applications using BPEL and Java EE

3 Sun Proprietary/Confidential: Internal Use Only Agenda Composite Applications Services and SOA Java EE Services BPEL in the Mix Summary Demo

4 Sun Proprietary/Confidential: Internal Use Only Agenda Composite Applications Services and SOA Java EE Services BPEL in the Mix Summary Demo

5 Sun Proprietary/Confidential: Internal Use Only Applications Developers need to build end-to-end applications > Front-end user interfaces > Middle-tier business logic > Back-end resources With the right approach, developers can... > Reuse existing parts > Build new parts > Glue old and new parts together With the wrong approach, developers must... > Reimplement functionality existing elsewhere > Spend massive effort to evolve applications

6 Sun Proprietary/Confidential: Internal Use Only Applications Real-world applications are... >...not Web applications >...not Java EE applications >...not Swing forms >...not Web services >...not BPEL processes >...not SOA >...not JBI >...not RDBMSs >...not (your favorite technology) Real-world applications use many or all of these

7 Sun Proprietary/Confidential: Internal Use Only Applications Traditional model of application development > Point technologies, products, and APIs > For example: EJB, Spring, Hibernate, JSF, Servlets, Struts, etc. > Lots of glue written by developers > Requires a great deal of expertise & time > Inflexible

8 Sun Proprietary/Confidential: Internal Use Only Composite Applications A way to compose applications from reusable parts Comprised of heterogeneous parts > Some existing parts > Some new parts > Some glue to connect these parts Composite applications are Applications! > Composite applications != SOA Composite applications employ SOA principles > Features exposed as Web services > Standards-based interaction between services > Are themselves composable

9 Sun Proprietary/Confidential: Internal Use Only Agenda Composite Applications Services and SOA Java EE Services BPEL in the Mix Summary Demo

10 Sun Proprietary/Confidential: Internal Use Only What Are Services? Black-box components with well-defined interfaces > Performs some arbitrary function > Can be implemented in myriad ways Accessed using XML message exchanges > Using well-known message exchange patterns (MEPs) Services are self-describing Metadata in the form of WSDL describes... > Abstract interfaces > Concrete endpoints

11 Sun Proprietary/Confidential: Internal Use Only What Can Services Do? Perform business logic Transform data Route messages Query databases Apply business policy Handle business exceptions Prepare information for use by a user interface Orchestrate conversations between multiple services …

12 Sun Proprietary/Confidential: Internal Use Only How Are Services Implemented? Enterprise JavaBeans ™ (EJB™) technology BPEL XSLT SQL Business rules Mainframe transaction EDI transform Humans (yes, really!) …

13 Sun Proprietary/Confidential: Internal Use Only Example: Purchase Service Bid Request Bid Supplier Lowest Bid Accept/ Reject Ship Notice Buyer Purchase Service Accept/ Reject Ship Notice

14 Sun Proprietary/Confidential: Internal Use Only Purchase Service Functions Buyer Endpoint Supplier Endpoint Buyer Conversation Supplier Conversation Transaction Fees Supplier Selection Buyer Credit Supplier Routing Product Conversion

15 Sun Proprietary/Confidential: Internal Use Only Purchase Service Functions Buyer Endpoint Supplier Endpoint Buyer Conversation Supplier Conversation Transaction Fees Supplier Selection Buyer Credit Supplier Routing Product Conversion WSDL/Soa p XQuer y EJB BPEL WSDL/Soa p Rule Routing Table XSLT

16 Sun Proprietary/Confidential: Internal Use Only Service Oriented Architecture (SOA) An architectural principle for structuring systems into coarse-grained services Technology-neutral best practice Emphasizes the loose coupling of services New services are created from existing ones in a synergistic fashion Strong service definitions are critical Services can be re-composed when business requirements change

17 Sun Proprietary/Confidential: Internal Use Only Benefits of SOA Flexible (Agile) IT > Adaptable to changing business needs Faster time to market > Reuse existing code > Minimize new development Business- and process-driven > Enables new business opportunities Greater ROI > Leverage existing IT assets

18 Sun Proprietary/Confidential: Internal Use Only Agenda Composite Applications Services and SOA Java EE Services BPEL in the Mix Summary Demo

19 Sun Proprietary/Confidential: Internal Use Only Java EE 5 Overview Key development features > EJB 3.0 > Annotated “plain old Java object” (POJO) Web services > Powerful Java Persistence API (JPA) for O-R mapping > JAX-WS 2.0 and JAXB 2.0 > Samples and blueprints Open ESB Starter Kit > Java Business Integration (JBI) runtime > BPEL service engine > SOAP-over-HTTP binding component Sun Java System Application Server 9.0 PE (Glassfish)

20 Sun Proprietary/Confidential: Internal Use Only Java EE Services Use EJB 3.0 to develop standards-based worker services > Perform business logic > Access JDBC resources > Call other Web services, including BPEL processes > Transactional > Secure JAX-WS 2.0 and JAXB 2.0 > Full support for XML Schema > Document-centric services Call these services from BPEL processes

21 Sun Proprietary/Confidential: Internal Use Only EJB 3.0 Example @Stateless() @WebService() public class LoanProcessor { @WebMethod public String processApplication(..., @WebParam(name="applicantAge") int applicantAge,...) { int MINIMUM_AGE_LIMIT = 18; int MAXIMUM_AGE_LIMIT = 65; String result = "Loan Application APPROVED." if (applicantAge < MINIMUM_AGE_LIMIT) { result = "Loan Application REJECTED - Reason: Under-aged "+applicantAge+". Age needs to be "+ over"+MINIMUM_AGE_LIMIT+" years to qualify."; return result; }... } }

22 Sun Proprietary/Confidential: Internal Use Only Agenda Composite Applications Services and SOA Java EE Services BPEL in the Mix Summary Demo

23 Sun Proprietary/Confidential: Internal Use Only Business Processes Any technology for implementing real-world business processes needs to... > Coordinate asynchronous communication between services > Correlate message exchanges between partners > Exchange messages in a universal form > Process activities in parallel > Manipulate/transform data between partners > Support long-running business transactions > Handle exceptions > Provide compensation to undo previous actions

24 Sun Proprietary/Confidential: Internal Use Only What is BPEL? BPEL = Business Process Execution Language > XML-based language used to specify business processes based on Web services > Orchestrates partner Web services BPEL processes describe... > Long-running, stateful, transactional conversations BPEL is one language for implementing a service > A BPEL service is itself a WSDL-described service > Can be used from other services or BPEL processes like any other Web service BPEL processes are easy to write and change

25 Sun Proprietary/Confidential: Internal Use Only BPEL: Relationship to Partners Orchestrating Process (BPEL) Partner Service WSDL

26 Sun Proprietary/Confidential: Internal Use Only BPEL: Relationship to Partners Orchestrating Process (BPEL) Inventory Checker Service Credit checker Service Another Partner Service Customer Service WSDL

27 Sun Proprietary/Confidential: Internal Use Only BPEL Document Structure......

28 Sun Proprietary/Confidential: Internal Use Only What is BPEL? Cannot “do” much without other services > Orchestrates other WSDL-described Web services > Can't access non-Web service components > Other partner services do the real work > These are called functional services or worker services Excels at... > Parallelism > Long-running conversations > Sending and receiving Web service messages > Complex decision logic > Fault handling and compensating logic

29 Sun Proprietary/Confidential: Internal Use Only BPEL “Fixes” WSDL WSDL describes an unordered set of operations > Operations are grouped as interfaces > Operations are individual message exchanges Semantics of the interface are missing in WSDL > Order of invocation > Concurrency > Choreography with external entities BPEL can supply these missing semantics

30 Sun Proprietary/Confidential: Internal Use Only Agenda Composite Applications Services and SOA Java EE Services BPEL in the Mix Summary Demo

31 Sun Proprietary/Confidential: Internal Use Only Summary SOA enables flexible and agile enterprise application architecture Services can be created and used using Java EE BPEL is a service orchestration language for creating composite applications Services can be re-implemented using other technologies as long as service interfaces are preserved without changing consumers Java Business Integration (JBI) is the enabling infrastructure

32 Sun Proprietary/Confidential: Internal Use Only NetBeans Enterprise Pack 5.5 ● Support for composite applications in NetBeans 5.5 ● Design BPEL business processes to orchestrate: ● Java EE Web services ● External Web services ● Other BPEL processes ● Develop secure, identity-enabled Java EE Web services ● Visualize, analyze, and edit real-world XML Schema, WSDL, and XML instance documents ● Download: http://enterprise.netbeans.org

33 Sun Proprietary/Confidential: Internal Use Only Web Service Orchestration ● Visually author BPEL 2.0 business processes with the BPEL Designer ● Step-through debugging support ● Built-in testing capability for unit testing ● “Beyond syntax” validation of Schema, WSDL, and BPEL ● BPEL Mapper ● Visually create complex XPath expressions without coding ● Deploy to the built-in BPEL engine ● JBI-based BPEL service engine + SOAP/HTTP bindings ● Running within the bundled Sun Java System Application Server

34 Sun Proprietary/Confidential: Internal Use Only Agenda Composite Applications Services and SOA Java EE Services BPEL in the Mix Summary Demo

35 Sun Proprietary/Confidential: Internal Use Only DEMO LoanProcessing composite application

36 Sun Proprietary/Confidential: Internal Use Only DEMO

37 Sun Proprietary/Confidential: Internal Use Only Runtime: Java EE Platform and Java Business Integration Java Business Integration serves as messaging infrastructure > Java EE web services interact through Java Business Integration > Java Business Integration bindings allow remote consumers and providers > Add other service technologies as Java Business Integration components Transparent to programmer using Java EE technology > Reuse without re-coding

38 Sun Proprietary/Confidential: Internal Use Only Java Business Integration (JSR 208) XQuery JavaE E Process Rules Xform Soap Route MO M WSDL/ Soap BPEL EJB XQuery Rule Routing Table XSLT Deploy Instal l NMR JBI Composite Service

39 Sun Proprietary/Confidential: Internal Use Only

40 Call to Action! Download NetBeans Enterprise Pack 5.5 Beta: http://www.netbeans.info/downloads/download.php?type=5.5b2 Join Sun Developer Network (SDN) for up-to-date SOA information: http://developers.sun.com Join Chinese SDN Forum: http://gceclub.sun.com.cn/NASApp/sme/jive/index.jsp

41 Sun Proprietary/Confidential: Internal Use Only Resources java.sun.com/integration http://www.sun.com/products/soa http://developers.sun.com/prodtech/javatools/jsenter prise http://www.netbeans.org/products/enterprise/index.h tml

42 Sun Proprietary/Confidential: Internal Use Only Sun Offers Comprehensive Support for Developers Sun Developer Forums – Community & Sun. http://forum.sun.com Incident support for Java, Developer Tools and Solaris > For as little as $99 get answers to your programming questions > Solaris incident support is free till October 31st. Sun Software Services Plans for Developer Tools > Unlimited incidents, bugs and escalations, telephone support > 5x12 or 7x24 worldwide Sun Developer Service Plans for Java and Developer Tools > Get how-to incident help, Unlimited bugs/escalation, telephone support and Sun Training credits > 5x12 or 7x24 worldwide Java MultiPlatform – 7x24 Enterprise Java Support for Linux and Windows > Get your run-time Java issues addressed in the release you want to use > Comprehensive run time support for your Java deployment environment > Make $$ by providing front-line Java support to your customers http://developers.sun.com/services

43 SOA & BPEL: Building a Service With BPEL and the Java EE Platform Todd FAST todd.fast@sun.com Hong LIN hong.lin@sun.com


Download ppt "SOA & BPEL: Building a Service With BPEL and the Java EE Platform Todd FAST Chief Architect, Java Enterprise Tools Hong LIN Senior Software Engineer."

Similar presentations


Ads by Google