EclipseConEurope2012 SOA - Models As Operational Documentation

27
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary Models as Operational Documentation SOA Use Case for EMF to ECM Eclipse Con Europe 2012 SOA Symposium Marc Dutoo (Open Wide, FR)

description

At Eclipse Con Europe 2012 in the SOA Symposium track, JWT's EMF model export to structure and information in Document Management Systems is explained and demonstrated for in the case of the EasySOA service documentation registry, with JWT workflows producing a basis for SOA operational documentation.

Transcript of EclipseConEurope2012 SOA - Models As Operational Documentation

Page 1: EclipseConEurope2012 SOA - Models As Operational Documentation

© 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)

Page 2: EclipseConEurope2012 SOA - Models As Operational Documentation

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

Page 3: EclipseConEurope2012 SOA - Models As Operational Documentation

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

Page 4: EclipseConEurope2012 SOA - Models As Operational Documentation

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…

Page 5: EclipseConEurope2012 SOA - Models As Operational Documentation

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 !

Page 6: EclipseConEurope2012 SOA - Models As Operational Documentation

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)

Page 7: EclipseConEurope2012 SOA - Models As Operational Documentation

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

Page 8: EclipseConEurope2012 SOA - Models As Operational Documentation

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 !

Page 9: EclipseConEurope2012 SOA - Models As Operational Documentation

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

Page 10: EclipseConEurope2012 SOA - Models As Operational Documentation

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

Page 11: EclipseConEurope2012 SOA - Models As Operational Documentation

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

Page 12: EclipseConEurope2012 SOA - Models As Operational Documentation

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

Page 13: EclipseConEurope2012 SOA - Models As Operational Documentation

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

Page 14: EclipseConEurope2012 SOA - Models As Operational Documentation

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

Page 15: EclipseConEurope2012 SOA - Models As Operational Documentation

Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 15

SOA Case Study –showtime !

Page 16: EclipseConEurope2012 SOA - Models As Operational Documentation

Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 16

SOA Case Study – showtime !

Page 17: EclipseConEurope2012 SOA - Models As Operational Documentation

Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 17

SOA Case Study – showtime !

Page 18: EclipseConEurope2012 SOA - Models As Operational Documentation

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

Page 19: EclipseConEurope2012 SOA - Models As Operational Documentation

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

Page 20: EclipseConEurope2012 SOA - Models As Operational Documentation

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 ?

Page 21: EclipseConEurope2012 SOA - Models As Operational Documentation

Eclipse Foundation, Inc. | © 2012 by Open Wide - Made available under the EPL v1.0 21

BONUS

Page 22: EclipseConEurope2012 SOA - Models As Operational Documentation

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 ?

Page 23: EclipseConEurope2012 SOA - Models As Operational Documentation

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

Page 24: EclipseConEurope2012 SOA - Models As Operational Documentation

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

Page 25: EclipseConEurope2012 SOA - Models As Operational Documentation

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

Page 26: EclipseConEurope2012 SOA - Models As Operational Documentation

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

Page 27: EclipseConEurope2012 SOA - Models As Operational Documentation

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