際際滷

際際滷Share a Scribd company logo
Evolving systems and 
    the link to service 
       orienta4on

             ...and the search for a shorter .tle


Angelo van der Sijpt
angelo.vandersijpt@luminis.eu
                                               鞄岳岳沿://敬敬敬.鍖i界一姻.界看馨/沿鞄看岳看壊/温姻岳看鉛看乙/313055444/
$ whoami


 Angelo van der Sijpt
 Commi:er with Apache ACE
 So=ware engineer at Luminis 
  Technologies
 angelo.vandersijpt@luminis.eu  
 Buzzwords: Java, OSGi, Agile
ARL




      鞄岳岳沿://敬敬敬.鍖i界一姻.界看馨/沿鞄看岳看壊/壊鞄看稼一/57302289/
Formal'
curriculum
  ...
  ...                                school's'objec+ves
  curriculum                        personal)objec-ves
  ...
  ...



               personal)learning)path
personal)learning)path




    Goal%selec)on




         Learning(
         objec-ves
Learning(
              objec-ves



          Object'selec*on

Content

             Executable*
             learning
             design




            Execu&on
Formal'
curriculum
  ...
  ...                                 school's'objec3ves
  curriculum                         personal'objec3ves
  ...
  ...



               personal'learning'path




                   Goal'selec3on




                        Learning(
                        objec-ves



                  Object'selec*on

     Content

                       Executable*
                       learning
                       design




                      Execu&on
ARL
 Where is this student compared to his class?
         ve




                                                  Re
         a(




                                                     st
                                                       ric
       or
     pl




 What learning style do I have?




                                                          (v
    Ex




                                   ed




                                                            e
                                     uc
                                 pro .
                                    鍖le
 Who else has problems with this?
                  Educ.&
                 domain

 What should I do now?




                                  http://www.鍖ickr.com/photos/jeffsmallwood/233853485
The pro鍖le service




             鞄岳岳沿://敬敬敬.鍖i界一姻.界看馨/沿鞄看岳看壊/界姻温噛霞稼艶庄乙鞄恢看姻鉛温糸霞/411869140/
 Pluggable
 Evolvable
 Driven by code
Query q = new Query()
    .select(person())
    .where(person().firstName(literal("Roy")));
RowSet<Row> rowSet = q.select(model);
Person roy = rowSet.iterator().next().get(person());


roy.lastName();


roy.lastName("Trenneman");
PIM:Person                                                      Subject9
                                                               Curriculum




                                                               hasTopConcept
                                                               SKOS:
     hasEduca/on



                                   Achievement
                                              ha
                               f                sA
                           O                         ch                        SKOS:Concept
                      sist                             iev
                   con                                    ed


Educa/on                                                          Learing
                                                                 Objec/ve
new Query().select(curriculum().label(), learningDimension(),
learningDimension().label(), achievement(),
learningdimension("sublearningdimension"))
    .where(
        curriculum()
            .hasTopConcept(learningDimension())
            .label()),
        learningdimension("sublearningdimension")
            .broader(learningDimension())
        learningDimension()
            .label(),
        p.has(education()),
        optional(
                education()
                     .consistsOf(achievement()),
                achievement()
                     .hasAchieved(learningdimension("sublearningdimension"))),
        filter("bound(" + achievement() + ")");
Service Orienta4on




               鞄岳岳沿://敬敬敬.鍖i界一姻.界看馨/沿鞄看岳看壊/界温馨一稼看敬壊/4712191684
A Service Oriented Architecture is comprised of 
independently de鍖ned components, providing 
services through agreed-足upon interfaces. 
Components can in turn have dependencies on other 
services.




                                     鞄岳岳沿://敬敬敬.鍖i界一姻.界看馨/沿鞄看岳看壊/界温馨一稼看敬壊/4712191684
Service Orienta4on
 Mo.va.on
  Isola.on & decoupling
  (Coping with or causing)           B         A
   dynamic composi.on
                                                        binding
 Vocabulary
  Service, component, 
   mandatory/op.onal 
   dependency                         Excluded
 Rules                                Discovery

  Services are self-足contained     Orchestra.on

  Interfaces are de鍖ned            Communica.on 
   beforehand                           method
鞄岳岳沿://敬敬敬.鍖i界一姻.界看馨/沿鞄看岳看壊/温姻岳看鉛看乙/313055444/
Service

            Module


            Lifecycle
Framework
More on OSGi

    De鍖nes a framework
    Bundles (components) are Java jar 鍖les
                    Contain code, metadata, and arbitrary data

           Hall
          et al.
                           C rea tin g M odu lar
                                                   A ppl ica tio ns in J
                                                                           ava
 OSGi IN ACTION




                                                Richard S. Hall
                                                    Karl Pauls
                                             Stuart McCulloch
                                                David Savage
                                        FOREWORD BY PETER
                                                          KRIENS




MANNING


                                              MANNING
SOA and data
 Code centric
 Data never dies, but code can go
 Plugging axioms and entailments
Evolving systems and the link to service orientation
 Allows (de-足)installa.on of components
 Respects the service dependency tree
 Tradeo鍖s
   Transform data, or pay with code complexity
Versioning

                                              Semantic Versioning
 Code: were ge[ng there                                           Technical Whitepaper



                                                                                  Revision 1.0
                                                                                  May 6, 2010


   Major/minor/micro
 Ontologies: version from the 
  start
   Closed system? Place addi.ons in      息 2010 OSGi Alliance
                                                All Rights Reserved.




    same version
   Open system? Bump version on 
    every change (but minimize those)
In short



 Code and data can learn from each other
 Evolve code and data together
   Package them together
 Consider your versioning scheme
   Do, or dont, worry about interchangeability
Evolving systems and 
   the link to service 
      orienta4on
Angelo van der Sijpt
angelo.vandersijpt@luminis.eu




                                http://www.鍖ickr.com/photos/98469445@N00/327471676/

More Related Content

Evolving systems and the link to service orientation

  • 1. Evolving systems and the link to service orienta4on ...and the search for a shorter .tle Angelo van der Sijpt angelo.vandersijpt@luminis.eu 鞄岳岳沿://敬敬敬.鍖i界一姻.界看馨/沿鞄看岳看壊/温姻岳看鉛看乙/313055444/
  • 2. $ whoami Angelo van der Sijpt Commi:er with Apache ACE So=ware engineer at Luminis Technologies angelo.vandersijpt@luminis.eu Buzzwords: Java, OSGi, Agile
  • 3. ARL 鞄岳岳沿://敬敬敬.鍖i界一姻.界看馨/沿鞄看岳看壊/壊鞄看稼一/57302289/
  • 4. Formal' curriculum ... ... school's'objec+ves curriculum personal)objec-ves ... ... personal)learning)path
  • 5. personal)learning)path Goal%selec)on Learning( objec-ves
  • 6. Learning( objec-ves Object'selec*on Content Executable* learning design Execu&on
  • 7. Formal' curriculum ... ... school's'objec3ves curriculum personal'objec3ves ... ... personal'learning'path Goal'selec3on Learning( objec-ves Object'selec*on Content Executable* learning design Execu&on
  • 8. ARL Where is this student compared to his class? ve Re a( st ric or pl What learning style do I have? (v Ex ed e uc pro . 鍖le Who else has problems with this? Educ.& domain What should I do now? http://www.鍖ickr.com/photos/jeffsmallwood/233853485
  • 9. The pro鍖le service 鞄岳岳沿://敬敬敬.鍖i界一姻.界看馨/沿鞄看岳看壊/界姻温噛霞稼艶庄乙鞄恢看姻鉛温糸霞/411869140/
  • 10. Pluggable Evolvable Driven by code
  • 11. Query q = new Query() .select(person()) .where(person().firstName(literal("Roy"))); RowSet<Row> rowSet = q.select(model); Person roy = rowSet.iterator().next().get(person()); roy.lastName(); roy.lastName("Trenneman");
  • 12. PIM:Person Subject9 Curriculum hasTopConcept SKOS: hasEduca/on Achievement ha f sA O ch SKOS:Concept sist iev con ed Educa/on Learing Objec/ve
  • 13. new Query().select(curriculum().label(), learningDimension(), learningDimension().label(), achievement(), learningdimension("sublearningdimension")) .where( curriculum() .hasTopConcept(learningDimension()) .label()), learningdimension("sublearningdimension") .broader(learningDimension()) learningDimension() .label(), p.has(education()), optional( education() .consistsOf(achievement()), achievement() .hasAchieved(learningdimension("sublearningdimension"))), filter("bound(" + achievement() + ")");
  • 14. Service Orienta4on 鞄岳岳沿://敬敬敬.鍖i界一姻.界看馨/沿鞄看岳看壊/界温馨一稼看敬壊/4712191684
  • 15. A Service Oriented Architecture is comprised of independently de鍖ned components, providing services through agreed-足upon interfaces. Components can in turn have dependencies on other services. 鞄岳岳沿://敬敬敬.鍖i界一姻.界看馨/沿鞄看岳看壊/界温馨一稼看敬壊/4712191684
  • 16. Service Orienta4on Mo.va.on Isola.on & decoupling (Coping with or causing) B A dynamic composi.on binding Vocabulary Service, component, mandatory/op.onal dependency Excluded Rules Discovery Services are self-足contained Orchestra.on Interfaces are de鍖ned Communica.on beforehand method
  • 18. Service Module Lifecycle Framework
  • 19. More on OSGi De鍖nes a framework Bundles (components) are Java jar 鍖les Contain code, metadata, and arbitrary data Hall et al. C rea tin g M odu lar A ppl ica tio ns in J ava OSGi IN ACTION Richard S. Hall Karl Pauls Stuart McCulloch David Savage FOREWORD BY PETER KRIENS MANNING MANNING
  • 21. Code centric Data never dies, but code can go Plugging axioms and entailments
  • 23. Allows (de-足)installa.on of components Respects the service dependency tree Tradeo鍖s Transform data, or pay with code complexity
  • 24. Versioning Semantic Versioning Code: were ge[ng there Technical Whitepaper Revision 1.0 May 6, 2010 Major/minor/micro Ontologies: version from the start Closed system? Place addi.ons in 息 2010 OSGi Alliance All Rights Reserved. same version Open system? Bump version on every change (but minimize those)
  • 25. In short Code and data can learn from each other Evolve code and data together Package them together Consider your versioning scheme Do, or dont, worry about interchangeability
  • 26. Evolving systems and the link to service orienta4on Angelo van der Sijpt angelo.vandersijpt@luminis.eu http://www.鍖ickr.com/photos/98469445@N00/327471676/