SOA Open Source Approach

feelingmomInternet and Web Development

Dec 7, 2013 (3 years and 8 months ago)

108 views

SOA


Open Source Approach

Presented By: Arun Pareek, January 05,2009

SOA


Open Source Approach


January 05, 2009

Arun Pareek

2

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

Arun Pareek

3

What is it ?…


What is Service Oriented Architecture?

.


Company B









Company A









Application A








ObjectA

-----------------------------

-----------------------------

----------------------------

---------------------------


Application B








ObjectB

------------

------------

------------

------------



Service

Broker




Service

Interface

Publish

Discover


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

Arun Pareek

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.


SOA


Open Source Approach


January 05, 2009

Arun Pareek

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


SOA


Open Source Approach


January 05, 2009

Arun Pareek

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

SOA


Open Source Approach


January 05, 2009

Arun Pareek

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


SOA


Open Source Approach


January 05, 2009

Arun Pareek

8

Introduction to Shared Services Architecture


SOA


Open Source Approach


January 05, 2009

Arun Pareek

9




PRESENTATION SERVICES

SOA


Open Source Approach


January 05, 2009

Arun Pareek

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
.


SOA


Open Source Approach


January 05, 2009

Arun Pareek

11

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, Resin

Enterprise:
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/layo
uts, Flexible
API, Per
-
page layout
Strategy.

JSF, MyFaces,
Spring MVC,
Ajax

SOA


Open Source Approach


January 05, 2009

Arun Pareek

12



BUSINESS SERVICES LAYER

SOA


Open Source Approach


January 05, 2009

Arun Pareek

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
.


SOA


Open Source Approach


January 05, 2009

Arun Pareek

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


SOA


Open Source Approach


January 05, 2009

Arun Pareek

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




SOA


Open Source Approach


January 05, 2009

Arun Pareek

16

BPM TOOL Considered
-

Intalio

System Introspection


Automatic System Interface WSDL Generation, Visual Connectors for All
Supported Systems

Code Generation & Impor
t

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

SOA


Open Source Approach


January 05, 2009

Arun Pareek

17

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

Arun Pareek

18



Enterprise Service BUS

SOA


Open Source Approach


January 05, 2009

Arun Pareek

19

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

SOA


Open Source Approach


January 05, 2009

Arun Pareek

20

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


caching

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

Arun Pareek

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.

SOA


Open Source Approach


January 05, 2009

Arun Pareek

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

SOA


Open Source Approach


January 05, 2009

Arun Pareek

23



Messaging Oriented Middleware MOM’s (EAI)

SOA


Open Source Approach


January 05, 2009

Arun Pareek

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.


SOA


Open Source Approach


January 05, 2009

Arun Pareek

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


SOA


Open Source Approach


January 05, 2009

Arun Pareek

26



DATA SERVICES PLATFORM


SOA


Open Source Approach


January 05, 2009

Arun Pareek

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



SOA


Open Source Approach


January 05, 2009

Arun Pareek

28

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

Arun Pareek

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.


SOA


Open Source Approach


January 05, 2009

Arun Pareek

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.

SOA


Open Source Approach


January 05, 2009

Arun Pareek

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







SOA


Open Source Approach


January 05, 2009

Arun Pareek

32

What Works Best


The JBoss Open Source SOA Stack



SOA


Open Source Approach


January 05, 2009

Arun Pareek

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.



SOA


Open Source Approach


January 05, 2009

Arun Pareek

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


SOA


Open Source Approach


January 05, 2009

Arun Pareek

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.


SOA


Open Source Approach


January 05, 2009

Arun Pareek

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


SOA


Open Source Approach


January 05, 2009

Arun Pareek

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

SOA


Open Source Approach


January 05, 2009

Arun Pareek

38