SlideShare a Scribd company logo
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.
What is it ?…   What is Service Oriented Architecture? . New?   No Rocket science?   Not really A change in thinking?   Most definitely! Can you run right out and buy one?   Well….. Company B Company A Application A ObjectA ----------------------------- ----------------------------- ---------------------------- --------------------------- Application B ObjectB ------------ ------------ ------------ ------------ Service  Broker Service  Interface Publish Discover
Key Characteristics of SOA Quality of service, security and performance are specified.  Software infrastructure is responsible for managing.  Services are cataloged and discoverable.  Data are cataloged and discoverable.  Protocols use only industry standards.
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 and Services Skeleton . 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
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
Introduction to Shared Services Architecture
PRESENTATION SERVICES
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 architecture.  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.  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.
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
BUSINESS SERVICES LAYER
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 .
Aspects of a BPM Tool Business Process Management (BPM) Involves 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
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
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
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
Enterprise Service BUS
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
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
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.
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
Messaging Oriented Middleware MOM’s (EAI)
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 re-implemented.  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.
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
DATA SERVICES PLATFORM
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
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
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.
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 maintenance.  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.
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
What Works Best The JBoss Open Source SOA Stack
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.
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
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 useful. SOA is not desirable in case of real time requirements because SOA relies on loosely coupled asynchronous communication.
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
References http://www.wikipedia.org/  http://servicemix.apache.org/home.html http://mule.mulesource.org/display/MULE/Home http://www.jboss.com/resources/soa http://www.jboss.com/pdf/JESPValueDif http://portals.apache.org/jetspeed-1/ http://www.liferay.com/web/guest/products/portal/features http://wso2.com/ http://www.intalio.com/products/benefits/ http://servicemix.apache.org/home.html https://open-esb.dev.java.net/ http://www.jitterbit.com/Product/enterprise-integration
 

More Related Content

Open Source Soa

  • 1. SOA – Open Source Approach Presented By: Arun Pareek, January 05,2009
  • 2. Why you might be interested… “SOA” is showing up in the technical press SOA dramatically improves IT flexibility and simultaneously reduces costs.
  • 3. What is it ?… What is Service Oriented Architecture? . New? No Rocket science? Not really A change in thinking? Most definitely! Can you run right out and buy one? Well….. Company B Company A Application A ObjectA ----------------------------- ----------------------------- ---------------------------- --------------------------- Application B ObjectB ------------ ------------ ------------ ------------ Service Broker Service Interface Publish Discover
  • 4. Key Characteristics of SOA Quality of service, security and performance are specified. Software infrastructure is responsible for managing. Services are cataloged and discoverable. Data are cataloged and discoverable. Protocols use only industry standards.
  • 5. 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
  • 6. SOA and Services Skeleton . 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. 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
  • 8. Introduction to Shared Services Architecture
  • 10. 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 architecture. 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. 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.
  • 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
  • 13. 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 .
  • 14. Aspects of a BPM Tool Business Process Management (BPM) Involves 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
  • 15. 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
  • 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. 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
  • 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. 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. 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.
  • 22. 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
  • 24. 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 re-implemented. 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.
  • 25. 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
  • 27. 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
  • 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. 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.
  • 30. 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 maintenance. 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.
  • 31. 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
  • 32. What Works Best The JBoss Open Source SOA Stack
  • 33. 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.
  • 34. 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
  • 35. 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 useful. SOA is not desirable in case of real time requirements because SOA relies on loosely coupled asynchronous communication.
  • 36. 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
  • 37. References http://www.wikipedia.org/ http://servicemix.apache.org/home.html http://mule.mulesource.org/display/MULE/Home http://www.jboss.com/resources/soa http://www.jboss.com/pdf/JESPValueDif http://portals.apache.org/jetspeed-1/ http://www.liferay.com/web/guest/products/portal/features http://wso2.com/ http://www.intalio.com/products/benefits/ http://servicemix.apache.org/home.html https://open-esb.dev.java.net/ http://www.jitterbit.com/Product/enterprise-integration
  • 38.  

Editor's Notes

  1. This presentation deals with know how to implementation of Open Source SOA using Open Source tools and frameworks