ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Överlevnad i en komplex
                                  mjukvaruvärld
                                                               Tomas Samuelsson




Varje år bjuder vi in våra kunder till tre inspirationsdagar där vi lyfter fram de mest
intressanta IT-frågorna med fokus på strategi, teknik eller kommunikation. Dagarna
inleds med en intressant och aktuell huvudföreläsare. Därefter bjuder vi på vår
specialistkompetens i block med parallella seminarier som hör till dagens tema.
Om mig

            Tomas Samuelsson
              –    tomas.samuelsson@sigma.se
              –    Jobbar på Sigma Göteborg
              –    Jobbat i IT-branschen sedan 1994
              –    Jobbar numera mest som IT-arkitekt
                       • Enterprise Java
                       • Integration
              – Uppdrag inom telekom, retail och fordonsindustri




Varje år bjuder vi in våra kunder till tre inspirationsdagar där vi lyfter fram de mest
intressanta IT-frågorna med fokus på strategi, teknik eller kommunikation. Dagarna
inleds med en intressant och aktuell huvudföreläsare. Därefter bjuder vi på vår
specialistkompetens i block med parallella seminarier som hör till dagens tema.
Problem

 Kravändringar
  – Förutsättningar förändras hela tiden
 Bräcklig arkitektur
  – Ändringar och buggfixar i befintlig programvara som på ytan fungerar tillfredställande skapar
    oväntade problem även vid små förändringar
 DÃ¥lig fokusering
  –   Oklara ansvarsområden för moduler.
 För många interna beroenden
  – Program-modul beror på andra program-moduler i allt för stor grad
Exempel på åtgärder

 Kravändringar
  – Kortare utvecklingscykler (Agile)
 Bräcklig arkitektur
  – Enhetstest, kod och design review, standardiserad utveckling
 DÃ¥lig fokusering
  – Fokuserade komponenter med ett anvarsområde
 För många interna beroenden
  – Enkla och stabila gränssnitt, begränsat ansvar
Time-to-market

 Snabbare än konkurrenterna
  – Kortare utvecklingstid – Mindre och klara beroenden
 Ta vara på tillfället
  – Release när det behövs – Bara de påverkade komponenterna
  – Patch – Endast den komponent som ändrats
 Med kvalitet
  – Testat – Koll på vad som ändrats
Önskemål

 Isolerade komponenter
 Explicit exponerade gränssnitt
 Tänka i termer av tjänster även internt i program
  – Internal SOA?
 Kan köra samma olika version av samma komponent
 Installera nya komponenter utan att stoppa
OSGi
Moduler i en JVM
                       A
                      1.0



           B           C     D
          1.0         1.0   1.0




           E                 F
          1.0               1.0




                 G           G
                1.0         1.1
Moduler i en JVM
                       A
                      1.0



           B           C     D
          1.0         1.0   1.0




           E                 F
          1.0               1.0




                 G           G
                1.0         1.1
Moduler i en JVM
                       A
                      1.0



           B           C     D
          1.0         1.0   1.0




           E                 F
          1.0               1.0




                 G           G
                1.0         1.1
Moduler i en JVM

     Service-                A
     registry               1.0



                 B           C     D
                1.0         1.0   1.0




                 E                 F
                1.0               1.0




                       G           G
                      1.0         1.1
Deployment options

 Java EE
  – WebSphere, Jboss, WebLogic, Tomcat
 OSGi Bundle Repository OBR (RFC-0112)
  – Hanterar beroenden, kan skapas / hanteras med tex Maven
 OSGi Enterprise
 OSGi Mobile
  – Android, Windows Mobile, Ej Iphone, Enheter baserade på Java ME
 Andra färdiga moduler
OSGi i daglig användning?

 Eclipse, RAD
  – Används för pluginhantering
 Java EE
  – WebSphere, Jboss, WebLogic
 Telematik
  – Fjärrdiagnostik
  – Fleet management
 Smarta hem (och kök!)
 Routers och switchar
  – Cisco AXP (Application Extension Platform)
Frågor?




Varje år bjuder vi in våra kunder till tre inspirationsdagar där vi lyfter fram de mest
intressanta IT-frågorna med fokus på strategi, teknik eller kommunikation. Dagarna
inleds med en intressant och aktuell huvudföreläsare. Därefter bjuder vi på vår
specialistkompetens i block med parallella seminarier som hör till dagens tema.
Information

  www.osgi.org
  Specifications: http://www.osgi.org/Specifications/HomePage
  Eclipse Equinox http://eclipse.org/equinox/
  Apache Felix http://felix.apache.org/site/index.html
Överlevnad i en komplex mjukvaruvärld
Överlevnad i en komplex mjukvaruvärld

More Related Content

Överlevnad i en komplex mjukvaruvärld

  • 1. Överlevnad i en komplex mjukvaruvärld Tomas Samuelsson Varje Ã¥r bjuder vi in vÃ¥ra kunder till tre inspirationsdagar där vi lyfter fram de mest intressanta IT-frÃ¥gorna med fokus pÃ¥ strategi, teknik eller kommunikation. Dagarna inleds med en intressant och aktuell huvudföreläsare. Därefter bjuder vi pÃ¥ vÃ¥r specialistkompetens i block med parallella seminarier som hör till dagens tema.
  • 2. Om mig Tomas Samuelsson – tomas.samuelsson@sigma.se – Jobbar pÃ¥ Sigma Göteborg – Jobbat i IT-branschen sedan 1994 – Jobbar numera mest som IT-arkitekt • Enterprise Java • Integration – Uppdrag inom telekom, retail och fordonsindustri Varje Ã¥r bjuder vi in vÃ¥ra kunder till tre inspirationsdagar där vi lyfter fram de mest intressanta IT-frÃ¥gorna med fokus pÃ¥ strategi, teknik eller kommunikation. Dagarna inleds med en intressant och aktuell huvudföreläsare. Därefter bjuder vi pÃ¥ vÃ¥r specialistkompetens i block med parallella seminarier som hör till dagens tema.
  • 3. Problem Kravändringar – Förutsättningar förändras hela tiden Bräcklig arkitektur – Ändringar och buggfixar i befintlig programvara som pÃ¥ ytan fungerar tillfredställande skapar oväntade problem även vid smÃ¥ förändringar DÃ¥lig fokusering – Oklara ansvarsomrÃ¥den för moduler. För mÃ¥nga interna beroenden – Program-modul beror pÃ¥ andra program-moduler i allt för stor grad
  • 4. Exempel pÃ¥ Ã¥tgärder Kravändringar – Kortare utvecklingscykler (Agile) Bräcklig arkitektur – Enhetstest, kod och design review, standardiserad utveckling DÃ¥lig fokusering – Fokuserade komponenter med ett anvarsomrÃ¥de För mÃ¥nga interna beroenden – Enkla och stabila gränssnitt, begränsat ansvar
  • 5. Time-to-market Snabbare än konkurrenterna – Kortare utvecklingstid – Mindre och klara beroenden Ta vara pÃ¥ tillfället – Release när det behövs – Bara de pÃ¥verkade komponenterna – Patch – Endast den komponent som ändrats Med kvalitet – Testat – Koll pÃ¥ vad som ändrats
  • 6. ÖnskemÃ¥l Isolerade komponenter Explicit exponerade gränssnitt Tänka i termer av tjänster även internt i program – Internal SOA? Kan köra samma olika version av samma komponent Installera nya komponenter utan att stoppa
  • 8. Moduler i en JVM A 1.0 B C D 1.0 1.0 1.0 E F 1.0 1.0 G G 1.0 1.1
  • 9. Moduler i en JVM A 1.0 B C D 1.0 1.0 1.0 E F 1.0 1.0 G G 1.0 1.1
  • 10. Moduler i en JVM A 1.0 B C D 1.0 1.0 1.0 E F 1.0 1.0 G G 1.0 1.1
  • 11. Moduler i en JVM Service- A registry 1.0 B C D 1.0 1.0 1.0 E F 1.0 1.0 G G 1.0 1.1
  • 12. Deployment options Java EE – WebSphere, Jboss, WebLogic, Tomcat OSGi Bundle Repository OBR (RFC-0112) – Hanterar beroenden, kan skapas / hanteras med tex Maven OSGi Enterprise OSGi Mobile – Android, Windows Mobile, Ej Iphone, Enheter baserade pÃ¥ Java ME Andra färdiga moduler
  • 13. OSGi i daglig användning? Eclipse, RAD – Används för pluginhantering Java EE – WebSphere, Jboss, WebLogic Telematik – Fjärrdiagnostik – Fleet management Smarta hem (och kök!) Routers och switchar – Cisco AXP (Application Extension Platform)
  • 14. FrÃ¥gor? Varje Ã¥r bjuder vi in vÃ¥ra kunder till tre inspirationsdagar där vi lyfter fram de mest intressanta IT-frÃ¥gorna med fokus pÃ¥ strategi, teknik eller kommunikation. Dagarna inleds med en intressant och aktuell huvudföreläsare. Därefter bjuder vi pÃ¥ vÃ¥r specialistkompetens i block med parallella seminarier som hör till dagens tema.
  • 15. Information www.osgi.org Specifications: http://www.osgi.org/Specifications/HomePage Eclipse Equinox http://eclipse.org/equinox/ Apache Felix http://felix.apache.org/site/index.html