Kualalumpur Soa Bpel Bj

download Kualalumpur Soa Bpel Bj

of 91

Transcript of Kualalumpur Soa Bpel Bj

  • 8/2/2019 Kualalumpur Soa Bpel Bj

    1/91

    Building CompositeApplications with SOA, BPEL

    and Java EE

    Dmitri Shiryaev, Ph.D.

    Sun MicrosystemsSun Microsystemshttp://developers.sun.comhttp://developers.sun.com

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    2/91

    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 : 2

    Benefits using SOA : 2 Min

    Summary : 2 Min

    Intro to BPEL designer : 2

    XML editor : 2

    WSDL editor : 2

    Runtime : 3 StockQuote Demo : 15 Min

    Do not forget to mention about BPEL HOL.

    Q & A : 7 Min (optional)

    Part 2 : 50 Min

    Intro Service composition: 3 min

    CompApp/CAPS : 2

    Service Assembly/CASA : 2

    Binding components : 2

    services engines : 2

    IEP : 2

    Gavotte/Hula features : 5 Min

    CASA Demo : 15 Min

    Do not forget to mention about BPEL HOL.

    Q & A : 7 Min

    CASA demo : 25 Min

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    3/91

    Goal

    Visualizing and developing

    Composite Applications

    using SOA and Java EE

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    4/91

    Agenda

    Composite Applications Services and SOA

    Java EE Services

    BPEL in the Mix

    Recap

    Demo

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    5/91

    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

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    6/91

    Applications

    Real-world applications are...> Web applications> Java EE applications

    > Swing forms> Web services> BPEL processes> SOA

    > JBI> RDBMSs> (your favorite technology)

    Real-world applications use many or all of these

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    7/91

    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

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    8/91

    This is a complex world !

    Channels

    Provisioning

    SuppliersInternal UsersCustomersPartners

    InventoryBillingCRMLegacy

    Information Assets

    $ $$

    $$

    $

    $$

    $$

    $

    $

    $

    $

    $ $$

    Inflexibility of IT Infrastructure

    Complexity ofIntegration Projects

    Integration Costs

    Time to Market

    Limited Partnering Flexibility

    Limitations of EDI

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    9/91

    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

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    10/91

    Agenda

    Composite Applications Services and SOA

    Java EE Services

    BPEL in the Mix Recap

    Demo

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    11/91

    Service Oriented Architecture (SOA)

    An architectural principle for structuring systemsinto 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

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    12/91

    Business-IT Context for SOA Creating an IT environment to supportcontinuous business optimization

    Structures your IT applications in line withyour business processes

    Speeds business change Facilitates business connections

    Enchances business control

    Heavy focus on flexible interconnectionswith carefully managed qualities of service(QoS)

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    13/91

    SOA and Web Services Web services are most people's first and only

    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 implementedusing web services as the middleware technology

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    14/91

    Why Services?

    SOA = an architectural principle forstructuring systems

    SOA emphasizes the de-coupling of systemcomponents

    New services are created from existingones in a synergistic fashion

    Strong service definitions are critical

    Services can be subsequently re-composedin response to changing business

    requirements

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    15/91

    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

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    16/91

    What Does a Service Do?

    Transform data

    Route messages

    Query databases Orchestrate conversations

    Apply business logic

    Apply business policy

    Handle business exceptions

    Solicit approvals

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    17/91

    How Are Services Implemented?

    Enterprise JavaBeans (EJB) technology

    BPEL

    XSLT

    SQL

    Business rules

    Mainframe transaction

    EDI transform

    Humans (yes, really!)

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    18/91

    Guide to the SOA Galaxy

    You are here

    4. ESB2. BPEL

    3. JBI

    5.Java CAPS1. Intro

    6. The AnswerTo Everything

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    19/91

    Sun Microsystems Inc. Proprietary 19

    PracticePlatform

    People ProcessThe Who?

    The What?

    The How?The Where?

    SOA

    The 4Ps to achieve SOA

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    20/91

    Why SOA?Were not building new, green field applications anymore

    We buy applications whenever possible.

    And, we leverage these new applications along with ourexisting inventory of application and data assets.

    These are Composite Applications

    A composite application is a collection ofexisting applications and data stores, as well asnew business logic, that is orchestratedtogether to create a solution to a businessproblem that none alone can solve.

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    21/91

    An SOA can deliver the benefits of Functional DecompositionFunctional decomposition defines asystem in which each component is

    described in terms of its own,independent functionality.

    A side effect is that the interfacesbetween components are well-definedahead of the implementation of thosecomponents.

    When a system is composed ofcomponents with discrete functionalityand well-defined interfaces, eachspecific implementation of acomponent becomes readilyinterchangeable with other

    implementations of that component.

    Consider a bicycle. You can buycomponents from different vendorsand these components can all bebolted together to create a bicycle thatfits your unique set of requirements

    and preferences.

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    22/91

    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

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    23/91

    SOA Layers

    Process Layer

    Service Layer

    Resource Layer

    Access Layer

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    24/91

    The Move to SOA

    Non-Integrated

    Integratedand Shared

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    25/91

    The Shift

    SOA is a combined effort betweenIT and the business units

    SOA

    IT Biz Units

    ProcessLayerDefinerServic

    eLaye

    r

    Provid

    er

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    26/91

    Pre-SOA Scenario

    CustomerData

    Customer

    Data

    Balance

    Check

    CreditCheck

    FraudDetection

    Partner

    CreditData

    Partner

    CreditData

    Balance

    Check

    CreditCheck

    InterestCalc

    Credit Card Mortgage

    Back-End

    System

    Back-End

    System

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    27/91

    SOA-Enabled Scenario

    Reusable Services

    Credit Card Mortgage

    Partner Credit Data

    CustomerData Service

    AccessService

    CreditCheck

    FraudDetection

    Customer Data

    PaymentManagement

    Service

    TradeExecution

    Service

    Internet

    Bill PayAuto

    Loans StocksMutualFunds

    IncreasedAgility

    InterestCalc

    BalanceCheck

    Back-End System Back-End System

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    28/91

    SOA Architectural Big RulesDocument-based Mostly Async Conversational

    Reliable Secure/Identity Policy Driven

    BPEL OrchestratedWSDL Described

    Registered and Retrieved

    JBI-based

    Coarse GrainedBusiness Services

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    29/91

    SOA Architectural Big RulesCoarse Grained Business Services XML Document-based

    Mostly Async Conversational

    Design

    Focuse

    d

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    30/91

    Reliable Secure/Identity

    Policy Driven Registered and Retrieved

    SOA Architectural Big RulesQuali

    ties

    Focuse

    d

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    31/91

    Standa

    rds

    Focuse

    d

    WSDL Described BPEL Orchestrated

    SOA Architectural Big Rules

    JBI-based

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    32/91

    Example: Purchase Service

    BidRequest

    BidRequest

    Bid

    Supplier

    LowestBid

    Accept/

    Reject

    ShipNotice

    Buyer PurchaseService

    Accept/

    Reject

    ShipNotice

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    33/91

    Purchase Service Functions

    BuyerEndpoint

    SupplierEndpoint

    BuyerConversation

    SupplierConversation

    Transaction Fees

    SupplierSelection

    Buyer Credit

    Supplier Routing

    ProductConversion

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    34/91

    Purchase Service Functions

    BuyerEndpoint

    SupplierEndpoint

    BuyerConversation

    SupplierConversation

    Transaction Fees

    SupplierSelection

    Buyer Credit

    Supplier Routing

    ProductConversion

    WSDL/Soap

    XQuery

    EJB

    BPELBPEL

    WSDL/Soap

    Rule

    RoutingTable

    XSLT

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    35/91

    Agenda

    Composite Applications Services and SOA

    Java EE Services

    BPEL in the Mix Recap

    Demo

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    36/91

    Java Platform, Enterprise Edition (Java EE)

    A set of coordinated technologies and practicesthat enable solutions for developing, deploying, andmanaging multi-tier, server-centric applications.Building on Java Platform, Standard Edition (JavaSE), Java EE adds the capabilities that provide acomplete, stable, secure, and fast Java platform forthe enterprise. Java EE significantly reduces thecost and complexity of developing and deploying

    multi-tier solutions, resulting in services that can berapidly deployed and easily enhanced.

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    37/91

    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 PE (Glassfish)

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    38/91

    Java EE Services

    Use EJB 3.0 to develop standards-based workerservices> 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

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    39/91

    EJB 3.0 Example@Stateless()

    @WebService()

    publicclass 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;

    }

    ...}

    }

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    40/91

    J2EE 1.4 Web Service

    HelloService

    WEB-INF/wsdl/HelloService.wsdl

    WEB-INF/HelloService-mapping.xml

    HelloService

    wsdl-port_ns:HelloServiceSEIPort

    endpoint.HelloServiceSEI

    WSServlet_HelloService

    package endpoint;

    import java.rmi.*;

    public class HelloServiceImpl

    implements HelloServiceSEI {

    public String sayHello(Stringparam) throwsjava.rmi.RemoteException {

    return Hello + param;}

    }

    package endpoint;

    import java.rmi.*;

    public interface HelloServiceSEIextends java.rmi.Remote

    {

    public String sayHello(Stringparam)

    throwsjava.rmi.RemoteException;

    }

    Code Written by Developer / Deployer

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    41/91

    WebService in Java EE 5.0

    import javax.jws.WebService;

    @WebService

    public class MySimpleWS {

    public String sayHello(String s) {

    return Hello + s;

    }

    }

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    42/91

    Java EE 5J2EE 1.4

    Context initial = new InitialContext();

    Context myEnv = (Context) initial.lookup("java:comp/env");

    Object objref = myEnv.lookup("ejb/SimpleConverter");

    ConverterHome home =

    (ConverterHome) PortableRemoteObject.narrow

    (objref, ConverterHome.class);

    Converter currencyConverter = home.create();

    @EJB Converter currencyConverter;

    EJB References in Java EE 5

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    43/91

    Agenda

    Composite Applications Services and SOA

    Java EE Services

    BPEL in the Mix Recap

    Demo

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    44/91

    Business Processes

    Any technology for implementing real-worldbusiness 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

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    45/91

    What is BPEL?

    BPEL = Business Process Execution Language> XML-based language used to specify business

    processes based on Web services> Orchestratespartner 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

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    46/91

    BPEL: Relationship to Partners

    Orchestrating Process(BPEL)

    Partner Service

    Partner Service

    Partner Service

    Partner Service

    WSDL

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    47/91

    BPEL: Relationship to Partners

    Orchestrating Process(BPEL)

    Inventory

    Checker Service

    Credit checker

    Service

    Another Partner

    Service

    CustomerService

    WSDL

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    48/91

    BPEL Document Structure

    ...

    ...

    ...

    ...

    ...

    ...

    ...

    ...

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    49/91

    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

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    50/91

    Web Service Orchestration

    Visually author BPEL 2.0 business processes withthe 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

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    51/91

    Agenda

    Composite Applications Services and SOA

    Java EE Services

    BPEL in the Mix Recap

    Demo

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    52/91

    Recap

    SOA enables flexible and agile enterpriseapplication architecture

    Services can be created and used using Java EE

    BPEL is a service orchestration languagefor creating composite applications

    Services can be re-implemented using othertechnologies as long as service interfacesare preserved without changing consumers

    Tools for BPEL (using BPMN) and services arecritical

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    53/91

    Agenda

    Composite Applications Services and SOA

    Java EE Services

    BPEL in the Mix Recap

    Demo

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    54/91

    Stock Quote Demo

    Stock Quote

    Client

    Stock Quote

    Client

    Currency

    Exchange

    Service

    Stock Price

    Service

    BPEL Logic

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    55/91

    NetBeans Enterprise Pack 5.5

    Support for composite applications Design BPEL business processes to orchestrate:

    Java EE Web services

    External Web services Other BPEL processes

    Develop secure, identity-enabled Java EE Webservices

    Visualize, analyze, and edit real-world XMLSchema, WSDL, and XML instance documents

    Download: http://www.netbeans.org

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    56/91

    Agenda : Part 2

    Introduction to Service composition

    Composite Applications / CAPS

    Java Business Integration

    Service Assembly / CASA Tools

    IEP, CASA, WSDL Editor Demo

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    57/91

    Silos driven Architecture (SdA)

    CheckCustomer Status

    Determine ProductAvailability

    CheckCustomer Status

    Determine ProductAvailability

    VerifyCustomer Credit

    Order Status

    CalculateShipping Charges

    Order Status

    VerifyCustomer Credit

    DataRepository

    MonolithicApplications

    AccountsManagement

    OrderProcessing

    FieldService

    Scheduling

    ExternalTrading

    Partner

    AnotherBusiness

    Unit

    Red PrairieWarehouse

    Mgmt. System

    OracleFinance

    System

    LegacyCRM

    System

    AS400Sales

    System

    CustomMarketing

    System

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    58/91

    Problems with Legacy Apps (SdA)

    Difficult to maintain

    Expensive to maintain

    Interfaces are rigid not flexible Small changes/ Update will have major impact

    Problems in Integration with other systems

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    59/91

    Agenda : Part 2

    Introduction to Service composition

    Composite Applications / CAPS

    Java Business Integration

    Service Assembly / CASA Tools

    IEP, CASA, WSDL Editor Demo

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    60/91

    Composite Applications

    A composite application combines existing packagedand legacy applications, information stores, and newlydeveloped services into a single solution.> May look like a new application even though it may

    be 10% new and 90% an assembly of existingcomponents

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    61/91

    Composite Applications Benefits

    Lower cost> Less maintenance on legacy and packaged applications

    Business agility> No delay in modification of business parameters by IT

    Ease of use> Modern UI for legacy and packaged applications

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    62/91

    Composite ApplicationExample:

    Relevant business logic from legacy and packagedapplications is made accessible to business owners throughBPMModern Web

    InterfaceExisting

    Applications

    Busines

    sLogic

    LegacySystem

    SAPSystem

    BusinessLogic

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    63/91

    DataRepository

    ExternalTrading

    Partner

    AnotherBusiness

    Unit

    Red PrairieWarehouse

    Mgmt. System

    OracleFinance

    System

    LegacyCRM

    System

    AS400Sales

    System

    CustomMarketing

    System

    Shared Services Composite Apps Increased Functionality

    CheckCustomer Status

    Check CreditCheck

    InventoryCheck

    Order StatusCreateInvoice

    AccountsManagement

    OrderProcessing

    FieldService

    Scheduling

    PersonalizedService

    ManageException

    Orders

    SubmitChangeOrder

    Composite Application SOA based

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    64/91

    Sun Microsystems Inc. Proprietary 64

    OrderProcessing

    CompositeApplications

    Field Service Scheduling Accounts Management

    View RevenueProcess

    Process Customer Order

    Check

    CustomerStatus

    Verify Customer

    Credit

    Determine

    ProductAvailability

    Look-up

    Customer Discount

    Calculate

    Shipping Charges

    Existing

    SystemsExternalTradingPartner

    CustomMarketing

    System

    AS400 SalesSystem

    Siebel CRMSystem

    OracleFinanceSystem

    Red PrairieWarehouseMgt System

    AnotherBusiness

    Unit

    Installation Scheduling BillPresentment/Payment

    Process Customer Order

    Check

    CustomerStatus

    Verify Customer

    Credit

    Determine

    ProductAvailability

    Look-up

    Customer Discount

    Calculate

    Shipping Charges

    Existing

    SystemsExternalTradingPartner

    CustomMarketing

    System

    AS400 SalesSystem

    Siebel CRMSystem

    OracleFinanceSystem

    Red PrairieWarehouseMgt System

    AnotherBusiness

    Unit

    Composed

    Business

    Service

    Elemental

    BusinessServices

    SOA and Composite ApplicationsBusiness services are composed into composite applications

    M i f M li hi l d li i

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    65/91

    Accidental Rigid Silo-Oriented Layered Extensible Service-Oriented

    Moving from Monolithic, closed applications to'standardized' service oriented architecture

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    66/91

    Java Enterprise SystemPractice

    People Process

    SOA

    A Complete Business Integration PlatformPlatform

    JavaEnterprise System

    Identity

    Management

    ApplicationPlatform B2B

    ESBWeb

    Infrastructure

    CompositeApplication Platform

    Community

    Availability

    DataCenterManagement

    NetBeans

    Traditional Client Sun Ray, Star/OpenOffice,

    JDS

    Mobile Client Java ME Java CardSecure Global

    Desktop

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    67/91

    What is Open ESB ?

    Sun's Open Source Enterprise Service Bus A standard, distributed integration infrastructure

    Highly distributed scalable JBI services

    Uses JBI Reference Implementation code Based on MOMasync XML message exchanges

    Centralized management

    Standard deployment of composite services

    QOS characteristics

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    68/91

    Java Business Integration - JSR 208

    Foundation for Service Oriented Architecture Component Standard

    > Service providers

    > Service consumers Components from multiple sources are:

    > Portable

    > Manageable> Interoperable

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    69/91

    Java Business Integration (JSR 208)

    XQuery

    JavaEEProcessRules

    Xform Soap Route MOM

    WSDL/Soap

    WSDL/Soap

    BPELBPEL

    EJB

    XQuery

    Rule

    RoutingTable

    XSLT

    Deploy

    Install

    NMR

    JBI

    Composite Service

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    70/91

    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 EEtechnology

    > Reuse without re-coding

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    71/91

    Agenda : Part 2

    Introduction to Service composition

    Composite Applications / CAPS

    Java Business Integration

    Service Assembly / CASA Tools

    IEP, CASA, WSDL Editor Demo

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    72/91

    JBI and ESBs

    http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    73/91

    OpenESB Functionality Current Release:

    > AS 9 / GlassFish> BPEL SE> XSLT SE

    > JavaEE SE> HTTP BC> JMS BC> File BC

    Under Development:> IEP (BAM) SE> ETL SE> SQL SE

    > MQSeries BC> HL7 BC> SAP BC> SMTP BC

    Current release targeted at Developers

    Sun to freeze a supported version in April 2007

    - similar to the Glassfish -> Sun AppServer relationship

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    74/91

    OpenESB and Appserver 9

    Appserver 9:> Host for

    administrationof the ESB

    > Host for eachnode of the ESB> JavaEE Service

    Engine

    I t lli t E t P

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    75/91

    Intelligent Event Processor(Business Activity Monitoring)

    IEP

    Scratch Store

    Input streams

    Register

    Query

    Streamed

    Result

    Stored

    Result

    Archive

    Stored

    Data

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    76/91

    Secure Service Creation

    Secure Java EE Web service development> Message-level security for Web service clients and

    providers> J2EE 1.4 and Java EE 5

    > Support provided by the bundled Sun Java SystemAccess Manager

    > Easy installation of runtime components

    Both WSI-BSP and Liberty token profile support> SAML, X.509, Username/password

    http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://developers.sun.com/http://blogs.sun.com/barkodar/resource/samlsec99.htmhttp://blogs.sun.com/barkodar/resource/samlsec99.htm
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    77/91

    Agenda : Part 2

    Introduction to Service composition

    Composite Applications / CAPS

    Java Business Integration

    Service Assembly / CASA Tools

    IEP, CASA, WSDL Editor Demo

  • 8/2/2019 Kualalumpur Soa Bpel Bj

    78/91

    NetBeans Enterprise Pack 5.5.1 / 6.0

    Visual Service Assembly (CASA) Visual Intelligent Event Processor (IEP/BAM)

    Visual Editor for Continuos Query Language (CQL)

    Visual Web Service Definition Language (WSDL)Editor

    Service engines integrated

    > BPEL, IPE, SQL and XSLT Binding components integrated

    > File, FTP, HTTP, JDBC, JMS, MQ and SMTP

  • 8/2/2019 Kualalumpur Soa Bpel Bj

    79/91

    CASA Editor

  • 8/2/2019 Kualalumpur Soa Bpel Bj

    80/91

    Intelligent Event Processor (IEP)

  • 8/2/2019 Kualalumpur Soa Bpel Bj

    81/91

    WSDL Editor

  • 8/2/2019 Kualalumpur Soa Bpel Bj

    82/91

    WSDL Editor Partner Link Type

  • 8/2/2019 Kualalumpur Soa Bpel Bj

    83/91

    Agenda : Part 2

    Introduction to Service composition

    Composite Applications / CAPS Java Business Integration

    Service Assembly / CASA Tools

    IEP, CASA, WSDL Editor Demo

  • 8/2/2019 Kualalumpur Soa Bpel Bj

    84/91

    Demo

    IEP Demo CASA Demo

    WSDL Editor Demo

    Services for Developers

  • 8/2/2019 Kualalumpur Soa Bpel Bj

    85/91

    Services for Developers

    Sun Developer Forums Community & Sun.> http://forum.sun.com> [email protected] alias

    Incident support for Java, Developer Tools and Solaris> For as little as $99 get answers to your programming questions

    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

    Services for Developers (contd )

    http://forum.sun.com/mailto:[email protected]:[email protected]://forum.sun.com/
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    86/91

    Services for Developers (contd.)

    Java MultiPlatform 7x24 Enterprise Java Support forOpenSolaris, Linux, Windows and MacOS> Get your run-time Java issues addressed in the release you

    want to use> Comprehensive run time support for your Java deployment

    environment http://developers.sun.com/services

    Training and Certification

    > http://www.sun.com/training/catalog/java/index.xml

    http://developers.sun.com/serviceshttp://developers.sun.com/services
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    87/91

    Call to Action!

    Download NetBeans 5.5.1 Beta http://www.netbeans.info/downloads/index.php?rs=20

    NetBeans 5.5.1 Release Information

    http://www.netbeans.org/community/releases/55/1/index.html Join Sun Developer Network (SDN) for up-to-

    date SOA information:http://developers.sun.com

  • 8/2/2019 Kualalumpur Soa Bpel Bj

    88/91

    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

    http://www.netbeans.org/products/enterprisehttp://www.netbeans.org/products/enterprise
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    89/91

    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

    http://blogs.sun.com/cwebsterhttp://blogs.sun.com/barkodarhttp://blogs.sun.com/gopalanhttp://blogs.sun.com/gopalanhttp://blogs.sun.com/barkodarhttp://blogs.sun.com/cwebster
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    90/91

    Q & A

    Questions?

    http://blogs.sun.com/gopalanhttp://blogs.sun.com/gopalanhttp://blogs.sun.com/gopalan
  • 8/2/2019 Kualalumpur Soa Bpel Bj

    91/91

    Thank you !

    Dmitri Chiriaev

    http://blogs.sun.com/gopalanhttp://blogs.sun.com/gopalan