SOA – Open Source ApproachPresented By: Arun Pareek, January 05,2009
2
SOA – Open Source Approach – January 05, 2009Arun Pareek
Why you might be interested…
“SOA” is showing up in the technical press
SOA dramatically improves IT flexibility and simultaneously reduces costs.
3
SOA – Open Source Approach – January 05, 2009Arun Pareek
What is it ?…
What is Service Oriented Architecture?.
Company B Company BCompany ACompany A
Application AApplication A
ObjectA-----------------------------------------------------------------------------------------------------------------
ObjectA-----------------------------------------------------------------------------------------------------------------
Application BApplication B
ObjectB------------------------------------------------
ObjectB------------------------------------------------
Service Broker
Service InterfaceService Interface
PublishDiscover
New? No
Rocket science? Not really
A change in thinking? Most definitely!
Can you run right out and buy one? Well…..
4
SOA – Open Source Approach – January 05, 2009Arun Pareek
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
SOA – Open Source Approach – January 05, 2009Arun 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
6
SOA – Open Source Approach – January 05, 2009Arun Pareek
SOA and Services Skeleton
.
ServiceService
describesdescribes
End PointEnd Point ExposesExposes
MessagesMessages Sends/ReceivesSends/Receives
ContractsContracts
Binds toBinds to
Service Service ConsumerConsumer implementsimplements
PolicyPolicy governed bygoverned by
Sends/ReceivesSends/Receives
Adheres Adheres toto
ComponentComponent
RelationRelation
KeyKey
UnderstandsUnderstands
ServesServes
7
SOA – Open Source Approach – January 05, 2009Arun 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
8
SOA – Open Source Approach – January 05, 2009Arun Pareek
Introduction to Shared Services Architecture
9
SOA – Open Source Approach – January 05, 2009Arun Pareek
PRESENTATION SERVICES
10
SOA – Open Source Approach – January 05, 2009Arun 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 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
SOA – Open Source Approach – January 05, 2009Arun Pareek
Comparison of Leading Open Source Portal Technologies
Portal Latest Edition
Community
License
Platform Theme UE
LifeRay LifeRay 5.1.2 LifeRay MIT License
Comes in two Versions.Pro: Tomcat, Jetty, ResinEnterprise: Any J2EE App Server.JSR-168 and JSR-170 compliance.
Swappable themes, deployed as WAR. Many more community themes available for use
Struts and tiles, AJAX, Tapestry, Velocity, Spring and AOP. And many more.
Apache Jet Speed 2
JetSpeed-2 Apache Apache 2.0
Any servlet container 2.3 or higher. JSR-168 compliance for portlets.
Simple guide for customizing layout using Velocity
Velocity and JSP. Also there is support for Ajax. Spring Components.
JBoss Portal JBoss Portal 2.7.0
JBoss Inc and Community
LGPL JSR-168 and JSR-170 Portal and Portlets Compliant Servers
Easily swappable themes/layouts, Flexible API, Per-page layout Strategy.
JSF, MyFaces, Spring MVC, Ajax
12
SOA – Open Source Approach – January 05, 2009Arun Pareek
BUSINESS SERVICES LAYER
13
SOA – Open Source Approach – January 05, 2009Arun 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.
14
SOA – Open Source Approach – January 05, 2009Arun Pareek
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
SOA – Open Source Approach – January 05, 2009Arun 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
16
SOA – Open Source Approach – January 05, 2009Arun 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 Editor
17
SOA – Open Source Approach – January 05, 2009Arun 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
18
SOA – Open Source Approach – January 05, 2009Arun Pareek
Enterprise Service BUS
19
SOA – Open Source Approach – January 05, 2009Arun 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,), application packages, DBMS, FTP, EDI etc.
Y
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
20
SOA – Open Source Approach – January 05, 2009Arun 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, Messagesplitting and, Aggregation, Enterprise integration patterns, Request throttling Response caching
Full XML and Web Services Support SOAP 1.1/SOAP 1.2 , WSDL 1.1/WSDL 2.0 , WS-Addressing, WS-Security, WSReliable Messaging, WS-Eventing, WS-Policy MTOM/SwA optimizations for binarymessages, 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, textand SOAP messages over JMS Mail transport (POP3, IMAP, SMTP)
Internationalized Graphical Console Sequence editor, Proxy service editor, Endpoint/Local Entry editor, Task scheduler, Eventsource 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
21
SOA – Open Source Approach – January 05, 2009Arun 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.
22
SOA – Open Source Approach – January 05, 2009Arun 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
23
SOA – Open Source Approach – January 05, 2009Arun Pareek
Messaging Oriented Middleware MOM’s (EAI)
24
SOA – Open Source Approach – January 05, 2009Arun 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 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
SOA – Open Source Approach – January 05, 2009Arun 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
26
SOA – Open Source Approach – January 05, 2009Arun Pareek
DATA SERVICES PLATFORM
27
SOA – Open Source Approach – January 05, 2009Arun 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
28
SOA – Open Source Approach – January 05, 2009Arun 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
29
SOA – Open Source Approach – January 05, 2009Arun 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.
30
SOA – Open Source Approach – January 05, 2009Arun 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 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
SOA – Open Source Approach – January 05, 2009Arun Pareek
Other Open Source SOA Technologies
JBoss RulesOpen Source Rules Framework
WSO2 RegistryAllows to store, catalog, index and manage enterprise meta data in a simple, scalable model.
JBoss Enterprise Application PlatformBuilding, deploying, and hosting enterprise Java applications and services
Mule GalaxySingle source of truth for the governance and management of your Service Oriented Architecture.
Eclipse IDE 3.0Normally All the open source tools and frameworks have an eclipse plugin. Eclipse 3.0 stands asthe backbone of rapid code development
32
SOA – Open Source Approach – January 05, 2009Arun Pareek
What Works Best
The JBoss Open Source SOA Stack
33
SOA – Open Source Approach – January 05, 2009Arun Pareek
What Works Best
WSO2 Carbon Stack for SOA ImplementationWhen 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
SOA – Open Source Approach – January 05, 2009Arun Pareek
Disadvantages of Open Source SOA
Having spoken about the various open source alternatives to implement SOA into anenterprise 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
SOA – Open Source Approach – January 05, 2009Arun 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 useful.
SOA is not desirable in case of real time requirements because SOA relies on loosely coupled asynchronous communication.
36
SOA – Open Source Approach – January 05, 2009Arun 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
37
SOA – Open Source Approach – January 05, 2009Arun Pareek
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
SOA – Open Source Approach – January 05, 2009Arun Pareek