Sunteți pe pagina 1din 20

WSO2 Carbon

Middleware à la carte

December 2008
From traditional SOA products ..

Commoditization, followed by customization, are symptoms of


maturing markets. Enterprise middleware has unfortunately not
benefited from this pattern, yet.

Major vendor SOA products have good technology, but they


have been cobbled together by acquisitions over time. The
result is bloated, complex components that fit poorly together.

The objective of SOA is the development of loosely-coupled,


interoperable network of services, that can be published,
discovered and invoked in novel ways.

It is time that SOA middleware took some of its own medicine!


.. to WSO2 Carbon

With a componentized, customizable SOA platform, you can


adapt the middleware to your enterprise architecture, rather
than adapt your architecture to the middleware.
What is WSO2 Carbon?

A component-based SOA platform based on Equinox and OSGi

A new release of each of our current server runtimes:


Web Services Application Server 3.0
Enterprise Service Bus 2.0
Registry 2.0
(Mashup Server and Data Services coming 3 months later)

Also coming soon, a new Carbon based product: Business


Process Server – our entry into the BPM market

Still very closely based on Apache technology: Apache Axis2,


Apache Synapse, Apache ODE, Apache Tomcat and more

A well defined component model for Enterprise SOA


Middleware
OSGi

Originally designed as a modularity model for embedded and


mobile devices

Increasingly used as a framework by Enterprise Middleware


Spring dm Server
IBM WebSphere
JBoss AS etc

Provides several important capabilities:


Modules / Bundles as a more granular aspect than a package
Versioning
Dynamic loading support

SOA for the infrastructure – using a service model within a JVM


What motivated this?

Customers were increasingly using multiple parts of our


platform together in ways we hadn't envisioned

For example, a major Management Software Vendor is using


our WSAS, ESB, Registry and Business Process Server to fully
integrate multiple legacy products

Two major issues:


Our “product” categories sometimes don’t fit customer requirements
We were copying code from WSAS to ESB to Data Services

OSGi gives us a standard component architecture

WSO2 Data Services 1.0 release in September was our “foot in


the water” - now we're in all the way!
What is WSO2 Carbon?

ESB W SAS D a ta M a sh u p P ro ce ss R e g is t r y
S e r v ic e s Se rve r Se rve r
D ata
S c r ip t BPEL C ore
P ro x y JSR181 So u rce
S e r v ic e s R u n t im e Repos
M gm t
M sg S e r v ic e D ata P ro c e ss
S c r a p in g A to m P u b
M e d ia t io n H o s t in g S e r v ic e s UI
S e r v ic e DS In s t a n c e SO A
T a sk s G ad ge ts
C lie n t s W iz a r d UI G o v e rn

C o re C arb o n F ram e w o rk
B u n d le U se r
C lu s t e r in g T ra n sp o rts M gm t L o g g in g T h ro t t le
M gm t M anager
K e ySto re
S e c u r it y M gm t Sta ts T r y It Cache
M anager

OSGi
Core Carbon framework

Typical Carbon core consists of bundles performing central


functionality such as security, management, clustering, caching
and more
Admin
UI

Mgmt Stats

Bundle
Mgmt

Clustering Transports

Security

The core itself can be customized. Use core components of


your choice, leaving out the ones you don't need in your SOA

Products are built by adding components to this core


Enterprise Service Bus

ESB adds mediation, proxy management, tasks and more as


well as registry core

Admin
UI

Proxy Mgmt Stats

Bundle Core
Tasks Repos
Mgmt
Message Clustering Transports
Mediation

Security
Web Services Application Server

Data
JSR181
Services
Service DS
Hosting Wizard
Data
Service
Source
Clients
Mgmt
Admin
UI

Mgmt Stats

Bundle Core
Mgmt Repos

Clustering Transports

Security

WSAS adds service hosting, JSR 181 support and more to the
core
The full component repository

Data
JSR181
Services
Service DS
Hosting Wizard
Data
Service
Source
Clients
Mgmt
Admin
UI
Proxy Mgmt Stats SOA
Govern
Bundle Core
Tasks
Mgmt Repos
Message AtomPub
Mediation Clustering Transports

Security

BPEL Script
Runtime Services
Process Scraping
UI
Instance Gadgets
UI

Any product can add any component to customize itself to meet


customer architecture requirements!
Powered by OSGi

OSGi is the underlying core modularization technology


Shipping with Eclipse Equinox by default
Can be supported on Spring dm Server, Felix and Knoplerfish if required

Uses the core OSGi approach to support plugging in new


function in a managed way

Any OSGi bundle can be deployed (e.g. ActiveMQ)

New components can be deployed into an existing installation

Used for both server runtime as well as for componentized


management console

Customers can write and deploy their own OSGi components


But much more than just OSGi ...

Analogies:
Eclipse uses OSGi but is much more – it defines how you plug Tool
components into a Tooling Framework
Microsoft Office uses DLLs, but is much more – it defines how you can
share a graph component across multiple document types

Carbon uses OSGI, but it really defines how you build a


consistent SOA platform
New service types plug into the console
Security, throttling, stats, TryIt, all work on any service component

Not just using OSGi for componentizing a single product, but


rather entire middleware platform: app server, ESB, process
server, registry, governance, mashup and much more
WSO2 Carbon product platform

Our “products” are now simply our choice about how you start
with this platform

You can assemble your own “products” by combining


components and deploying them in your preferred architecture!
Comparison with proprietary SOA platforms

Proprietary WSO2 Carbon

• Heavyweight • Start simple and grow


Agility • Difficult to install and
configure

• Need to understand many • Common patterns apply across all


Skills complex products components

•Large monolithic products • Choose what you need


Deployment encourage centralized • Total platform < 150Mb
deployment • Designed for distributed deployment

• Building platforms by • Install new function into an existing


acquisition has meant deployment
Continuity boundaries between
components • Same Admin UI for all components

• Spend time integrating • Designed consistently


Integration vendors’ products not your • Integrate at the JVM and configuration
applications level
Use case: POJO service and logging

Anna is a POJO Service developer


She has an existing POJO service
The analytics department would like her to send a copy of every service
request to them
She could write a new Handler in Java, but she discovers it takes 5
minutes to deploy and test the ESB Clone Mediator

JSR181

Service
Hosting
Service
Clients
Admin
UI

Mgmt Stats
Message Bundle Core
Mediation Mgmt Repos

Clustering Transports

Security
Use case: Data service and mediation

Daniel is a Database Administrator


He has used WSO2 Data Services to expose his Data as Secure Web
Services across the Enterprise
Now he has been asked to implement an existing schema
By adding the Mediation component and using XSLT or E4X he can
effectively convert the existing service interface to match the corporate
schema

Data
Services
DS
Wizard
Data
Source
Mgmt
Admin
UI

Mgmt Stats

Transform Bundle Core


Mgmt Repository

Clustering Transports

Security
Summary

WSO2 Carbon is a significant jump forward in Enterprise


Middleware

All the benefits of OSGi, but considerably more

A complete SOA platform in Open Source


With major benefits over proprietary software

The core runtime is proven in major existing production


deployments

Highly adaptable to real SOA deployments


WSO2 Carbon .. Middleware à la carte!

Adapt the middleware to your architecture,


not your architecture to the middleware.
Want it?!

Get it from http://wso2.org/


.. 100% open source under Apache License 2.0

The open source SOA company

S-ar putea să vă placă și