aplicațiile server și JavaBeans - Articole Blog-uri Michael flonova

Utilizarea de servere de aplicații este următorul pas pentru tehnologia client-server și pentru a îmbunătăți sistemele de disponibilitate, fiabilitate și informații ale întreprinderilor. Dar mi se pare că cel mai important avantaj de a folosi serverul de aplicații este o mare flexibilitate, ceea ce este foarte important pentru întreprinderile mari. Capacitatea companiilor de a reacționa rapid la condițiile de piață și mediul îi permite să rămână competitivă.

Clasic client-server

Arhitectura clasică a accesului la date client-server este format din două niveluri - stratul de prezentare și stratul de date. Clientul trimite cereri la server și serverul răspunde la ele: returnează datele solicitate, sau face modificările solicitate asupra datelor. În această arhitectură, serverul este responsabil pentru stocarea datelor și prin procedura stocată efectuează o acțiune. Restul sarcinii (logica aplicației și afișarea datelor) pentru a merge la o aplicație client.

aplicațiile server și JavaBeans - Articole Blog-uri Michael flonova

Schema clasică de lucru cu date client-server

Cel mai rau lucru în această tehnologie care logica de afaceri este să se întindă pe umerii clientului, iar acest lucru conduce la următoarele dezavantaje:

1. Când aplicația schimbă logica necesității de a actualiza toate aplicațiile client care nu sunt foarte convenabil și conduce la costuri și cheltuieli mai mari.

2. cererea tot mai mare de pe computerul client. Da, producătorii de sisteme de operare și hardware de calculator sunt destul de fericit, dar întreprinderea mare, aceste costuri nu sunt în mod direct profit.

Dacă aduce logica lucrărilor de aplicații de server, pentru calculatorul client poate doar funcția de prezentare a datelor, și până la sarcina de a face față chiar și simplu client mașină sau un client subțire. Aceasta este o suma de bani serios de economisire cu privire la actualizarea parcului computer client și sisteme de operare. Nu aveți nevoie de un sistem de operare cu multe caracteristici, și este mai ușor decât este, cu atât mai puțin va fi fără erori.

Probabil deja 15 ani sa vorbit despre necesitatea de a elibera mașinile client și cele mai multe dintre capacitățile serverului. În legătură cu acest lucru, am început să apară mai multe niveluri de sistem client-server în cazul în care programul client a trimis cereri de middleware, care a acționat, de asemenea, ca logica de afaceri.

server de aplicații

La crearea conceptului de server de aplicații nu este nimic nou de a inventa, doar îmbunătățit conceptul existent al unui sistem de mai multe niveluri (sau, mai degrabă, trei niveluri). server de aplicație pentru a deveni un strat intermediar între client și server.

aplicațiile server și JavaBeans - Articole Blog-uri Michael flonova

Serverul de aplicație este un intermediar între client și server

Acest sistem are următoarele avantaje:

1. program client absolut nu are nevoie să știe cum și în care datele de bază sunt stocate datele. Pentru a obține datele necesare, clientul apelează funcția serverului de aplicații, iar unul primește deja date de la serverul de baze de date. În ce fel serverul de aplicații implementează funcția, nimeni nu îi pasă. Și în cazul în care este avantajul? Să presupunem că doriți să modificați structura tabelului. Facem o diferenta, schimba punerea în aplicare a funcțiilor de pe serverul de aplicații, iar aplicațiile client continuă să lucreze, fără să știe că structura sa schimbat.

2. Logica de afaceri este stocată pe serverul de aplicații. Dacă doriți să modificați algoritmul unui raport sau de calcul, de exemplu, salariile, atunci este necesar să se schimbe funcția aplicațiilor client. Suficient pentru a schimba un singur server de aplicație.

3. Reduce sarcina pe calculatoarele client.

4. Serverul de aplicație distribuie sarcina și oferă protecție împotriva eșecurilor.

Puteți continua această listă în continuare, dar, în opinia noastră, aceste elemente sunt cele mai importante și suficient să acorde o atenție la serverul de aplicație. Dar, acordând o atenție, veți vedea că acolo este ascunsă viitor.

mediator componentă

- Mesaj orientat - reprezentanți ai mqseries și JMS luminoase;

- Obiect Broker - reprezentanți de seamă ai CORBA și DCOM;

JavaBeans ne oferă un set de instrumente (cadru), cu care se poate scrie programe pentru a rula pe server. Astfel de programe sunt conectate la serverul de aplicații și.

server de aplicații

Există mai multe servere de aplicații de la astfel de companii bine-cunoscute, cum ar fi Sun Microsystem, Borland, IBM, Oracle, și fiecare dintre ele este set diferit de servicii furnizate (în acest caz, performanța nu va fi luată în considerare). Aceste servicii facilitează programarea și implementarea aplicațiilor de întreprindere. Puteți utiliza blocuri gata făcute de construcție pentru realizarea logicii de afaceri necesare.

Să vedem ce fel de servicii pot oferi server de aplicații depinde de cantitatea și calitatea de blocuri de construcție:

  • - Server WEB - includ cel mai adesea furnizarea de cel mai popular și puternic Apache;
  • - WEB Container - permite JSP si servlet. Pentru un astfel de serviciu este Apache Tomcat;
  • - Agent CORBA - poate oferi un director distribuit pentru depozitarea obiectelor CORBA;
  • - Serviciul de mesaje - mesaj broker;
  • - Transaction Service - din titlu, este clar că o tranzacție de serviciu;
  • - JDBC - driver pentru a se conecta la bazele de date, deoarece acesta este un server de aplicație trebuie să comunice cu baze de date, și acesta trebuie să fie capabil să se conecteze la compania dvs. utilizat în baza;
  • - Java Mail - serviciul poate oferi un serviciu SMTP;
  • - JMS (Java Messaging Service) - prelucrarea mesajelor sincrone și asincrone;
  • - RMI (Invocation Remote Method) - procedura la distanță apel.

Acestea sunt unitățile de bază care pot oferi un server de aplicație particulară. În plus, fiecare dintre ele trebuie să pună în aplicare caietul de sarcini J2EE în sine, astfel încât să poată lucra cu componente Enterprise JavaBeans. În acest scop, serverul de aplicație trebuie să fie puse în aplicare de către containerul EJB. Acest container și este responsabil pentru executarea componentelor.

componente EJB

Cei care nu au auzit, sau auzit, dar în treacăt despre Enterprise JavaBeans înțeleg greșit sensul acelor componente. Faptul că JavaBeans clasice componentele folosite pentru a construi vizual în aplicațiile client. Enterprise JavaBeans sunt cauzate de către client, dar de lucru pe serverul de aplicații, în cazul în care nu există nici o interfață vizuală, și, prin urmare, ele nu sunt punct de vedere vizual.

Există două tipuri de componente EJB - sesiune și entitate. Primul tip nu oferă pe termen lung JavaBean condiții de depozitare. Starea este resetat de fiecare dată când creați o nouă sesiune. Al doilea tip (entitate) poate salva starea între ruleaza.

fasole sesiune convenabil când se creează mecanisme, cum ar fi ordinea sau coș de management al conținutului și, prin urmare, sunt foarte rar izolate. Cel mai adesea componente sesiune de lucru în colaborare cu entitatea.

Pentru a lucra componenta EJB, trebuie să creați trei clase:

1. O clasă care implementează funcționarea componentei;

2. HomeObject - folosit pentru a găsi și, dacă este necesar, de a crea / șterge componente.

3. EJBObject - obiect prin care clientul primește informații despre metodele disponibile în componenta EJB.

crearea EJB

Pentru a consolida practica de cele de mai sus, să scrie o mică sesiune de componentă EJB. Pentru a face acest lucru vom avea nevoie pentru a scrie trei clase:

1. componenta Cam se numește EJBExampleBean clasei;

2. HomeObject, o numesc EJBExampleHome;

3. EJBObject - numesc EJBExample.

Fiecare clasă va fi pus în aplicare într-un fișier separat, și cred că nu am nevoie de un raport de nume de fișiere. Ca și în numele J2SE trebuie să se potrivească cu numele clasei principale, plus extensia .java. Toate cele trei clase de decență puse în pachetul ru.itspec.ejbexamp deoarece clase fără pachete - un ton rău în programare. În plus, toate cele trei dosare vor importa următoarele pachete:

Acest lucru este tot ceea ce este identic în toate cele trei fișiere. Să examinăm acum caracteristicile fiecărei clase.

cod componentă

Să pornim de la clasa foarte mare, codul pe care îl puteți vedea în bara laterală. Clasa pentru componenta EJB trebuie să pună în aplicare SessionBean interfață. Această interfață definește următoarele metode ejbRemove, ejbActivate, ejbPassivate și setSessionContext, ceea ce înseamnă că acestea trebuie să fie puse în aplicare în clasa noastră.

comunicare

Implementarea Enterprise JavaBeans la 100% corespunde OOP concepte și această componentă este cutia neagră. Un programator care va folosi această componentă într-o aplicație client nu este obligat să, și nici măcar nu trebuie să fie în posesia codului sursă pentru EJB dumneavoastră. El nici măcar nu va ști cum funcționează și este pusă în aplicare, atâta timp cât programul client devine rezultatul dorit.

Dacă lucrați cu un ActiveX de la MS, se utilizează aproximativ aceeași abordare din cele trei niveluri ale clientului COM> Interfata> COM server. dezvoltator client vede doar interfata, care descrie metodele disponibile pentru el și nu știe cum să pună în aplicare un server COM.

Complexitatea componentei server și clase ascund HomeObject EJBObject. Prima clasa pe care le furnizați aplicația client poate găsi și de a crea EJB ta. Codul său este după cum urmează:

Clasa este derivat din EJBObject și anunță un singur designer. Pentru componenta simplă, care este de ajuns. În mai multe componente complexe, aveți posibilitatea să pună în aplicare mai multe variante de designeri cu număr diferit de parametrii transmiși.

Și ultima clasă EJBObject pentru acest exemplu ar arata astfel:

Clasa HomeObject EJBObject trebuie să provină dintr-o clasă, și în ea doar ați descrie metodele care au fost deja puse în aplicare în EJB. Această clasă este un intermediar între componenta și aplicația client, iar clientul învață prin ceea ce sunt disponibile metode pentru el.

Componenta poate fi considerat gata. Acum, să vedem modul în care clientul poate folosi EJB. Cererea completă, nu vom scrie, pentru că studiul limbii Java este dincolo de domeniul de aplicare al articolului. Vom vedea doar un cod de creație abstractă și apelarea componentei EJB. Dar, mai întâi, trebuie să conectați următorul pachet:

Acest lucru ne-am cuplat funcție JNDI naming context. JNDI (Java Naming si Serviciul Directory) - l Naming Service, care ne permite să lucreze cu obiecte pe numele prietenos. În același timp, nu este nimic nou, acest serviciu este doar o suprastructură peste existente (DNS, LDAP, CORBA, RMI), care oferă un set complet de API, care permite de a lucra cu oricare dintre aceste servicii de denumire.

Prima linie creează un context de clasă (Context), prin care putem accesa funcțiile JNDI. În al doilea rând suntem deja folosind acest context, mai degrabă metoda de căutare pentru a localiza componenta EJB ne-necesară. Rezultatul căutării va EJBExampleHome obiect este HomeObject noi, prin care putem crea componenta în sine. Acest lucru face ca a treia linie, de asteptare Creare. De data aceasta, rezultatul este obiectul EJBExample. Amintiți-vă, am vorbit despre faptul că prin ea vom avea acces la metodele de componente de la distanță? Deci, avem ceea ce avem nevoie.

Ultimele două linii de cod arată modul în care poate aduce metoda componentei două existente. Da, ei sunt, în acest exemplu nu face nimic, dar faptul de munca deja, puteți verifica.

Livrarea de aplicatii J2EE - nu pentru cei slabi de inimă. Acest lucru este în principal pentru cei care sunt folosite pentru a lucra cu un mouse, aplicații Windows și de instalare grafic. Pentru livrarea de aplicatii J2EE folosind arhive .ear, care sunt similare cu J2SE .jar arhive. Serverul de instalare în sine arhive depinde de serverul de aplicații.

mediu modern de dezvoltare Java include un expert sau utilități care simplifică pregătirea arhivelor J2EE sau chiar pentru a automatiza procesul de creare a arhivei. Nu este nevoie să scrie manual fișierul manifest și se colectează fișierele utilizând utilitarele linie de comandă, totul se va face în mod automat, fără intervenția dumneavoastră.

Noi am considerat doar o mică sesiune de model Enterprise JavaBeans componente. Acest model încă nu știe cum să facă și declară doar două metode. impresia la prima vedere, codul va fi prea complicat. Dar aceasta este doar vârful aisbergului. Dacă te uiți la ceea ce se întâmplă la nivelul inferior (în serverul de aplicații), puteți fi îngrozită. Dar frica apare doar la început, după tot ce am scris nu este nimic de prisos astăzi.

Pentru siguranță, fiabilitate și eficiență într-adevăr nevoie de toate cele trei clase, dar folosind medii de dezvoltare moderne nu va veni să scrie codul manual. O astfel de inteligent Java IDE ca Borland JBuilder sau NetBeans de la Sun Microsystems face posibil de a face toate cele trei clase, discutate astăzi, cu două clicuri de mouse.

EJB Cod componentă

Avertizare. Dacă copiați acest articol pe site-ul dvs., apoi lăsați un link direct către această pagină. Vă mulțumim pentru înțelegere

articole similare