Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
1www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
The open and flexible middleware solution realized and managed by Engineering Groupwww.eng.it
The open and flexible middleware solution realized and managed by Engineering Groupwww.eng.it
2www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
� Objectives
� Overview
� Governance
� Architecture
The universal middleware for the development of ext ensible SOA/BPM solutions and the governance of services
3www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Objectives
� Play an active role in transformation and innovation pro cesses .
� Supporting a constantly evolving ecosystem of flexible applicatio n services.
Technlogical view
Open source solution supporting the realization of various types of distributed middleware:Open source solution supporting the realization of various types of distributed middleware:
� Integration
� Orchestration
� Modular applications
� Container of innovative services.
� Integration
� Orchestration
� Modular applications
� Container of innovative services.
� Innovation – a business opportunity rather than a technological interest
� Change – improving the existing code and fostering innovation:
� The existing applications will grow through the integration of new services
� The new code will be more widely integrated into consolidated applications.
Business view
4www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Overview / Universal Middleware
� Core components (service bundles) for the integration and management of services; for the definition of business rules and the realization of application modules in SOA architectures.
� By parametrizing each component, the solution gains a considerable modularity , allowing to meet even the most complex requirements.
� Core components (service bundles) for the integration and management of services; for the definition of business rules and the realization of application modules in SOA architectures.
� By parametrizing each component, the solution gains a considerable modularity , allowing to meet even the most complex requirements.
Integration ProcessesProcesses
Innovation / reuse(Future Internet – mobile)
Management& Intelligence
Adaptable Middleware ServicesAdaptable Middleware Services
IT & Businessgoals
Universal Universal MiddlewareMiddleware
IntegrationIntegrationESBESB
CooperationCooperationConnectorsConnectors
OrchestrationOrchestrationCollaborationCollaboration
BPMBPM
eFormeForm LifecycleLifecyclePDFPDF
Business RulesBusiness Rulesmanagementmanagement
SOA ApplicationSOA Application(Web (Web –– Mobile)Mobile)
GovernanceGovernance
Design Design & develop.& develop.Tools IDETools IDE
Process Process & services& services
managementmanagement
Business Business ActivityActivitymonitormonitor
5www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Overview / Integration middleware (ESB)
� It acts as a SOA dorsal enabling the integration and cooperation of applications, providing messaging, routing and transformation services, in a consistent and secure way.
� It allows advanced users to define a homogeneous solution for the virtualization of heterogeneous and decentralized services.
� It acts as a SOA dorsal enabling the integration and cooperation of applications, providing messaging, routing and transformation services, in a consistent and secure way.
� It allows advanced users to define a homogeneous solution for the virtualization of heterogeneous and decentralized services.
� Service-oriented middleware
� Abstraction / Collaboration patterns
� It can be combined with orchestration
� Governance
Enterprise Service Bus
Messaging MQ
ConnectorsConnectors
Routing Transformation
Adapters Web ServicesData services
SOA applications Orchestration
BPMCustom bundes
6www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Overview / Cooperation middleware (connectors)
� Middleware layer for the communication among distributed and heterogeneous systems, adherent to different security and reliability specifications.
� Various use modalities: � within an application architecture (even an existing one)� as communication services and wrapper supporting the ESB / BPM middleware
� Middleware layer for the communication among distributed and heterogeneous systems, adherent to different security and reliability specifications.
� Various use modalities: � within an application architecture (even an existing one)� as communication services and wrapper supporting the ESB / BPM middleware
Custom application
CHATDBMS
ETL/DataWarehouse
LegacySystem
eBusiness XML
RSS
SMS & Wireless
EDI HL7
ApplicationOrchestrationBPM
IntegrationESB
SOAP JMS
FILE / FTP
7www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Overview / Orchestration Middleware (BPM)
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
� Various installation modalities � as a stand-alone server� as an application service
� independent from the BPM Engine
� use of existing authorization policies (i.e. LDAP or DBMS)
BPM EngineBPM Engine
Business
Technical
Tec
hnic
al p
aram
eter
Deploy / tuning
Analysis / tuningBusiness Modeling
8www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Overview / Collaboration Middleware (BPM)
� Real-time iteration between users/processes and external systems
� Iteration through web forms and/or PDF documents
� Definition of processes, allowing the management of collaborative services through human tasks
� User Notifications by e-mail, sms, web services…
� Various use modalities: � web worklists, which can be recalled by any web application � API Java and Web Services
� Definition of processes, allowing the management of collaborative services through human tasks
� User Notifications by e-mail, sms, web services…
� Various use modalities: � web worklists, which can be recalled by any web application � API Java and Web Services
9www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Overview / eForm lifecycle middleware
� Creation of forms
� Integration of forms with external document management systems
� Status management through specific business components (i.e. digital signature, certified electronic mail)
� Automatic generation of documents (also in PDF) and management of their entire life-cycle through processes
� Automatic generation of documents (also in PDF) and management of their entire life-cycle through processes
Mapping & Creation
10www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Overview / Business Rules Management
� More value to business knowledge and management of a company policy repository.� More value to business knowledge and management of a company policy repository.
� The use of a system based on BPM and of a rule engine does not increase the system complexity: it provides it with more flexibility and makes analysts’ activities easier.
� The use of rules that are externally defined by the application components facilitates the maintenance and adaptability of the services to new business requirements
Rules defined using Excel/OpenOffice or within the IDE
BPMN process
11www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Overview / SOA Application middleware
The Web is no longer a collection of static pages of HTML that describe something in the world. Increasingly, the Web is the world – everything and everyone in the world casts an "information shadow," an aura of data which, when captured and processed intelligently, offers extraordinary opportunity and mind bending implications. (O’Reilly & Battele, 2009)
The Web is no longer a collection of static pages of HTML that describe something in the world. Increasingly, the Web is the world – everything and everyone in the world casts an "information shadow," an aura of data which, when captured and processed intelligently, offers extraordinary opportunity and mind bending implications. (O’Reilly & Battele, 2009)
…. From the Internet of things (IoT), a neologism referring to the extension of the internet to the world of objects and to the user-object interaction model.
� Virtualization of information systems – No longer just hierarchical information structures. Each service is considered as an application made of data to be exported, integrated and shared.
� Mashup of user services – It supports the integration of all functionalities within a service, instead of using simple links to services suppliers, as happened with the “2.0” applications.
� Independence from devices – An application/a service must exploit at best the device on which it is installed: geo-referencing, camera/barcodes, resources (i.e. address book, documents, photos).
� User-system interaction, based on the models used b y the best-known social networks .
The challenge consists in realizing a solution that implements:The challenge consists in realizing a solution that implements:
12www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
User Interface Processes & Rules Components
Governance / Projects definition
Governance
Governance
User Interface Design
Widget Research from 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
13www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Governance / Relationship among the involved actors
GOVERNANCE PORTAL
SERVICES GOVERNANCE
INFRASTRCTURE GOVERNANCE
SECURITY GOVERNANCE
KNOWLEDGE MANAGEMENT
APPLICATION GOVERNANCE
ADMINISTRATIVE GOVERNANCE
PM
SERVICE CONTRACT MANAGER
OPERATIONAL STAFF
SERVICE/APPLICATION USERS
CLIENT REFERENCE PERSON
14www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Governance / Tools
� Tools supporting the efficiency of all the involved actors.� Tools supporting the efficiency of all the involved actors.
Registry
ServicesImplementation
Process Definition& Implementation
Deploy & Versioning
RulesManagement
Tools IDETools IDE
Management
Monitoring
Administration
JMX
Web consoleWeb console
Metadata &Historical / real time info
Metadata &Historical / real time info
MiddlewareMiddleware
� Analysts� Architects� Developers� Managers
15www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Governance / Monitoring & Management
� The information is available in real-time
� The information can be used from different points of view
� The information is available in real-time
� The information can be used from different points of view
� Monitoring� Management� Business Intelligence & BAM
16www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Governance / Monitoring & Management
� Real-time evaluation of the process and service lifecycle
� Search for a service/process, also using relevant applicative information
� Navigation through correlated activities� Visualization of interchangeable data (messages, documents)
� Errors management, also allowing to re-execute a blocked service or process.
17www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Governance / BI & Business Activity Monitor
� Definition of one’s own KPIs
� Dynamic graphs
� Reports
� Drill-Down and Drill-Up� Filters
� Aggregated documents
It allows to share information with Business Intelligence systems, in order to quickly get dashboards monitoring one’s own operational and business indicators, even in real-time.
It allows to share information with Business Intelligence systems, in order to quickly get dashboards monitoring one’s own operational and business indicators, even in real-time.
Spagic MetaDB data schema, shared with eBAM / SpagoBI
18www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Architecture
19www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Architecture / XaaS reference model
Clear organizational separation of:� Applications� Integration infrastructure � Specific governance services
From the applications cooperation through ESBFrom the applications cooperation through ESB
Everything is based on distributed nodes to provide specialized services:� SaaS Software (front-end & back-end)� PaaS Platform� CaaS Communication
ToTo the outsourcing the outsourcing basedbased on the on the XaaSXaaS patternpattern
A new approach for innovative modelsA new approach for innovative models
Cross GovernanceCross Governance
20www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Architecture / 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)
� Adherence to SOA
� Modularization� Management of components life-cycle
� Dynamic runtime
OSGiOSGi ObjectivesObjectives
SpagicSpagic Universal Universal MiddlewareMiddleware ObjectivesObjectives
Enterprise SOA Framework made of components allowing to realize a modular and configurable Universal Middleware around an OSGi kernel
OSGi Eclipse Equinox
21www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Architecture / OSGi overview
� Execution Environment – middleware execution� Modules – software modularity and dynamicity� Life Cycle – service lifecycle management� Registry – service registry and search� Services – service container� Security – security management services
Extensions
Execution environment
Modules
Life Cycle
Registry
ServicesS
ecur
ity
OSGi technology supports the dynamic management of bundles for the realization of modular application services.
OSGi technology supports the dynamic management of bundles for the realization of modular application services.
FundamentalFundamental LayerLayer
22www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Architecture / Component Model
� Services, connectors and modules are implemented into the Component Model pattern
� Each component can provide new services while referencing other ones
� The dynamic behaviour of the components is guaranteed by the OSGi Declarative Services.
23www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Architecture / OSGi bundles development – reuse – deploy
Config
Publishing rules
Deploy
Implements
Spagic Interface
Jar Library Transformation
OSGi Bundles
Develop new
component
Spagic Bundles
Spagic MetaDB
Registration
Spagic Service
Manager...
New
Requirement
Reusing Jar Library
Supported by Eclipse Visual Tools
24www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Architecture / Message Bus and distributed nodes
� Services interact with each other through messages
25www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Architecture / Message Bus and distributed nodes
� ECF Distributed EventAdmin Service : Eclipse project supporting the communication among services distributed on different nodes
26www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Architecture / Message Bus & BPM
Normalized Message RouterNormalized Message Router
OSGi Event AdminOSGi Event Admin
Normalized Message Router
� it manages the exchange ofmessages among components.
� it is internally based on the OSGiEvent Admin Service Communication.
Mes
sag
eB
us
laye
rB
PM
laye
r
27www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Eclipse Business Process Management for OSGi
Architecture / BPM middleware
� BPMN2 modelling� Orchestration of application modules (OSGi Bundles) and external systems (OSGi Connectors)� Deployment on BPM engine (JBPM OSGi bundles, Apache ODE BPEL Server)
www.eclipse.org/ebpm
28www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
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 PatterPatter
� Presentation Pattern: from MVC to MVP � Clear separation of user services (VIEW & PRESENTER) and backend services � Widget libraries (i.e. GWT)� High browser compatibility� Support to W3C ARIA accessibility specifications� Support to internationalization
29www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Technology architecture / SOA Application
DBMSData application
DBMSDBMSData Data applicationapplication
WAR - backend servicesWAR WAR -- backend servicesbackend services
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
� It implements the business logic through command patterns.� Configuration of the interaction with the other components – Application Composition.
� Separation between the front-end and the sole backend layer � We can switch from a remote modality to a VM one without modifying the code� Separation between the front-end and the sole backend layer � We can switch from a remote modality to a VM one without modifying the code
30www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Technology architecture / Business Rules management
It defines the set of “concepts” (entity, property, relations) of a specific domain (rule), supporting the requirements of flexibility and modularity of SOA applications and BPM processes.
Definition of rules supported by a specialized editor or by tables on a spreadsheet (Excel or OpenOffice).
Meta model
Meta information
Type
Parameters
Constraints
Documents
Rule
BRMS(rules)
DocumentalRepository
31www.spagic.org Creative Commons Attribution-Share Alike 3.0 Unported License
Technology architecture / Monitoring – Management - BAM
� Connector� Service� Process
� Connector� Service� Process
Monitor & ManagementMonitor & Management
� SLA� PKI
BAM
� Networking� Applic.& Web Server� SO� DBMS
System MonitorBPM
Spagic Universal Middleware
Bundles Eventlistener Spagic JMX
Spagic MetaDB
� Plugin Eclipse� Design� Deploy
� Plugin Eclipse� Design� Deploy
Spagic StudioSpagic Studio
A listener (Eclipse Event Admin) allows to gather the information that are produced by the middleware nodes and afterwards shared among the monitoring tools.
Optional External SystemsOptional Optional ExternalExternal SystemsSystems