Överlevnad i en komplex mjukvaruvärld
DESCRIPTION
Presentation av Tomas Samuelsson den 11 maj 2012TRANSCRIPT
![Page 1: Överlevnad i en komplex mjukvaruvärld](https://reader033.vdocuments.pub/reader033/viewer/2022061221/54be34c04a79598c1e8b470d/html5/thumbnails/1.jpg)
Ö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.
![Page 2: Överlevnad i en komplex mjukvaruvärld](https://reader033.vdocuments.pub/reader033/viewer/2022061221/54be34c04a79598c1e8b470d/html5/thumbnails/2.jpg)
Om mig
Tomas Samuelsson– [email protected]– 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.
![Page 3: Överlevnad i en komplex mjukvaruvärld](https://reader033.vdocuments.pub/reader033/viewer/2022061221/54be34c04a79598c1e8b470d/html5/thumbnails/3.jpg)
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
![Page 4: Överlevnad i en komplex mjukvaruvärld](https://reader033.vdocuments.pub/reader033/viewer/2022061221/54be34c04a79598c1e8b470d/html5/thumbnails/4.jpg)
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
![Page 5: Överlevnad i en komplex mjukvaruvärld](https://reader033.vdocuments.pub/reader033/viewer/2022061221/54be34c04a79598c1e8b470d/html5/thumbnails/5.jpg)
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
![Page 6: Överlevnad i en komplex mjukvaruvärld](https://reader033.vdocuments.pub/reader033/viewer/2022061221/54be34c04a79598c1e8b470d/html5/thumbnails/6.jpg)
Önskemål
Isolerade komponenterExplicit exponerade gränssnittTänka i termer av tjänster även internt i program– Internal SOA?
Kan köra samma olika version av samma komponentInstallera nya komponenter utan att stoppa
![Page 7: Överlevnad i en komplex mjukvaruvärld](https://reader033.vdocuments.pub/reader033/viewer/2022061221/54be34c04a79598c1e8b470d/html5/thumbnails/7.jpg)
OSGi
![Page 8: Överlevnad i en komplex mjukvaruvärld](https://reader033.vdocuments.pub/reader033/viewer/2022061221/54be34c04a79598c1e8b470d/html5/thumbnails/8.jpg)
Moduler i en JVM
B1.0
A1.0
E1.0
D1.0
F1.0
G1.0
C1.0
G1.1
![Page 9: Överlevnad i en komplex mjukvaruvärld](https://reader033.vdocuments.pub/reader033/viewer/2022061221/54be34c04a79598c1e8b470d/html5/thumbnails/9.jpg)
Moduler i en JVM
B1.0
A1.0
E1.0
D1.0
F1.0
G1.0
C1.0
G1.1
![Page 10: Överlevnad i en komplex mjukvaruvärld](https://reader033.vdocuments.pub/reader033/viewer/2022061221/54be34c04a79598c1e8b470d/html5/thumbnails/10.jpg)
Moduler i en JVM
B1.0
A1.0
E1.0
D1.0
F1.0
G1.0
C1.0
G1.1
![Page 11: Överlevnad i en komplex mjukvaruvärld](https://reader033.vdocuments.pub/reader033/viewer/2022061221/54be34c04a79598c1e8b470d/html5/thumbnails/11.jpg)
Moduler i en JVM
B1.0
A1.0
E1.0
D1.0
F1.0
G1.0
C1.0
G1.1
Service-registry
![Page 12: Överlevnad i en komplex mjukvaruvärld](https://reader033.vdocuments.pub/reader033/viewer/2022061221/54be34c04a79598c1e8b470d/html5/thumbnails/12.jpg)
Deployment options
Java EE– WebSphere, Jboss, WebLogic, Tomcat
OSGi Bundle Repository OBR (RFC-0112)– Hanterar beroenden, kan skapas / hanteras med tex Maven
OSGi EnterpriseOSGi Mobile– Android, Windows Mobile, Ej Iphone, Enheter baserade på Java ME
Andra färdiga moduler
![Page 13: Överlevnad i en komplex mjukvaruvärld](https://reader033.vdocuments.pub/reader033/viewer/2022061221/54be34c04a79598c1e8b470d/html5/thumbnails/13.jpg)
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)
![Page 14: Överlevnad i en komplex mjukvaruvärld](https://reader033.vdocuments.pub/reader033/viewer/2022061221/54be34c04a79598c1e8b470d/html5/thumbnails/14.jpg)
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.
![Page 15: Överlevnad i en komplex mjukvaruvärld](https://reader033.vdocuments.pub/reader033/viewer/2022061221/54be34c04a79598c1e8b470d/html5/thumbnails/15.jpg)
Information
www.osgi.orgSpecifications: http://www.osgi.org/Specifications/HomePageEclipse Equinox http://eclipse.org/equinox/Apache Felix http://felix.apache.org/site/index.html
![Page 16: Överlevnad i en komplex mjukvaruvärld](https://reader033.vdocuments.pub/reader033/viewer/2022061221/54be34c04a79598c1e8b470d/html5/thumbnails/16.jpg)
![Page 17: Överlevnad i en komplex mjukvaruvärld](https://reader033.vdocuments.pub/reader033/viewer/2022061221/54be34c04a79598c1e8b470d/html5/thumbnails/17.jpg)