Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
©Copyright2016Obeo
Be Serious With Sirius: Your Journey From First
Experimentation to Large Deployment
Etienne Juliot
@eju...
©Copyright2016Obeo
Sirius : A Well Proven Technology
Deployed on numerous projects
●
Thales: Systems Engineering of the gr...
©Copyright2016Obeo
The Sirius Process
Domain
Model
Graphical
Modelers
Integration
Iterate
Domain model : Describe your business
Goulwen Le Fur:
« The more domain model is well-designed,
the more it will be easy t...
©Copyright2016Obeo
Domain model: Involve the domain experts
Modeling
Champion
Domain
Stakeholder
EMF Expert
©Copyright2016Obeo
Domain model : Be specific (W/WO standards)
©Copyright2016Obeo
Domain model: Evolution-Friendly Designed
Early domain model stabilization
- add: OK
- remove, update: ...
©Copyright2016Obeo
Domain model: Use Ecore Tools
©Copyright2016Obeo
Domain model: Follow Ecore Best Practises
Follow the little pony checklist
NsURI convention
Reference a...
©Copyright2016Obeo
The Sirius Process
Domain
Model
Graphical
Modelers
Integration
Iterate
11
©Copyright2016Obeo
Graphical Modelers: Use expressive shapes
12
©Copyright2016Obeo
Graphical Modelers: Give meaning to colors
13
©Copyright2016Obeo
Graphical Modelers: Use SVG & images
Use your Visual Identity
14
©Copyright2016Obeo
Graphical Modelers: make it nice
Follow Loredana's advises
15
©Copyright2016Obeo
Graphical Modelers: make it nice
Follow Loredana's advises
after
before
16
©Copyright2016Obeo
Graphical Modelers: make it nice
Follow Loredana's advises
after
before
17
©Copyright2016Obeo
Graphical Modelers: create an instinctive usage
(without training)
18
©Copyright2016Obeo
Graphical Modelers: add custom properties
view
19
©Copyright2016Obeo
Graphical Modelers: guide the user
20
©Copyright2016Obeo
Graphical Modelers: guide the user
conditional styles
21
©Copyright2016Obeo
Graphical Modelers: guide the user
smart filters
22
©Copyright2016Obeo
Graphical Modelers: guide the user
semantic positionning
23
©Copyright2016Obeo
Graphical Modelers: guide the user
activity explorer
24
©Copyright2016Obeo
Graphical Modelers: guide the user
Viewpoints
Layers
Validation
Tabbar
Layout
….
Reduce the number o...
25
©Copyright2016Obeo
Graphical Modelers: work by uses cases
Modeling Champion
Domain
Stakeholder
Sirius Core Dev
Sirius E...
26
©Copyright2016Obeo
Graphical Modelers: follow Obeo's best
practices
Optimized model queries
Avoid eAllContents()
Use se...
©Copyright2016Obeo
The Sirius Process
Domain
Model
Graphical
Modelers
Integration
Iterate
28
©Copyright2016Obeo
Integration: typical tasks
Build
Tycho / Maven / Jenkins
Plugin architecture and reuse strategy
Bran...
©Copyright2016Obeo
The Sirius Process
Domain
Model
Graphical
Modelers
Integration
Iterate
30
©Copyright2016Obeo
Iterate: follow Obeo's best practises
A POC generally address
A subset of the target domain
a reduce...
31
©Copyright2016Obeo
Iterate – POC: Design for your users with your
users
Tools are easy to configure
Design your ecore m...
©Copyright2016Obeo
Ready-to-use packages
Community Edition Team Edition
A 100% Open Source package to
discover Sirius than...
33
©Copyright2016Obeo
Iterate – POC : project organization
Typical goals for Sirius expert:
To animate a working session
T...
34
©Copyright2016Obeo
Iterate: follow Obeo's best practises
A Pilot generally address
A subset of the target domain, relia...
35
©Copyright2016Obeo
Iterate – Pilot: scope
Outcomes
Domain model
Specification and Implementation of a subpart of the EM...
36
©Copyright2016Obeo
Iterate – Pilot: project organization
Several ways of automonous
Full outsourcing to Sirius experts
...
©Copyright2016Obeo
Hot-fixes & Open Innovation
Cost management
of your specific integrations
Dedicated Support
Guaranteed ...
40
©Copyright2016Obeo
Iterate: follow Obeo's best practises
Industrialization generally address
Scalability
Multiply repre...
©Copyright2016Obeo
Collaborative Modeling with Sirius:
from Model Fragments to Shared-Repository
©Copyright2016Obeo
Collaboration with model fragments
SCM
Merge data
Work locally Work locally
Merge data
A SCM to manage ...
©Copyright2016Obeo
Collaboration with model fragments
User 1
User organiser
Fragment file
User 2
How to avoid merging ?
©Copyright2016Obeo
EMF Compare : semantic merge
©Copyright2016Obeo
EMF Compare: graphical merge
©Copyright2016Obeo
Model fragment: so what ?
Assume that processes are well defined and followed for
File fragmentation
Fi...
©Copyright2016Obeo
You already know how to collaborate fluently
©Copyright2016Obeo
Instant collaboration
User 2
Obeo Designer Team Server
User 1 User 2
shared repository and collaborativ...
©Copyright2016Obeo
Users' Feedback
Several users working simultaneously on the same data
• Automatic propagation of modifi...
©Copyright2016Obeo
Usage across several teams
OD Team is deployed at Sagem, MMA, CS, Postal Bank,
Thales, French Ministry ...
©Copyright2016Obeo
To Sum Up
Focus on the domain model and Stabilize it ASAP
Initialize and design your representations in...
15/11/2016
Paris XV - Novotel Vaugirard
Talks ClinicTutorials
Call For Papers
Now Open!
Prochain SlideShare
Chargement dans…5
×

Be serious with sirius your journey from first experimentation to large deployment

260 vues

Publié le

Slides used for the EclipseCon EU 2016 talk: https://www.eclipsecon.org/europe2016/session/be-serious-sirius-your-journey-first-experimentation-large-deployment-sponsored-obeo



Sirius is the Eclipse project that allows you to easily create custom graphical modeling tools dedicated to your own business domain.

In this talk we will explain and illustrate how to successfully deploy industrial-strengh modeling workbenches based on Sirius.

In particular, we will show how to collaborate with other team members by storing your models and representations (diagrams, tables, matrices, trees) in a shared repository. This solution based on CDO provides a fine-grained locking mechanism that allows you simultaneously work on visual representations for the same data, without losing time managing conflicts and without any technical skills.

During this talk, you will also discover the solutions provided by the creators of Sirius to help you stay on the right tracks, from first hands-on to large deployments.

Publié dans : Logiciels
  • Soyez le premier à commenter

Be serious with sirius your journey from first experimentation to large deployment

  1. 1. ©Copyright2016Obeo Be Serious With Sirius: Your Journey From First Experimentation to Large Deployment Etienne Juliot @ejuliot
  2. 2. ©Copyright2016Obeo Sirius : A Well Proven Technology Deployed on numerous projects ● Thales: Systems Engineering of the group (Capella workbench) ● French Ministry of Defense: Spec, Design and Dev of Enteprise Applications
  3. 3. ©Copyright2016Obeo The Sirius Process Domain Model Graphical Modelers Integration Iterate
  4. 4. Domain model : Describe your business Goulwen Le Fur: « The more domain model is well-designed, the more it will be easy to create tools, the more it will evolve easily in time »
  5. 5. ©Copyright2016Obeo Domain model: Involve the domain experts Modeling Champion Domain Stakeholder EMF Expert
  6. 6. ©Copyright2016Obeo Domain model : Be specific (W/WO standards)
  7. 7. ©Copyright2016Obeo Domain model: Evolution-Friendly Designed Early domain model stabilization - add: OK - remove, update: migration
  8. 8. ©Copyright2016Obeo Domain model: Use Ecore Tools
  9. 9. ©Copyright2016Obeo Domain model: Follow Ecore Best Practises Follow the little pony checklist NsURI convention Reference and attribute names are consistent All the non-abstract EClasses are supposed to be instanciated A user can’t introduce cyclic references in between model fragments A user can’t introduce cyclic references in between model fragments http://cedric.brun.io/eclipse/ecore-design-checklist-part1/ http://cedric.brun.io/eclipse/ecore-design-checklist-part2
  10. 10. ©Copyright2016Obeo The Sirius Process Domain Model Graphical Modelers Integration Iterate
  11. 11. 11 ©Copyright2016Obeo Graphical Modelers: Use expressive shapes
  12. 12. 12 ©Copyright2016Obeo Graphical Modelers: Give meaning to colors
  13. 13. 13 ©Copyright2016Obeo Graphical Modelers: Use SVG & images Use your Visual Identity
  14. 14. 14 ©Copyright2016Obeo Graphical Modelers: make it nice Follow Loredana's advises
  15. 15. 15 ©Copyright2016Obeo Graphical Modelers: make it nice Follow Loredana's advises after before
  16. 16. 16 ©Copyright2016Obeo Graphical Modelers: make it nice Follow Loredana's advises after before
  17. 17. 17 ©Copyright2016Obeo Graphical Modelers: create an instinctive usage (without training)
  18. 18. 18 ©Copyright2016Obeo Graphical Modelers: add custom properties view
  19. 19. 19 ©Copyright2016Obeo Graphical Modelers: guide the user
  20. 20. 20 ©Copyright2016Obeo Graphical Modelers: guide the user conditional styles
  21. 21. 21 ©Copyright2016Obeo Graphical Modelers: guide the user smart filters
  22. 22. 22 ©Copyright2016Obeo Graphical Modelers: guide the user semantic positionning
  23. 23. 23 ©Copyright2016Obeo Graphical Modelers: guide the user activity explorer
  24. 24. 24 ©Copyright2016Obeo Graphical Modelers: guide the user Viewpoints Layers Validation Tabbar Layout …. Reduce the number of clics
  25. 25. 25 ©Copyright2016Obeo Graphical Modelers: work by uses cases Modeling Champion Domain Stakeholder Sirius Core Dev Sirius Expert
  26. 26. 26 ©Copyright2016Obeo Graphical Modelers: follow Obeo's best practices Optimized model queries Avoid eAllContents() Use semanticCandidate instead of precondition ... Prefer AQL langage Validate your VSM Use naming convention Reuse representation's definition with imports Take care of the views’ size Think about (un)synchronized nodes
  27. 27. ©Copyright2016Obeo The Sirius Process Domain Model Graphical Modelers Integration Iterate
  28. 28. 28 ©Copyright2016Obeo Integration: typical tasks Build Tycho / Maven / Jenkins Plugin architecture and reuse strategy Branding RCP / UI simplification Import / Export Document Generation with M2Doc Source Code Generation with Acceleo (or XTend) Xtext Bridge Collaboration solution
  29. 29. ©Copyright2016Obeo The Sirius Process Domain Model Graphical Modelers Integration Iterate
  30. 30. 30 ©Copyright2016Obeo Iterate: follow Obeo's best practises A POC generally address A subset of the target domain a reduced set of representations A POC is representation centric don't care about reliability of domain model Can be trashed Should be trashed→ Here the goal is to validate the general principle of the tooling, not start the development
  31. 31. 31 ©Copyright2016Obeo Iterate – POC: Design for your users with your users Tools are easy to configure Design your ecore model in session validate with domain experts→ Prototype your sirius representations in session Test with targetted users→ Add in the loop internal or external IT integrator Ideal team : 1 Sirius expert 1 targetted user1 domain expert
  32. 32. ©Copyright2016Obeo Ready-to-use packages Community Edition Team Edition A 100% Open Source package to discover Sirius thanks to a robust foundation A commercial package completing OD Community with repository-based collaborative features.
  33. 33. 33 ©Copyright2016Obeo Iterate – POC : project organization Typical goals for Sirius expert: To animate a working session To implement a domain model or review an existing one To quickly prototype Sirius representations from PPT / Visio specifications To demonstrate the ability to import / export data with external tools Average time for POC : 5/20 wd
  34. 34. 34 ©Copyright2016Obeo Iterate: follow Obeo's best practises A Pilot generally address A subset of the target domain, reliable enough for a real usage a reduced set of representations, usable by real end users A Pilot is domain model + UX centric the domain model should reliable and long term It should demonstrate a value on some use cases with good feedbacks The goal is to validate the ROI
  35. 35. 35 ©Copyright2016Obeo Iterate – Pilot: scope Outcomes Domain model Specification and Implementation of a subpart of the EMF domain model Representations Completion and Stabilization of the representations started during the POC or Creation from scratch to be based on good specifications Enough representation to be able to edit any elements Basic Tools such as : direct edit, reconnexion, creation, built-in tools usage Integration Import / Export, (doc+code) Generators Challenge Identify risks and try to solve them No test on large volumetry
  36. 36. 36 ©Copyright2016Obeo Iterate – Pilot: project organization Several ways of automonous Full outsourcing to Sirius experts Full internal dev with progressive ramp-up 4 days training 2 weeks at full time for initial setup and workshops 2,5 days of week during 1 month Sprint for specific features Support Mix 1 outsourced Sirius expert 2 internal developper↔ Full time project or sprints Average time for Pilot: 15/40 wd
  37. 37. ©Copyright2016Obeo Hot-fixes & Open Innovation Cost management of your specific integrations Dedicated Support Guaranteed response time for your support queries Secure Your Deployments Drive the Roadmap Iterate – Pilot: Editor's Support
  38. 38. 40 ©Copyright2016Obeo Iterate: follow Obeo's best practises Industrialization generally address Scalability Multiply representations at different abstractions or context Adding all tools for convenience Industrialization is reliability centric Unit Testing on every services RCP testing for UI Automatic build, code review
  39. 39. ©Copyright2016Obeo Collaborative Modeling with Sirius: from Model Fragments to Shared-Repository
  40. 40. ©Copyright2016Obeo Collaboration with model fragments SCM Merge data Work locally Work locally Merge data A SCM to manage files User 1 User 2
  41. 41. ©Copyright2016Obeo Collaboration with model fragments User 1 User organiser Fragment file User 2 How to avoid merging ?
  42. 42. ©Copyright2016Obeo EMF Compare : semantic merge
  43. 43. ©Copyright2016Obeo EMF Compare: graphical merge
  44. 44. ©Copyright2016Obeo Model fragment: so what ? Assume that processes are well defined and followed for File fragmentation File sharing File locking at corse grain Assume Technical support for merge processes suited for Meta model that can be easily fragmented Low user number Technical users
  45. 45. ©Copyright2016Obeo You already know how to collaborate fluently
  46. 46. ©Copyright2016Obeo Instant collaboration User 2 Obeo Designer Team Server User 1 User 2 shared repository and collaborative work features
  47. 47. ©Copyright2016Obeo Users' Feedback Several users working simultaneously on the same data • Automatic propagation of modifications across all user views • Authentication and data access rights • Suited for 10-15 users users working simultaneously on the same data No time lost managing conflicts and splitting models • Implicit locking during modifications • Explicitly created reservation locks Centralized administration • Administration  console with automation feature • Branch, archive and backup management Standard data exploitation • Storage in a multi-platform relational database (H2) • Ready to deploy server configuration based on CDO • Import/Export with local projects
  48. 48. ©Copyright2016Obeo Usage across several teams OD Team is deployed at Sagem, MMA, CS, Postal Bank, Thales, French Ministry of Defense, Airbus, ... Paris Stuttgart SCM
  49. 49. ©Copyright2016Obeo To Sum Up Focus on the domain model and Stabilize it ASAP Initialize and design your representations in workshops Start with a POC Industrialize with a collaborative editing strategy
  50. 50. 15/11/2016 Paris XV - Novotel Vaugirard Talks ClinicTutorials Call For Papers Now Open!

×