Enterprise JavaBeans

Enterprise JavaBeans er de API'er, der er standard for byggeri virksomhedsapplikationer J2EE Oracle Corporation. Deres specifikation beskriver hvordan applikationsservere giver objekter fra serveren side, som netop EJB:

  • Fjernkommunikation hjælp CORBA
  • Handler
  • Concurrency kontrol
  • Begivenheder ved hjælp JMS
  • Navngivning og bibliotek
  • Sikkerhed
  • Placering af komponenter på en applikationsserver.

EJB specifikationen definerer rollerne spilles af EJB container og EJB, ud over at have EJBs i en beholder.

Definition

EJBs give en distribueret komponent model standard server side. Målet med EJB er at give programmøren af ​​en model, der gør det muligt at abstrahere fra de generelle problemer i en virksomhed ansøgning til at fokusere på udvikling af forretningslogik selv. Er baseret på komponenter giver dem mulighed for at være fleksibel, især genbruges.

Du må ikke forveksle med Enterprise JavaBeans JavaBeans. JavaBeans er også en komponent model skabt af Oracle - Sun Microsystems til at bygge applikationer, men kan ikke bruges i distribuerede miljøer ikke indbygget understøtter remote startparametre objekter.

Typer af Enterprise JavaBeans

Der er tre typer af EJBs:

  • EJB Entity: har til formål at indkapsle server-side objekter, der gemmer data. Entity EJBs har den grundlæggende kendetegn for vedholdenhed:
    • Container-styret vedholdenhed: Beholderen er ansvarlig for at gemme og hente data objekt eller enhed ved kortlægning forbinder kolonner i en tabel i databasen med de attributter af objektet.
    • Bønne-styret vedholdenhed: objektet selv er ansvarlig enhed via en database eller en anden mekanisme til at gemme og hente data, der er berørt, derfor ansvaret gennemføre de mekanismer for vedholdenhed er programmør.

Bemærk: I Java dokumentationen til JEE 5.0, enheder bønner forsvinde som de erstattes af JPA.

  • EJB Session: styre informationsstrømmen på serveren. Kunderne generelt tjener som en front for de tjenester, der leveres af andre komponenter på serveren. Der kan være to typer:
    • Med staten. I en stateful session bønne, bønne instansvariabler af specifikke data lagret i forbindelse med kunden. Hver stateful session bønne gemme derfor konversation tilstand af en klient interagerer med bønne. Denne konversation tilstand er modificeret som klienten at foretage opkald til bønner s forretningsmetoder. Den konversation tilstand gemmes ikke, når kunden opsiger sessionen.
    • Statsløs. De statsløse session bønner er fordelt objekter, der ikke er forbundet status således tillader adgang det samtidigt. Der er ingen garanti for, at indholdet af instansvariabler bevares mellem metodekald.
  • EJB besked-drevet: de er de eneste bønner med asynkron drift. Brug af Java Messaging System, de abonnerer på et emne eller en kø, og aktiveres, når du modtager en meddelelse adresseret til det pågældende emne eller kø. De kræver ikke instantiering af kunden.

Drift af en Enterprise JavaBean

EJBs er arrangeret i en EJB container inden applikationsserveren. Specifikationen beskriver, hvordan EJB interagerer med dets beholder og hvordan klientkoden interagerer med kombinationen af ​​EJB og beholderen.

Hver EJB skal give en Java implementering klasse og to Java-grænseflader. EJB container vil skabe instanser af klassen af ​​Java EJB gennemførelse for at lette gennemførelsen. Java grænseflader anvendes af EJB klientkoden. De to grænseflader, grænseflade kendt som "hjem" og remote interface, angive underskrifter fra EJB fjerntliggende metoder. Fjerntliggende metoder er opdelt i to grupper:

  • metoder, der ikke er bundet til en bestemt instans, for eksempel dem, der anvendes til at oprette en EJB instans eller at finde en eksisterende EJB enhed. Disse metoder er erklæret i "hjem" interface.
  • metoder relateret til en bestemt instans. De er placeret i den fjerne interface.

Da det er simpelthen Java-grænseflader snarere end konkrete klasser, EJB container skaber klasser for disse grænseflader til at fungere som en proxy på klienten. Klienten påberåber sig en metode på proxy genererede hvilket igen stiller metoden argumenter i en besked og sender besked til EJB-serveren. De fuldmagter bruger RMI-IIOP til at kommunikere med EJB-serveren.

Serveren vil kalde en tilsvarende metode til en instans af Java-klasse implementering til styring remote metode opkald.

Interface "Home"

"Home" interface giver klienten koden manipulere EJB klassen metoder, der ikke er forbundet med nogen særlige tilfælde. Interface "Home" giver dig mulighed for at oprette forekomster af EJB enhed eller session gennem skabe metode, der kan blive overbelastet.

EJB 1.1 specifikationen fastlægger typen af ​​klassen metoder, der kan defineres som metoder, der skaber en EJB eller til at finde en eksisterende EJB, hvis det er en "bønne" enhed.

EJB 2.0-specifikationen tillader applikationsudviklere at definere nye klasse metoder er ikke begrænset til den blotte oprettelse eller sletning.

Fjernbetjening grænseflade

Fjernbetjeningen grænseflade specificerer metoder til offentligt organ, der skal udføre operationer.

En session bønne kan implementere en enkelt grænseflade, med den spidse af en anden type kunde interface. Den lokale grænseflade er for de kunder, som er i samme virtuelle maskine som EJB container. Fjernbetjeningen interface til kunder uden for EJB container. Stillet over for en kunde forespørgsel, beholderen returnerer et føljeton stub objekt, der implementerer den eksterne grænseflade. Stub ved, hvordan man passerer server opkald til fjerntliggende procedurer. Denne type interface er også en Pojo.

EJB implementering klasse

EJB implementering klasser giver udviklere af applikationer, der letter forretningslogik eller tjeneste data objekt interface, dvs. de gennemfører alle metoderne i den fjerne grænseflade og muligvis nogle af dem, der er specificeret af Interface "Hjem".

Korrespondance mellem interface-metoder og gennemførelsesmetoder

Opkald til metoden i "hjem" refererer til den tilsvarende grænseflade metode bønne implementeringen klassen med forstavelsen »EJB" tilsættes, og det første bogstav i "hjem" grænseflade konverteres til kapital og vedligeholde præcis den samme type af argumenter. For eksempel:

skabe & gt; ejbCreate.

Opkald til de fjerntliggende grænseflade metoder er videresendt til den relevante metode til gennemførelse samme navn og argumenter i bønne klassen.

Den cyklomatisk kompleksitet semantiske navigation enheder) ikke opfylder UML 2.0-standarden, der anbefaler brug af skærmbilleder af programkomponenter.

Historie af Enterprise JavaBeans

EJB specifikationen har udviklet sig på samme tid gjorde J2EE specifikationen selv. De forskellige versioner, der har eksisteret hidtil, er:

  • EJB 1.0: den oprindelige specifikation
  • EJB 1.1: det første indgår i J2EE
  • EJB 2.0: indgår i J2EE 1.3, tilføjede lokale grænseflader og Message-Driven Beans.
  • EJB 2.1: indgår i den seneste revision af J2EE 1.4.
  • EJB 3.0: Nu med Cluster og indgår i JEE 5.1
  • EJB 3.1: medtaget i den nye JavaEE 6 December 2009

Den nye EJB 3.0 specifikation simplificerer processen med at skabe EJB og letter gennemførelsen af ​​vedholdenhed på en ny måde Den Blandede Parlamentariske Forsamling api.

Denne specifikation er tilgængelig i den nye version 5.0 J2EE JEE berømt.

Forrige artikel Estollo
Næste artikel Erica scoparia