Upload
spagoworld
View
1.145
Download
0
Embed Size (px)
DESCRIPTION
The presentation supported the webinar delivered by Antonietta Miele, Spagic Developer, on 28th July 2011, within SpagoWorld Webinar Center. http://www.spagoworld.org/
Citation preview
1www.spagic.org
Beyond the SOA/BPM frontiers Beyond the SOA/BPM frontiers Towards a complete open cooperative environmentTowards a complete open cooperative environment
This presentation has been used during a webinar delivered within SpagoWorld Webinar Center:http://www.spagoworld.org/xwiki/bin/view/SpagoWorld/WebinarCenterVisit it regularly to check the available webinars!
2www.spagic.org
Overview
3www.spagic.org
Application
Back End
Mission / A new pattern for the development of applications
…instead of services thatreference to each other, in different ways
Application
ApplicationApplication
Front End
Business Service
Business Service
Back End
Front End
Business Service
Back End
Front End
Business Service
Business Service
Back End
Front End
Business Service
Business Service
Business Service
4www.spagic.org
Mission / From middleware to Spagic Environment
Business
Business Modelin
g
Modeling and M
anagement
and Management
Integration
Integration//Cooperation
Cooperation Middleware
Middleware
eFormeFormLifecycleLifecycle
BPMBPMmodelingmodeling
Business RulesBusiness Rulesmanagementmanagement
Process & Process & Service Service
managementmanagement
Business Business Activity Activity
monitoringmonitoring
Go
vern
ance
Go
vern
ance
SOA SOA Application Application
(Web(Web--Mobile)Mobile)
Integration Integration ESBESB
Cooperation Cooperation ConnectorsConnectors
BPM/ETL BPM/ETL EngineEngine
5www.spagic.org
Back End
Mission / A new pattern for the development of applications/2
Application
Application
Front End
Application
Front EndFront End
Application
Front End
Business ServiceBusiness Service
Business ServiceBusiness Service
Business ServiceBusiness Service
… a full user-oriented application, which retrieves the information from a business area, accessing it using a common, defined and standardiz ed communication
6www.spagic.org
Overview / ESB – Integration/Cooperation middleware
� SOA middleware for integration and cooperation
� Messaging, dynamic routing and transformation services, provided in a reliable way
� Virtualization of heterogeneous and distributed services
� Middleware layer supporting the communication among distributed and heterogeneous systems
� SOA middleware for integration and cooperation
� Messaging, dynamic routing and transformation services, provided in a reliable way
� Virtualization of heterogeneous and distributed services
� Middleware layer supporting the communication among distributed and heterogeneous systems
Messaging MQ Routing Transformation
Adapters Web ServicesData services
SOA Applications Orchestration
BPMCustom bundes
Custom application
CHATDBMS
ETL/DataWarehouse
LegacySystem
eBusiness XML
RSS
SMS & Wireless
EDI HL7
SOAP JMS
FILE / FTP
Connectors
7www.spagic.org
Overview / Business Modeling and Management
Process ModelingProcess Modeling
� Standard BPMN� Business vision� Technical extension (services, security)
Historical & real-time analysisHistorical & real-time analysis
Metadata &Historical / real-time info
BPM
Connectors
� Different installation models available as� Stand-alone server� Application service
� Independence from BPM Engine
� Full compatible with existing authorization policy (ex. LDAP or DBMS)
BPM EngineBPM Engine
Business
Technical
Tec
hnic
al p
aram
eter
Deploy / tuning
Analysis / tuningBusiness Modeling
8www.spagic.org
Overview / Business Rules Management
� Give more value to business knowledge managing company policy repository� Give more value to business knowledge managing company policy repository
� Using BPM and/or a rule engine inside the system gives more flexibility to and makes easier analysts’ activities.
� Using rules externally, defined by the components, increases the maintainability of the services and improves their adaptability to new business requirements.
Rules in Excel/Openoffice or inside IDE
BPMN process
9www.spagic.org
Overview / BPM - Collaboration Middleware
� Processes composed of collaborative services through the definition of human tasks
� Generation of documents (PDF) and management of their lifecycle within the processes
� User notification by mail, sms, web services …
� Real-time interaction among user, processes and the external system, using web forms or docs (PDF)
� Different use models: � calling a ready-to-use web worklist� API Java e Web Services
� Processes composed of collaborative services through the definition of human tasks
� Generation of documents (PDF) and management of their lifecycle within the processes
� User notification by mail, sms, web services …
� Real-time interaction among user, processes and the external system, using web forms or docs (PDF)
� Different use models: � calling a ready-to-use web worklist� API Java e Web Services
10www.spagic.org
Governance / Monitoring Tools
� Information is available in real-time
� Each piece of information can be involved from different points of view
� Information is available in real-time
� Each piece of information can be involved from different points of view
� Monitoring� Management� Business Intelligence & BAM
11www.spagic.org
Technology Architecture / OSGi overview
Extensions
Execution environment
Modules
Life Cycle
Registry
ServicesS
ecur
ity
OSGi (Open Source Gateway Initiative ) is the technology used to implement the collaboration and management of software modules composing Spagic
OSGi (Open Source Gateway Initiative ) is the technology used to implement the collaboration and management of software modules composing Spagic
� Services and connectors implements the Component Model pattern
� Each component provides services and can refer to other ones
� The dynamic behaviour of services is implemented with OSGi Declarative Services
12www.spagic.org
Technology Architecture / BPM middleware
� BPMN editor as a tool of Process Modeling� Orchestration of internal modules (OSGi Bundles) and external systems (OSGi Connectors)� Deploy and publishing in the BPM engine (JBPM OSGi bundles, Apache ODE BPEL Server)
13www.spagic.org
Technology Architecture / Message Bus & BPM
Normalized Message RouterNormalized Message Router
OSGi Event AdminOSGi Event Admin
Normalized Message Router� is responsible for the communication among the components
� Spagic communication pattern based on xml messages
� Built over OSGi Event Admin Service.
Mes
sag
eB
us
laye
rB
PM
laye
r
14www.spagic.org
Technology Architecture / Monitoring – Management - BAM
� Connector� Service� Process
� Connector� Service� Process
Monitor & ManagementMonitor & Management
� SLA� PKI
BAM
� Networking� Applic.& Web Server� SOA� DBMS
System MonitorBPM
Spagic Universal Middleware
Bundles Eventlistener Spagic JMX
Spagic MetaDB
� Plugin Eclipse� Design� Deploy
� Plugin Eclipse� Design� Deploy
Spagic StudioSpagic Studio
Using a listener (Eclipse Event Admin) all information spread through messages between nodes are collected and shared through monitoring tools.
Optional External SystemsOptional Optional ExternalExternal SystemsSystems
15www.spagic.org
User Interface Processes & Rules Components
Governance / Project Organization
Governance
Governance
User Interface Design
Widget Researchfrom Provisioning Registry
Ajax UI Development
Business LogicUI Development
PublishingProvisioning Registry
Proxy Configuration
Release Application(WAR)
Process Definition(BPMN)
Rules Definition(rules engine)
New ComponentsDesign
New ComponentsDevelopment
Component Researchfrom Provisioning Registry
PublishingConfiguration
Technical CompletionBPMN
PublishingProvisioning Registry
Architect/Developer Architect/DeveloperAnalyst
16www.spagic.org
Technology Architecture / User Services & MVP
Presentation UI
Widget Base Widget composite
Business Logic(user)
Data Access Interface(RPC Client)
Data Access Implementation(RPC Server)
Business Logic(procedure)
Clie
nt
(RIA
)M
idd
lew
are
(Sp
agic
)
VIEW
Presenter
Model
MVP MVP PatternPattern
� Presentation Pattern: from MVC to MVP � Separation between user services (VIEW & PRESENTER) / backend � Open widget libraries (ex. GWT)� Browser Compatibility � Support to W3C ARIA accessibility requirements� Internationalization
17www.spagic.org
WAR - backend servicesWAR WAR -- backend servicesbackend services
Technology Architecture / SOA Application
DBMSData application
DBMSDBMSData Data applicationapplication
Spagic CommandSpagicSpagic CommandCommand
Business logicBusiness Business logiclogic
Spagicpersistence
SpagicSpagicpersistencepersistence
Other Spagicservices
OtherOther SpagicSpagicservicesservices
WAR - User Services App.WAR WAR -- UserUser ServicesServices App.App.
ServletServletServletGWTwidgetGWTGWT
widgetwidget
Spagic ClientSpagicSpagic ClientClient
WAR - User Services App.WAR WAR -- UserUser ServicesServices App.App.
ServletServletServletGWTwidgetGWTGWT
widgetwidget
Spagic ClientSpagicSpagic ClientClient
Spagicconnectors
SpagicSpagicconnectorsconnectors
ApplicationApplication NodeNode (es. (es. JBossJBoss o Apache o Apache TomcatTomcat))
Remote Spagic NodeRemote Remote SpagicSpagic NodeNode
External systemExternal system
JVM
Remote Spagic NodeRemote Remote SpagicSpagic NodeNode
Remote
JPA (Eclipse Link)
Remote
� Definition of a command pattern to implement the business logic� Configurable interaction among the components – Application composition.
� Different front-end layers versus a unique back-end layer� Different deployment models that can be set by configuration
� Monolithic� Enterprise node� In VM
� Different front-end layers versus a unique back-end layer� Different deployment models that can be set by configuration
� Monolithic� Enterprise node� In VM
Business Analysts
18www.spagic.org
Business case / Web Portal for Artistic Heritage
19www.spagic.org
backend servicesbackend servicesbackend services
Business case / Web Portal for Artistic Heritage
DBMSData application
DBMSDBMSData Data applicationapplication
SpagicOrchestration
SpagicSpagicOrchestrationOrchestration
Process(BPMN)ProcessProcess(BPMN)(BPMN)
Spagicpersistence
SpagicSpagicpersistencepersistence
DynamicSearch
DynamicDynamicSearchSearch
Web Portal RIA Web Web PortalPortal RIA RIA
GWTwidgetGWTGWT
widgetwidget
Spagic ClientSpagicSpagic ClientClient
Spagicconnectors
SpagicSpagicconnectorsconnectors
ApplicationApplication NodeNode (es. (es. JBossJBoss o Apache o Apache TomcatTomcat))
External WSExternal WS
JVM
JPA (Eclipse Link)UpgradingLocal DB
UpgradingUpgradingLocalLocal DBDB
DynamicSearch
DynamicDynamicSearchSearchDynamic
SearchDynamicDynamicSearchSearch
UI Developers Service Developers
Business Analysts
20www.spagic.org
Technology Architecture / XaaS
Distinct organization for :� Applications� Integration middleware � Services for governance
CooperationCooperation btwbtw applicationsapplications through ESBthrough ESB
Everything is developed through distributed nodes that provide specialized services:� SaaS Software (front-end & back-end)� PaaS Platform� CaaS Communication
Outsourcing Outsourcing basedbased on on XaaSXaaS patternpattern
A new approach for an innovative designA new approach for an innovative design
21www.spagic.org
Technology Architecture / XaaS - OSGi - Spagic
XaaS (Everything as a Service)
User Services
SaaSSoftware as a Service
PaaSPlatform as a Service
CaaSCommunication as a Service
EclipseEquinox
Eclipse ECF (MQ)
Eclipse P2
EclipseLink
JBossJBPM
JBossDrools
Spagic Service Manager
Spagic BPMApp.bundles Spagic bundles
Spagic Connectors(HTTP, WS, JMS, DB, File, FTP,..)
GWTGWTRichRich Internet Internet ApplicationApplication
22www.spagic.org
• Downloads : http://forge.ow2.org• WebSite : www.spagic.org
For more information...
…thanks for your attention!
Antonietta Miele