Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Concepte conexe J2EE

java


Concepte conexe J2EE

2.1.1. Motivele care au dus la aparitia J2EE

Internetul si World Wide Web reprezinta fundamentul pe care îl utilizeaza firmele pentru a construi economia informationala. În aceasta economie, informatia valoreaza la fel de mult ca bunurile sau serviciile, devenind o parte vitala a pietei. Pe o asemenea piata, se impun tehnologiile cele mai bune, deoarece toate organizatiile încearca sa obtina un avantaj fata de competitori, utilizând, printre altele, si noile tehnologii.



În economia informationala, este strategic pentru fiecare organizatie sa aiba o buna utilizare a informatiilor. Este foarte important, deci, ca informatia sa fie integrata cu afacerea însasi.

În vreme ce acestea par a fi noi tendinte, Internetul si World Wide Web doar intensifica o provocare pe care profesionistii din IT (Information Technology) o simt de mult, si anume cererea de a realiza un management de calitate al 727h79h informatiilor valoroase ale organizatiei. Într-o prima faza, raspunsul la aceasta cerere s-a materializat în managementul computerizat al informatiilor critice ale afacerii. Mai recent, a început sa fie simtita nevoia de integrare mai mare între afacere si sistemele de calcul, precum si nevoia de a avea capacitatea de corelare a unor informatii din surse diferite în vederea unor nevoi strategice specifice.

2.1.2. Conceptul de Enterprise Java

Enterprise Java este un concept din ce în ce mai raspândit în lumea calculatoarelor. Nu s-a dorit traducerea acestui concept în româna, întrucât i s-ar putea denatura sensul original. În orice caz, enterprise semnifica întreprindere, companie, organizatie. De ideea de organizatie, este legat un alt termen foarte des întâlnit în lumea informatica, si anume intranet.

Un intranet reprezinta o retea de calculatoare interna a unei organizatii deci protejata de lumea exterioara. Cu alte cuvinte, un intranet reprezinta o insula în marea numita Internet, insula autonoma si cu guvernare interna, dar supusa protocoalelor de comunicare din Internet.

Acum se clarifica conceptul de enterprise Java: este vorba de aplicatiile Java proiectate pentru intranet, si anume pentru intranet - ul specific unei organizatii, deci e vorba de modul de utilizare a tehnologiei Java la nivel de întreprindere.

Una dintre tehnologiile Internet obisnuite, puse în functiune în interiorul organizatiilor, este sistemul hypertext al Web-ului. Folosirea intranet - ului unei companii ca mediu de scriere a informatiilor în pagini de Web da posibilitatea angajatilor companiei sa gaseasca repede raspunsuri la întrebari. Ei nu trebuie sa caute documentatie în alta parte, ci e suficient sa caute informatia respectiva în paginile de Web ale companiei. În mod ideal, intranet - ul unei companii foloseste multe tehnologii Internet ca : e-mail, ftp, telnet, news si servicii de Web.

Notiunea de enterprise este destul de larga, ea semnificând orice firma, organizatie, companie care utilizeaza calculatoare ce ruleaza aplicatii de uz intern. Asta nu înseamna, însa, ca aplicatiile dezvoltate si folosite de o firma anume nu pot fi folosite si de altele. Fiecare companie fie ea mica, medie sau mare are diferite departamente : management, marketing, proiectare si dezvoltare de programe, resurse umane, etc. Fiecare departament foloseste aplicatii specifice, deci aceleasi departamente ale mai multor firme pot folosi aceleasi aplicatii.

În industria calculatoarelor, termenul enterprise este utilizat pentru a desemna o organizatie care utilizeaza computere. Acest termen desemneaza corporatii, mici afaceri, institutii non profit, institutii guvernamentale si alte tipuri de organizatii. Totusi, în practica, termenul este aplicat mai degraba organizatiilor mai mari.

Pe masura dezvoltarii tehnicii de calcul si odata cu aparitia arhitecturii client/server, se impun noi strategii de dezvoltare a aplicatiilor folosite în industrie.

2.1.3. Conceptul de componenta software

Pentru a raspunde nevoilor organizatiilor, s-a impus ideea de componente software. Exista mai multe implementari ale acestui concept. În principal, implementarile vin de la Microsoft , Sun si OMG.

O posibila definitie a componentelor software este urmatoarea: "O componenta software este o portiune de cod care implementeaza un set de interfete. Este o unitate discreta de aplicatie logica care poate fi controlata. Componentele nu sunt aplicatii de sine statatoare, nu pot functiona singure. Ele sunt utilizate în mod asemanator pieselor de puzzle pentru a rezolva probleme mai mari. Ideea de componente software este foarte practica. O companie poate cumpara un modul bine definit care rezolva o problema si îl poate utiliza împreuna cu altele pentru a rezolva probleme mai mari". (Roman, 1999).

Se spune ca o componenta software are o "granularitate" mai mare decât cea a unei clase (Roman, 1999), dar, în mod evident, mai mica decât a întregii aplicatii.

O alta posibila definitie este aceasta: "Componentele software sunt unitati de compunere cu interfete specificate prin contract si care au doar dependente de context explicite. O componenta software poate fi instalata si utilizata de terte parti. Componentele si potentialii utilizatori ai acestora se dezvolta independent, motiv pentru care este important ca serviciile oferite de catre o componenta sa fie facute cunoscute prin interfetele implementate de componenta. Mai mult, distributia si instalarea componentelor se face sub forma binara, deci clientii lor nu vor avea acces la codul sursa." (Jurca, 2000)

Avantajele utilizarii componentelor software sunt multiple: în primul rând, timpul în care poate sa fie dezvoltata o aplicatie scade simtitor, ceea ce permite firmei sa aiba o pozitie mai buna pe piata. Un alt avantaj este ca nu este nevoie de persoane cu experienta foarte bogata pentru a crea o aplicatie, folosind componente software cumparate. Aici trebuie mentionat ca realizarea componentelor necesita, totusi, cunostinte foarte solide de programare obiectuala. Cel mai mare avantaj este faptul ca se poate astfel reutiliza codul în alte aplicatii, în acest fel costul total al unei aplicatii scazând.

2.1.4. Conceptul de arhitectura multi tier

Un alt concept foarte important, care tine de filozofia unei aplicatii enterprise, este cel de arhitectura multi tier. În primul rând, ar trebui prezentat conceptul de tier. O aplicatie software poate fi împartita în mai multe niveluri izolate unele de altele. Avantajul este ca se câstiga o independenta între nivele, astfel ca, atunci când unul se modifica, impactul asupra celorlalte este minim, daca interfata dintre ele nu se modifica. Un astfel de nivel al aplicatiei se numeste tier.

2.1.4.1. Arhitectura clasica two - tiers

În mod traditional, aplicatiile sunt structurate pe doua tiers: Presentation Layer si Business Logic/Data Layer. Problema cu aceasta abordare este ca logica de bussiness este continuta în procedurile stocate din baza de date. Din pacate, fiecare baza de date are propriul limbaj în care se scriu procedurile stocate, deci este foarte greu portabil. În cele mai multe cazuri, aplicatiile create folosind doar doua straturi (tiers) sunt nescalabile si greu portabile. Arhitectura unei asemenea aplicatii poate fi observata în Figura 2.1.



Scalabilitatea este proprietatea unei aplicatii de a fi extinsa (pentru a putea fi utilizata de mai multi utilizatori, în ideea de acoperire a nevoilor unei organizatii în expansiune) folosind mai multe sisteme de calcul dar fara a fi nevoie sa se modifice codul sursa.

Totusi, avantajul unei asemenea arhitecturi sta în faptul ca traficul în retea necesar este mai mic, deoarece procesarea se face local în serverul de baze de date. Pe de alta parte, Java începe sa fie folosit tot mai mult ca limbaj pentru procedurile stocate. Însa, ramân probleme cu scalabilitatea aplicatiei si cu faptul ca driverul de baze de date este instalat la client. Astfel, orice update la driver este foarte costisitor, deoarece necesita ca fiecare client sa-si schimbe driverul.


Figura 2.1. Arhitectura clasica two tier a aplicatiilor

2.1.4.2. Arhitectura multi tier


Într-o arhitectura multi tier, se interpun între cele doua tiers din modelul clasic, unul sau mai multe alte tiers noi. De fapt, ceea ce se face este ca se separa logica de business de cea legata de baza de date. În acest fel, se poate câstiga independenta fata de baza de date. De obicei, aplicatiile multi tier sunt divizate în trei straturi, dupa cum se poate observa si din Figura 2.2.

Figura 2.2. Arhitectura unei aplicatii three tier

Cele trei straturi (tiers) ale arhitecturii three tier, pornind de la nivelul bazei de date, sunt:

I. Data Tier (stratul de date) este compus din una sau mai multe baze de date care pot contine si logica de procesare sub forma de proceduri stocate.

II. Business Logic Tier (stratul de logica de business) este stratul în care ruleaza componentele software. Serverul (serverele) utilizat în acest strat are rolul de a furniza un mediu de viata potrivit pentru componentele software. Acest server are rolul de a realiza un management eficient al componentelor si de a le furniza anumite servicii. De exemplu, serverul poate furniza un strat de acces la baza de date, permitând componentelor sa salveze si sa încarce date din System Information Tier. Un alt rol important al serverului este sa faca componentele sa fie disponibile pentru utilizare, sa le instantieze dupa necesitati, deci sa le gestioneze ciclul de viata.

III. Presentation Tier (stratul de prezentare) are rolul de prezenta informatia la client, de obicei folosind tehnologii ca Java Server Pages si servlets sau Active Server Pages, iar ca server folosind servere Web.

Caracteristicile unei aplicatii multi tier sunt urmatoarele:

Costurile deployment - ului (instalarea si punerea în functie) aplicatiilor este mai mic, deoarece driverele pentru bazele de date sunt instalate la partea de server si nu sunt necesare instalarile la fiecare client ca în modelul clasic.

Modificarea bazei de date se poate face cu usurinta, deoarece clientii nu mai acceseaza direct baza de date, ci middle tier care va face legatura cu baza de date. Deci o modificare a bazei de date va duce doar la modificari ale middle tier, fara a necesita vreo modificare la partea aplicatiei client.

Modificarea logicii de business este usor de realizat, deoarece nu este nevoie de recompilarea clientului.

Partile vitale ale aplicatiei ( situate în Business Logic Tier si Data Information System) pot fi protejate folosind firewalls amplasate plasate între Presentation Ttier si Business Logic Tier.



Resursele pot fi reutilizate în mod eficient exploatând faptul ca, de obicei, clientii fac alte lucruri pe lânga utilizarea de resurse, ca de exemplu afisarea interfetei grafice. Se poate implementa un mecanism prin care componentele folosesc împreuna conexiunile la resurse. Acest mecanism se numeste pooling mechanism si are avantajul cresterii scalabilitatii aplicatiei. Acest mecanism se poate aplica si asupra componentelor, având ca rezultat faptul ca un client nu va avea nevoie de o componenta dedicata doar lui. Acesta este un avantaj major al arhitecturii multi tier fata de arhitectura two tier (cea clasica), unde fiecare client avea o componenta dedicata lui.

Erorile sunt localizate, nu se propaga de la un tier la altul. Daca apare o eroare critica, ea se gaseste într-un singur tier. Celelalte tiers pot sa functioneze fara probleme în continuare, punând la dispozitie ceea ce le sta în putere pentru a face fata situatiei. De exemplu, daca serverul de aplicatii în care ruleaza componentele din middle tier cade, totusi ramâne în functiune Web serverul din presentation tier care poate afisa o pagina de "site down" pentru clienti.

Dezavantajul aplicatiilor cu arhitecturi multitier este necesitatea unei benzi mai mari, daca nu se face o proiectare inteligenta a obiectelor distribuite. Aceasta apare deoarece tiers (straturile aplicatiei) sunt separate fizic, aflându-se de multe ori pe masini diferite, iar obiectele distribuite trebuie sa comunice unele cu altele. Toate acestea duc la cresterea traficului. Exista, totusi, posibilitatea de a elimina o parte din trafic, daca se face o proiectare a obiectelor distribuite, astfel încât sa se apeleze între ele cât mai rar si atunci sa-si transmita unul altuia datele în mod eficient.

În concluzie, cele doua arhitecturi au avantajele, dar si dezavantajele lor. Daca se doreste realizarea unei aplicatii care sa aiba trafic minim, atunci se va folosi arhitectura clasica, cea two tier, însa vor fi mari probleme cu portabilitatea si cu modificarile ulterioare ale codului, uneori si cu scalabilitatea. Daca, în schimb, se foloseste arhitectura multi tier, atunci se va câstiga portabilitate si usurinta în realizarea modificarilor ulterioare, precum si scalabilitate, dar se va pierde din eficienta utilizarii traficului disponibil. Totusi trebuie mentionat faptul ca o proiectare buna a aplicatiei poate atenua mult din acest dezavantaj.

Componentele Enterprise au avantajul ca permit realizarea de aplicatii cu arhitectura multi tier, beneficiind, astfel, de toate avantajele mai sus mentionate.

2.1.5. Solutii Enterprise

Implementarea conceptului de componenta de catre Microsoft a fost facuta folosind serviciile sistemului de operare Windows NT. Tehnologia DCOM furnizeaza o modalitate de separare a interfetei fata de implementarea ei si astfel se realizeaza independenta fata de limbaj. Alte tehnologii Microsoft utilizate in aplicatiile enterprise sunt:

MSMQ (Microsoft Message Queues) permite comunicarea între componente.

MTS (Microsoft Transaction Server) este un server care foloseste componentele.

Microsoft SQL Server este folosit pentru stocarea datelor în baze de date relationale.

Microsoft Internet Information Services are rol de server Web.

Microsoft Management Console este utilizat pentru deployment.

Dezavantajul major al implementarii de la Microsoft este dependenta de platforma, deoarece se poate utiliza doar Windows NT si în plus, pentru acest gen de servere, este nevoie de masini foarte puternice, mai ales pentru marile companii. Numarul maxim de procesoare pentru masinile pe care poate rula Windows NT este de 16 pentru Windows 2000 (NT5.0).

Implementarea conceputului de componenta de catre Object Management Group (OMG) este înca în faza de început. Celelalte doua standarde dezvoltate pâna acum de catre OMG sunt Common Object Request Broker (CORBA) si Internet Inter-ORB Protocol (IIOP). Aceste doua standarde furnizeaza un cadru potrivit pentru obiecte distribuite. Este foarte important de mentionat ca J2EE (produsul de la Sun) implementeaza deja cele doua standarde. În plus, în cadrul OMG, exista mari dezbateri daca standardul CORBA Components sa fie scos, deoarece J2EE este deja compatibil CORBA/IIOP.

O implementare foarte populara vine de la firma Sun Microsystems si este reprezentata de standardul J2EE. Acest standard a fost implementat de Sun precum si de catre alte firme ca BEA prin produsul BEA Web Logic sau Allaire prin produsul JRun. Java 2 Enterprise Edition (platforma J2EE) suporta aplicatii distribuite, care folosesc avantajele oferite de un numar mare de alte tehnologii aflate în expansiune în momentul de fata.




Document Info


Accesari: 1591
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2025 )