Beyond the SOA/BPM frontiers Towards 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/webinarcenter Visit it regularly to check the available webinars! 1
Overview 2
Mission / A new pattern for the development of applications Application Application Front End Back End Front End Back End instead of services that reference to each other, in different ways Application Front End Back End Application Front End Back End 3
Mission / From middleware to Spagic Environment eform Lifecycle Business Rules management BPM modeling SOA Application (Web-Mobile) Business Business Modeling Modelingand Management Management Governance BPM/ETL Engine Integration ESB Process & Service management Business Activity monitoring Integration/Cooperation Middleware Cooperation Connectors 4
Mission / A new pattern for the development of applications/2 Application Front End Application Front End Back End Application Front End Application Front End a full user-oriented application, which retrieves the information from a business area, accessing it using a common, defined and standardized communication 5
Overview / ESB Integration/Cooperation middleware SOA SOA middleware middleware for for integration integration and and cooperation cooperation Messaging, Messaging, dynamic dynamic routing routing and and transformation transformation services, services, provided provided in in a reliable reliable way way Virtualization Virtualization of of heterogeneous heterogeneous and and distributed distributed services services Middleware Middleware layer layer supporting supporting the the communication communication among amongdistributed and and heterogeneous heterogeneous systems systems SOA Applications Orchestration Custom bundes BPM Messaging MQ Routing Transformation Data services Adapters Web Services Connectors SOAP JMS ebusiness XML EDI HL7 FILE / FTP Legacy System ETL/Data Warehouse DBMS Custom application SMS & Wireless CHAT RSS 6
Overview / Business Modeling and Management Business Modeling Analysis / tuning Business Technical parameter Process Modeling Standard BPMN Business vision Technical extension (services, security) Connectors Historical & real-time analysis BPM Engine Technical Deploy / tuning BPM Different installation models available as Stand-alone server Application service Independence from BPM Engine Metadata & Historical / real-time info Full compatible with existing authorization policy (ex. LDAP or DBMS) 7
Overview / Business Rules Management Give Give more more value value to to business businessknowledge knowledgemanaging company company policy policy repository repository BPMN process Rules in Excel/Openoffice or inside IDE 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. 8
Overview / BPM - Collaboration Middleware Processes Processes composed composed of ofcollaborative services services through through the the definition definition of of human human tasks tasks Generation Generation of of documents documents (PDF) (PDF) and and management management of of their their lifecycle lifecycle within within the the processes processes User User notification notificationby by mail, mail, sms, sms, web web services services Real-time Real-time interaction interaction among among user, user, processes processes and and the the external external system, system, using using web web forms forms or or docs docs (PDF) (PDF) Different Different use use models: models: calling calling a ready-to-use ready-to-use web web worklist worklist API API Java Java e Web Web Services Services 9
Governance / Monitoring Tools Information Information is is available available in in real-time real-time Each Each piece piece of of information information can can be be involved involved from from different different points points of of view view Monitoring Management Business Intelligence & BAM 10
Technology Architecture / OSGi overview OSGi OSGi (Open (Open Source Source Gateway Gateway Initiative Initiative )) is is the the technology technology used used to to implement implement the the collaboration collaboration and and management management of of software software modules modules composing composing Spagic Spagic Extensions Services Registry Life Cycle Modules Security Execution environment 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 11
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) 12
Technology Architecture / Message Bus & BPM Message Bus layer BPM layer Normalized Message Router Router OSGi OSGi Event EventAdmin Normalized Message Router is responsible for the communication among the components Spagic communication pattern based on xml messages Built over OSGi Event Admin Service. 13
Technology Architecture / Monitoring Management - BAM Spagic Studio Spagic Studio Monitor & Management Monitor & Management Plugin Plugin Eclipse Eclipse Design Design Deploy Deploy BPM Connector Connector Service Service Process Process Spagic Universal Middleware Bundles Event listener Spagic MetaDB Spagic JMX SLA PKI BAM Optional External Systems System Monitor Using a listener (Eclipse Event Admin) all information spread through messages between nodes are collected and shared through monitoring tools. Networking Applic.& Web Server SOA DBMS 14
Governance / Project Organization User Interface Processes & Rules Components Architect/Developer Analyst Architect/Developer User Interface Design Widget Research from Provisioning Registry Ajax UI Development Business Logic UI Development New Components Design Component Research from Provisioning Registry New Components Development Publishing Configuration Governance Governance Publishing Provisioning Registry Proxy Configuration Release Application (WAR) Process Definition (BPMN) Rules Definition (rules engine) Technical Completion BPMN Publishing Provisioning Registry 15
Technology Architecture / User Services & MVP 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 MVP Pattern Presentation UI VIEW Widget Base Widget composite Presenter Business Logic (user) Data Access Interface (RPC Client) Client (RIA) Model Data Access Implementation (RPC Server) Business Logic (procedure) Middleware (Spagic) 16
Technology Architecture / SOA Application Definition of a command pattern to implement the business logic Configurable interaction among the components Application composition. Application Node (es. JBoss o Apache Tomcat) WAR - User Services App. GWT widget Spagic Client Servlet WAR - backend services Spagic Command JVM Business logic Remote Business Analysts Remote Spagic Node WAR - User Services App. GWT widget Spagic Client Servlet Other Spagic Spagic services connectors Spagic persistence JPA (Eclipse Link) External system DBMS Data application Remote Remote Spagic Node Different front-end layers versus a unique back-end layer Different deployment models that can be set by configuration Monolithic Enterprise node In VM 17
Business case / Web Portal for Artistic Heritage 18
Business case / Web Portal for Artistic Heritage Application Node (es. JBoss o Apache Tomcat) Web Portal RIA GWT widget Spagic Client backend services JVM Spagic Orchestration Process (BPMN) Business Analysts Dynamic Dynamic Search Dynamic Search Search Spagic connectors External WS Upgrading Local DB Spagic persistence JPA (Eclipse Link) DBMS Data application UI Developers Service Developers 19
Technology Architecture / XaaS A new new approach approachfor foran aninnovative design design Cooperation btw applications through ESB Distinct organization for : Applications Integration middleware Services for governance Outsourcing based on XaaS pattern Everything is developed through distributed nodes that provide specialized services: SaaS PaaS CaaS Software (front-end & back-end) Platform Communication 20
Technology Architecture / XaaS - OSGi - Spagic XaaS (Everything as a Service) User Services GWT Rich Internet Application CaaS Communication as a Service Spagic Connectors (HTTP, WS, JMS, DB, File, FTP,..) SaaS Software as a Service App.bundles Spagic BPM Spagic bundles Spagic Service Manager PaaS Eclipse Equinox Eclipse ECF (MQ) EclipseLink Platform as a Service Eclipse P2 JBoss JBPM JBoss Drools 21
For more information... Downloads : http://forge.ow2.org WebSite : thanks for your attention! Antonietta Miele antonietta.miele@eng.it www.spagoworld.org 22