Aricent Orange Aug 08 Final.ppt by lovemacromastia


									SOA – Open Source Approach
Presented By: Arun Pareek, January 05,2009
Why you might be interested…
“SOA” is showing up in the technical press
SOA dramatically improves IT flexibility and simultaneously
  reduces costs.

SOA – Open Source Approach – January 05, 2009
                                                2       Arun Pareek
What is it ?…
What is Service Oriented Architecture?

Company A                                            Broker
                                          Discover                 Publish                       Company B
    Application A
                                                                             Application B
        ObjectA                                                 Service
        -----------------------------                                            ObjectB
                                                               Interface         ------------
        ----------------------------                                             ------------
        ---------------------------                                              ------------

        New? No
        Rocket science? Not really
        A change in thinking? Most definitely!
        Can you run right out and buy one? Well…..
SOA – Open Source Approach – January 05, 2009
                                                                             3                  Arun Pareek
Key Characteristics of SOA

        Quality of service, security and performance are
        Software infrastructure is responsible for managing.
        Services are cataloged and discoverable.
        Data are cataloged and discoverable.
        Protocols use only industry standards.

SOA – Open Source Approach – January 05, 2009
                                                   4            Arun Pareek
What is it not…
SOA isn’t a solution to world hunger

    Nor is it:
    • A specific Technology
    • The Ultimate answer to reuse
    • A New name for EAI
    • A New way to do RPC

SOA – Open Source Approach – January 05, 2009
                                                5   Arun Pareek
SOA and Services Skeleton

                        Adheres                  Policy     governed by

                        Binds to                End Point       Exposes


                       Understands              Contracts   implements        Service



                 Sends/Receives                 Messages    Sends/Receives                    Relation

SOA – Open Source Approach – January 05, 2009
                                                                          6               Arun Pareek
Open Source SOA

         Try before you buy:
          With open source, you can create prototypes and try out the software before you commit large
          sums of money.
         Lower cost of entry:
          The cost of the various tools within the stack can be quite staggering. Open source eliminates or
          greatly reduces the initial sticker shock.
         Cost effective support:
          Support for open source software is substantially less. So not only do we not have the huge initial
          investment, but our ongoing fixed costs are substantially less as well.
         Core competency:
          Many of commercial SOA vendors buy several companies and then call themselves an integrated
          SOA stack. The reality is, their stacks are a hodgepodge of many different companies and the
          promise of integration is not a reality. With many of the open-source vendors, SOA is all that they
          do. These products are built for SOA from the ground up, not from mergers, acquisitions, and
          rushed integration releases.

         For the people by the people

SOA – Open Source Approach – January 05, 2009
                                                                                    7                Arun Pareek
Introduction to Shared Services Architecture

SOA – Open Source Approach – January 05, 2009
                                                8   Arun Pareek
                           PRESENTATION SERVICES

SOA – Open Source Approach – January 05, 2009
                                                9   Arun Pareek
Portals and Portal Frameworks

   •      Portals and Portlets are emerging technologies and gaining lot of popularity.

   •      Portals are gaining attention among programmers due to their ease in
          development, richness in functionality, customization of interface and pluggable

   •      There are many open source Portal Frameworks available and it is important to
          evaluate all these Portal Frameworks in an effective manner, based on core
          functionality i.e. their compliance with JSR 168 Portal API and optional features
          available to the programmers i.e. IDE plug-ins, utility packages, monitoring tools

   •      We have selected a small number of Portal Frameworks based on their popularity
          and our experience of using them to evaluate their core and optional functionalities.

SOA – Open Source Approach – January 05, 2009
                                                                    10            Arun Pareek
Comparison of Leading Open Source Portal Technologies

      Portal               Latest Edition       Community       License   Platform              Theme           UE

      LifeRay              LifeRay 5.1.2        LifeRay         MIT       Comes in two          Swappable       Struts and
                                                                License   Versions.             themes,         tiles, AJAX,
                                                                          Pro: Tomcat,          deployed as     Tapestry,
                                                                          Jetty, Resin          WAR. Many       Velocity,
                                                                          Enterprise:           more            Spring and
                                                                          Any J2EE              community       AOP. And
                                                                          App Server.           themes          many more.
                                                                                                available for
                                                                          JSR-168 and           use

      Apache Jet           JetSpeed-2           Apache          Apache    Any servlet           Simple          Velocity and
                                                                2.0       container 2.3         guide for       JSP. Also
      Speed 2                                                             or higher.            customizing     there is
                                                                          JSR-168               layout using    support for
                                                                          compliance            Velocity        Ajax. Spring
                                                                          for portlets.                         Components.

      JBoss Portal         JBoss Portal         JBoss Inc and   LGPL      JSR-168 and           Easily          JSF, MyFaces,
                           2.7.0                Community                 JSR-170 Portal        swappable       Spring MVC,
                                                                          and Portlets          themes/layo     Ajax
                                                                          Compliant             uts, Flexible
                                                                          Servers               API, Per-
                                                                                                page layout

SOA – Open Source Approach – January 05, 2009
                                                                                           11                    Arun Pareek
                        BUSINESS SERVICES LAYER

SOA – Open Source Approach – January 05, 2009
                                                12   Arun Pareek
What is it?
Business Processes Management

      The concept of Business Process Management [BPM] has its roots in Operation
         Transformation and enables flexible design deployment, monitoring and
         tracking, process focus and efficiency.

SOA – Open Source Approach – January 05, 2009
                                                             13           Arun Pareek
Aspects of a BPM Tool

             Business Process Management (BPM)
             –      End to end Automation of business processes
             –      Blending machine-machine and manual operations
             –      Straight Through Processing (STP)

             BPM Uses
             –      Workflow
             –      Imaging & Document Management
             –      EAI: Integration with Business Systems
             –      Measurements, Tracking, reporting and Control
             –      Analysis, Simulation, Optimisation and re-deployment

SOA – Open Source Approach – January 05, 2009
                                                                     14    Arun Pareek
Open Source BPM Technologies Comparison Parameters

             Business Process Modeling Capabilities
                    •     Defining Processes Graphically and/or Textually
                    •     Ability to create Value Chain, High-Level Process Model, Organization Model, Roles
                    •     Process Decomposition
                    •     Capability for Importing and managing organizational structures
                    •     Capability to link between Organization, Processes and Value Model
                    •     View Metadata through process flow
                    •     Capability to support standard notation (e.g. BPMN, BPEL, BPML, UML etc)

             Ease of Use

             Business Rules Capability and Interface
                    •     Graphical Rules Editor
                    •     Products Ability to manage business rules

SOA – Open Source Approach – January 05, 2009
                                                                                  15                Arun Pareek
BPM TOOL Considered - Intalio

      System Introspection                 Automatic System Interface WSDL Generation, Visual Connectors for All
                                           Supported Systems
      Code Generation & Import             ARIS Import, Automatic Process Code Generation, BPEL4WS 1.0/1.1, Code
                                           Import, BPML Code Import, Transparent Process Validation, WS-BPEL 2.0 Code
                                           Generation, WS-BPEL 2.0 Code Import, WSDL Endpoint Generation
      Environment                          BPMN 1.0 Support, Eclipse Plug-in Version, Integrated Development
                                           Environment, Standalone Version
      Life Cycle Management                Advanced Searching, Check-In/Check-Out, Collaborative Versioning, Graphical
                                           Dependency Manager, Local Versioning
      Mapping Editor                       Graphical Assignment Mapping, Graphical Rule Mapping, Graphical
                                           Transformation Mapping, Schema-to-Schema Mapping Editor, Support for
                                           Complex Schemas, Transparent Schema Validation, XML Schema 1.0
                                           Support, XPath 1.0 Support
      Process Deployment                   Dynamic Consistency Checking, One-Click Process Deployment, Online
                                           Reference Tracking
      Process Modeler                      Advanced Set of Pre-Built Process Constructs, Compensation Flows, Various Drag
                                           and Drop UI, Process Map Export, Reusable Process Support, Visual Property

SOA – Open Source Approach – January 05, 2009
                                                                                          16                   Arun Pareek
BPM TOOL Considered - jBPM

   Lightweight Architecture                     jBPM can run in any environment that has a JVM and
                                                JDBC connection. It can run well in both a non J2EE
                                                app server environment, and any J2EE environment. It
                                                also runs in clustered J2EE environments.
   Multiple Process Language support            jBPM supports two XML based process languages: JPDL
                                                and BPEL
   Visual Process Modeler                       jBPM provides a visual process modeler that is a plug-in
                                                to the Eclipse IDE.
   Graph Oriented Programming with JPDL         Flexible Nodes, Actions, Timers, Process Variables

   Process Management                           Execution Management, Task Management, Audit Trails,
                                                Persistence, Process Versioning
   Interfacing to jBPM                          Simple API, No Code Generation

   Hardware Requirements                        Minimun 512 Megs of RAM, 300 Mbytes of disk space

SOA – Open Source Approach – January 05, 2009
                                                                            17                  Arun Pareek
                                   Enterprise Service BUS

SOA – Open Source Approach – January 05, 2009
                                                       18   Arun Pareek
Enterprise Service Bus Features and Functions
                                              Enterprise Service Bus Features and Functions
      Category                     Feature/Function                                                         Basic   Optional
      Routing                      Addressability                                                           Y

                                   Content-based Routing                                                    Y

                                   Transport-synchronous and asynchronous (JMS,WS-Rel, HTTP)                Y

      Invocation                   WS-1(SOAP, UDDI, WSDL)                                                   ?       ?
                                   JMS, JCA                                                                 ?       ?
      Meditation                   Data Transformation and translation (XSD, DTD, XSLT, XPath)              Y
                                   Protocol Translation (SOAP, JMS, WS-Rel, JCA, SMTP)                      ?       ?
                                   Security Model Translation                                               Y
      Process Orchestration        Business Process Support (BPEL)                                                  Y
      Complex Event Processing     Event Interpretation, event correlation, event pattern making.                   Y
      Adapters                     Adapters for major application infrastructure platforms (J2EE, .Net,),           Y
                                   application packages, DBMS, FTP, EDI etc.

      Integration Testing          Graphical Design Time Tooling                                            Y
                                   Deployment Tools (ANT)                                                   Y
                                   Testing Tools                                                                    Y
      Change Management            Hot Deployment                                                           Y
                                   Multiple Versions (Production)                                           Y
                                   Service Lifecycle management (development, testing, QA, production)      Y
      Quality of Service           Transaction Control and Compensation                                     Y
                                   Failover at service and service container                                Y

SOA – Open Source Approach – January 05, 2009
                                                                                                      19            Arun Pareek
Open Source ESB Considered - WSO2 ESB 2.0
      Minimal Custom Development                Content based routing, Service virtualization, Load balancing, Fail over sending, Protocol
                                                switching, Message transformation, Schema validation, Logging & monitoring, Message
                                                splitting and, Aggregation, Enterprise integration patterns, Request throttling Response
      Full XML and Web Services Support         SOAP 1.1/SOAP 1.2 , WSDL 1.1/WSDL 2.0 , WS-Addressing, WS-Security, WS
                                                Reliable Messaging, WS-Eventing, WS-Policy MTOM/SwA optimizations for binary
                                                messages, XML/HTTP (POX) REST formats
      Extensibility                             It can be extended using simple Java extensions, POJO classes or Spring, as well as with
                                                JavaScript, Ruby, Groovy or other Apache BSF scripting languages.

      Multi-protocol                            Non-blocking HTTP/S transport, Transactional JMS transport 1.0 and 1.1 with binary, text
                                                and SOAP messages over JMS Mail transport (POP3, IMAP, SMTP)

      Internationalized Graphical Console       Sequence editor, Proxy service editor, Endpoint/Local Entry editor, Task scheduler, Event
                                                source creator, Built-in registry browser, Policy editor, Predefined security scenarios,
                                                Configure dataSources,Transport management, Logs, trace and statistics monitor.
      Server Management                         Ability to shutdown and re-start the ESB, gracefully and forcefully through the
                                                management console and JMX

      Built-in Registry                         The WSO2 ESB ships with an integrated WSO2 Registry, and can easily connect to
                                                external/remote Registry implementations

SOA – Open Source Approach – January 05, 2009
                                                                                                       20                         Arun Pareek
Open Source ESB Considered – Apache Service Mix 3.3

       ServiceMix is lightweight and easily embeddable, has integrated Spring
        support and can be run at the edge of the network (inside a client or server),
        as a standalone ESB provider or as a service within another ESB. You can
        use ServiceMix in Java SE or a Java EE application server.

       ServiceMix uses ActiveMQ to provide remoting, clustering, reliability and
        distributed failover.

       ServiceMix is completely integrated into Apache Geronimo, which allows you
        to deploy JBI components and services directly into Geronimo. ServiceMix is
        being JBI certified as part of the Geronimo project.

       Other J2EE application servers ServiceMix has been integrated with include
        JBoss, JOnAS with more to follow.

SOA – Open Source Approach – January 05, 2009
                                                                  21             Arun Pareek
Open Source ESB Considered – OpenESB 2.0

          OpenESB includes a growing set of binding components (i.e. transports) that
           implement the JBI specification. These include HTTP , File , JMS , JDBC and many
           other components.

          Other components that are provided with OpenESB include a BPEL Service Engine
           for service orchestration, complex event processing using the Intelligent Event
           Processor and the ability to transform messages using the XSLT Service Engine .

          It is also possible to use binding components and service engines available from other
           JBI implementations within OpenESB.

          The OpenESB runtime can run in a bare JVM or can be embedded inside a Java EE
           application server such as GlassFish

SOA – Open Source Approach – January 05, 2009
                                                                         22              Arun Pareek
                   Messaging Oriented Middleware MOM’s (EAI)

SOA – Open Source Approach – January 05, 2009
                                                   23          Arun Pareek
Purpose of EAI in SOA

          Data (information) Integration: Ensuring that information in multiple systems is kept
           consistent. This is also known as EII (Enterprise Information Integration).

          Process Integration: Linking business processes across applications.

          Vendor independence: Extracting business policies or rules from applications and
           implementing them in the EAI system, so that even if one of the business applications
           is replaced with a different vendor's application, the business rules do not have to be

          Common Facade: An EAI system could front-end a cluster of applications, providing a
           single consistent access interface to these applications and shielding users from
           having to learn to interact with different software packages.

SOA – Open Source Approach – January 05, 2009
                                                                           24               Arun Pareek
Open Source EAI Tool Considered – Jitterbit

  Key Features and benefits of Jitterbit are:-

      Rapid Results
         –    Graphical drag-n-drop mapping without custom code
         –    100% standards-based communication
         –    Out-of-the-box connections for major enterprise applications, all major databases, flat-files, Web Services,
              and messaging systems
         –    Pre-built integrations (Jitterpaks) available at the Trading Post

      Robust and Scalable
         –    Multi-threaded architecture
         –    Optimized for Windows, Linux and Solaris
         –    Advanced caching for improved performance

      Easy Integration Management
         –    Complete visibility into transactions
         –    Schedule processes and automate success/failure operations
         –    Proactive alerting of data and connectivity errors
         –    Role-based access privileges

      Cost Effective
         –    No software licenses
         –    No appliance hardware to buy

SOA – Open Source Approach – January 05, 2009
                                                                                             25                   Arun Pareek
                                  DATA SERVICES PLATFORM

SOA – Open Source Approach – January 05, 2009
                                                      26   Arun Pareek
Open Source Data Services Platform Considered –
WSO2 Data Services 1.0.1

      Why Use?
              – Expose and access data from any source as consumable Web services
              – Web-enable legacy data for SOAs
              – Aggregate data from multiple data sources

      Key Features
              –   Aggregate data from multiple data sources.
              –   Graphical Web-based wizard or Eclipse plug-in wizard.
              –   XML configuration file format and customizable XML output.
              –   Test data services with a click of a button via the Try-it tool

  SOA – Open Source Approach – January 05, 2009
                                                                                    27   Arun Pareek
WSO2 Data Services v 1.0.1 Features

      Service enable data                       Exposes relational data sources, Excel files and CSV files.

      Zero code approach                        A Web based graphical console and an Eclipse plug-in wizard

      Easy configuration                        With a simple XML descriptor file data can be exposed using wizards and
                                                tools provided
      Connection pooling support                Built-in Apache DBCP support, together with the ability to use a pooling
                                                manager of developer's choice
      Access Throttling                         Databases are never overloaded

      Try-it tool                               Test services on the fly

SOA – Open Source Approach – January 05, 2009
                                                                                            28                   Arun Pareek
Open Source Data Services Platform Considered –
jBoss MetaMatrix
        Key Components

            MetaMatrix Enterprise Designer. Eclipse-based design tool for creating and testing
             data services.

            MetaMatrix Enterprise Server. Server-based runtime environment that executes data
             services and provides optimization, caching, and security.

            MetaMatrix Repository. Multi-user metadata management system that incorporates a
             rich metadata repository and support for sharing metadata across a project team or
             across the enterprise.

            The MetaMatrix Console. Client application that enables administration of the various
             components, including configuration of hosts, processes, and services; system
             monitoring and logging; configuration of security; and other administrative tasks.

  SOA – Open Source Approach – January 05, 2009
                                                                           29             Arun Pareek
Features and Benefits of MetaMatrix

       Faster development, better integration.

       Quickly create data services to address a range of data requirements for one
        project, across several projects, or throughout the enterprise.

       Decouple applications from physical data sources to ease development and

       Bridge semantic and vocabulary gaps between existing data sources, new
        project data requirements, and mandated standards.

       Reduce development and maintenance time - implement data access,
        transformation, integration, and aggregation without programming.

       Develop systems that provide consistent, current data in real time - with
        enterprise performance.

       Manage data services and related metadata for easy discovery and reuse.
SOA – Open Source Approach – January 05, 2009
                                                                  30            Arun Pareek
Other Open Source SOA Technologies

  JBoss Rules
 Open Source Rules Framework

  WSO2 Registry
 Allows to store, catalog, index and manage enterprise meta data in a simple, scalable model.

  JBoss Enterprise Application Platform
 Building, deploying, and hosting enterprise Java applications and services

  Mule Galaxy
 Single source of truth for the governance and management of your Service Oriented Architecture.

  Eclipse IDE 3.0
 Normally All the open source tools and frameworks have an eclipse plugin. Eclipse 3.0 stands as
 the backbone of rapid code development

SOA – Open Source Approach – January 05, 2009
                                                                       31             Arun Pareek
What Works Best

       The JBoss Open Source SOA Stack

SOA – Open Source Approach – January 05, 2009
                                                32   Arun Pareek
What Works Best

       WSO2 Carbon Stack for SOA Implementation
      When we look at an open source SOA implementation certainly the Carbon stack provided by WSO2 can be ignored.
      It’s a lightweight open source middleware powered by Apache for SOA. And a very comprehensive Create, Connect,
      Compose and Govern philosophy for SOA.

SOA – Open Source Approach – January 05, 2009
                                                                                       33                 Arun Pareek
Disadvantages of Open Source SOA

    Having spoken about the various open source alternatives to implement SOA into an
    enterprise we must also gauge the various risks and disadvantages associated with the
    Open source approach. Here are a few of them:-

            – Most open source software applications are not reliable

            – No support exists for open source software

            – No guarantee of updates

            – Significant problems connected to intellectual property

SOA – Open Source Approach – January 05, 2009
                                                                     34              Arun Pareek
Why Not SOA

       For a stable or homogeneous enterprise IT environment, SOA
        may not be important or cost effective to implement.

       If an organization is not offering software functionality as services
        to external parties or not using external services, which require
        flexibility and standard-based accessibility, SOA may not be

       SOA is not desirable in case of real time requirements because
        SOA relies on loosely coupled asynchronous communication.

SOA – Open Source Approach – January 05, 2009
                                                          35          Arun Pareek
SOA Implementation Checklist
          Business domain model – allocation of responsibility

          Technology standards and development guidelines
            – Transaction taxonomy
            – Generic service invocation with back-end routing based on requests
            – Error and exception handling
            – Service scoping guidelines, to maximize use by both systems and business processes, and
               re-use by developers

          Service directory – is UDDI always the right approach?

          Service “layering”
            – On top of COTS or bespoke systems – hide system implementation details
            – On top of each other – coarse-grained services lead to finer-grained re-usable components
            – Determine the best way to support multiple instances of a service
            – Don’t focus so much on “infrastructure” services (e.g., XML parsing, etc.)

          Service level agreements

SOA – Open Source Approach – January 05, 2009
                                                                              36                Arun Pareek


SOA – Open Source Approach – January 05, 2009
                                                                   37   Arun Pareek
SOA – Open Source Approach – January 05, 2009
                                                38   Arun Pareek

To top