Drop Wizard som REST app-server

innhold
  1. Drop Wizard som REST app-server
  2. Hello World
  3. Overvåking, konfigurering
  4. Ledelse og REST
  5. Webgrensesnitt, overvåking
  6. Performance, Konklusjon
  7. leste på en side
Drop Wizard som REST app-server

Fallet Wizard Java Framework til å håndtere mye bedre med kravene fra den elektroniske verden i forhold til tradisjonsrike app servere. Det trekker på et vell av åpen kildekode-prosjekter.

Systemene og rammeverk som bruker utviklere i sitt arbeid, er sterkt påvirket av deres arbeidsmiljø. Common Application Server som wildfly (tidligere JBoss), Tomcat eller Glassfish har blitt utformet som en beholder for store, komponentbaserte Java EE-programmer opprinnelig. Beholderen har som oppgave å dermed gi all den infrastruktur som drives i sin søknad: starter med databasetilkoblinger og distribuert transaksjoner opp til utvikling av høy tilgjengelighet cluster-systemer.

Programvaresystemer bør være sammensatt av den rådende på 90-tallet av forrige århundre utsikt over separat kall komponenter, hvor høy modulærisert og gjenbruk ble søkt. Maskinvare var dyre og virtualisering alternativer for mange systemer er ikke like tilgjengelig i dag, noe som er grunnen til at det syntes nødvendig for å kunne kjøre flere programmer i en Application Server eksempel, selv om det ofte bare et enkelt program per server ble operert. Enten for å hindre at programmer som er laget hverandres ressurser i tvist, eller på grunn av enkelhet, ble alle funksjoner kombinert i ett program. Utvikling av anvendelsen og drift av Application Server, inkludert anvendelse ble ansett universelt som separate oppgaver som utføres av forskjellige grupper. Den deretter omfattende separasjon av aktiviteter formet arkitektur av Application Server og er også reflektert i Java EE spesifikasjonen med syv forskjellige roller ned (Java Platform, Enterprise Edition [Java EE] Specification, v7, EE.2.11 Platform roller). En slik inndeling kan ha råd til særlig store organisasjoner.

Med endringen i IT-miljøet gjennom Internett krav til applikasjonsserver kom opp, for de opprinnelig var ment, da det først og fremst til rask levering av web-sider, eller med en økende grad var i ferd med å svare REST forespørsler i mange applikasjoner. Krav som maksimal transaksjon sikkerhet eller støtter flere standarder spiller en mindre rolle i dette miljøet. Resten gjør fremveksten av DevOps bevegelse, som vil ende separasjon av utbygging og drift og forsøk på å løse separasjon av serveradministrasjon og applikasjonsutvikling.

Kort sagt, konvensjonell Application Server, kravene i den elektroniske verden også, men ikke optimalt møte fordi de ble unnfanget for andre krav. I tillegg kan mange av sine funksjoner som skalerbarhet og clustering også nå arkitektonisk annerledes i dag.

Av den grunn, mange nye, lette applikasjonsserver som Netty, Play, Akka, Grizzly, Vår båt eller vert.x har dukket opp de siste årene, enten en enklere modell for utvikling eller lindring i form av konfigurasjon, utrulling og drift sammen med hovedfokus tilby på kommunikasjon via HTTP. Forfatteren har bevisst begrepet Application Server, valgt på dette punktet fordi alle disse prosjektene kjennetegnes ved at de gir infrastruktur for utvikling og drift av applikasjoner og utviklere kan fokusere primært på søknaden logikk.

Drop oppstår Wizard

En av disse alternative Application Server er spesielt utviklet for RESTful Web Services Wizard dråpe. Den har sin opprinnelse i det amerikanske sosiale nettverk Yammer. Det samme gjelder for den kjente beregninger bibliotek som kan samle applikasjonsspesifikke beregninger.

Drop Wizard er karakterisert ved en blanding av pragmatisk og høy ytelse. Dermed lar effektiv utvikling og leverer løsninger til de største problemene i livssyklusen til en applikasjon, fra utvikling og utrulling å konfigurere og bruke. I stedet for å utvikle alle komponentene selv, rulle Wizard utviklere bygge konsekvent på velprøvde åpen kildekode-prosjekter, som nyter en høy spredning. Som Jetty servlet motoren er brukt, er avslappende webtjenester implementeres ved hjelp av JAX-RS referanseimplementasjon Jersey og Jackson for serialisering. Google Guava er en generell supplement JDK. Denne listen kunne gå på for dato og klokkeslett beregninger og fortsett på Liquibase for databaseadministrasjon med Joda-Time.

Slik bruk felles komponenter reduserer både utviklingstid og treningstid, som svar på mange vanlige spørsmål på Internett er lett å finne. Ved utlevering med omfattende utbygginger i huset, kan teamet fokusere bak dråpe Wizard på optimal integrasjon av alle komponenter.

Utplasseringen av en dråpe Wizard programmet tar form av et fett Jars som er generert under oppbygging fra alle nødvendige biblioteker. Denne bestemmelsen i utgangspunktet ved å kopiere Fat Jars på målet serveren er mulig. Ved oppstart Main-Klasse slippe Veiviseren startes en innebygd Jetty eksempel, så søknaden er klar til bruk.

En dråpe veiviseren kan konfigureres med en YAML fil som kart Jackson ved starten av en POJO klasse, som i sin tur kan bli ytterligere validert av Bean validering. Hvis dette ikke lykkes, vil ikke slippe veiviseren ikke starter. For å overvåke programmet, kan brukeren integrere nevnt Metrics Library, som det er mulig for ham å realisere helsekontroller og ulike ytelsesmålinger.