SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Downloaden Sie, um offline zu lesen
This Presentation Courtesy of the
                          International SOA Symposium
                          October 7-8, 2008 Amsterdam Arena
                          www.soasymposium.com
                          info@soasymposium.com


                                       Founding Sponsors




Platinum Sponsors




Gold Sponsors       Silver Sponsors
SOA & Java EE:
Developing killer SOA
applications using the Java EE
Platform


Prakash Narayan
Sun Microsystems
Goal



  Visualizing and developing composite
  applications using BPEL, SOA and
  Java EE




                                     2
Agenda
Composite Applications
Services and SOA
Java EE Services
BPEL in the Mix
Putting it all together with NetBeans
Summary
Demo


                                        3
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
                                                   4
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
                                                     5
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




                                                                  6
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                      7
Agenda
Composite Applications
Services and SOA
Java EE Services
BPEL in the Mix
Putting it all together with NetBeans
Summary
Demo


                                        8
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


                                                   9
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
•   …
                                                   10
How Are Services Implemented?
•   Enterprise JavaBeans™ (EJB™) technology
•   BPEL
•   XSLT
•   SQL
•   Business rules
•   Mainframe transaction
•   EDI transform
•   Humans (yes, really!)
•   …
                                              11
Example: Purchase Service

           Bid                  Bid
         Request              Request




         Lowest
           Bid                  Bid

 Buyer             Purchase             Supplier
                    Service

         Accept/              Accept/
         Reject               Reject




           Ship                Ship
          Notice              Notice


                                                   12
Purchase Service Functions
                        Buyer                               Supplier
                       Endpoint                             Endpoint



                        Buyer                              Supplier
                     Conversation                        Conversation


  Transaction Fees
                                                   Supplier Routing
                 Supplier
                 Selection                                               Product
                                                                        Conversion
                                    Buyer Credit




                                                                                     13
Purchase Service Functions
                     WS                                   WS
                        DL/
                        Buyer                               DL/
                                                           Supplier
                            Soa
                      Endpointp                                 Soa
                                                           Endpointp



                        Buyer
                       BPE                                  Supplier
                                                             BP E
                           L
                     Conversation                                L
                                                          Conversation


        E JB
  Transaction Fees
                                                   Rout
                                                        ing T
                                                   Supplier Routing
                                                              abl
                                                                e
                 XQ
                 Supplier
                    uer
                        y
                 Selection                                                 XSL
                                                                          Product
                                                                               T
                                                                         Conversion
                                        R
                                    Buyerule
                                          Credit




                                                                                      14
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

                                                       15
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

                                           16
Agenda
Composite Applications
Services and SOA
Java EE Services
BPEL in the Mix
Putting it all together with NetBeans
Summary
Demo


                                        17
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.1 and JAXB 2.1
  >   Samples and blueprints
• Open ESB Starter Kit
  > Java Business Integration (JBI) runtime
  > BPEL service engine
  > SOAP-over-HTTP binding component
• GlassFish V2
                                                         18
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.1 and JAXB 2.1
  > Full support for XML Schema
  > Document-centric services
• Call these services from BPEL processes
                                                          19
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;
        }
        ...
    }
}                                                            20
Agenda
Composite Applications
Services and SOA
Java EE Services
BPEL in the Mix
Putting it all together with NetBeans
Summary
Demo


                                        21
Need for Business Process
• Developing the web services and exposing the
  functionality (via WSDL) is not sufficient
• Example:
  > Concert ticket purchase Web service has 3 operations,
    which need to be performed in the following order
     > Getting a price quote
     > Purchase a ticket
     > Confirmation and cancellation
• We also need a way to orchestrate these functionality
  > Sequencing
  > Conditional action
                                                            22
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
                                                      23
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
                                                          24
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
                                                                 25
BPEL: Relationship to Partners

                   WSDL
                                          Partner Service




                                          Partner Service

Partner Service
                  Orchestrating Process
                         (BPEL)           Partner Service


                                                26
BPEL: Relationship to Partners

            WSDL                      Inventory
                                   Checker Service




                                   Credit checker
                                      Service


Customer
 Service
           Orchestrating Process   Another Partner
                  (BPEL)               Service


                                          27
Example Business Process

                     Receive <PO>                         <sequence>




Invoke <InventoryService>        Invoke <CreditService>     <flow>




                     Reply <Invoice>                      </sequence>




                                                               28
BPEL Document Structure
<process>
 <partners> ... </partners>
 <variables> ... </variables>
 <correlationSets> ... </correlationSets>
 <faultHandlers> ... </faultHandlers>
 <eventHandlers> ... </eventHandlers>
 <!-- Business process implementation here -->
 <receive> ... </receive>
 <reply> ... </reply>
 <invoke> ... </invoke>
</process>


                                                 29
BPEL Works With WSDL
• Web services are described in WSDL
  > Operations are message exchanges
  > Each operation represents an individual unit of action
• We need a way to orchestrate these operations with
  multiple web services in the right order to perform a
  Business process
  > Sequencing, conditional behavior etc.
• BPEL provides standard-based orchestration of
  these operations

                                                         30
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


                                                   31
Agenda
Composite Applications
Services and SOA
Java EE Services
BPEL in the Mix
Putting it all together with NetBeans
Summary
Demo


                                        32
NetBeans IDE 6.1
●   Support for composite applications in NetBeans 6.1
●   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://www.netbeans.org
                                                   33
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 GlassFish V2 Server

                                                           34
Types of SOA “NetBeans” Projects




                               35
BPEL Module Project
• BPEL Module project is a group of source files
  which includes
  > XML Schema (*.xsd) files
  > WSDL files
  > BPEL files
• Within a BPEL Module project, you can author a
  business process compliant with the WS-BPEL 2.0
  language specification.
• Will be added to a Composite application as a JBI
  module

                                                   36
Composite Application Project
• Composite Application project is a project whose
  primary purpose is to assemble a deployment unit
  for the Java Business Integration (JBI) server
  > BPEL Module projects must be added to a Composite
    Application project in order to be deployed to the BPEL
    runtime.
• The Composite Application Project can also be
  used to create and execute test cases that can then
  be run, in JUnit fashion, against the deployed BPEL
  processes.


                                                         37
Composite Application Project
• With a Composite Application project, you can:
  > Assemble an application that uses multiple project types
      (BPEL, XSLT, IEP, SQL, etc.)
  >   Configure external/edge access protocols (SOAP, JMS,
      SMTP, and others)
  >   Build JBI deployment packages
  >   Deploy the application image to the target JBI server
  >   Monitor the status of JBI server components and
      applications



                                                         38
Agenda
Composite Applications
Services and SOA
Java EE Services
BPEL in the Mix
Putting it all together with NetBeans
Summary
Demo


                                        39
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
                                                40
DEMO




       41
Call to Action!
• Download NetBeans IDE 6.1 :
 http://download.netbeans.org/netbeans/6.1/final/
• Join Sun Developer Network (SDN) for up-to-date
  SOA information:
  http://developers.sun.com




                                                    42
Resources

•   http://www.netbeans.org/features/soa/index.html
•   http://java.sun.com/integration
•   http://www.sun.com/products/soa
•   http://blogs.sun.com/gopalan




                                                      43
Q&A
• Questions?




               44
SOA & Java EE:
Developing killer SOA
applications using the Java EE
Platform


Thank you
Prakash.Narayan@sun.com

Weitere ähnliche Inhalte

Was ist angesagt?

Partner Companies and Super Spec
Partner Companies and Super SpecPartner Companies and Super Spec
Partner Companies and Super SpecTJ Goetz
 
Servicialisation - Service Specifying: Example E-mailing Service V01.05.00
Servicialisation - Service Specifying: Example E-mailing Service V01.05.00Servicialisation - Service Specifying: Example E-mailing Service V01.05.00
Servicialisation - Service Specifying: Example E-mailing Service V01.05.00Paul G. Huppertz
 
A Guide to the SOA Galaxy: Strategy, Design and Best Practices
A Guide to the SOA Galaxy: Strategy, Design and Best PracticesA Guide to the SOA Galaxy: Strategy, Design and Best Practices
A Guide to the SOA Galaxy: Strategy, Design and Best PracticesDmitri Shiryaev
 
VW EMS case March 2010
VW EMS case March 2010VW EMS case March 2010
VW EMS case March 2010guest49c269
 
Which server to choose ace it solutions guide
Which server to choose ace it solutions guideWhich server to choose ace it solutions guide
Which server to choose ace it solutions guideajaybongani
 
Howto Deliver Business Driven Demand Planningv1
Howto Deliver Business Driven Demand Planningv1Howto Deliver Business Driven Demand Planningv1
Howto Deliver Business Driven Demand Planningv1dannyq
 
exchange2010-Architecture
exchange2010-Architectureexchange2010-Architecture
exchange2010-ArchitectureSelva G Kumar
 
Webinar - Spagic: Beyond the SOA/BPM frontiers, towards a complete open coope...
Webinar - Spagic: Beyond the SOA/BPM frontiers, towards a complete open coope...Webinar - Spagic: Beyond the SOA/BPM frontiers, towards a complete open coope...
Webinar - Spagic: Beyond the SOA/BPM frontiers, towards a complete open coope...SpagoWorld
 

Was ist angesagt? (11)

Builder module on tally.erp9
Builder module on tally.erp9Builder module on tally.erp9
Builder module on tally.erp9
 
WIKIOCEAN
WIKIOCEANWIKIOCEAN
WIKIOCEAN
 
Partner Companies and Super Spec
Partner Companies and Super SpecPartner Companies and Super Spec
Partner Companies and Super Spec
 
BnK -e Overview
BnK -e OverviewBnK -e Overview
BnK -e Overview
 
Servicialisation - Service Specifying: Example E-mailing Service V01.05.00
Servicialisation - Service Specifying: Example E-mailing Service V01.05.00Servicialisation - Service Specifying: Example E-mailing Service V01.05.00
Servicialisation - Service Specifying: Example E-mailing Service V01.05.00
 
A Guide to the SOA Galaxy: Strategy, Design and Best Practices
A Guide to the SOA Galaxy: Strategy, Design and Best PracticesA Guide to the SOA Galaxy: Strategy, Design and Best Practices
A Guide to the SOA Galaxy: Strategy, Design and Best Practices
 
VW EMS case March 2010
VW EMS case March 2010VW EMS case March 2010
VW EMS case March 2010
 
Which server to choose ace it solutions guide
Which server to choose ace it solutions guideWhich server to choose ace it solutions guide
Which server to choose ace it solutions guide
 
Howto Deliver Business Driven Demand Planningv1
Howto Deliver Business Driven Demand Planningv1Howto Deliver Business Driven Demand Planningv1
Howto Deliver Business Driven Demand Planningv1
 
exchange2010-Architecture
exchange2010-Architectureexchange2010-Architecture
exchange2010-Architecture
 
Webinar - Spagic: Beyond the SOA/BPM frontiers, towards a complete open coope...
Webinar - Spagic: Beyond the SOA/BPM frontiers, towards a complete open coope...Webinar - Spagic: Beyond the SOA/BPM frontiers, towards a complete open coope...
Webinar - Spagic: Beyond the SOA/BPM frontiers, towards a complete open coope...
 

Andere mochten auch

Audience
AudienceAudience
Audiencelcmedia
 
Hans De Visser The Business Operations Imperative
Hans De  Visser    The  Business  Operations  ImperativeHans De  Visser    The  Business  Operations  Imperative
Hans De Visser The Business Operations ImperativeSOA Symposium
 
Audience
AudienceAudience
Audiencelcmedia
 
Mohamad Afshar Moving Beyond Project Level S O A
Mohamad  Afshar    Moving Beyond Project Level S O AMohamad  Afshar    Moving Beyond Project Level S O A
Mohamad Afshar Moving Beyond Project Level S O ASOA Symposium
 
Radovan Janecek R E S Tor S O A Pv1
Radovan  Janecek    R E S Tor S O A Pv1Radovan  Janecek    R E S Tor S O A Pv1
Radovan Janecek R E S Tor S O A Pv1SOA Symposium
 
Media Pitch
Media PitchMedia Pitch
Media Pitchlcmedia
 
Mark Little Web Services And Transactions
Mark  Little    Web  Services And  TransactionsMark  Little    Web  Services And  Transactions
Mark Little Web Services And TransactionsSOA Symposium
 

Andere mochten auch (9)

Audience
AudienceAudience
Audience
 
Hans De Visser The Business Operations Imperative
Hans De  Visser    The  Business  Operations  ImperativeHans De  Visser    The  Business  Operations  Imperative
Hans De Visser The Business Operations Imperative
 
Audience
AudienceAudience
Audience
 
Salary Review
Salary ReviewSalary Review
Salary Review
 
Mohamad Afshar Moving Beyond Project Level S O A
Mohamad  Afshar    Moving Beyond Project Level S O AMohamad  Afshar    Moving Beyond Project Level S O A
Mohamad Afshar Moving Beyond Project Level S O A
 
Radovan Janecek R E S Tor S O A Pv1
Radovan  Janecek    R E S Tor S O A Pv1Radovan  Janecek    R E S Tor S O A Pv1
Radovan Janecek R E S Tor S O A Pv1
 
Memes
MemesMemes
Memes
 
Media Pitch
Media PitchMedia Pitch
Media Pitch
 
Mark Little Web Services And Transactions
Mark  Little    Web  Services And  TransactionsMark  Little    Web  Services And  Transactions
Mark Little Web Services And Transactions
 

Ähnlich wie Prakash Narayan Killer S O Aapps Using J2 E E

Composite Applications with SOA, BPEL and Java EE
Composite  Applications with SOA, BPEL and Java EEComposite  Applications with SOA, BPEL and Java EE
Composite Applications with SOA, BPEL and Java EEDmitri Shiryaev
 
Forza Presentation OOW 2010
Forza Presentation OOW 2010Forza Presentation OOW 2010
Forza Presentation OOW 2010forzaconsulting
 
Keynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your businessKeynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your businessWSO2
 
Analyst briefing session 1 the challenge of deploying the infrastructure
Analyst briefing session 1   the challenge of deploying the infrastructureAnalyst briefing session 1   the challenge of deploying the infrastructure
Analyst briefing session 1 the challenge of deploying the infrastructureCGI
 
Developing polyglot applications on Cloud Foundry (#oredev 2012)
Developing polyglot applications on Cloud Foundry (#oredev 2012)Developing polyglot applications on Cloud Foundry (#oredev 2012)
Developing polyglot applications on Cloud Foundry (#oredev 2012)Chris Richardson
 
Service Oriented Architecture (SOA) [1/5] : Introduction to SOA
Service Oriented Architecture (SOA) [1/5] : Introduction to SOAService Oriented Architecture (SOA) [1/5] : Introduction to SOA
Service Oriented Architecture (SOA) [1/5] : Introduction to SOAIMC Institute
 
Patterns of Data Distribution
Patterns of Data DistributionPatterns of Data Distribution
Patterns of Data DistributionRick Warren
 
Developing modular, polyglot applications with Spring (SpringOne India 2012)
Developing modular, polyglot applications with Spring (SpringOne India 2012)Developing modular, polyglot applications with Spring (SpringOne India 2012)
Developing modular, polyglot applications with Spring (SpringOne India 2012)Chris Richardson
 
Integration daysBizTalk Used for Real Time Payments
Integration daysBizTalk Used for Real Time PaymentsIntegration daysBizTalk Used for Real Time Payments
Integration daysBizTalk Used for Real Time PaymentsSverre Hundeide
 
Delivering the Promise of SOA - Enterprise Integration Made Easy
Delivering the Promise of SOA - Enterprise Integration Made EasyDelivering the Promise of SOA - Enterprise Integration Made Easy
Delivering the Promise of SOA - Enterprise Integration Made EasyWSO2
 
Chris meyer gl wand - financial reporting in excel
Chris meyer   gl wand - financial reporting in excelChris meyer   gl wand - financial reporting in excel
Chris meyer gl wand - financial reporting in excelBerry Clemens
 
Neecom 2010 (Inovis-Dell case study)
Neecom 2010 (Inovis-Dell case study)Neecom 2010 (Inovis-Dell case study)
Neecom 2010 (Inovis-Dell case study)Doug Kern
 
Datamatics Content Billing Solution für Online Publishing
Datamatics Content Billing Solution für Online PublishingDatamatics Content Billing Solution für Online Publishing
Datamatics Content Billing Solution für Online PublishingDatamatics Global Services GmbH
 
Linking Services and Linked Data: Keynote for AIMSA 2012
Linking Services and Linked Data: Keynote for AIMSA 2012Linking Services and Linked Data: Keynote for AIMSA 2012
Linking Services and Linked Data: Keynote for AIMSA 2012John Domingue
 
Value-Stream-Mapping,
Value-Stream-Mapping, Value-Stream-Mapping,
Value-Stream-Mapping, Towo Toivola
 
Java micro-services
Java micro-servicesJava micro-services
Java micro-servicesJames Lewis
 
First Operational Technology (OT) High Performance Messaging Patterns for Ent...
First Operational Technology (OT) High Performance Messaging Patterns for Ent...First Operational Technology (OT) High Performance Messaging Patterns for Ent...
First Operational Technology (OT) High Performance Messaging Patterns for Ent...Real-Time Innovations (RTI)
 
Transforming Procurement into a Strategic Value Driver – NSG Group
Transforming Procurement into a Strategic Value Driver – NSG GroupTransforming Procurement into a Strategic Value Driver – NSG Group
Transforming Procurement into a Strategic Value Driver – NSG GroupSAP Ariba
 
IT Go to market transformation - Playing a new ball game
IT Go to market transformation - Playing a new ball gameIT Go to market transformation - Playing a new ball game
IT Go to market transformation - Playing a new ball gameLemon Operations
 

Ähnlich wie Prakash Narayan Killer S O Aapps Using J2 E E (20)

Composite Applications with SOA, BPEL and Java EE
Composite  Applications with SOA, BPEL and Java EEComposite  Applications with SOA, BPEL and Java EE
Composite Applications with SOA, BPEL and Java EE
 
Forza Presentation OOW 2010
Forza Presentation OOW 2010Forza Presentation OOW 2010
Forza Presentation OOW 2010
 
Keynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your businessKeynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your business
 
Analyst briefing session 1 the challenge of deploying the infrastructure
Analyst briefing session 1   the challenge of deploying the infrastructureAnalyst briefing session 1   the challenge of deploying the infrastructure
Analyst briefing session 1 the challenge of deploying the infrastructure
 
Developing polyglot applications on Cloud Foundry (#oredev 2012)
Developing polyglot applications on Cloud Foundry (#oredev 2012)Developing polyglot applications on Cloud Foundry (#oredev 2012)
Developing polyglot applications on Cloud Foundry (#oredev 2012)
 
Service Oriented Architecture (SOA) [1/5] : Introduction to SOA
Service Oriented Architecture (SOA) [1/5] : Introduction to SOAService Oriented Architecture (SOA) [1/5] : Introduction to SOA
Service Oriented Architecture (SOA) [1/5] : Introduction to SOA
 
Patterns of Data Distribution
Patterns of Data DistributionPatterns of Data Distribution
Patterns of Data Distribution
 
Developing modular, polyglot applications with Spring (SpringOne India 2012)
Developing modular, polyglot applications with Spring (SpringOne India 2012)Developing modular, polyglot applications with Spring (SpringOne India 2012)
Developing modular, polyglot applications with Spring (SpringOne India 2012)
 
Integration daysBizTalk Used for Real Time Payments
Integration daysBizTalk Used for Real Time PaymentsIntegration daysBizTalk Used for Real Time Payments
Integration daysBizTalk Used for Real Time Payments
 
Delivering the Promise of SOA - Enterprise Integration Made Easy
Delivering the Promise of SOA - Enterprise Integration Made EasyDelivering the Promise of SOA - Enterprise Integration Made Easy
Delivering the Promise of SOA - Enterprise Integration Made Easy
 
Chris meyer gl wand - financial reporting in excel
Chris meyer   gl wand - financial reporting in excelChris meyer   gl wand - financial reporting in excel
Chris meyer gl wand - financial reporting in excel
 
Neecom 2010 (Inovis-Dell case study)
Neecom 2010 (Inovis-Dell case study)Neecom 2010 (Inovis-Dell case study)
Neecom 2010 (Inovis-Dell case study)
 
Datamatics Content Billing Solution für Online Publishing
Datamatics Content Billing Solution für Online PublishingDatamatics Content Billing Solution für Online Publishing
Datamatics Content Billing Solution für Online Publishing
 
Linking Services and Linked Data: Keynote for AIMSA 2012
Linking Services and Linked Data: Keynote for AIMSA 2012Linking Services and Linked Data: Keynote for AIMSA 2012
Linking Services and Linked Data: Keynote for AIMSA 2012
 
Value-Stream-Mapping,
Value-Stream-Mapping, Value-Stream-Mapping,
Value-Stream-Mapping,
 
Java micro-services
Java micro-servicesJava micro-services
Java micro-services
 
First Operational Technology (OT) High Performance Messaging Patterns for Ent...
First Operational Technology (OT) High Performance Messaging Patterns for Ent...First Operational Technology (OT) High Performance Messaging Patterns for Ent...
First Operational Technology (OT) High Performance Messaging Patterns for Ent...
 
Transforming Procurement into a Strategic Value Driver – NSG Group
Transforming Procurement into a Strategic Value Driver – NSG GroupTransforming Procurement into a Strategic Value Driver – NSG Group
Transforming Procurement into a Strategic Value Driver – NSG Group
 
IT Go to market transformation - Playing a new ball game
IT Go to market transformation - Playing a new ball gameIT Go to market transformation - Playing a new ball game
IT Go to market transformation - Playing a new ball game
 
Micro services
Micro servicesMicro services
Micro services
 

Mehr von SOA Symposium

Sven Hakan Olsson Composability Index V2
Sven Hakan Olsson    Composability  Index V2Sven Hakan Olsson    Composability  Index V2
Sven Hakan Olsson Composability Index V2SOA Symposium
 
Thomas Erl Introducing S O A Design Patterns
Thomas  Erl    Introducing  S O A  Design  PatternsThomas  Erl    Introducing  S O A  Design  Patterns
Thomas Erl Introducing S O A Design PatternsSOA Symposium
 
Radovan Janecek Avoiding S O A Pitfalls
Radovan  Janecek   Avoiding  S O A  PitfallsRadovan  Janecek   Avoiding  S O A  Pitfalls
Radovan Janecek Avoiding S O A PitfallsSOA Symposium
 
Natasja Paulssen S A P M D M And E S O A At Philips
Natasja  Paulssen    S A P  M D M And E S O A At  PhilipsNatasja  Paulssen    S A P  M D M And E S O A At  Philips
Natasja Paulssen S A P M D M And E S O A At PhilipsSOA Symposium
 
Anthony Carrato S O A Business Architecture
Anthony  Carrato    S O A  Business  ArchitectureAnthony  Carrato    S O A  Business  Architecture
Anthony Carrato S O A Business ArchitectureSOA Symposium
 
David Chappel S O A Grid
David  Chappel    S O A  GridDavid  Chappel    S O A  Grid
David Chappel S O A GridSOA Symposium
 
Johan Kumps Federal E S B
Johan  Kumps    Federal  E S BJohan  Kumps    Federal  E S B
Johan Kumps Federal E S BSOA Symposium
 
Laurent Tarin B P M Ilog
Laurent  Tarin    B P M  IlogLaurent  Tarin    B P M  Ilog
Laurent Tarin B P M IlogSOA Symposium
 
Jim Webber Guerrilla S O A With Web Services
Jim Webber    Guerrilla  S O A With  Web  ServicesJim Webber    Guerrilla  S O A With  Web  Services
Jim Webber Guerrilla S O A With Web ServicesSOA Symposium
 
Robert Schneider What Every Developer
Robert  Schneider    What Every DeveloperRobert  Schneider    What Every Developer
Robert Schneider What Every DeveloperSOA Symposium
 
Robert Schneider 10 Strategies
Robert  Schneider   10  StrategiesRobert  Schneider   10  Strategies
Robert Schneider 10 StrategiesSOA Symposium
 
Thomas Rischbeck Real Life E S B
Thomas  Rischbeck    Real  Life  E S BThomas  Rischbeck    Real  Life  E S B
Thomas Rischbeck Real Life E S BSOA Symposium
 
Stefan Pappe Making S O A Operational
Stefan  Pappe    Making  S O A  OperationalStefan  Pappe    Making  S O A  Operational
Stefan Pappe Making S O A OperationalSOA Symposium
 
Paul Brown Org Man Issues
Paul  Brown    Org  Man  IssuesPaul  Brown    Org  Man  Issues
Paul Brown Org Man IssuesSOA Symposium
 
Arnaud Simon Flight Data Processing
Arnaud  Simon    Flight  Data ProcessingArnaud  Simon    Flight  Data Processing
Arnaud Simon Flight Data ProcessingSOA Symposium
 
Paul Butterworth Policy Based Approach
Paul  Butterworth    Policy  Based  ApproachPaul  Butterworth    Policy  Based  Approach
Paul Butterworth Policy Based ApproachSOA Symposium
 
Art Ligthart Service Identification Techniques
Art  Ligthart    Service  Identification  TechniquesArt  Ligthart    Service  Identification  Techniques
Art Ligthart Service Identification TechniquesSOA Symposium
 
Paul C Brown S O A Governance
Paul  C  Brown    S O A  GovernancePaul  C  Brown    S O A  Governance
Paul C Brown S O A GovernanceSOA Symposium
 
Mohamad Afshar Moving Beyond Project Level S O A V1
Mohamad  Afshar    Moving Beyond Project Level S O A V1Mohamad  Afshar    Moving Beyond Project Level S O A V1
Mohamad Afshar Moving Beyond Project Level S O A V1SOA Symposium
 
Brian Loesgen An Early Look At Oslo
Brian  Loesgen    An  Early  Look At  OsloBrian  Loesgen    An  Early  Look At  Oslo
Brian Loesgen An Early Look At OsloSOA Symposium
 

Mehr von SOA Symposium (20)

Sven Hakan Olsson Composability Index V2
Sven Hakan Olsson    Composability  Index V2Sven Hakan Olsson    Composability  Index V2
Sven Hakan Olsson Composability Index V2
 
Thomas Erl Introducing S O A Design Patterns
Thomas  Erl    Introducing  S O A  Design  PatternsThomas  Erl    Introducing  S O A  Design  Patterns
Thomas Erl Introducing S O A Design Patterns
 
Radovan Janecek Avoiding S O A Pitfalls
Radovan  Janecek   Avoiding  S O A  PitfallsRadovan  Janecek   Avoiding  S O A  Pitfalls
Radovan Janecek Avoiding S O A Pitfalls
 
Natasja Paulssen S A P M D M And E S O A At Philips
Natasja  Paulssen    S A P  M D M And E S O A At  PhilipsNatasja  Paulssen    S A P  M D M And E S O A At  Philips
Natasja Paulssen S A P M D M And E S O A At Philips
 
Anthony Carrato S O A Business Architecture
Anthony  Carrato    S O A  Business  ArchitectureAnthony  Carrato    S O A  Business  Architecture
Anthony Carrato S O A Business Architecture
 
David Chappel S O A Grid
David  Chappel    S O A  GridDavid  Chappel    S O A  Grid
David Chappel S O A Grid
 
Johan Kumps Federal E S B
Johan  Kumps    Federal  E S BJohan  Kumps    Federal  E S B
Johan Kumps Federal E S B
 
Laurent Tarin B P M Ilog
Laurent  Tarin    B P M  IlogLaurent  Tarin    B P M  Ilog
Laurent Tarin B P M Ilog
 
Jim Webber Guerrilla S O A With Web Services
Jim Webber    Guerrilla  S O A With  Web  ServicesJim Webber    Guerrilla  S O A With  Web  Services
Jim Webber Guerrilla S O A With Web Services
 
Robert Schneider What Every Developer
Robert  Schneider    What Every DeveloperRobert  Schneider    What Every Developer
Robert Schneider What Every Developer
 
Robert Schneider 10 Strategies
Robert  Schneider   10  StrategiesRobert  Schneider   10  Strategies
Robert Schneider 10 Strategies
 
Thomas Rischbeck Real Life E S B
Thomas  Rischbeck    Real  Life  E S BThomas  Rischbeck    Real  Life  E S B
Thomas Rischbeck Real Life E S B
 
Stefan Pappe Making S O A Operational
Stefan  Pappe    Making  S O A  OperationalStefan  Pappe    Making  S O A  Operational
Stefan Pappe Making S O A Operational
 
Paul Brown Org Man Issues
Paul  Brown    Org  Man  IssuesPaul  Brown    Org  Man  Issues
Paul Brown Org Man Issues
 
Arnaud Simon Flight Data Processing
Arnaud  Simon    Flight  Data ProcessingArnaud  Simon    Flight  Data Processing
Arnaud Simon Flight Data Processing
 
Paul Butterworth Policy Based Approach
Paul  Butterworth    Policy  Based  ApproachPaul  Butterworth    Policy  Based  Approach
Paul Butterworth Policy Based Approach
 
Art Ligthart Service Identification Techniques
Art  Ligthart    Service  Identification  TechniquesArt  Ligthart    Service  Identification  Techniques
Art Ligthart Service Identification Techniques
 
Paul C Brown S O A Governance
Paul  C  Brown    S O A  GovernancePaul  C  Brown    S O A  Governance
Paul C Brown S O A Governance
 
Mohamad Afshar Moving Beyond Project Level S O A V1
Mohamad  Afshar    Moving Beyond Project Level S O A V1Mohamad  Afshar    Moving Beyond Project Level S O A V1
Mohamad Afshar Moving Beyond Project Level S O A V1
 
Brian Loesgen An Early Look At Oslo
Brian  Loesgen    An  Early  Look At  OsloBrian  Loesgen    An  Early  Look At  Oslo
Brian Loesgen An Early Look At Oslo
 

Kürzlich hochgeladen

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 

Kürzlich hochgeladen (20)

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 

Prakash Narayan Killer S O Aapps Using J2 E E

  • 1. This Presentation Courtesy of the International SOA Symposium October 7-8, 2008 Amsterdam Arena www.soasymposium.com info@soasymposium.com Founding Sponsors Platinum Sponsors Gold Sponsors Silver Sponsors
  • 2. SOA & Java EE: Developing killer SOA applications using the Java EE Platform Prakash Narayan Sun Microsystems
  • 3. Goal Visualizing and developing composite applications using BPEL, SOA and Java EE 2
  • 4. Agenda Composite Applications Services and SOA Java EE Services BPEL in the Mix Putting it all together with NetBeans Summary Demo 3
  • 5. 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 4
  • 6. 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 5
  • 7. 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 6
  • 8. 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 7
  • 9. Agenda Composite Applications Services and SOA Java EE Services BPEL in the Mix Putting it all together with NetBeans Summary Demo 8
  • 10. 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 9
  • 11. 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 • … 10
  • 12. How Are Services Implemented? • Enterprise JavaBeans™ (EJB™) technology • BPEL • XSLT • SQL • Business rules • Mainframe transaction • EDI transform • Humans (yes, really!) • … 11
  • 13. Example: Purchase Service Bid Bid Request Request Lowest Bid Bid Buyer Purchase Supplier Service Accept/ Accept/ Reject Reject Ship Ship Notice Notice 12
  • 14. Purchase Service Functions Buyer Supplier Endpoint Endpoint Buyer Supplier Conversation Conversation Transaction Fees Supplier Routing Supplier Selection Product Conversion Buyer Credit 13
  • 15. Purchase Service Functions WS WS DL/ Buyer DL/ Supplier Soa Endpointp Soa Endpointp Buyer BPE Supplier BP E L Conversation L Conversation E JB Transaction Fees Rout ing T Supplier Routing abl e XQ Supplier uer y Selection XSL Product T Conversion R Buyerule Credit 14
  • 16. 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 15
  • 17. 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 16
  • 18. Agenda Composite Applications Services and SOA Java EE Services BPEL in the Mix Putting it all together with NetBeans Summary Demo 17
  • 19. 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.1 and JAXB 2.1 > Samples and blueprints • Open ESB Starter Kit > Java Business Integration (JBI) runtime > BPEL service engine > SOAP-over-HTTP binding component • GlassFish V2 18
  • 20. 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.1 and JAXB 2.1 > Full support for XML Schema > Document-centric services • Call these services from BPEL processes 19
  • 21. 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; } ... } } 20
  • 22. Agenda Composite Applications Services and SOA Java EE Services BPEL in the Mix Putting it all together with NetBeans Summary Demo 21
  • 23. Need for Business Process • Developing the web services and exposing the functionality (via WSDL) is not sufficient • Example: > Concert ticket purchase Web service has 3 operations, which need to be performed in the following order > Getting a price quote > Purchase a ticket > Confirmation and cancellation • We also need a way to orchestrate these functionality > Sequencing > Conditional action 22
  • 24. 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 23
  • 25. 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 24
  • 26. 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 25
  • 27. BPEL: Relationship to Partners WSDL Partner Service Partner Service Partner Service Orchestrating Process (BPEL) Partner Service 26
  • 28. BPEL: Relationship to Partners WSDL Inventory Checker Service Credit checker Service Customer Service Orchestrating Process Another Partner (BPEL) Service 27
  • 29. Example Business Process Receive <PO> <sequence> Invoke <InventoryService> Invoke <CreditService> <flow> Reply <Invoice> </sequence> 28
  • 30. BPEL Document Structure <process> <partners> ... </partners> <variables> ... </variables> <correlationSets> ... </correlationSets> <faultHandlers> ... </faultHandlers> <eventHandlers> ... </eventHandlers> <!-- Business process implementation here --> <receive> ... </receive> <reply> ... </reply> <invoke> ... </invoke> </process> 29
  • 31. BPEL Works With WSDL • Web services are described in WSDL > Operations are message exchanges > Each operation represents an individual unit of action • We need a way to orchestrate these operations with multiple web services in the right order to perform a Business process > Sequencing, conditional behavior etc. • BPEL provides standard-based orchestration of these operations 30
  • 32. 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 31
  • 33. Agenda Composite Applications Services and SOA Java EE Services BPEL in the Mix Putting it all together with NetBeans Summary Demo 32
  • 34. NetBeans IDE 6.1 ● Support for composite applications in NetBeans 6.1 ● 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://www.netbeans.org 33
  • 35. 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 GlassFish V2 Server 34
  • 36. Types of SOA “NetBeans” Projects 35
  • 37. BPEL Module Project • BPEL Module project is a group of source files which includes > XML Schema (*.xsd) files > WSDL files > BPEL files • Within a BPEL Module project, you can author a business process compliant with the WS-BPEL 2.0 language specification. • Will be added to a Composite application as a JBI module 36
  • 38. Composite Application Project • Composite Application project is a project whose primary purpose is to assemble a deployment unit for the Java Business Integration (JBI) server > BPEL Module projects must be added to a Composite Application project in order to be deployed to the BPEL runtime. • The Composite Application Project can also be used to create and execute test cases that can then be run, in JUnit fashion, against the deployed BPEL processes. 37
  • 39. Composite Application Project • With a Composite Application project, you can: > Assemble an application that uses multiple project types (BPEL, XSLT, IEP, SQL, etc.) > Configure external/edge access protocols (SOAP, JMS, SMTP, and others) > Build JBI deployment packages > Deploy the application image to the target JBI server > Monitor the status of JBI server components and applications 38
  • 40. Agenda Composite Applications Services and SOA Java EE Services BPEL in the Mix Putting it all together with NetBeans Summary Demo 39
  • 41. 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 40
  • 42. DEMO 41
  • 43. Call to Action! • Download NetBeans IDE 6.1 : http://download.netbeans.org/netbeans/6.1/final/ • Join Sun Developer Network (SDN) for up-to-date SOA information: http://developers.sun.com 42
  • 44. Resources • http://www.netbeans.org/features/soa/index.html • http://java.sun.com/integration • http://www.sun.com/products/soa • http://blogs.sun.com/gopalan 43
  • 46. SOA & Java EE: Developing killer SOA applications using the Java EE Platform Thank you Prakash.Narayan@sun.com