Serverele de aplicații de pe o dietă Serverele de aplicații clasice au încă un viitor JAXenter

încă

Serverele de aplicații pentru întreprinderi, așa cum am aflat și le iubim în ultimii zece ani, sunt încă adecvate astăzi? Sau modelul mediului de proces fără griji, care include funcționalități de management și monitorizare, este învechit? O întrebare bună la care EnterpriseTales încearcă să răspundă.

Recent, la o conferință am ținut o prelegere pe tema „Microservicii: dimensiunea nu contează - sau nu?” Ca parte a discuției, printre altele, au fost discutate „medii de flux de lucru” pentru microservicii, cum ar fi Spring Boot sau Dropwizard. Ulterior, unul dintre participanți s-a apropiat de mine cu o întrebare interesantă pe care nu aș vrea să o rețin cititorilor coloanei EnterpriseTales: „Serverele de aplicații clasice mai au un viitor?”

JAX - Conferința pentru Java, arhitectură și inovație software

Defecte arhitecturale tipice - al treilea te va șoca!

cu Eberhard Wolff | INNOQ Germany GmbH

Atelier: noi caracteristici Java - un cod mai bun cu Java 9-16

cu Michael Inden | liber profesionist

Pachetul mare de formare 3-în-1 cu mai mult de 20 de formatori și aproximativ 18 ateliere intensive

Testarea API-urilor și microserviciilor

cu Arne Limburg | open knowledge GmbH

Atelier: Obținerea corectă a proiectării API - Proiectarea pentru a participa

cu Uwe Friedrichsen | codecentric

Sfarsitul unei ere

Desigur, scenariile pe care le-am descris în discuție nu sugerează cu adevărat un server de aplicații grase ca mediu de rulare. Principalul avantaj al unui server de aplicații clasic este că mai multe Aplicațiile pot rula în paralel și în același timp separate separat unul de celălalt pe sau în ea Atunci de ce atunci? unu Utilizați serverul de aplicații dacă este unul singur A Aplicația sau serviciul dorește să ruleze pe acesta?

Desigur, un server de aplicații oferă ceva mai multă valoare adăugată decât mediul pur de rulare. De exemplu, oferă infrastructura necesară aplicației - cum ar fi conexiunea la o bază de date sau cozile JMS - precum și asistență pentru implementare, gestionare și monitorizare a aplicației. În plus, serverul împachetează de obicei o serie de biblioteci care se potrivesc între ele în versiunile - adică compatibile - biblioteci care oferă servicii utile aplicației și fac căutarea manuală a acestor biblioteci învechită. Bibliotecile pot îndeplini fie un standard, ca în cazul serverelor de aplicații Java EE, fie pur și simplu pot fi o combinație care are sens în anumite scopuri, așa cum știm de la una sau alta distribuție Tomcat, de exemplu. Oricine a încercat vreodată să adauge setul dorit de biblioteci la propria aplicație și a ajuns accidental în clasa de încărcare și versiunea infernului știe despre ce vorbesc.

Prin urmare, ar fi ideal un server care să aducă avantajele menționate recent, dar în același timp - din punctul de vedere al aplicației care urmează să fie pusă la dispoziție - renunță la balastul inutil. Dacă serverul ar putea deveni în continuare parte a aplicației în sine și, prin urmare, nu ar fi necesară nicio instalare separată și nicio gestionare a serverului, da, lumea noastră ar fi perfectă.

Server cu ecartament îngust

Exact scenariul descris se bazează pe soluții existente, cum ar fi Spring Boot, Dropwizard sau Play. Până în prezent, aceștia și-au făcut un nume în special (dar nu numai) în mediul de microservicii. Dar reprezentanții lumii serverelor Java standard ale întreprinderii au recunoscut acum nevoia și oferă soluții adecvate. Cei mai interesanți reprezentanți sunt în prezent TomEE Shades, WildFly Swarm, Payara Micro GlassFish și KumuluzEE. Ceea ce toate soluțiile au în comun este că transferă abordarea „ia doar ceea ce ai nevoie” cunoscut de la Dropwizard în lumea Java EE și, ca server încorporat, poate deveni parte a aplicației desfășurate ca JAR.

Suporter în loc de server

Server cu ecartament îngust sau un mediu de rulare Wollmichsau care pune ouă?

Serverele de aplicații cu pretenția de a oferi un mediu de rulare din lână pentru ouă, inclusiv un centru de control și monitorizare, par învechite în zilele noastre. Și nu doar în mediul de microservicii. Pe de altă parte, mediile de proces care pot fi adaptate individual la nevoile aplicației respective apar ca fiind mai potrivite. Soluții precum Dropwizard și Spring Boot au demonstrat că cele două lumi nu se exclud complet reciproc și că, chiar și cu un server încorporabil cu ecartament îngust, nu trebuie să renunțe la comoditate și la caracteristicile necesare ale întreprinderii. Primii furnizori din mediul Java EE urmează acum exemplul, astfel încât, în viitor, va fi, de asemenea, posibil să acționăm mult mai flexibil în lumea Java Enterprise Standard. Apropo: Ne-am putea aștepta la un alt salt în ceea ce privește flexibilitatea cu proiectul de modularizare Jigsaw. Cu toate acestea, deoarece Jigsaw va veni doar cu Java 9 și, prin urmare, nu este neapărat de așteptat că va avea deja un impact asupra Java EE 8, va trebui să așteptăm până în 2020 din partea serverului standardizat. Pe de altă parte, alte soluții ar trebui să adapteze Jigsaw mult mai devreme. Având în vedere acest lucru: rămâneți la curent ...

Spuneți în coloana Enterprise Tales Lars Röwekamp, ​​Sven Kölpin și Arne Limburg (cunoștințe deschise) povești interesante și oferă informații informative despre Java EE și lumea colorată a Enterprise Java.