Pragmatisk integrasjon - JavaZone 2010
Upcoming SlideShare
Loading in...5
×
 

Pragmatisk integrasjon - JavaZone 2010

on

  • 1,222 views

My talk from JavaZone 2010 on pragmatic integration. Sorry, Norwegian only. :)

My talk from JavaZone 2010 on pragmatic integration. Sorry, Norwegian only. :)

Statistics

Views

Total Views
1,222
Views on SlideShare
1,222
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
1

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Pragmatisk integrasjon - JavaZone 2010 Pragmatisk integrasjon - JavaZone 2010 Presentation Transcript

    • Pragmatisk Integrasjon
      Anders Sveen
      JavaZone 2010
    • Anders
      Teknologileder, Java
      Programmerer
      Smidig konferansen
      NTNU, Ciber, BBS
    • ToC
      Eksempler
      Teorien
      Whatnow?
    • Endring
      Endring er bra!
      Endring skjer hele tiden
      Endring skal være enkelt
      Leve med systemer på lang sikt
      Integrasjon er alt for ofte i veien
    • Eksempler
      The stuffyouremember
    • EJB som integrasjonsprotokoll
      2 deler av ett system
      2 app servere i forskjellige soner
      Kontroll over grensesnitt på begge sider
      EJB for remote kall
    • EJB som integrasjonsprotokoll
      Forskjellige versjoner på applikasjonsserverne
      Dårlig versjonshåndtering
      RMI implementasjoner
      Spring med Hessian løste problemet
    • Remoting for å skape løs kobling
      2 deler av ett system
      Samme domenet for alle praktiske formål
      Web er hovedklienten og driver backend
      Vil det alltid være det?
      Så kan man redeployefrontend uten å ta ned backend
    • Remoting for å skape løs kobling
      Endringer i den ene fører nesten alltid med seg endringer i den andre
      Annen tankegang rundt tjenestekall
      Ikke logikk i domeneobjektene
      DTO for transport = tilnærmet duplisering av domenet
    • Eksponere domenet i integrasjon
      Eksponere domenet
      Kodegenerering
      Runtimemapping
      Mindre kode
      Raskt oppe
    • Eksponere domenet i integrasjon
      Får ikke endret domenet
      Domenet skal representere forretningen
      Systemet blir en brems
    • Entrerprice
      En helt vanlig bedrift
    • Systemutvikling
      Mange systemer
      Integrasjon
      Skrevet i forskjellige språk
      Forskjellige rammeverk
      Eies av forskjellige avdelinger
      Ingen vedlikeholder de
    • Kaosteori
      Nytt system
      Brukerprofilen ligger i et annet system
      Det eksisterer en tjeneste for å hente ut denne
      Det mangler felt, mellomnavn
      Ikke tid
      Noen får klemt det inn
      Oppdatert tjeneste legges ut
    • I prod
      Noen andre får lagt til mellomnavn også i fornavn feltet
      Du viser plutselig mellomnavnet 2 ganger
      Du må gjøre en endring
      Du har ikke tid
      Noen får skviset det inn
    • Integrasjon
      Som regel ikke teknologi som setter grenser
      Rutiner og kontroll
    • Integrasjon koster
      Ekstra koordinering
      Ytelse
      Kompetanse
      Deployment
    • Verdi av integrasjon
      Uavhengighet
      Oppdeling av arbeid
      Gjenbruk av systemer
      Sentralisering av regler
      Verdien avhenger av designet
    • Grensesnitt og kontrakter
      Din avtale med omverdenen
    • Kontrakt
      Mellom 2 systemer
      Protokoll
      Grensesnitt
      Datastrukturer
      Parametere
      Data
      Testsuite
    • Endre kontrakter
      Nye behov
      Nye systemer
      Hold kontrakten stabil
      Ny versjon av kontrakten
      Kvitt deg med gammel versjon
      Gir tid til å migrere til ny versjon
    • End of service
      3 versjoner støttes
      Nummer 3 drepes etter 6 måneder
      Forutsetter
      Kontroll over integrasjonspartnere
      Endrings-vilje og -dyktighet
      Ofte ingen til å gjøre endringen
    • Hvis ikke?
      Spørre alle om de kan oppgradere samtidig
      Tvinge alle til å oppgradere samtidig
      Satse på at endringen ikke har noen påvirkning
    • Avhengigheter
      Å finne de riktige tjenestene
    • Løs kopling
      The holygrail
      En endring i en komponent påvirker ikke en annen komponent
      Mange små moduler skal gi løs kopling
      Remoting gir løs kobling
    • Delte datamodeller gir kopling
    • Sterk kopling
    • Løsere
    • Løsest
    • Views
      Avhengighets view
      Andre
      Nettverk
      Deployment
      Drift
      Logiske moduler
      TOGAF lister 30 views
    • Systemskiller
      Setting av grenser
    • Systemskiller oppstår
      Forskjellige prioriteringer
      Kompetanse
      Innkjøp
      Teknologi
      Politikk
    • Conways lov
      ..organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations.
    • Slå sammen systemer!
    • Færre system
      Mindre administrasjon
      Mer gjenbruk
      Færre team
      Endringsdyktig organisasjon
      Kontinuerlig fokus!
    • Keep it simple stupid
      Nowwhat?
    • Prosess
      Hvilke tjenester har vi?
      Hvem bruker hvilke tjenester?
      Hvordan brukes tjenester?
      Hvordan håndterer vi endringer?
      Break it to fix it
    • Kompleksitet
      Software gir kompleksitet
      Rammeverk gir kompleksitet
      Servere gir mer kompleksitet
      Protokoll features gir kompleksitet
      Reduser kompleksitet kontinuerlig
    • Integrasjonsserver
      Opplæring av drift
      Vent på oppsett av miljø
      Lokal installasjon og oppsett
      Utvikling og testing
      Eget utviklingsverktøy?
      XML programmering?
      Ekstra nettverkskall
      Avhengigheten er mellom systemene
    • Husk publicvoidmain
      Bruke biblioteker
      Enkel og lesbar kode
      Inkluder det du trenger
      Kun JVM satt opp på maskinen
      Jetty/Servlet?
      Batch?
    • Hva med resten?
      Distribuerte transaksjoner
      Virker ikke
      Er trege
      Løsningen
      Vær klar over at transaksjoner kan feile
      Idempotens og Recovery
      Sikkerhet
    • Enkle formater og protokoller
      WS
      JSON
      XML
      Leselige
      Hierarkiske
      Validerbare?
      Verktøy?
    • Integrasjon
      Krever rutine, kontroll og langsiktighet
      Handler mer om prosess enn om teknologi
      Bruk enkle verktøy
      Design og systemskiller
      Reduser kompleksitet
      Langsiktighet og endring
    • http://smidig2010.no
      anders.sveen@capgemini.com / http://blog.f12.no / @anderssv
    • Spørsmål?
      anders.sveen@capgemini.com / http://blog.f12.no / @anderssv