Open-source Model Driven
software development toolset
Lesson learned from Orange Labs
Orange Labs

Samuel Liard, Research & Development
July 10 2009




                                       unrestricted
To do          In process   Done



Orange




       First
     experience




New tools




   Conclusion
To do               In process   Done



                  Orange




       First
     experience




New tools




   Conclusion
Orange

Serving nearly 182 million customers on 5 continents, our group is a leading
telecommunications operators in the world. With an organization that
relies on proximity to markets and a global vision of our business -
fixed, mobile and internet - our group is now an integrated operator and
internationally.

      1er ADSL operator, with 12,7 million customers in Europe
      European leader in the voice over IP, with more than 6,5
       million customers
      number 1 in Europe and number 2 in the world
       for television over ADSL, with 2,1 million customers
      3e mobile operator in Europe
      A world leader on Business Telecommunications services
      First historic operator to deploy FTTH ("fiber to the home") in
       France and Slovakia
Orange Labs in world
BIZZ/CIL
     A lab oriented towards the enterprise services integration
     63 people in 2009
                                                                     Missions
Architecture, Integration                   Architecture,            • Design and develop services and platforms for development &
     & Middleware                           Open Source              exposure of on line services in new application domains such as
                                              & Portal
                                                                     M2M, e-health, Communication & Collaboration, B2B & Supply
                                       • E-health platforms &
                                                                     Chain Management and SaaS
 • M2M platform & services
 • SaaS platforms &                      architecture
   enablement                          • SaaS & APIs exposure        • Perform Research works in these domains in order to anticipate
 • APIs exposure platforms               platforms                   next generation of innovative services
                                       • APIs support & SDKs

                                                                     • Perform studies and scouting in software engineering and
                  Business                                           Information Technology in order to develop skills and best
                     To
                                                                     practices
                  Business

         •C&C services & architecture
         •B2B services in SaaS mode
         •Supply Chain Management
         (EPC global)
                                                                   I'm here
                                             Development,                     Samuel Liard
                                               Integration                            Software Architect JEE
                                           & Industrialization

                                   •   M2M platform & services
          Security,                •   Virtualization management
         Architecture              •   SaaS & Mobility
              &
         Modelization

 •   E-health hospital services
 •   Virtualization management
 •   Information system for SaaS
To do        In process       Done



                             Orange




                  First
                experience



New tools




   Conclusion
Initial goals


   Cost : Optimize the resources staffing.
      – Make preliminary effort on design
      – Postponed coding effort
   Quality : Minimizing defects and the complexity
      – Behavior design
      – Share a common model
   Features : Maintain a flexible software architecture
      – "high level" model - functional point of view
      – Documentation up to date
   Time : Keep good productivity on time
      – Do not start from scratch for coding
Steps



1.   Work together on design
     –   abstracting technical details
     –   Generate functional design document
2.   One shot code generation
     –   For boring EJB classes
     –   Skeleton and JavaDoc
3.   Near MDA
     –   Add PSM
     –   Code round trip
First chain

       Objecteering/UML                                     WebLogic
                                                                EJB
    PIM                                                      Descriptors



                                                              Eclipse
                     PSM EJB         Java Module
                                                            Java / Javadoc


        SQL Module
                     PSM SQL         SQL Module
                                                              Oracle
                                                             SQL Scripts
                        SCC Module


Documentations
 Word + Html                                       Version management (PVCS)
Feedbacks


   Impediments
      – Multi-users with Objecteering
      – Too many steps (PIM – PSM – Code)
      – Transformer to complex
      – Java generator not fully customizable


   Benefits
      – Very fast project start up
      – Hide technologies complexity
      – Documentation always up to-date
To do        In process       Done



                          Orange




                                 First
                               experience


             New tools




Conclusion
New group choice



   Maven enterprise repository
   Jonas selected
   Objecteering dereferenced
   Enterprise Architect selected
Software factory evolution




   hudson




checkstyle
New development chain

  Enterprise Architect                                    Jonas

    PIM
                                               Eclipse
                                                       Java / Javadoc

                              Acceleo Module
                  XMI                                    Hibernate
                                                         Descriptors


Documentations
  RTF + Html                                             MySQL
                 SVN Module
                                                         SQL Scripts



                                               Version management (SVN)
MDA Editor Before
New Editor
Feedbacks


   Impediments
      – EA is evil
         – EA is not an UML 2 tools
           – XMI export change every minor version
      – Still a bit long


   Benefits
      – Acceleo transformer accessible for Java developer
         – With real development tools
           – 15 000 lines J code = 3 000 lines Acceleo script
      – No more PSM
      – Much less licenses
      – Good EA documentation generator
To do     In process        Done



                       Orange




                              First
                            experience




                       New tools




        Conclusion
Conclusion

   We believe in MDD approach
      – Increases productivity and quality
      – Good development framework
   We need a complete Eclipse UML modeler
   MDD can be use in agile development
      – Change some manager wrong vision :




                MDA Developer          Agile Developer
French Blog Roll



   Pascal Roques
    http://www.dotnetguru2.org/proques
   Jérome Benois
    http://blog.benois.fr/
   Xavier Blanc
    http://xavier.blanc.free.fr
   Cédric Brun
    http://model-driven-blogging.blogspot.com
   Samuel Liard
    http://www.net-liard.com/blog
thank you




            unrestricted

Acceleo Day - Orange

  • 1.
    Open-source Model Driven softwaredevelopment toolset Lesson learned from Orange Labs Orange Labs Samuel Liard, Research & Development July 10 2009 unrestricted
  • 2.
    To do In process Done Orange First experience New tools Conclusion
  • 3.
    To do In process Done Orange First experience New tools Conclusion
  • 4.
    Orange Serving nearly 182million customers on 5 continents, our group is a leading telecommunications operators in the world. With an organization that relies on proximity to markets and a global vision of our business - fixed, mobile and internet - our group is now an integrated operator and internationally.  1er ADSL operator, with 12,7 million customers in Europe  European leader in the voice over IP, with more than 6,5 million customers  number 1 in Europe and number 2 in the world for television over ADSL, with 2,1 million customers  3e mobile operator in Europe  A world leader on Business Telecommunications services  First historic operator to deploy FTTH ("fiber to the home") in France and Slovakia
  • 5.
  • 6.
    BIZZ/CIL A lab oriented towards the enterprise services integration 63 people in 2009 Missions Architecture, Integration Architecture, • Design and develop services and platforms for development & & Middleware Open Source exposure of on line services in new application domains such as & Portal M2M, e-health, Communication & Collaboration, B2B & Supply • E-health platforms & Chain Management and SaaS • M2M platform & services • SaaS platforms & architecture enablement • SaaS & APIs exposure • Perform Research works in these domains in order to anticipate • APIs exposure platforms platforms next generation of innovative services • APIs support & SDKs • Perform studies and scouting in software engineering and Business Information Technology in order to develop skills and best To practices Business •C&C services & architecture •B2B services in SaaS mode •Supply Chain Management (EPC global) I'm here Development, Samuel Liard Integration Software Architect JEE & Industrialization • M2M platform & services Security, • Virtualization management Architecture • SaaS & Mobility & Modelization • E-health hospital services • Virtualization management • Information system for SaaS
  • 7.
    To do In process Done Orange First experience New tools Conclusion
  • 8.
    Initial goals  Cost : Optimize the resources staffing. – Make preliminary effort on design – Postponed coding effort  Quality : Minimizing defects and the complexity – Behavior design – Share a common model  Features : Maintain a flexible software architecture – "high level" model - functional point of view – Documentation up to date  Time : Keep good productivity on time – Do not start from scratch for coding
  • 9.
    Steps 1. Work together on design – abstracting technical details – Generate functional design document 2. One shot code generation – For boring EJB classes – Skeleton and JavaDoc 3. Near MDA – Add PSM – Code round trip
  • 10.
    First chain Objecteering/UML WebLogic EJB PIM Descriptors Eclipse PSM EJB Java Module Java / Javadoc SQL Module PSM SQL SQL Module Oracle SQL Scripts SCC Module Documentations Word + Html Version management (PVCS)
  • 11.
    Feedbacks  Impediments – Multi-users with Objecteering – Too many steps (PIM – PSM – Code) – Transformer to complex – Java generator not fully customizable  Benefits – Very fast project start up – Hide technologies complexity – Documentation always up to-date
  • 12.
    To do In process Done Orange First experience New tools Conclusion
  • 13.
    New group choice  Maven enterprise repository  Jonas selected  Objecteering dereferenced  Enterprise Architect selected
  • 14.
    Software factory evolution hudson checkstyle
  • 15.
    New development chain Enterprise Architect Jonas PIM Eclipse Java / Javadoc Acceleo Module XMI Hibernate Descriptors Documentations RTF + Html MySQL SVN Module SQL Scripts Version management (SVN)
  • 16.
  • 17.
  • 18.
    Feedbacks  Impediments – EA is evil – EA is not an UML 2 tools – XMI export change every minor version – Still a bit long  Benefits – Acceleo transformer accessible for Java developer – With real development tools – 15 000 lines J code = 3 000 lines Acceleo script – No more PSM – Much less licenses – Good EA documentation generator
  • 19.
    To do In process Done Orange First experience New tools Conclusion
  • 20.
    Conclusion  We believe in MDD approach – Increases productivity and quality – Good development framework  We need a complete Eclipse UML modeler  MDD can be use in agile development – Change some manager wrong vision : MDA Developer Agile Developer
  • 21.
    French Blog Roll  Pascal Roques http://www.dotnetguru2.org/proques  Jérome Benois http://blog.benois.fr/  Xavier Blanc http://xavier.blanc.free.fr  Cédric Brun http://model-driven-blogging.blogspot.com  Samuel Liard http://www.net-liard.com/blog
  • 22.
    thank you unrestricted