Version 3.0 of the Open Source SOA Universal Middleware called Spagic provides a modular and configurable framework built on an OSGi kernel. It supports reusable components, service orchestration, and composite application development adhering to SOA principles. The new version offers more flexibility and is realized fully on OSGi Eclipse Equinox. Spagic provides technical features like universal middleware capabilities, modular components, and governance functions.
Handwritten Text Recognition for manuscripts and early printed texts
Open Source SOA Universal Middleware Technical Insight
1. Version 3.0
Open Source SOA Universal Middleware
1
www.eng.it
2. Summary
Context: SOA, BPM, Universal Middleware
Spagic 3: technical features
Spagic 3: technical insight
New contexts of use
2
www.eng.it
3. Context
SOA
Business Process Management
Universal Middleware
3
www.eng.it
4. From SOA principles to 3.0 version / SOA projects
SOA principles User layer Service layer Business layer Information layer
SOA principles User layer Service layer Business layer Information layer
Encapsulation
Encapsulation
Loose coupling Web Services Business object Registry
Loose coupling Presentation
Contract
Contract
Reusability Web Services Business object Security
Reusability
Composability
Composability Cooperation
Autonomy System Web Services Business object DBMS
Autonomy
Optimization
Optimization
Discoverability
Discoverability
Developing projects, which adhere to the SOA paradigm as for the following aspects:
Interoperability – it regulates the integration modes among heterogeneous systems.
Interfaces in terms of protocols and functions - SOA does not define API.
4
www.eng.it
5. From SOA principles to 3.0 version / Criticality
Criticality related to the increase of cooperation levels:
Design
Development
Governance
Cost control
Enterprise Model:
Enterprise Model:
Experience / Complexity
ItItevolves over time according to
evolves over time according to
the increase of the complexity and
the increase of the complexity and
expertise of the involved actors
expertise of the involved actors
ESB BPM BRMS
time
5
www.eng.it
6. From SOA principles to 3.0 version / Previous versions
Coordination of services relations - -Enterprise Service Bus (ESB)
Coordination of services relations Enterprise Service Bus (ESB)
Guidelines Communication protocols ––in addition to WS/SOAP protocol
Communication protocols in addition to WS/SOAP protocol
Guidelines
Orchestration - -Business Process Management (BPM)
Orchestration Business Process Management (BPM)
Studio & Monitoring
Studio & Monitoring
ESB BPEL Data ESB Communication
MetaDB Workflow
Node Integ. node Layer
(real time)
BPM Layer SOA/ESB Layer
Realizzato su ESB Apache ServiceMIX
6
www.eng.it
7. From SOA principles to 3.0 version / Current version
Projects activities
Products consulting service
More flexibility
V.3
Realized on OSGi Eclipse Equinox
7
www.eng.it
8. OSGi / Where it is being used
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.
Crucial in different contexts:
Solutions
Solutions
IBM, SAP, Oracle/BEA, RedHAT, CISCO,
Middleware Siemens, Progress, Eclipse, Apache,
Applications / ERP Prosyst, Knopflerfish and others
open source Framework
Internal projects
Internal projects
Industry BMW, VOLVO, Bosh, EDF, NOKIA,
Telecommunications Motorola, Telecom (various countries),
Mobile Vodafone, Telefonica, CISCO and others
Finance
Healthcare
8
www.eng.it
10. OSGi Universal Middleware
“Software that you write once and can use in binary form universally: in many different
“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)
platforms, many different industries, and for many different purposes.” Peter Kriens (OSGi evangelist)
OSGi objectives
Reusability
Dependences management
Components life-cycle management
Spagic Universal Middleware objectives
Enterprise SOA Framework of components,
through which everyone can realize modular
and configurable Universal Middleware
components around an OSGi kernel
10
www.eng.it
11. Modularization
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
Components Orchestration
SPAGIC
Composite
SOA Application
Application
Enterprise SOA Platform
Routing Connectors BRMS
MOM Services Manager CEP
11
www.eng.it
12. Governance
Focused on the efficiency of all involved actors and resources, in order to:
meet the users’ requirements
manage the direct and indirect relations within the SOA ecosystem
Services
Implementation Administration
Registry Management
Deploy
& SOA
Monitoring
Versioning Governance
Capabilities
Process Definition
& Decision
Implementation Support
Complex Event Rules
Management Management
12
www.eng.it
14. Architecture
Cooperation with external systems
Proprietary
Message
ETL/Data Custom
EDI Warehouse application SMS & Wireless
eBusiness
HL7
XML Legacy
System CHAT RSS
DBMS
14
www.eng.it
15. Middleware
Realized on OSGi technology for the modular management of bundles and for the
Realized on OSGi technology for the modular management of bundles and for the
realization of gateways for applicative cooperation.
realization of gateways for applicative cooperation.
Extensions
Fundamental Layer
Execution Environment – for the execution of the entire
Security
Services
middleware
Registry Modules – for modularity and dynamism
Life Cycle Life Cycle – management of services lifecycle
Modules Registry – services census and research
Execution environment Services – services container
Security – services for security management
Extensions: thanks to modules (bundles), the middleware can be adapted to various
Extensions
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)
15
www.eng.it
16. Life Cycle Management
It introduces new dynamics into an application environment.
INSTALLED START
Start
RESOLVED ACTIVE
Stop
UNINSTALLED STOP
The proper functioning of the environment is ensured by:
dependence management processes
the security architecture.
16
www.eng.it
17. Code Reuse towards SOA
J2EE Application
J2EE Application OSGi Bundle
Backend
Class lib (jar)
Class lib (jar)
Components
Frontend
Existing
application Import which exploit
OSGi features
with a reusable Utility (lifecycle,
business logic
registry, security)
OSGi Manifest
Spagic OSGi
Service Spagic wrapper
MOM interface, allowing the usage of:
realization
Class lib (jar)
Spagic Service Editor
Publishing (connectors)
Assembly
CEP
Spagic BPM OSGi
Spagic Monitor Manifest
17
www.eng.it
18. Business Process Management
It works as a connector among different SOA platforms
It supports editors’ interoperability
Analytics
Analytics
BPMN BXModeler ……
Editor Editor Editor
Spagic Studio Enterprise
Monitor
Meta Model
Meta Model
MetaDB
Eclipse Modeling Framework
SCA Spring ETL Workflow BPEL Drools Flow
plugin plugin plugin plugin plugin plugin
Third parties
Third parties
SCA Talend
Eclipse
Editor Open St. BPEL editor
Service
SCA J2EE J2EE/JBI JBPM BPEL
Assembly
Container Container Container Engine Engine
component
18
www.eng.it
19. TaskList & eForm
TaskList
Tasks assignment
Integration with BPM policies rules
API availability
Module, which can be integrated into
existing applications
Metadata-Activities connection
Automatic form publishing
Electronic Form
Forms generation
Possible Integration with Orbeon Forms Builder
19
www.eng.it
20. Design Develop Test Deploy
Approach to Services Approach to Processes
Logical
design
Monitoring
Service Editor Form Editor BPMN Editor
Rules, Spagic
policy MetaDB
separation
Logical &
physical
deploy
Metadata Editor Eclipse STP-IM
STP-
deploy
Technical
Design
Rules Mapping Workflow BPEL Assembly
t
es
nT
s io
res
eg
&R
ss
tre
Develop
S
Test
&
Custom Code Testing procedure
20
www.eng.it
21. Enterprise Monitor
Monitoring Real time processes, services and information monitoring
Management Error management and processes restarting option
System Monitor Events extraction from the system monitor
Business Intelligence Decisions support through integration with SpagoBI
MetaDB
(real time)
Data
Warehouse
21
www.eng.it
23. Deployment model
Enterprise Node
ESB ESB Node for the management of all applicative
cooperation processes through BPM orchestration
OSGi Service Container and message queues (ESB)
Lite Node
Node focused on specific applicative cooperation
OSGi Service Container processes.
Java App. Server
Custom On an exiting application of an Application Server, it
Application offers specific BPM cooperation features and the
reuse of available services through Spagic (services
App Library OSGi Service Container
and/or connectors).
23
www.eng.it
24. New services / Service Assembly
Business service through applicative composition, in the following cases:
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.
ERP BPM
Supplier’s
no
ok order Create order
Check ok Check Check
Start availability
msg ok
amount Customer Availability Warehouse
yes
error order
error
Create
End
Error msg
Rules
Rules Benefits
Benefits
Atomicity Less development costs
Routing (when / then) Less maintenance costs
Declarative (not procedural) Reusability: applications sharing
Close to the domain Increased business users’ involvement
24
www.eng.it
25. BPM Package / BPEL + OSGi
Solution for BPEL orchestration on OSGi
Apache ODE (BPEL eng)
Apache ODE (BPEL eng) Spagic Monitor
Spagic Monitor
Spagic Service Manager (Equinox OSGi)
OSGi)
Apache Tomcat
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
25
www.eng.it