spagic3 presentation en
DESCRIPTION
Spagic 3 PresentationTRANSCRIPT
1www.eng.it
Open Source SOA Universal Middleware
Version 3.0
2www.eng.it
� Context: SOA, BPM, Universal Middleware� Spagic 3: technical features� Spagic 3: technical insight� New contexts of use
Summary
3www.eng.it
� SOA� Business Process Management� Universal Middleware
Context
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:
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
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
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
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.
9www.eng.it
� Technical features: � Universal Middleware� Modularization� Governance
Spagic
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
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
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
13www.eng.it
� Technical insight
Spagic
14www.eng.it
Architecture
Custom application
CHATDBMS
ETL/DataWarehouse
LegacySystem
eBusiness XML
RSS
SMS & WirelessEDI
HL7
ProprietaryMessage
CooperationCooperation withwith externalexternal systemssystems
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)
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.
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
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
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
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
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
22www.eng.it
� New contexts of use
Spagic
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).
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
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