© 2002 IBM Corporation
Confidential | Date | Other Information, if necessary
Models as Operational DocumentationSOA Use Case for EMF to ECM
Eclipse Con Europe 2012 – SOA Symposium
Marc Dutoo (Open Wide, FR)
Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 2
About the speakers
Open Wide• Among leading Open Source service providers in
France
• Solutions for business (Portals, Portals, BI) & integration(SOA, BPM, ESB)
• Subsidiaries : hosting, embedded software
Marc Dutoo - SOA, BPM, ECM architect• Head of R&D Dept. at Open Wide
• SOA, BPM, ECM expert
• co-leads Eclipse SOA's Java Workflow Tooling
With thanks to• Yoann Rodière, Open Wide• EasySOA project partners Nuxeo and EasiFab• JWT Project partners
Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 3
• The problem• The solution
• Challenges• Architecture
• SOA use case and demo
Agenda
Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 4
Assessment(Testing, monitoring, ...)
Communicationwith customer
Internalcommunication
ReferenceData
(Models)
=> from model,export…
Formal knowledgeEmbedded in model :information, documentation, commentsGenerated from model :classifications, ontologies, image previews
And link with companion informal knowledge,
.doc .odt .ppt .odp .xls
.png .svg
… communicate around your model ?
… publish it and make it available to business actors ?
… go from design information (model) about your system, to documenting the developed, operated, usable system ?
… keep an accessible reference all along the life of your system ?
Problem : with your models, how can you…
Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 5
SOA is first and foremost document(ation)• Which services are provided where, when, at which conditions• Formal interfaces (beware of death by too few or too many WSDLs)• Its requirements are born of collaboration between usually separate
entities with different (if not opposing) concerns
Several candidate editors in Eclipse SOA : BPMN2, SCA & Mangrove, Startdust’s…
This is especially useful in SOA !
… enter Java Workflow ToolingVersatile Business Process and Workflow Tooling
and platformVarious views (UML AD, EPC) and model extensionsCompatibility (transformations) to other
representations (BPMN, Mangrove…)Export to executable workflow formats (Bonita, jPDL…)… Synchronization of documentation with Document
Management Systems !
Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 6
• But exporting it merely to filesystem ??• Problems : local, classification, (tree) versioning,
metadata
=> Enterprise Content Management (ECM)
No loss of information– Rich structure: metadata, relationships, multiple views
Consistency– Automatic versioning,
– workflows,
– custom model
Online: sharing, collaborative editing, discussion
Solution: Document Management Systems (DMS)
Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 7
Paradigm Fight : File-centric vs. Content-centric
File-centric– Simple documents
– Metadata:
• Size: 580kb
• Last edited by: user33
– Relationships:
• Folder/File (composition)
– Workflows:
• User-defined
Content-centric– Abstract entities
– Metadata:
• Comment: “lol awesome”
• Endpoint URL: http://example.org/?wsdl
– Relationships:
• High-level: “Service A's implementation depends on Service B”
– Workflows:
• Enforced by a policy
Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 8
Eclipse Document Management System
Eclipse/DMSbridge
Editor model Business model
Eclipse/Filesystembridge
XML,...
• Consistency !
• Eclipse Resources : not enough
Solution : we need a bridge !
Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 9
• One-way synchronization– Export the editor model to the DMS
– Information extracted from the editor model is overwritten in the DMS mapped objects
– the editor is the only accepted source for these DMS objects (which should be locked otherwise) and fully controls them
– But accept linked DMS objects that come from other sources (such as from DMS document import UI)
• DMS-agnostic• Business model-agnostic
– It should adapt to any business model on the DMS side
Solution: Generic Eclipse/DMS bridge requirements
Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 10
Eclipse
Editor model Wanted modelBusiness-awaretransformation
(editor- andbusiness-specific)
CMIS metamodelEditormetamodel
Sync(generic)
Solution: From Editor model to DMS Model
Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 11
Eclipse
DMS
Editor modelDMS modelDMS model
Synchronization(generic)
Business-awaretransformation
CMIS metamodel
Editormetamodel
• CMIS : DMS standard interface– client : Apache Chemistry, (almost) already in Eclipse
• Transformation : ATL for EMF to EMF– With several editors, an exponential number of them required => intermediate
model (who said Mangrove ?)
Solution: from Eclipse to DMS
Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 12
DMSInput Synchronizer CMIS
Matchingstrategy
Syncfilteringstrategy
Editor to CMISmodel ATL
transformationInput
Editormodel
ATL VM
CMISEMF model
= to be developed according to editor & DMS business models
Solution: overall architecture of JWT DMS Export
Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 13
A unified service registry for all actors of the SOA process, on top of Nuxeo DM
Service audit and discovery– From design, source, classpath, web, monitoring…
Service documentation– Extracted, manual, collaborative editing
SOA sanity check– indicators and validation, from design time to monitoring
Testing tools : record / (templatized) replay, SOAPUIIntegrated RAD platform : FraSCAti StudioIntegrated ESB platform : Talend ESB and Jasmine
monitoring
SOA Case Study : EasySOA 101
Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 14
• From a workflow to SOA documentation– JWT workflow package =>
– “Business“ folder with author, source, version, description
– as well as JWT workflow files
– JWT Activity (process) => “Process” folder with SVG export of the diagram
– JWT Action using a WebServiceApplication :
– Action => business Service
– WebServiceApplication => Endpoint with uploaded WSDL
– Comments on all JWT objects goes as documentation
SOA Case Study with JWT and EasySOA
Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 15
SOA Case Study –showtime !
Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 16
SOA Case Study – showtime !
Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 17
SOA Case Study – showtime !
Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 18
• Now…– Architects can browse services and endpoints along the generated
business classification
– Information about business processes (including image preview) can be published along textual specification documents to end users
– Business-time documentation is available to developers, linked to implementations and endpoints they develop
• In production…– This documentation model will again have been enriched
– by information extracted at development time (source documentation)
– but also from staging and SOA assessment time
– This aggregated requirements-to-solution documentation of the SOA process will be versioned and locked, as a reference to all actors during the operational lifetime
SOA Case Study with JWT and EasySOA
Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 19
Produce SOA documentation structure and information in DMS out of SOA models
• One-way synchronization of matched & filtered elements• Thanks to ATL model transformation & CMIS DMS standard
What’s next– JWT DMS Export :
– from ecm_support branch to trunk
– More models ? BPMN2, SCA, Stardust…
– EasySOA : full SOA requirements model, then 1.0
– Scarbo 2 : SOA-consistent BPM platform based on Eclipse tooling (JWT, SCA) and OW2 runtime (FraSCAti service platform and Bonita workflow engine)
– … hopefully for Christmas
Conclusion
Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 20
Thanks for your attention !
We thank for his assistance:
Yoann Rodière, Open Wide EasySOA Project members Nuxeo and EasiFab
Any questions???Contact : marc.dutoo AT openwide.fr
JWT website & wiki: http://www.eclipse.org/jwt
EasySOA website : http://www.easysoa.org
…And you, how do you document your services ?
Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 21
BONUS
Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 22
• The simplest: editor files, image files– For archive, for reference, for description
• More advanced: a refined, componentized model extracted from the editor model
– Example: an SOA “System” entity
• with references to “Systems” it depends on, actors involved, target business requirements...
• Each of them may carry
– attached documents (editor files, image files, text documents)
– meta-data (commercial name, current endpoints, source location, ...)
• Browsing a tree of Systems allows for easier, business-focused access to data
Problem : what to export ?
Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 23
*.doc*.odt*.html
...
Eclipse editormodel
P:\projects\saveTheWorld\v123\models_bak2\export0023_v2_tmp.rtf
PNGPNGPNG
Informalknowledge
Problems : local, classification, (tree) versioning, metadata
Problem : documenting from Eclipse
Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 24
Eclipse DMS
Outdated modelWanted model
CMIS calls
CMIS metamodel
(Somehow)
Solution: Making synchronization generic
Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 25
Eclipse
DMS
Editor modelDMS modelDMS model
Synchronization(generic)
Business-awaretransformation
CMIS metamodel
Editormetamodel
• CMIS : DMS standard interface– client : Apache Chemistry, (almost) already in Eclipse
• Transformation : ATL for EMF to EMF– With several editors, an exponential number of them required => intermediate
model (who said Mangrove ?)
Solution: the matching challenge
Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 26
• “light” integration to existing editors– We can't change their models, their file format, etc.
• How do we match two objects,– one on the editor side and one on the DMS side?
– By ID?
• editor-generated IDs (DMS-provided IDs could not be stored in the editor)
– By path?
• Does not allow file move detection
• But it is a good fallback method, if we can't provide unique, consistent IDs
– With complex queries (non-atomic IDs)?
– By another way? We may reference objects that weren't generated by the editor!
• It depends on the business model– (which may be preexisting and immutable)
– The bridge should not assume anything regarding matching
Solution: the matching challenge
Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 27
• Changes can stem not only from the editor, but also from other sources
– Web interface users
– Other editors with the same bridge
– Automatic DMS clients
– ...
• Fortunately, we don't need to know where these changes came from (three-way synchronization) since we only propagate changes one way
• But the bridge still need to know what change should be overwritten, and which one should not
• So how to select meaningful, non-overwritable changes?
Solution: the filtering challenge
Top Related