3. Utgangspunkt
3
? Enterprise-applikasjoner basert p?
Maven/Spring inneholder ofte mye XML
? Komplisert dependency management
? Mye ¡°boiler-plate¡± konfigurasjon, kan v?re
vanskelig ? vedlikeholde
? Utvikling av webapps forutsetter
kjennskap til servlet spec (web.xml etc.)
? Kan ta flere dager bare ? sette opp et
prosjekt!
4. Micro Services
4
? Selskaper som Google og Amazon beveger
seg bort fra monolittiske arkitekturer
? Trend: Micro Service arkitektur og REST
? Dekomponere en applikasjon i l?st koblede
tjenester (ofte REST-grensesnitt)
? Micro Services er sm? og gj?r en ting
? Deployeres som selvstendige prosesser
? Finnes det et godt egnet verkt?y som kan
underst?tte utvikling av Micro Services?
6. Spring Boot
6
? Nytt Spring-prosjekt som skal gj?re det
mer effektivt ? utvikle Spring-applikasjoner
? Enkelt ? lage standalone Spring-apps som
kan kj?res uten app-server
? Spring Boot ble lansert 1. april i ?r
? F?lger med CLI og god st?tte for Groovy
? Gjeldende versjon er 1.1.0
8. Forenklet konfigurasjon
8
? @EnableAutoConfiguration
? Auto-konfigurasjon basert p?
avhengigheter som finnes p? classpath
? N?dvendige beans blir konfigurert med
¡°sensible defaults¡±
? Convention over configuration
? Implementert for en rekke anbefalte
rammeverk som fungerer godt sammen
? Enkel overriding av defaults
? Ikke behov for web.xml
9. Forenklet deployment
9
? Spring-boot-maven-plugin
? Pakker kj?rbar JAR-fil
? Kj?res med java ¨Cjar kommandoen
(embedded Jetty ellerTomcat)
? Ingen appserver n?dvendig
? Mulighet for ekstern konfigurasjon
? Ingen utpakking av filer
12. Fordeler
12
? Ingen kodegenerering eller behov for XML
? Minimalt med boilerplate konfigurasjon
? Enkelt ? override defaults
? Gj?r det raskt ? komme i gang med Spring
? Kj?rbar JAR: ikke behov for app-server
? Kan ogs? pakke klassisk WAR
? Innebygde management endpoints
? Lett ? lage RESTful web services
? Enkel deployment til Cloud (PaaS)
13. Ulemper
13
? Man m? godta litt ¡°magi¡±
? Mister litt kontroll
? Auto-konfigurasjon st?ttes forel?pig bare
av utvalgte rammeverk
14. Konklusjon
14
? Ser veldig lovende ut!
? Perfekt for Micro Services og REST
? Skal bli den anbefalte m?ten ? lage Spring
applikasjoner p? i fremtiden
Editor's Notes
#4: Mye XML: b?de dependency management og Spring-konfigurasjon
#6: Ny plattform fra Spring
Ny organisering av prosjektene
Bedre dokumentasjon
Masse guider!
Vise side: http://spring.io/guides
Open sourcet som en spring referanse app (kodenavn project Sagan).
En rekke vanlige tasks er beskrevet, tar 15-30 min, de fleste er skrevet med Spring Boot!
Boot ligger p? toppen -> skal gj?re det enklere ? bruke de velkjente Spring-prosjekter i ¡°foundation¡±
#9: Eksempel: Hvis Spring Security ligger p? classpath vil automatisk alle endepunkter sikres med basic authentication.
Annet eks: hvis HSQLDB ligger p? classpath f?r man automatisk en in-memory DB.