spagic 3: osgi universal middleware for an effective soa solution

16
1 www.eng.it Open Source SOA Universal Middleware Version 3.0

Upload: spagoworld

Post on 18-Dec-2014

817 views

Category:

Technology


0 download

DESCRIPTION

Presentation on Spagic 3 by Gianfranco Boccalon, Spagic Project Leader, shown at Solutions Linux 2010, within OW2 Conferences.

TRANSCRIPT

Page 1: Spagic 3: OSGi Universal Middleware for an effective SOA solution

1www.eng.it

Open Source SOA Universal Middleware

Version 3.0

Page 2: Spagic 3: OSGi Universal Middleware for an effective SOA solution

2www.eng.it

The problem of increasing systems complexity

� Interoperability� Standardization

� Governance

� Service Distribution � Reusability

Evolution of solutionsEvolution of solutions

ESBESB BPMBPM BRMSBRMS

Exp

erie

nce

/ C

om

ple

xity

Exp

erie

nce

/ C

om

ple

xity

TimeTime

� Enterprise Service Bus

� Business Process Management� Business Rules Management Systems

Many problems to solveMany problems to solve

Page 3: Spagic 3: OSGi Universal Middleware for an effective SOA solution

3www.eng.it

Spagic 3.0 goals

� Principles SOA� Modularization

� Components lifecyclemanagement

� Dynamic Runtime

OSGi objectivesOSGi objectivesSOA objectivesSOA objectives

� Encapsulation

� Loose coupling

� Contract� Reusability

� Composability

� Autonomy

� Optimization � Discoverability

OSGi Universal MiddlewareOSGi Universal Middleware

� Application packaging

� Versioning� Deployment

� Publication

V.3

Page 4: Spagic 3: OSGi Universal Middleware for an effective SOA solution

4www.eng.it

A platform for creating new services

� Life-cycle management

� Monitoring

� Modularization� Reusability

� Versioning

� Standardization

You can create new services that takes advantage of these featuresYou can create new services that takes advantage of these features

Page 5: Spagic 3: OSGi Universal Middleware for an effective SOA solution

5www.eng.it

An infrastructure for Cooperation & Integration

You can “compose” your services using orchestration engines to realizeIntegration processes and cooperation workflows

You can “compose” your services using orchestration engines to realizeIntegration processes and cooperation workflows

The design of processes is done through the BPMN standard :

� Roles separation

� Opportunity to mix automatic and human services � Process Monitoring

Page 6: Spagic 3: OSGi Universal Middleware for an effective SOA solution

6www.eng.it

Architecture

Custom application

CHATDBMS

ETL/DataWarehouse

LegacySystem

eBusiness XML

RSS

SMS & WirelessEDI

ProprietaryMessage

Cooperation with external environmentsCooperation with external environments

Page 7: Spagic 3: OSGi Universal Middleware for an effective SOA solution

8www.eng.it

Governance / design, developer, deploy tool

Lo

gic

al

Lo

gic

al

des

ign

des

ign

Lo

gic

al &

L

og

ical

&

ph

ysic

al

ph

ysic

al

sep

arat

ion

sep

arat

ion

Tec

hn

ical

Tec

hn

ical

Des

ign

Des

ign

Dev

elo

pD

evel

op

Dep

loy

Dep

loy

RulesRules BPELBPEL AssemblyAssemblyWorkflowWorkflow

SpagicMetaDB

deploy

MonitoringMonitoring

MappingMapping

Custom CodeCustom Code

Approach to processesApproach to processesApproach to servicesApproach to services

Service EditorService Editor Form EditorForm Editor(by (by OrbeonOrbeon))

Metadata EditorMetadata Editor Eclipse STPEclipse STP--IMIM

BPMN EditorBPMN Editor

Version ControlVersion Control Multi node deployMulti node deploy

Rules,Policy, config.

Run

time

Info

Page 8: Spagic 3: OSGi Universal Middleware for an effective SOA solution

9www.eng.it

Spagic / SOA & Modularization

SOA requirements realized through modules – Enterprise SOA FrameworkSOA requirements realized through modules – Enterprise SOA Framework

� Reusable components in different environments

� Applications adherent to the SOA paradigm

� Orchestration processes according to the WS/BPEL or workflow standard� Applications based on services composition

� Enterprise SOA Platform, intended as a central node for the integration through ESB

Page 9: Spagic 3: OSGi Universal Middleware for an effective SOA solution

10www.eng.it

Governance

Focused on the efficiency of all involved actors and resources, in order to:

SOA SOA GovernanceGovernanceCapabilitiesCapabilities

RegistryRegistry

ServicesServicesImplementationImplementation

ManagementManagement

Process DefinitionProcess Definition&&

ImplementationImplementation

Deploy Deploy &&

VersioningVersioningMonitoringMonitoring

AdministrationAdministration

DecisionDecisionSupportSupport

Complex EventComplex EventManagementManagement

RulesRulesManagementManagement

� Meet the users’ requirements� Manage the direct and indirect relations within the SOA ecosystem

Page 10: Spagic 3: OSGi Universal Middleware for an effective SOA solution

11www.eng.it

OSGi Universal Middleware

“Software that you write once and can use in binary form universally: in many different platforms, many different industries, and for many different purposes.” Peter Kriens (OSGi evangelist)

“Software that you write once and can use in binary form universally: in many different platforms, many different industries, and for many different purposes.” Peter Kriens (OSGi evangelist)

� Principles SOA

� Modularization� Components lifecycle management

� Dynamic Runtime

OSGiOSGi objectivesobjectives

SpagicSpagic Universal Middleware objectivesUniversal Middleware objectives

Enterprise SOA Framework of components,through which everyone can realize modularand configurable Universal Middlewarecomponents around an OSGi kernel

Page 11: Spagic 3: OSGi Universal Middleware for an effective SOA solution

12www.eng.it

Spagic / dynamic runtime

Enterprise Node

OSGi Service ContainerOSGi Service Container

ESBESB

Lite Node

OSGi Service ContainerOSGi Service Container

Java App. Server

OSGi Service ContainerApp Library

CustomApplication

Node for the management of all applicativecooperation processes through BPM orchestration and message queues (ESB)

Node focused on specific applicative cooperationprocesses.

If used on an exiting application of an Application Server, it offers specific BPM cooperation features and the reuse of available services through Spagic (services and/or connectors).

Different deploy model and dynamic change managementDifferent deploy model and dynamic change management

Page 12: Spagic 3: OSGi Universal Middleware for an effective SOA solution

16www.eng.it

Services Development / SOA Adherence

OSGi BundleOSGi Bundle

Cla

ss li

b (ja

r)

OSGi Manifest

J2EE ApplicationJ2EE ApplicationJ2EE ApplicationF

ront

end

Backend

Cla

ss li

b (ja

r)

Development of a new service (through Eclipse plug-in)

Application module

ImportUtility

� Publishing� Assembly� Orchestration � Governance

WizardCode gen.

Reuse existing Java libraries or classes Wrapper Spagic

Register OSGiRegistry

SpagicSpagic OSGi ServiceOSGi Service

Cla

ss li

b (ja

r)

OSGi Manifest

Mes

sag

e In

terf

ace

(MO

M)

Page 13: Spagic 3: OSGi Universal Middleware for an effective SOA solution

21www.eng.it

Orchestration / Human Activity

� Automatic forms generation starting from the schema of the exchanged data.

� Integration with Orbeon Forms to extend Spagic to the lifecycle management of electronic modules on HTML and PDF formats.

Electronic FormElectronic Form

TaskListTaskList

� Tasks assignment� Integration with BPM policies rules� API availability� Metadata-Activities connection� Module, which can be integrated into existing applications

Form Designer

Web form

PDF form

Page 14: Spagic 3: OSGi Universal Middleware for an effective SOA solution

22www.eng.it

BPM Package / BPEL + OSGi

� BPEL Apache ODE engine, extended for the use of:

� OSGi Spagic connectors

� OSGi Bundles, as rules engine, CEP, Quartz, mail, XSLT, HL7

� Eclipse BPEL Designer, extended for the modulation of OSGi bundles

� BPMN to BPEL, export from BPMN towards half-completed BPEL processes

� Spagic Monitor for BPEL orchestration

Solution for BPEL orchestration on OSGi

Apache ODE (BPEL eng)Apache ODE (BPEL eng)

Spagic Service Manager (Equinox OSGi)

Apache Tomcat

Spagic MonitorSpagic Monitor

Page 15: Spagic 3: OSGi Universal Middleware for an effective SOA solution

23www.eng.it

Enterprise Monitor

DataDataWarehouseWarehouse

MetaDBMetaDB(real time)

� Real time processes, services and information monitoring

� Error management and processes restarting option

� Decision support, through its integration with SpagoBI

MonitoringMonitoring

ManagementManagement

Business IntelligenceBusiness Intelligence

System MonitorSystem Monitor � Events extraction from the system monitor

Page 16: Spagic 3: OSGi Universal Middleware for an effective SOA solution

24www.eng.it

Q & A

[email protected]