From Eclipse to Document
      management
 A case study for JWT & EasySOA
   Eclipse DemoCamp Juno – June 13th, 2012




                                             1
Speakers


• Marc Dutoo
    – Head of R&D at Open Wide
    – EasySOA project leader
• Yoann Rodière
    – Intern at Open Wide
    – Works on EasySOA integration to Eclipse & BPM (JWT)




13/06/2012
Agenda

I. Problem
   I. Documenting & Modeling
   II. Export from an editor
   III. The Eclipse case
II. Solution
   I.     Document Management Systems
   II.    We need a bridge!
   III.   Bridge requirements
   IV.    Our solution
   V.     Overall architecture
III.Case study
   I. EasySOA
   II. Demo
   III. JWT Blackbox




13/06/2012
Problem: why is documenting important to
                                     modeling?


        Internal                                                Communication
     communication                                               with customer


How to communicate around
your model ?
                                      Reference
How to go from design                    Data              … all the more when
information (model) about              (Models)            you're modeling
your system, to documenting                                Service Oriented
the developed, operated,
usable system ?
                                                           Architectures (SOA)!

How to keep a reference
along the life of your              Assessment
system ?                      (Testing, monitoring, ...)
  13/06/2012
Problem: Does it ring a bell?


• Do you have such problems ?
    – How do you handle it right now ?
    – (already asked at JUG Grenoble)
• or...
• Do you find this interesting for you ?
    – What, how, who
    – (talking with Obeo, Xerox, Talend / Eclipse SOA)



13/06/2012
Problem: what to export?


• 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
13/06/2012access to data
Problem: documenting from Eclipse


                               PNG
                              PNG
                             PNG


  Eclipse editor
      model                                          Informal
                             *.doc                  knowledge
                              *.odt
                             *.html
                                ...



         P:projectssaveTheWorldv123models_bak2export0023_v2_tmp.rtf

  Problems : local, classification, (tree) versioning, metadata

13/06/2012
Solution: Document Management Systems (DMS)


• A software brick for Enterprise Content Management
  (ECM)
• No loss of information
   – Rich structure: metadata, relationships, multiple views
• Consistency
   – Automatic versioning
   – Workflows
   – Customized model
• Online: sharing, collaborative editing, discussion

13/06/2012
Solution: We need a bridge!

             Eclipse                    Document Management System

        Editor model                           Business model

                          Eclipse/DMS
                             bridge




     Eclipse/Filesystem
           bridge

                          • Consistency !
                          • Eclipse Resources : not enough
             XML,
              ...
13/06/2012
Solution: Previous attempt
                                             Seen here last year !
Eclipse                                      (courtesy EasiFab)
  Editor model
                              Editor             DMS: Business metamodel
                            metamodel            Nuxeo

                                                     Business model

Mangrove model
                            Mangrove
                            metamodel

                                                    DMS-specific
                                                       API

                                  DMS-specific
          Eclipse plug-in                           DMS plug-in
                                    protocol

                                    Bridge
13/06/2012
Solution: Generic Eclipse/DMS bridge
                                 requirements

• One-way synchronization
    – Export the editor model to the DMS
    – But do not perform dummy overwrites
        • Content can be generated on the DMS from other sources
• DMS-agnostic
• Business model-agnostic
    – It should adapt to any business model on the DMS
      side


13/06/2012
Solution: our two cents

                    Eclipse                            CMIS metamodel
  Editor
metamodel                                                            DMS
                                  DMS model                          DMS model
Editor model
               Business-aware                    Synchronization
                transformation                      (generic)




• CMIS : DMS standard interface
   – client : Apache Chemistry, (almost) already in Eclipse
• Transformation : ATL for EMF to EMF transformation.
   – With several editors, an exponential number of them required => intermediate
     model (who said Mangrove ?)
13/06/2012
Solution: overall architecture

Editor to CMIS                                      = to be
  model ATL                                         developed
transformation                                      according to
                 Input      ATL VM
                                                    editor & DMS
                                                    business
    Editor
                                                    models
    model                    CMIS
                           EMF model

  Matching
  strategy

                 Input     Synchronizer     CMIS          DMS
     Sync
   filtering
   strategy

 13/06/2012
Case study: Demo




13/06/2012
Case study: EasySOA


  EasySOA : SOA registry & management solution
   – Built on the Nuxeo DM document management solution
       • contributed to Eclipse RT as Eclipse Content Repository “Apricot”
   – Documents classified along a “light” SOA model
       • Views, search, collaborative edition & publishing ; upcoming : wiki
       • Comments, annotated preview, social activity, dashboard
       • Extracted & manual service documentation
   – Allows to answer to :
       • how to use this service ? which is the right WSDL ?
       • Where is my endpoint / all endpoints for a specific test ? Is it up ?
       • How does it all contribute to the target business requirements ? Is it
         as expected ?

13/06/2012
More to come...


• EMF - ECM integration
   – Gather community & interested people (you ?)
   – Improve the prototype:
      • UX : When to trigger sync?
          – Automatically on save, File > Export, … ?
      • Business Integration : What to customize in the Synchronizer?
   – The other way round: extract information from the DMS
   – EFS CMIS “driver” : Store editor files directly in a DMS
• More (Easy) SOA repository-specific features
    – Advanced query, tracking changes, validation, links (to
      online documentation, tools, SOA dashboard...)
    – JWT
13/06/2012 subprocesses as SOA Systems
What about you, now?




       www.easysoa.org
      github.com/easysoa
    easysoa-dev@googlegroups.com


13/06/2012

From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012

  • 1.
    From Eclipse toDocument management A case study for JWT & EasySOA Eclipse DemoCamp Juno – June 13th, 2012 1
  • 2.
    Speakers • Marc Dutoo – Head of R&D at Open Wide – EasySOA project leader • Yoann Rodière – Intern at Open Wide – Works on EasySOA integration to Eclipse & BPM (JWT) 13/06/2012
  • 3.
    Agenda I. Problem I. Documenting & Modeling II. Export from an editor III. The Eclipse case II. Solution I. Document Management Systems II. We need a bridge! III. Bridge requirements IV. Our solution V. Overall architecture III.Case study I. EasySOA II. Demo III. JWT Blackbox 13/06/2012
  • 4.
    Problem: why isdocumenting important to modeling? Internal Communication communication with customer How to communicate around your model ? Reference How to go from design Data … all the more when information (model) about (Models) you're modeling your system, to documenting Service Oriented the developed, operated, usable system ? Architectures (SOA)! How to keep a reference along the life of your Assessment system ? (Testing, monitoring, ...) 13/06/2012
  • 5.
    Problem: Does itring a bell? • Do you have such problems ? – How do you handle it right now ? – (already asked at JUG Grenoble) • or... • Do you find this interesting for you ? – What, how, who – (talking with Obeo, Xerox, Talend / Eclipse SOA) 13/06/2012
  • 6.
    Problem: what toexport? • 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 13/06/2012access to data
  • 7.
    Problem: documenting fromEclipse PNG PNG PNG Eclipse editor model Informal *.doc knowledge *.odt *.html ... P:projectssaveTheWorldv123models_bak2export0023_v2_tmp.rtf Problems : local, classification, (tree) versioning, metadata 13/06/2012
  • 8.
    Solution: Document ManagementSystems (DMS) • A software brick for Enterprise Content Management (ECM) • No loss of information – Rich structure: metadata, relationships, multiple views • Consistency – Automatic versioning – Workflows – Customized model • Online: sharing, collaborative editing, discussion 13/06/2012
  • 9.
    Solution: We needa bridge! Eclipse Document Management System Editor model Business model Eclipse/DMS bridge Eclipse/Filesystem bridge • Consistency ! • Eclipse Resources : not enough XML, ... 13/06/2012
  • 10.
    Solution: Previous attempt Seen here last year ! Eclipse (courtesy EasiFab) Editor model Editor DMS: Business metamodel metamodel Nuxeo Business model Mangrove model Mangrove metamodel DMS-specific API DMS-specific Eclipse plug-in DMS plug-in protocol Bridge 13/06/2012
  • 11.
    Solution: Generic Eclipse/DMSbridge requirements • One-way synchronization – Export the editor model to the DMS – But do not perform dummy overwrites • Content can be generated on the DMS from other sources • DMS-agnostic • Business model-agnostic – It should adapt to any business model on the DMS side 13/06/2012
  • 12.
    Solution: our twocents Eclipse CMIS metamodel Editor metamodel DMS DMS model DMS model Editor model Business-aware Synchronization transformation (generic) • CMIS : DMS standard interface – client : Apache Chemistry, (almost) already in Eclipse • Transformation : ATL for EMF to EMF transformation. – With several editors, an exponential number of them required => intermediate model (who said Mangrove ?) 13/06/2012
  • 13.
    Solution: overall architecture Editorto CMIS = to be model ATL developed transformation according to Input ATL VM editor & DMS business Editor models model CMIS EMF model Matching strategy Input Synchronizer CMIS DMS Sync filtering strategy 13/06/2012
  • 14.
  • 15.
    Case study: EasySOA EasySOA : SOA registry & management solution – Built on the Nuxeo DM document management solution • contributed to Eclipse RT as Eclipse Content Repository “Apricot” – Documents classified along a “light” SOA model • Views, search, collaborative edition & publishing ; upcoming : wiki • Comments, annotated preview, social activity, dashboard • Extracted & manual service documentation – Allows to answer to : • how to use this service ? which is the right WSDL ? • Where is my endpoint / all endpoints for a specific test ? Is it up ? • How does it all contribute to the target business requirements ? Is it as expected ? 13/06/2012
  • 16.
    More to come... •EMF - ECM integration – Gather community & interested people (you ?) – Improve the prototype: • UX : When to trigger sync? – Automatically on save, File > Export, … ? • Business Integration : What to customize in the Synchronizer? – The other way round: extract information from the DMS – EFS CMIS “driver” : Store editor files directly in a DMS • More (Easy) SOA repository-specific features – Advanced query, tracking changes, validation, links (to online documentation, tools, SOA dashboard...) – JWT 13/06/2012 subprocesses as SOA Systems
  • 17.
    What about you,now? www.easysoa.org github.com/easysoa easysoa-dev@googlegroups.com 13/06/2012