close

Java EE

Gå till navigering Gå till sök

Java Platform, Enterprise Edition eller Java EE (tidigare känd som Java 2 Platform, Enterprise Edition eller J2EE upp till version 1.4; informellt översatt som Java Enterprise ) är en programmeringsplattform – en del av Java Platform – för att utveckla och köra applikationsprogramvara i programmeringsspråket Java . Den stöder distribuerade N-tier-arkitekturer och är starkt beroende av modulära programvarukomponenter som körs ovanpå en applikationsserver . Java EE-plattformen definieras av en specifikation . I likhet med andra Java Community Process -specifikationer (JCP) anses Java EE också informellt vara en standard eftersom leverantörer måste uppfylla vissa överensstämmelsekrav för att deklarera att deras produkter är Java EE-kompatibla ; standardiserad av JCP.

Java EE har olika API -specifikationer som JDBC , RMI , e-post , JMS , Web Services , XML , etc och definierar hur de ska koordineras. Java EE konfigurerar även vissa Java EE-unika specifikationer för komponenter. Dessa inkluderar Enterprise JavaBeans , servlets , portlets (enligt Java Portlets-specifikationen), JavaServer Pages och olika webbtjänsttekniker. Detta gör att utvecklaren kan skapa en företagsapplikation som är portabel över plattformar och skalbar, samtidigt som den integreras med tidigare teknologier. Andra extra fördelar är till exempel att applikationsservern kan hantera transaktioner, säkerhet, skalbarhet, samtidighet och hantering av distribuerade komponenter, vilket innebär att utvecklare kan fokusera mer på komponenternas affärslogik snarare än uppgifter.

Historik

Den ursprungliga J2EE-specifikationen utvecklades av företaget Sun Microsystems .

  • J2EE 1.3 utvecklades under Java Community Process . JSR 58 specificerar J2EE 1.3, J2EE 1.3 SDK släpptes ursprungligen som beta i april 2001 .
  • J2EE 1.4 SDK beta som definieras i JSR 151 släpptes av Sun i december 2002 .
  • Java EE 5-specifikationen utvecklades under JSR 244 och den slutliga releasen var den 11 maj 2006 .
  • Java EE 6-versionen överensstämmer med JSR 316- specifikationen och släpptes den 10 december 2009.
  • Java EE 7-versionen vars specifikation är JSR 342 , daterad 28 maj 2013.
  • Java EE 8-versionen släpptes den 31 augusti 2017 och följer JSR 366- specifikationen .

Från och med den 24 april 2018 hanteras Java EE av Eclipse Foundation. Eclipse Foundation tvingades ta bort ordet Java från namnet eftersom Oracle äger varumärket "Java". Den 26 februari 2018 tillkännagavs att det nya namnet på Java EE skulle bli Jakarta EE.

Java EE-arkitektur

Java EE-arkitekturen är baserad på tre nyckelbegrepp:

  • Tjänster : De låter programmeraren fokusera på sin affärslogik och använda dessa tjänster för sin applikation. Dessa tjänster kan ha säkerhetsfunktioner, nätverkskommunikation, loggning, dataintegritet, etc. Dessa tjänster tillhandahålls av en container.
  • Behållare : De är körtidsmiljöer; det vill säga ett program som är igång och din applikation är byggd ovanpå det som om det vore en plugin eller kassetten till en spelkonsol. Det finns olika typer av behållare och grupperingen av dem bildar en applikationsserver.
  • Komponenter : De är Java-objekt som innehåller applikationens affärslogik och använder tjänsterna som tillhandahålls av behållaren. Det finns flera typer av komponenter och beroende på vilken typ distribueras de i en eller annan container.


Dessa tre koncept tillåter Java EE att definiera en skiktad arkitektur :

  • Klientlager : Med komponenter som körs på klientdatorn (som en webbläsare, en smartphone eller en stationär dator)
  • Weblager : Det körs på Java EE-servern eller applikationsservern och kommunicerar med webbskiktet (klientskiktet?) och affärsskiktet på ett sådant sätt att det omvandlar informationen till lämpligt format (till exempel HTML).
  • Server/företagslager: Tillhandahåller data och behåller informationen från klientlagret och innehåller affärslagret. Den körs också på applikationsservern.
  • Datalager : Där data finns kvar, till exempel en databas.


Denna arkitektur försöker göra den oberoende genom att undvika beroenden mellan lagren.


Användningen av dessa lager gör att vi, när vi utvecklar, kan dela upp vår applikation i olika lager. Den mest typiska modellen är MVC Controller View Model där presentations-, affärs- och dataåtkomstskikten är åtskilda. En arkitektur med flera nivåer främjar skiktad åtskillnad av ansvar. I det speciella fallet med 3-lager är presentationen separerad från affärslogiken och detta från data. Presentationslagret kommer inte direkt åt databasen, utan endast via affärslagret. Flerskiktsarkitekturen introducerar många viktiga förbättringar inom applikationsdesignen, inklusive flexibilitet genom korrekt separation mellan presentationslagret och affärslogiken.

Komponenter

För att bygga JEE-baserade komponentapplikationer har olika komponenter definierats:

  • Klientkomponenter : De är alla de som körs på klientdatorn och det finns två typer, klientapplikationer och webbklienter. Webbklienter är kända som tunna klienter och de är webbsidor som genereras dynamiskt av webbkomponenter med språk som HTML eller XML som skickas till klientdatorn som svar på en begäran, där det kommer att finnas en webbläsare som kommer att ansvarar för att visa innehåll för kunden. Även den webbplatsen kan ha en integrerad applet. I det här fallet ansluter de direkt till webbskiktet på JEE-servern, som ansvarar för åtkomst till affärslagret. Å andra sidan, klientapplikationer eller Smart Clients, som också körs på klienten, och erbjuder ett rikare gränssnitt som inte är baserat på en webbläsare. I det här fallet "hoppar" de över kopplingen med webblagret och skjuter direkt mot affärslagret.
  • Webbkomponenter: De körs i JEE-serverns webbbehållare och är servlets, dynamiska webbsidor som JSF och/eller JSP:er och JavaBeans. Servlets är Java-klasser som dynamiskt bearbetar klientförfrågningar och genererar lämpliga svar. JSP är en servlet men mer presentationsorienterad, det är lättare för programmeraren. JSF är en vidareutveckling av JSP men med ett kraftfullare användargränssnitt eftersom det stöder till exempel Ajax. Slutligen är Javabeans serverkomponenter som kapslar in en applikations affärslogik.
  • Affärslagerkomponenter : Det är de som implementerar affärslogiken och exekveras i affärslagret. De är EJB Enterprise Java Beans. Det finns tre typer av EJB:er, entitetssessioner och meddelandestyrda. De grundläggande teknologierna för detta lager är EJB:erna, api-Rest eller de för uthållighet
  • Datalagerkomponenter : De är inte Java-komponenter i sig, utan snarare trepartskomponenter. Det tillåter oss att utnyttja funktionerna i dessa tjänster. För detta ger Java EE oss ett API för anslutning till databasen, ett annat för persistens för att kunna spara information, API för transaktioner, etc.

Säkerhet och uthållighet

Persistens: Data och information är nyckeln i dagens applikationer. Organisationer och applikationer måste spara data eftersom de behöver lagra information om sin aktivitet. Idag kommer vi att se att allt måste lagras och allt måste vara återställbart för att kunna utnyttja den informationen. Varje applikation idag måste ha information lagrad och ska kunna hämta den när som helst. I javavärlden finns det flera sätt att lagra information, från det enklaste som skulle vara att serialisera en serie data i någon typ av fil som att spara dem i json, xml-format, spara dem i binärt format som med protokollbuffert eller till och med i det värsta av fallen med Java serialiserbara API eller i det mer professionella fallet med användning av databaser eller datalager.

Det sista fallet, som är det vanligaste, har ett problem, eftersom när vi pratar om databaser så hänvisar vi i många fall till relationsdatabaser, där data lagras i tabeller. Java är dock ett objektorienterat språk och att arbeta med dessa två begrepp kan ha sina små problem eftersom vi behöver något som omvandlar oss mellan objekt och relationer som vi har i vår relationsdatabas.

Det finns olika sätt att göra detta, som att använda JDBC som låter dig specificera SQL-frågor.

Det finns en mekanism som är ansvarig för att göra detta åt oss, ORM , som är bibliotek som tillåter oss att konvertera mellan objekt och relationsenheter. De två mest utbredda teknologierna i detta avseende är JPA (ett API som tillåter en ihållande lagring av information helt enkelt genom att märka vart och ett av de element som vi behöver komma ihåg) och Hibernate , som är en av de mest använda ORM:erna.

Säkerhet . Säkerhet är en grundläggande aspekt av affärsapplikationer. Säkerheten i Java EE är baserad på Java Authentication and Authorization Service (JAAS). JAAS separerar autentiseringssystemet från Java EE-applikationen genom att använda ett väldefinierat API som implementeras av applikationsservern.

Allmän API-kontroll och hanteringsstruktur

Java EE API:erna inkluderar flera tekniker som utökar funktionaliteten hos bas Java SE API :erna .

javax/ejb.*

Enterprise JavaBeans API definierar en uppsättning API:er som en distribuerad objektbehållare stöder för att tillhandahålla persistens , RPC:er (med RMI eller RMI-IIOP ), samtidighetskontroll, transaktioner och åtkomstkontroll för distribuerade objekt.

javax/namngivning

Paketen javax.naming, javax.naming.directory, javax.naming.event, javax.naming.ldap och javax.naming.spi definierar Java Naming and Directory Interface ( JNDI ) API.

java.sql

Paketerar java.sqloch javax.sqldefinierar JDBC API .

javax/transaktion.*

Dessa paket definierar Java Transaction API ( JTA ).

javax/xml.*

Dessa paket definierar JAXP API .

javax/jms.*

Dessa paket definierar JMS API .

javax/persistence

Det här paketet tillhandahåller klasser och gränssnitt för att hantera interaktionen mellan persistensleverantörer, hanterade klasser och Java Persistence API (JPA)-klienter.

Fördelar

En av fördelarna med Java EE är att du kan komma igång till liten eller ingen kostnad. Oracle Corporations Java EE-implementering kan laddas ner gratis, och det finns många verktyg med öppen källkod tillgängliga för att utöka plattformen eller förenkla utvecklingen.

Exempel på Java-utvecklingsverktyg med öppen källkod från tredje part är:

Certifierade applikationsservrar

Certifierade Java EE Application Servers 5

J2EE 1.4 certifierade applikationsservrar

Certifierade J2EE 1.3 Application Servers

  • Macromedia JRun Application Server.

Se även

Referenser

Externa länkar