Download presentation
Presentation is loading. Please wait.
Published byRegina Norris Modified over 8 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.