Download - Soa symposium eclipse con 2013
SOA Symposium
Adrian Mos (Xerox), Bob Brodt (Redhat), Marc Dutoo (OpenWide), Marc Gille (SunGard)
EclipseConBoston
3/25/2013 9-12 am
Goal Show how Process Modeling with BPMN supports a holistic
approach from business to implementation Demonstrate the role of BPM in a SOA Introduce the Eclipse SOA Project and its subprojects and
their current state of development
Overview/Agenda Short Introduction of presenters and their project [20‘] Overview end-to-end use case [10‘] Project demos along the end-to-end use case [20‘/project]
o Break after 2nd project Deeper dive into the projects (functionality architecture,
status, roadmap, community) [30‘/project]o Break after 2nd project
Panel Q & A (no limit – but move to the bar if others will be claiming the room …)
Presenters and their Projects
Adrian Mos/Mangrove Research Scientist, Xerox Research Europe SOA Project PMC Member Project Lead for Mangrove
Bob Brodt/BPMN2 Modeler Software Engr., Red Hat, Inc. Eclipse Project Lead for BPMN2 Modeler & BPEL Designer
Marc Dutoo/EasySOA Head of R&D Dept. at Open Wide, where he leads the
EasySOA Registry & Tools Open Source solution Eclipse SOA PMC member co-leads Eclipse SOA's Java Workflow Tooling Email: marc.dutoo AT openwide DOT org
Marc Gille/Stardust (Eclipse Process Manager) CARNOT AG
o Founded in 2000 („Workflow and EAI for J2EE“)
o Acquired by SunGard in November 2006
o All key players still on board – and are Stardust committers
Rebranded CARNOT Process Engine as Infinity Process Platform (IPP).
Production deployments e.g. witho > 10,000 users (Commerzbank, former
Dresdner Bank)o > 1,000,000 processes/day (CSS
Insurance, SWIFT)o > 300,000 documents/day (VAR Japan)
Ranked #2 in Vision in Gartner MQ for BPMS in 2007
All code submitted into Eclipse Stardust in 2012
With ~3M lines of code one of the largest code contributions
Full-blown Business Process Management Suite under EPL
Project Release planned with Kepler – M6 has been build
Marc Gille o Founder of CARNOT AGo Project Lead Stardusto SVP Product Management Infinity
at SunGardo [email protected]
Use Case
Federal Charity Platform The Federal Charity institution of Neverland provides an
Internet platform for charity organizations to distribute their benefits to those in need.
Charity institutions can register and describe their rules for accepting beneficiaries.
Beneficiaries can apply for benefits such as vacation funding.
Processes, Events and Activities Charity Organization Registration and Approval
o Data Entryo Address Verificationo Reviewo Approval/Rejection
Vacation Requesto Data Entryo Address Verificationo Dispatching to Charity Organizationo Reviewo Approval/Rejection
Participants Platform Operators from the roof organization
running/operating the system Administrators of the charity organizations Applicants would only be implicit participants kicking of
workflows via a little portal and receiving notifications
Services Address Validation
o Specifications managed in EasySOA, implementation prototyped in OW2 FraSCAti Studio
Plus: Simplistic HTML5 web portal for o Charity organization registration (kicking
off first process)o Application for vacation funding (kicking
off second process)o Code available via
http://git.eclipse.org/c/stardust/org.eclipse.stardust.examples.git/
Data Model XSD
o Charity Organization (Structure)o Vacation Funding Request (Structure)o Beneficiary (Structure)o Address (Structure)o Country (Structure)
Used across tools (BPM, WS)
Demoes
Mangrove
Mangrove Reminder Bridge: Integrates design and runtime artefacts created or used in
Eclipse SOA
Common metamodel (Mangrove Core) and transformation plugins enable partial transport of essential information between tools
Mangrove Core contains elements related to processes as well as SOA services
More details: http://eclipse.org/mangrove/
Page 17
Current Transformations BPMN 1 Mangrove Core Mangrove Core BPMN2 Mangrove Core BPEL SCA Mangrove Core Mangrove Core JBI
Mangrove Viewer / Editor
In the Works: Governance View
Potential Use: Bring DSLs in SOA/BPM World Generic languages not always sufficient
Different processes or sub-processes better defined by domain experts
DSL-based processes should be able to benefit from SOA connections
BPMN can be used as glue and as interface to BPMS
What PDF is for the portable exchange of documents, BPMN could be for the portable exchange of DSL-based processes
Page 21
DSL Integration in Eclipse SOA
Page 22
DSL Editor
Xeproc
Xeproc Meta-model
DSL Editor
BPMN + ext
BPMN Meta-model
BPMN Meta-model
BPMN
Editor
BPEL
Execution Engine
Mangrove SOA Modelling
Framework
Transformation
Plugin
Tra
nsfo
rmat
ion
Plug
in
Mangrove Core Meta-model
Scenario #1
Page 23
DSL
Scenario #2
Page 24
DSL
Scenario #3
Page 25
DSL 2
DSL 1
Scenario #4
Page 26
DSL 1
SOA / BPMS
BPMN2 Modeler
BPMN2 Modeler - Architecture Still in Incubation, current version is 0.2.4 Graphiti
o Supports Graphiti versions 8.0.2 (Eclipse Helios 3.6.2) and 10.0.1 (Eclipse Juno 4.2)
Eclipse BPMN2 EMF model, version 0.7.0 EMF, version 2.something Plus a cast of thousands
o GEF/draw2do EMF Transaction, Validation OCLo Eclipse XSD & WSTo BPEL WSILo JDT
BPMN2 Modeler - Architecture Generic BPMN 2.0
o MDT-BPMN2 Project Extensible/customizable for specific runtimes
o jBPM5o Other examples
Plug-in APIo Model extensionso Limit runtime model subset/viewo Tabbed Property Sheetso Custom Tool Paletteo Custom Activity models & graphics
BPMN2 Modeler - Features Multiple BPMN Diagram Types
o Processo Choreographyo Collaboration
Multipage Editoro Multiple Diagram Types per fileo Processeso Choreography Task Participants
• “white box” and “black box”o Sub-Processes
• “push down” and “pull up”o XML Source View Tab
• Read-only, not yet synched with graphical view
Import BPMN 2.0 Model Elementso Generates Diagram Interchange (“DI”) elementso Basic auto layout
BPMN2 Modeler - Features Outline View
o Business Modelo Diagram Interchange Modelo Thumbnail
Customizable Tool Paletteo plug-in extensiono Tool Set “Profiles”
User Preferenceso Selectable Target Runtimeo General UI customization
• Colors, Fontso Connection Line Routing
• Manhattan• Bendpoint
o Model Enablement, including runtime extensions
BPMN2 Modeler - Roadmap Debugging/Simulation Support (Spring 2013) Automatic Layout of Shapes & Connections (Summer 2013)
o Basic Shape Layout for imported modelso Connection Line Routing needs work!
Tool Palette Enhancements (Fall 2013)o Complex templates for “workflow patterns”o Tool Set “Profiles”
Deployment Tools API (Spring 2014)o Multiple Processes per file
BPMN2 Modeler - Community All y’all! ROSI
o TU, Dortmund (http://vm4a003.itmc.tu-dortmund.de/carisma) Eclipse Community Forum
o http://www.eclipse.org/forums Mailing list
o [email protected] Me
EasySOA Registry & Eclipse JWT
Eclipse SOA JWT
Versatile Business Process and Workflow tools & platformWebsite : http://www.eclipse.org/jwtMailing list : [email protected]‘s new: BPMN view, EasySOA export
Provides: Various views (UML AD, EPC, BPMN) and model extensions Transformations to other representations (BPMN, Mangrove…) Export to executable workflow formats (XPDL, Bonita, jPDL…) Export of business process structure and documentation to
Document Management Systemso Nuxeo, Alfresco... and EasySOA service registry!
EasySOA Registry
An open, collaborative registry of SOA information across design time, development time and deployment time for all actors of the SOA process, built by the Open Wide-lead EasySOA consortium (also Talend, Bull, Nuxeo, EasiFab).
Website : http://www.easysoa.orgMailing list : [email protected]
EasySOA Registry provides: Service audit and discovery : from design, source, classpath, web, wire… Service cartography and documentation : extracted & manual doc,
collaborative editing, custom browsing UI SOA sanity check : Indicators, change detection & validation, reports SOA evolution management : collaborative business & architecture
specifications, matching of developed services against requirements, up to runtime measure of expected business SLA
EasySOAFunctionalArchitecture
The EasySOA Integration ecosystem brings along :
Integrated Business design tool: Eclipse SOA JWT
Integrated ESB platform: Talend ESB and Jasmine monitoring
Integrated Cloud RAD & prototyping platform: OW2 FraSCAti Studio
Testing tools: record / (templatized) replay, SOAPUI
Stardust (Eclipse Process Manager)
Stardust Industry-proven, mature Business Process Management Suite
Infinity Process Platform under Eclipse Public License Workflow System Integration Document Management
Status All Infinity Process Platform code submitted in 2012 –
exceptions only „toxic“ licenses (e.g. for Hibernate Plug-In)o Approval for > 130 third-party libraries - Eclipse Legal loves us …
In Incubation (Release 0.7) Eclipse Build supported – if you want to build yourself Update Site available (Release 0.7 RC5) – if you just want to
use it (Quite oppulent) Wiki and (quite active) Forum exists Participating in Kepler Release (and will mature to Release
status as part of Kepler) Kepler M6 build completed
Ecosystem
StardustMaintenance
Eclipse Community
ContributionConsumption via
Eclipse Public License (EPL)
SunGard Customers
Consumption viaSunGard-proprietary commercial license
Update on important fixesor enhancements
Periodic update e.g. on Eclipse Releases
Infinity Process Platform
SunGard
Contribution Resources
Access Homepage: www.eclipse.org/stardust Wiki: http://wiki.eclipse.org/STP/Stardust Update Site:
http://download.eclipse.org/stardust/milestones/helios Git: http://git.eclipse.org/c/?q=stardust Forum:
http://www.eclipse.org/forums/index.php?t=thread&frm_id=225
Videos (constantly adding): http://www.eclipse.org/stardust/documentation/training-videos.php
Facebook: https://www.facebook.com/eclipsestardust
Project Activity and Diversity
ITPearls joined to help on BPMN2 support
Hundreds of commits/month due to synchronization with IPP codebase
Interactive Workflow
Requirements• Simple configuration of organizational hierarchy including
departments• Flexible integration user management/SSO• Configurable Portal UI• Large number of parallel users
Stardust Solution• Department concept• LDAP/SAML integration• Flexible Portal mashups• Multiple Portal views• Reporting• Simulation
Stardust
Document Processing
Requirements• Document management and retrieval• Document viewing and editing (TIFF, PDF, HTML)• Process and document binding
Stardust Solution• Document Repository• TIFF Viewer and Editor• Servers-side PDF-Viewer• Scan client (WS communication to server)• Document Metadata Modeling• Document security (document, folder, type)
Stardust
Data Extraction and Transformation
Requirements• Receive request for data gathering from multiple systems• Data retrieval from these systems• Data transformation, normalization and merge• Return data• Possibly high record volume (~ 100.000)
Stardust
Relational Database
Stardust Solution• Simple message transformations via drag & drop• Complex message transformation with JavaScript• Out-of-the-box connectivity to RDBMS, Files etc.• Well-defined Connector structure to be used for custom
connectors• Parallel data gathering via process topology
Message Processing and Service OrchestrationIntegration Requirements• Connectivity to financial networks
and protocols (FIX, SWIFT, XML)• Grouping of messages• Correlation of messages (e.g. for cancellation)• Content-based routing• Message multicast• Low(er) latency
Stardust
e.g. Financial Networks
Stardust Solution• FIX and SWIFT connectivity• Message transformation to normalized format • Caching and JMS channeling for sequencing• Routing via transition conditions• Transient processing/write-behind
for highest throughput/lowest latency
Event Processing and Client Push
Integration Requirements• Different incoming market data streams
(e.g. Market Map, Bloomberg, Reuters)• Normalization of content• Client push
Stardust
e.g. Market Data Streams
Stardust Solution• FIX and SWIFT connectivity e.g. market data streams• Correlation of messages arriving in time window via
caching• Message transformation to normalized format • Rules for golden copy creation• Client push via publish/subscribe via REST Push and• HTML messaging
Technologies used
Javao J2EEo JDBC/SQLo JAASo Spring
Eclipseo GEFo EMFo Eclipse Runtimeo Webtoolso BIRT
Webo ICEfaces (deprecated)o Require JSo jQueryo jQuery UIo Raphaelo AngularJS
Overall Architecture
J2EE (Web) Application Server (e.g.Tomcat)
Apache Camel Web Service
Model Repository
Process Modeling (Eclipse)
Business Logic 2(Spring)
Business Logic 1(EJB)
StardustPortal
StardustPortal
DesktopClient
DesktopClient
MobileClient
MobileClient
Business Event
JDBC
Audit Trail Database
StardustProcess Engine
JMS
Messaging
SOAP
Deployment
Process Modeling
Common Elements • Process Structure• Basic Elements (Activities, Data, Applications)• …
Technical/IntegrationView• Application Integration• Data Integration• Transaction Management• …
Business View• Controlling/Costs• Risk• Change Management• …
Eclipse
DevelopmentBusiness Analyst/Non-Java Developer
Process Model
Browser-based Modeler
Migrated to „Bob‘s Editor“ over the next 1.5 years. Not adopted by business …
SimulationSpecify arrival rates for processes (e.g. trades over time)
Specify availabilities
Specify traversal probabilities
Specify duration probabilities
• Resource workload• Critical pathes• Simulation results can be copied e.g. into MS Excel or written to process database
Fast, in-memory algorithm runs thousands of processes in seconds
Infinity Process PlatformReporting Component
Infinity Process PlatformReporting Component
Infinity Process PlatformSimulation Engine
Infinity Process PlatformSimulation Engine
Simulation, Audit Trail and Reporting
StardustSimulation Engine
EclipseReports
StardustReporting Component/
BIRT
StardustReporting Component/
BIRT
ProductiveAudit Trail Database
Simulation parameters can be retrieved from produtcive audit trail.
SimulationAudit Trail Database
Simulation results can be written to simulation audit trail database.
Simulation run´ID can be used to filter reports and build sequences of what if-reports.
Simulation results can be used in audit trail reports as regular audit trail content.
Simulation can be used to create test data for reports
Process-aware Front End
GUIGUI
WorklistWorklist WorkareaWorkarea
Activation
e.g. Customer Management
Service Access
Process Database
WorklistQuery
Activity Completion
• Portal currently JSF-based,transitioned into HTML5
• Mashups possible with arbitraryHTML-technologies
• Server/application synchronization via REST
• Non-invasive, unidirectional protocol
UI MashupIPP External Web Application
External URL&ippPortalBaseUri=…
REST Call to retrieve Input Data
REST Call to set Output Data
Optional REST Call to complete Activity
REST Call to set Output Data
…
Reporting Architecture
Eclipse/BIRT Designer and Stardust Wizards
BIRT Runtime
Customer Data Documents Risk Data
Other Sources (e.g. RDBMS, XML, DMS)
Stardust Audit TrailDatabase
StardustProcess Model and Runtime
ODA Data Sources
Stardust Process EngineReports
BPMN2 Diagram Notation HTML-based implementation (jQuery, Raphael) Model Storage currenly transitioned to BPMN
o Compatibility with „Bob‘s Modeler“ Highly extensible …
o Documented JavaScript Extension Points for Palette, Properties Panels, Outline Popups, Diagram Decoration
… and embeddableo Can be mashed-up in arbitrary HTML Portals
Current code-base in Eclipse Git Integration with Orion – demoed in other tracks at EclipseCon
13
Browser-based BPMN Modeler
Browser-Modeler ArchitectureStardust Browser Modeler
BPMN
BPMNMarshaller/
Unmarshaller
BPMN/XPDLConverter
StardustRuntime
Only Runtime-relevantinformation
XPDL
XPDLMarshaller/
Unmarshaller
Stardust Eclipse Modeler
SunGard
ITPearls
Again: „Bob‘s Editor“ over the next 1.5 years.
Panel Q & A