Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Open Source Soa


Published on

This is a presentation on Open source SOA. It also contains evaluations of the existing open source tools available in the market.

Published in: Technology
  • Nice preso... One thing I don't get is that you seem to be evangelizing Open Source ESB/middleware etc. (which we think is great... particularly WS02) then you also say that Open Source software is not reliable. I think these sorts of statements need to be qualified and specific because many open source products are very stable and robust with enterprise features. Some have less bugs and problems than their commercial counterparts and are also able to be supported by competent systems integrators rather than waiting for long cycles of patches and fixes from multi-national software vendors.
    Are you sure you want to  Yes  No
    Your message goes here
  • Saliya,

    Thanks for pointing out a silly but an extremely misplaced typo. Yea that sure would be 'can't be ignored'. As far as the WSO2 carbon goes i am deeply enthused by their developments and i am a keen observer of the activities going around there..

    Thanks any ways.!
    Are you sure you want to  Yes  No
    Your message goes here
  • Hi Arun,

    thanks for posting this. We have embedded this presentation on - under the open Source channel. (

    The TechPitch Team
    Are you sure you want to  Yes  No
    Your message goes here

Open Source Soa

  1. 1. SOA – Open Source Approach Presented By: Arun Pareek, January 05,2009
  2. 2. Why you might be interested… “SOA” is showing up in the technical press <ul><li>SOA dramatically improves IT flexibility and simultaneously reduces costs. </li></ul>
  3. 3. What is it ?… What is Service Oriented Architecture? <ul><li>. </li></ul><ul><li>New? No </li></ul><ul><li>Rocket science? Not really </li></ul><ul><li>A change in thinking? Most definitely! </li></ul><ul><li>Can you run right out and buy one? Well….. </li></ul>Company B Company A Application A ObjectA ----------------------------- ----------------------------- ---------------------------- --------------------------- Application B ObjectB ------------ ------------ ------------ ------------ Service Broker Service Interface Publish Discover
  4. 4. Key Characteristics of SOA <ul><li>Quality of service, security and performance are specified. </li></ul><ul><li>Software infrastructure is responsible for managing. </li></ul><ul><li>Services are cataloged and discoverable. </li></ul><ul><li>Data are cataloged and discoverable. </li></ul><ul><li>Protocols use only industry standards. </li></ul>
  5. 5. What is it not… SOA isn’t a solution to world hunger <ul><li>Nor is it: </li></ul><ul><li>A specific Technology </li></ul><ul><li>The Ultimate answer to reuse </li></ul><ul><li>A New name for EAI </li></ul><ul><li>A New way to do RPC </li></ul>
  6. 6. SOA and Services Skeleton <ul><li>. </li></ul>Service describes End Point Exposes Messages Sends/Receives Contracts Binds to Service Consumer implements Policy governed by Sends/Receives Adheres to Component Relation Key Understands Serves
  7. 7. Open Source SOA <ul><li>Try before you buy: </li></ul><ul><li>With open source, you can create prototypes and try out the software before you commit large sums of money. </li></ul><ul><li>Lower cost of entry: </li></ul><ul><li>The cost of the various tools within the stack can be quite staggering. Open source eliminates or greatly reduces the initial sticker shock. </li></ul><ul><li>Cost effective support: </li></ul><ul><li>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. </li></ul><ul><li>Core competency: </li></ul><ul><li>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. </li></ul><ul><li>For the people by the people </li></ul>
  8. 8. Introduction to Shared Services Architecture
  9. 9. <ul><li>PRESENTATION SERVICES </li></ul>
  10. 10. Portals and Portal Frameworks <ul><li>Portals and Portlets are emerging technologies and gaining lot of popularity. </li></ul><ul><li>Portals are gaining attention among programmers due to their ease in development, richness in functionality, customization of interface and pluggable architecture. </li></ul><ul><li>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 etc. </li></ul><ul><li>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. </li></ul>
  11. 11. Comparison of Leading Open Source Portal Technologies UE Theme Platform License Community Latest Edition Portal Struts and tiles, AJAX, Tapestry, Velocity, Spring and AOP. And many more. Swappable themes, deployed as WAR. Many more community themes available for use Comes in two Versions. Pro: Tomcat, Jetty, Resin Enterprise: Any J2EE App Server. JSR-168 and JSR-170 compliance. MIT License LifeRay LifeRay 5.1.2 LifeRay Velocity and JSP. Also there is support for Ajax. Spring Components. Simple guide for customizing layout using Velocity Any servlet container 2.3 or higher. JSR-168 compliance for portlets. Apache 2.0 Apache JetSpeed-2 Apache Jet Speed 2 JSF, MyFaces, Spring MVC, Ajax Easily swappable themes/layouts, Flexible API, Per-page layout Strategy. JSR-168 and JSR-170 Portal and Portlets Compliant Servers LGPL JBoss Inc and Community JBoss Portal 2.7.0 JBoss Portal
  12. 12. <ul><li>BUSINESS SERVICES LAYER </li></ul>
  13. 13. What is it? Business Processes Management <ul><li>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 . </li></ul>
  14. 14. Aspects of a BPM Tool <ul><li>Business Process Management (BPM) Involves </li></ul><ul><ul><li>End to end Automation of business processes </li></ul></ul><ul><ul><li>Blending machine-machine and manual operations </li></ul></ul><ul><ul><li>Straight Through Processing (STP) </li></ul></ul><ul><li>BPM Uses </li></ul><ul><ul><li>Workflow </li></ul></ul><ul><ul><li>Imaging & Document Management </li></ul></ul><ul><ul><li>EAI: Integration with Business Systems </li></ul></ul><ul><ul><li>Measurements, Tracking, reporting and Control </li></ul></ul><ul><ul><li>Analysis, Simulation, Optimisation and re-deployment </li></ul></ul>
  15. 15. Open Source BPM Technologies Comparison Parameters <ul><li>Business Process Modeling Capabilities </li></ul><ul><ul><ul><li>Defining Processes Graphically and/or Textually </li></ul></ul></ul><ul><ul><ul><li>Ability to create Value Chain, High-Level Process Model, Organization Model, Roles </li></ul></ul></ul><ul><ul><ul><li>Process Decomposition </li></ul></ul></ul><ul><ul><ul><li>Capability for Importing and managing organizational structures </li></ul></ul></ul><ul><ul><ul><li>Capability to link between Organization, Processes and Value Model </li></ul></ul></ul><ul><ul><ul><li>View Metadata through process flow </li></ul></ul></ul><ul><ul><ul><li>Capability to support standard notation (e.g. BPMN, BPEL, BPML, UML etc) </li></ul></ul></ul><ul><li>Ease of Use </li></ul><ul><li>Business Rules Capability and Interface </li></ul><ul><ul><ul><li>Graphical Rules Editor </li></ul></ul></ul><ul><ul><ul><li>Products Ability to manage business rules </li></ul></ul></ul>
  16. 16. BPM TOOL Considered - Intalio Advanced Set of Pre-Built Process Constructs, Compensation Flows, Various Drag and Drop UI, Process Map Export, Reusable Process Support, Visual Property Editor Process Modeler   Dynamic Consistency Checking, One-Click Process Deployment, Online Reference Tracking Process Deployment 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 Mapping Editor   Advanced Searching, Check-In/Check-Out, Collaborative Versioning, Graphical Dependency Manager, Local Versioning Life Cycle Management BPMN 1.0 Support, Eclipse Plug-in Version, Integrated Development Environment, Standalone Version Environment 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 Code Generation & Impor t Automatic System Interface WSDL Generation, Visual Connectors for All Supported Systems System Introspection
  17. 17. BPM TOOL Considered - jBPM Minimun 512 Megs of RAM, 300 Mbytes of disk space Hardware Requirements Simple API, No Code Generation Interfacing to jBPM Execution Management, Task Management, Audit Trails, Persistence, Process Versioning Process Management Flexible Nodes, Actions, Timers, Process Variables Graph Oriented Programming with JPDL jBPM provides a visual process modeler that is a plug-in to the Eclipse IDE. Visual Process Modeler jBPM supports two XML based process languages: JPDL and BPEL Multiple Process Language support 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. Lightweight Architecture
  18. 18. <ul><li>Enterprise Service BUS </li></ul>
  19. 19. Enterprise Service Bus Features and Functions Y Transaction Control and Compensation Quality of Service Y Service Lifecycle management (development, testing, QA, production) Y Multiple Versions (Production) Y Hot Deployment Change Management Y Failover at service and service container Y Deployment Tools (ANT) Y Testing Tools Y Graphical Design Time Tooling Integration Testing Y Adapters for major application infrastructure platforms (J2EE, .Net,), application packages, DBMS, FTP, EDI etc. Adapters Y Event Interpretation, event correlation, event pattern making. Complex Event Processing Y Business Process Support (BPEL) Process Orchestration Y Security Model Translation ? ? Protocol Translation (SOAP, JMS, WS-Rel, JCA, SMTP) Y Data Transformation and translation (XSD, DTD, XSLT, XPath) Meditation ? ? JMS, JCA ? ? WS-1(SOAP, UDDI, WSDL) Invocation Y Transport-synchronous and asynchronous (JMS,WS-Rel, HTTP) Y Content-based Routing Y Addressability Routing Optional Basic Feature/Function Category Enterprise Service Bus Features and Functions
  20. 20. Open Source ESB Considered - WSO2 ESB 2.0 Ability to shutdown and re-start the ESB, gracefully and forcefully through the management console and JMX Server Management The WSO2 ESB ships with an integrated WSO2 Registry, and can easily connect to external/remote Registry implementations Built-in Registry 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. Internationalized Graphical Console 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) Multi-protocol 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. Extensibility 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 Full XML and Web Services Support 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 caching Minimal Custom Development
  21. 21. Open Source ESB Considered – Apache Service Mix 3.3 <ul><li>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. </li></ul><ul><li>ServiceMix uses ActiveMQ to provide remoting, clustering, reliability and distributed failover. </li></ul><ul><li>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. </li></ul><ul><li>Other J2EE application servers ServiceMix has been integrated with include JBoss, JOnAS with more to follow. </li></ul>
  22. 22. Open Source ESB Considered – OpenESB 2.0 <ul><li>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. </li></ul><ul><li>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 . </li></ul><ul><li>It is also possible to use binding components and service engines available from other JBI implementations within OpenESB. </li></ul><ul><li>The OpenESB runtime can run in a bare JVM or can be embedded inside a Java EE application server such as GlassFish </li></ul>
  23. 23. <ul><li>Messaging Oriented Middleware MOM’s (EAI) </li></ul>
  24. 24. Purpose of EAI in SOA <ul><li>Data (information) Integration: Ensuring that information in multiple systems is kept consistent. This is also known as EII (Enterprise Information Integration). </li></ul><ul><li>Process Integration: Linking business processes across applications. </li></ul><ul><li>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 re-implemented. </li></ul><ul><li>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. </li></ul>
  25. 25. Open Source EAI Tool Considered – Jitterbit <ul><li>Key Features and benefits of Jitterbit are:- </li></ul><ul><li>Rapid Results </li></ul><ul><ul><li>Graphical drag-n-drop mapping without custom code </li></ul></ul><ul><ul><li>100% standards-based communication </li></ul></ul><ul><ul><li>Out-of-the-box connections for major enterprise applications, all major databases, flat-files, Web Services, and messaging systems </li></ul></ul><ul><ul><li>Pre-built integrations (Jitterpaks) available at the Trading Post </li></ul></ul><ul><li>Robust and Scalable </li></ul><ul><ul><li>Multi-threaded architecture </li></ul></ul><ul><ul><li>Optimized for Windows, Linux and Solaris </li></ul></ul><ul><ul><li>Advanced caching for improved performance </li></ul></ul><ul><li>Easy Integration Management </li></ul><ul><ul><li>Complete visibility into transactions </li></ul></ul><ul><ul><li>Schedule processes and automate success/failure operations </li></ul></ul><ul><ul><li>Proactive alerting of data and connectivity errors </li></ul></ul><ul><ul><li>Role-based access privileges </li></ul></ul><ul><li>Cost Effective </li></ul><ul><ul><li>No software licenses </li></ul></ul><ul><ul><li>No appliance hardware to buy </li></ul></ul>
  26. 26. <ul><li>DATA SERVICES PLATFORM </li></ul>
  27. 27. Open Source Data Services Platform Considered – WSO2 Data Services 1.0.1 <ul><li>Why Use? </li></ul><ul><ul><li>Expose and access data from any source as consumable Web services </li></ul></ul><ul><ul><li>Web-enable legacy data for SOAs </li></ul></ul><ul><ul><li>Aggregate data from multiple data sources </li></ul></ul><ul><li>Key Features </li></ul><ul><ul><li>Aggregate data from multiple data sources. </li></ul></ul><ul><ul><li>Graphical Web-based wizard or Eclipse plug-in wizard. </li></ul></ul><ul><ul><li>XML configuration file format and customizable XML output. </li></ul></ul><ul><ul><li>Test data services with a click of a button via the Try-it tool </li></ul></ul>
  28. 28. WSO2 Data Services v 1.0.1 Features Test services on the fly Try-it tool Databases are never overloaded Access Throttling Built-in Apache DBCP support, together with the ability to use a pooling manager of developer's choice Connection pooling support With a simple XML descriptor file data can be exposed using wizards and tools provided Easy configuration A Web based graphical console and an Eclipse plug-in wizard Zero code approach Exposes relational data sources, Excel files and CSV files. Service enable data
  29. 29. Open Source Data Services Platform Considered – jBoss MetaMatrix <ul><li>Key Components </li></ul><ul><li>MetaMatrix Enterprise Designer. Eclipse-based design tool for creating and testing data services. </li></ul><ul><li>MetaMatrix Enterprise Server. Server-based runtime environment that executes data services and provides optimization, caching, and security. </li></ul><ul><li>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. </li></ul><ul><li>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. </li></ul>
  30. 30. Features and Benefits of MetaMatrix <ul><li>Faster development, better integration. </li></ul><ul><li>Quickly create data services to address a range of data requirements for one project, across several projects, or throughout the enterprise. </li></ul><ul><li>Decouple applications from physical data sources to ease development and maintenance. </li></ul><ul><li>Bridge semantic and vocabulary gaps between existing data sources, new project data requirements, and mandated standards. </li></ul><ul><li>Reduce development and maintenance time - implement data access, transformation, integration, and aggregation without programming. </li></ul><ul><li>Develop systems that provide consistent, current data in real time - with enterprise performance. </li></ul><ul><li>Manage data services and related metadata for easy discovery and reuse. </li></ul>
  31. 31. Other Open Source SOA Technologies <ul><li>JBoss Rules </li></ul><ul><li>Open Source Rules Framework </li></ul><ul><li>WSO2 Registry </li></ul><ul><li>Allows to store, catalog, index and manage enterprise meta data in a simple, scalable model. </li></ul><ul><li>JBoss Enterprise Application Platform </li></ul><ul><li>Building, deploying, and hosting enterprise Java applications and services </li></ul><ul><li>Mule Galaxy </li></ul><ul><li>Single source of truth for the governance and management of your Service Oriented Architecture. </li></ul><ul><li>Eclipse IDE 3.0 </li></ul><ul><li>Normally All the open source tools and frameworks have an eclipse plugin. Eclipse 3.0 stands as </li></ul><ul><li>the backbone of rapid code development </li></ul>
  32. 32. What Works Best <ul><li>The JBoss Open Source SOA Stack </li></ul>
  33. 33. What Works Best <ul><li>WSO2 Carbon Stack for SOA Implementation </li></ul><ul><li>When we look at an open source SOA implementation certainly the Carbon stack provided by WSO2 can be ignored. </li></ul><ul><li>It’s a lightweight open source middleware powered by Apache for SOA. And a very comprehensive Create, Connect, </li></ul><ul><li>Compose and Govern philosophy for SOA. </li></ul>
  34. 34. Disadvantages of Open Source SOA <ul><li>Having spoken about the various open source alternatives to implement SOA into an </li></ul><ul><li>enterprise we must also gauge the various risks and disadvantages associated with the </li></ul><ul><li>Open source approach. Here are a few of them:- </li></ul><ul><ul><li>Most open source software applications are not reliable </li></ul></ul><ul><ul><li>No support exists for open source software </li></ul></ul><ul><ul><li>No guarantee of updates </li></ul></ul><ul><ul><li>Significant problems connected to intellectual property </li></ul></ul>
  35. 35. Why Not SOA <ul><li>For a stable or homogeneous enterprise IT environment, SOA may not be important or cost effective to implement. </li></ul><ul><li>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 useful. </li></ul><ul><li>SOA is not desirable in case of real time requirements because SOA relies on loosely coupled asynchronous communication. </li></ul>
  36. 36. SOA Implementation Checklist <ul><li>Business domain model – allocation of responsibility </li></ul><ul><li>Technology standards and development guidelines </li></ul><ul><ul><li>Transaction taxonomy </li></ul></ul><ul><ul><li>Generic service invocation with back-end routing based on requests </li></ul></ul><ul><ul><li>Error and exception handling </li></ul></ul><ul><ul><li>Service scoping guidelines, to maximize use by both systems and business processes, and re-use by developers </li></ul></ul><ul><li>Service directory – is UDDI always the right approach? </li></ul><ul><li>Service “layering” </li></ul><ul><ul><li>On top of COTS or bespoke systems – hide system implementation details </li></ul></ul><ul><ul><li>On top of each other – coarse-grained services lead to finer-grained re-usable components </li></ul></ul><ul><ul><li>Determine the best way to support multiple instances of a service </li></ul></ul><ul><ul><li>Don’t focus so much on “infrastructure” services (e.g., XML parsing, etc.) </li></ul></ul><ul><li>Service level agreements </li></ul>
  37. 37. References <ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul>