spagic3 presentation en

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

Upload: guest76d50b

Post on 10-May-2015

624 views

Category:

Technology


1 download

DESCRIPTION

Spagic 3 Presentation

TRANSCRIPT

Page 1: Spagic3 Presentation En

1www.eng.it

Open Source SOA Universal Middleware

Version 3.0

Page 2: Spagic3 Presentation En

2www.eng.it

� Context: SOA, BPM, Universal Middleware� Spagic 3: technical features� Spagic 3: technical insight� New contexts of use

Summary

Page 3: Spagic3 Presentation En

3www.eng.it

� SOA� Business Process Management� Universal Middleware

Context

Page 4: Spagic3 Presentation En

4www.eng.it

From SOA principles to 3.0 version / SOA projects

� Interoperability – it regulates the integration modes among heterogeneous systems.� Interfaces in terms of protocols and functions - SOA does not define API.

SOA principlesSOA principlesSOA principles

� Encapsulation� Loose coupling� Contract� Reusability� Composability� Autonomy� Optimization� Discoverability

�� EncapsulationEncapsulation�� LooseLoose couplingcoupling�� ContractContract�� ReusabilityReusability�� ComposabilityComposability�� AutonomyAutonomy�� OptimizationOptimization�� DiscoverabilityDiscoverability

User layerUserUser layerlayer

PresentationPresentation

CooperationCooperationSystemSystem

Service layerService Service layerlayer

Web Web ServicesServices

Web Web ServicesServices

Web Web ServicesServices

Business layerBusiness Business layerlayer

Business Business objectobject

Business Business objectobject

Business Business objectobject

Information layerInformation Information layerlayer

RegistryRegistry

SecuritySecurity

DBMSDBMS

Developing projects, which adhere to the SOA paradi gm as for theDeveloping projects, which adhere to the SOA paradi gm as for the following aspects:following aspects:

Page 5: Spagic3 Presentation En

5www.eng.it

From SOA principles to 3.0 version / Criticality

� Design� Development� Governance� Cost control

Criticality related to the increase of cooperation levels :

ESBESB BPMBPM BRMSBRMSE

xper

ienc

eE

xper

ienc

e/ / C

ompl

exity

Com

plex

ity

timetime

Enterprise Model:It evolves over time according to the increase of the complexity and expertise of the involved actors

Enterprise Model:Enterprise Model:It evolves over time according to It evolves over time according to the increase of the complexity and the increase of the complexity and expertise of the involved actorsexpertise of the involved actors

Page 6: Spagic3 Presentation En

6www.eng.it

From SOA principles to 3.0 version / Previous versions

� Coordination of services relations - Enterprise Service Bus (ESB)� Communication protocols – in addition to WS/SOAP protocol� Orchestration - Business Process Management (BPM)

�� Coordination of services relationsCoordination of services relations - Enterprise Service Bus (ESB)�� Communication protocolsCommunication protocols – in addition to WS/SOAP protocol�� OrchestrationOrchestration - Business Process Management (BPM)

MetaDBMetaDB(real time)

ESBNode

BPELBPEL WorkflowWorkflowDataDataInteg.Integ.

ESBnode

CommunicationCommunicationLayerLayer

BPM LayerBPM Layer SOA/ESB LayerSOA/ESB Layer

Studio & MonitoringStudio & Monitoring

GuidelinesGuidelinesGuidelines

Realizzato su ESB Apache ServiceMIX

Page 7: Spagic3 Presentation En

7www.eng.it

From SOA principles to 3.0 version / Current version

�� Projects activitiesProjects activities�� Products consulting serviceProducts consulting service

More flexibility

V.3

Realized on OSGi Eclipse Equinox

Page 8: Spagic3 Presentation En

8www.eng.it

OSGi / Where it is being used

Crucial in different contexts:

� Industry� Telecommunications� Mobile� Finance� Healthcare

� Middleware� Applications / ERP� open source Framework

SolutionsSolutions

Internal projectsInternal projects

IBM, SAP, Oracle/BEA, RedHAT, CISCO, Siemens, Progress, Eclipse, Apache,

Prosyst, Knopflerfish and others

BMW, VOLVO, Bosh, EDF, NOKIA, Motorola, Telecom (various countries),

Vodafone, Telefonica, CISCO and others

Open Service Gateway Initiative : founded in 1999, it defines the open specifications for a life cycle model of modules/services (bundles), registry and for an execution environment.

Page 9: Spagic3 Presentation En

9www.eng.it

� Technical features: � Universal Middleware� Modularization� Governance

Spagic

Page 10: Spagic3 Presentation En

10www.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)

� Reusability

� Dependences management

� Components life-cycle management

OSGiOSGi objectivesobjectives

SpagicSpagic Universal Middleware objectivesUniversal Middleware objectives

Enterprise SOA Framework of components, through which everyone can realize modular and configurable Universal Middleware components around an OSGi kernel

Page 11: Spagic3 Presentation En

11www.eng.it

Modularization

Enterprise SOA Enterprise SOA PlatformPlatform

ConnectorsConnectorsRoutingRouting

MOMMOM

BRMSBRMS

ServicesServices ManagerManager CEPCEP

SPAGICSPAGIC

SOA SOA ApplicationApplication

ComponentsComponents OrchestrationOrchestration

CompositeCompositeApplicationApplication

SOA requirements realized through Spagic 3 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 12: Spagic3 Presentation En

12www.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 13: Spagic3 Presentation En

13www.eng.it

� Technical insight

Spagic

Page 14: Spagic3 Presentation En

14www.eng.it

Architecture

Custom application

CHATDBMS

ETL/DataWarehouse

LegacySystem

eBusiness XML

RSS

SMS & WirelessEDI

HL7

ProprietaryMessage

CooperationCooperation withwith externalexternal systemssystems

Page 15: Spagic3 Presentation En

15www.eng.it

Middleware

Extensions

Execution environment

Modules

Life Cycle

Registry

Services

Sec

urity

Realized on OSGi technology for the modular management of bundles and for the realization of gateways for applicative cooperation.

Realized on OSGi technology for the modular management of bundles and for the realization of gateways for applicative cooperation.

FundamentalFundamental LayerLayer

� Execution Environment – for the execution of the entire middleware

� Modules – for modularity and dynamism� Life Cycle – management of services lifecycle� Registry – services census and research� Services – services container� Security – services for security management

ExtensionsExtensions : thanks to modules (bundles), the middleware can be adapted to various contexts.

� Enterprise bundle: ESB, J2EE, TP Monitor, etc� Connectors bundle : WS/SOAP, JMS, TCPIP, SAP, JDBC, File/FTP, Mail, etc� Custom bundle : specific applicative and technological services (scheduler, scripting,

transcoding, etc)

Page 16: Spagic3 Presentation En

16www.eng.it

Life Cycle Management

It introduces new dynamics into an application envi ronment.It introduces new dynamics into an application envi ronment.

INSTALLED

RESOLVED

UNINSTALLED

START

ACTIVE

STOP

Start

Stop

The proper functioning of the environment is ensured by:

� dependence management processes � the security architecture.

Page 17: Spagic3 Presentation En

17www.eng.it

Code Reuse towards SOA

OSGi BundleOSGi Bundle

Cla

sslib

(jar)

OSGi Manifest

J2EE ApplicationJ2EE ApplicationJ2EE Application

Fro

nten

d

Backend

Cla

sslib

(jar)

Existing application

with a reusable business logic

Components which exploit

OSGi features (lifecycle,

registry, security)

ImportUtility

Spagic OSGiSpagic OSGiServiceService

Cla

sslib

(jar)

OSGiManifest

Spagic wrapperrealizationMOM interface, allowing the usage of:

� Spagic Service Editor� Publishing (connectors)� Assembly� CEP� Spagic BPM� Spagic Monitor

Page 18: Spagic3 Presentation En

18www.eng.it

Business Process Management

� It works as a connector among different SOA platforms

� It supports editors’ interoperability

BPMNBPMNEditorEditor

BXModelerEditor

…………EditorEditor

Analytics

Analytics

SCASCApluginplugin

SpringSpringpluginplugin

ETLETLpluginplugin

TalendTalendOpen St.Open St.

SCASCAEditorEditor

SCASCAContainerContainer

J2EEJ2EEContainerContainer

BPELBPELEngineEngine

JBPMJBPMEngineEngine

J2EE/JBIJ2EE/JBIContainerContainer

Service Service AssemblyAssembly

componentcomponent

Third parties

Third parties

MetaDBMetaDB

Spagic StudioSpagic Studio EnterpriseEnterpriseMonitorMonitor

Eclipse Modeling Framework

Meta M

odelM

eta Model

EclipseEclipseBPEL editorBPEL editor

BPELBPELpluginplugin

Drools FlowDrools Flowpluginplugin

WorkflowWorkflowpluginplugin

Page 19: Spagic3 Presentation En

19www.eng.it

TaskList & eForm

Electronic FormElectronic Form

TaskListTaskList

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

� Forms generation� Possible Integration with Orbeon Forms Builder

Page 20: Spagic3 Presentation En

20www.eng.it

Design Develop Test Deploy

Logi

cal

Logi

cal

desi

gnde

sign

Logi

cal &

Lo

gica

l &

phys

ical

ph

ysic

al

sepa

ratio

nse

para

tion

Tec

hnic

alT

echn

ical

Des

ign

Des

ign

Dev

elop

Dev

elop

&&T

est

Tes

t

RulesRules BPELBPEL AssemblyAssemblyWorkflowWorkflow

Testing procedureTesting procedure

SpagicMetaDB

Rules,policy

deploydeploy

deploydeploy

MonitoringMonitoring

MappingMapping

Custom CodeCustom Code

Stress & Regression Test

Stress & Regression Test

ApproachApproach toto ProcessesProcessesApproachApproach toto ServicesServices

Service EditorService Editor Form EditorForm Editor

Metadata EditorMetadata Editor Eclipse STPEclipse STP --IMIM

BPMN EditorBPMN Editor

Page 21: Spagic3 Presentation En

21www.eng.it

Enterprise Monitor

DataDataWarehouseWarehouse

MetaDBMetaDB(real time)

� Real time processes, services and information monitoring

� Error management and processes restarting option

� Decisions support through integration with SpagoBI

MonitoringMonitoring

ManagementManagement

Business IntelligenceBusiness Intelligence

System MonitorSystem Monitor � Events extraction from the system monitor

Page 22: Spagic3 Presentation En

22www.eng.it

� New contexts of use

Spagic

Page 23: Spagic3 Presentation En

23www.eng.it

Deployment model

Enterprise Node

OSGiOSGi Service ContainerService Container

ESBESB

Lite Node

OSGiOSGi Service ContainerService Container

Java App. Server

OSGi Service ContainerApp Library

CustomApplication

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

Node focused on specific applicative cooperation processes.

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).

Page 24: Spagic3 Presentation En

24www.eng.it

New services / Service Assembly

� The service is realizable through dynamic assembly rules for each single component.� Rules are complex and hardly maintainable without any support tools.� A solution (or product) can be extended through modules.

� Less development costs� Less maintenance costs� Reusability: applications sharing� Increased business users’ involvement

RulesRules

� Atomicity� Routing (when / then)� Declarative (not procedural)� Close to the domain

BenefitsBenefits

Business service through applicative composition, in the following cases:

StartCheckamount

CheckCustomer

Create Error msg

CheckAvailability Warehouse

order

Supplier’sorder Create order

msg okavailability

End

ERPERP BPMBPM

ok

error

error

no

yes

ok

Page 25: Spagic3 Presentation En

25www.eng.it

BPM Package / BPEL + OSGi

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

� Spagic connectors

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

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

� 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)

SpagicSpagic Service Manager (Equinox Service Manager (Equinox OSGiOSGi))

Apache Tomcat

Spagic MonitorSpagic Monitor