Académique Documents
Professionnel Documents
Culture Documents
Part 1 : :55 Min Approx Intro to Applications / Services 2 min Intro SOA : 2 Min Java 5 & Java EE Services: 2 min Why NetBeans & Ent Pack : 2 Min BPEL Summary XML editor WSDL editor Runtime StockQuote Demo Q&A :2 : 2 Min : 2 Min :2 :2 :3 : 15 Min Benefits using SOA
Part 2 : 50 Min Intro Service composition: 3 min CompApp/CAPS Binding components services engines IEP CASA Demo Q&A CASA demo :2 : 15 Min : 7 Min : 25 Min :2 :2 :2 Service Assembly/CASA : 2
Goal Visualizing and developing Composite Applications using SOA and Java EE
Agenda
Composite Applications Services and SOA Java EE Services BPEL in the Mix Recap Demo
Applications
Developers need to build end-to-end applications
> Front-end user interfaces > Middle-tier business logic > Back-end resources
Applications
Real-world applications are...
> > > > > > > > >
Web applications Java EE applications Swing forms Web services BPEL processes SOA JBI RDBMSs (your favorite technology)
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
$ $$
$ $
$ $ $ $ $
$ $ $
Legacy
$ $
CRM
Billing
$Inventory Provisioning
Information Assets
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
Agenda
Composite Applications Services and SOA Java EE Services BPEL in the Mix Recap Demo
Creating an IT environment to for SOA Business-IT Context support continuous business optimization Structures your IT applications in line with your business processes
Speeds business change Facilitates business connections Enchances business control
Heavy focus on flexible interconnections with carefully managed qualities of service (QoS)
Web services are most people's first and only SOA and Web Services exposure to SOA Only one manner of service access Message-oriented middleware (MOM) CORBA, RMI, DCOM, raw sockets, Email etc. SOA architectures tend to be best implemented using web services as the middleware technology
Why Services?
SOA = an architectural principle for structuring systems SOA emphasizes the de-coupling of system components New services are created from existing ones in a synergistic fashion Strong service definitions are critical Services can be subsequently re-composed in response to changing business requirements
4. ESB
1. Intro
5.Java CAPS
People
The Who?
Process
The What?
SOA
Platform Practice
The Where?
Sun Microsystems Inc. Proprietary
The How?
19
Why SOA?
We buy applications whenever possible. And, we leverage these new applications along with our existing inventory of application and data assets. These are Composite Applications
A composite application is a collection of existing applications and data stores, as well as new business logic, that is orchestrated together to create a solution to a business problem that none alone can solve.
Benefits of SOA
Flexible (Agile) IT
> Adaptable to changing business needs
Greater ROI
> Leverage existing IT assets
SOA Layers
Access Layer Process Layer Service Layer Resource Layer
The Shift
SOA is a combined effort between IT and the business units Proc SOA er ess Lay e Defi Layer rvic vider ner Se ro P
IT
Biz Units
Pre-SOA Scenario
Credit Card Mortgage
Balance Check
Fraud Detection
Credit Check
Credit Check
Balance Check
Interest Calc
Customer Data
BackEnd System
BackEnd System
Customer Data
SOA-Enabled Scenario
Auto Loans Bill Pay Mutual Stocks Funds
Credit Card
Mortgage
Reusable
Payment Management Service Credit Check Fraud Detection Access Service
Services
Interest Calc Balance Check Customer Data Service
Internet
Increased Agility
Partner Credit Data Back-End System Back-End System Customer Data
Reliable
Secure/Identity
Policy Driven
WSDL Described
BPEL Orchestrated
JBI-based
n esig ed D us Foc
Mostly Async
Conversational
i es al i t ed Qu us Foc
Policy Driven
JBI-based
Ship Notice
Ship Notice
Buyer Conversation
Supplier Conversation
Transaction Fees Supplier Selection Buyer Credit Supplier Routing Product Conversion
Conversation
Buyer BPE L
Rout
Agenda
Composite Applications Services and SOA Java EE Services BPEL in the Mix Recap Demo
Java Platform, Enterprise Edition (Java EE) A set of coordinated technologies and practices that enable solutions for developing, deploying, and managing multi-tier, server-centric applications. Building on Java Platform, Standard Edition (Java SE), Java EE adds the capabilities that provide a complete, stable, secure, and fast Java platform for the enterprise. Java EE significantly reduces the cost and complexity of developing and deploying multi-tier solutions, resulting in services that can be rapidly deployed and easily enhanced.
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
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
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; } ...
} }
import javax.jws.WebService; @WebService public class MySimpleWS { public String sayHello(String s) { return Hello + s; } }
Agenda
Composite Applications Services and SOA Java EE Services BPEL in the Mix Recap Demo
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
What is BPEL?
BPEL = Business Process Execution Language
> XML-based language used to specify business
Customer Service
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 Visually create complex XPath expressions without coding JBI-based BPEL service engine + SOAP/HTTP bindings Running within the bundled Sun Java System Application Server
BPEL Mapper
Agenda
Composite Applications Services and SOA Java EE Services BPEL in the Mix Recap Demo
Recap
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 Tools for BPEL (using BPMN) and services are critical
Agenda
Composite Applications Services and SOA Java EE Services BPEL in the Mix Recap Demo
Develop secure, identity-enabled Java EE Web services Visualize, analyze, and edit real-world XML Schema, WSDL, and XML instance documents Download: http://www.netbeans.org
Agenda : Part 2
Introduction to Service composition Composite Applications / CAPS Java Business Integration Service Assembly / CASA Tools IEP, CASA, WSDL Editor Demo
Check Customer Status Determine Product Availability Verify Customer Credit Order Status
Monolithic Applications
Data Repository
Custom Marketing System AS400 Sales System Legacy CRM System Oracle Finance System Red Prairie Warehouse Mgmt. System Another Business Unit External Trading Partner
Agenda : Part 2
Introduction to Service composition Composite Applications / CAPS Java Business Integration Service Assembly / CASA Tools IEP, CASA, WSDL Editor Demo
Composite Applications
A composite application combines existing packaged and legacy applications, information stores, and newly developed services into a single solution. > May look like a new application even though it may be 10% new and 90% an assembly of existing components
Relevant business logic from legacy and packaged applications is made accessible to business owners through BPM Existing Modern Web
Applications
ne Busi
gic s Lo s
Legacy System
Data Repository
Custom Marketing System AS400 Sales System Legacy CRM System Oracle Finance System Red Prairie Warehouse Mgmt. System Another Business Unit External Trading Partner
Installation Scheduling
Existing Systems
Custom Marketing System AS400 Sales System Siebel CRM System Oracle Finance System Red Prairie Warehouse Mgt System Another Business Unit External Trading Partner
64
People
Process
SOA
Platform Practice
XQuery
Install
BPE L
Rules
Process
JavaEE
Deploy
XSL
Composite Service
Integration > Java Business Integration bindings allow remote consumers and providers > Add other service technologies as Java Business Integration components
Agenda : Part 2
Introduction to Service composition Composite Applications / CAPS Java Business Integration Service Assembly / CASA Tools IEP, CASA, WSDL Editor Demo
OpenESB Functionality
Current Release:
> > > > > > >
Under Development:
> > > > > > >
Current release targeted at Developers Sun to freeze a supported version in April 2007 - similar to the Glassfish -> Sun AppServer relationship
administration of the ESB > Host for each node of the ESB > JavaEE Service Engine
IEP
Input streams Archive
Scratch Store
Stored Data
providers
Agenda : Part 2
Introduction to Service composition Composite Applications / CAPS Java Business Integration Service Assembly / CASA Tools IEP, CASA, WSDL Editor Demo
CASA Editor
WSDL Editor
Agenda : Part 2
Introduction to Service composition Composite Applications / CAPS Java Business Integration Service Assembly / CASA Tools IEP, CASA, WSDL Editor Demo
Demo
IEP Demo CASA Demo WSDL Editor Demo
Call to Action!
Download NetBeans 5.5.1 Beta
http://www.netbeans.info/downloads/index.php?rs=20
http://www.netbeans.org/community/releases/55/1/index.html
Join Sun Developer Network (SDN) for up-todate SOA information: http://developers.sun.com
Resources
http://www.netbeans.org/products/enterprise http://enterprise.netbeans.org http://java.sun.com/javaee/ http://www.sun.com/products/soa http://www.netbeans.org/kb/55/entpack-index.html
Blogs
Prakash Narayan: http://blogs.sun.com/pnarayan PCM Reddy: http://blogs.sun.com/pcmreddy Chris Webster: http://blogs.sun.com/cwebster Sherry Barkodar: http://blogs.sun.com/barkodar Gopalan Raj: http://blogs.sun.com/gopalan
Q&A
Questions?