Tuesday, 5 January 2010

Introduction

This is the translation in English of my previous post.

Java EE is a programming technology for information systems based on application servers. This technology uses various types of software components managed by the application server which act like mediators between client programs and other specialized servers (e.g. database servers). While Java is a programming language, Java EE is a standard specifying, on one hand, the way of developing systems based on application servers, on the other hand the "services" that the application server must provide in order for the application to be independent of the application server. "Services" mentioned in the previous sentence should not make the reader think about Web services, the meaning intended being a more general one, that is of functions or methods that are available to the applications in the environment created by the application server. The principle "write once, run everywhere" is valid for Java EE applications as well, that is any application that conforms to the standard should run as well with Oracle WebLogic, IBM WebSphere, Sun GlassFish, etc. (the previous enumeration represents the most well-known application servers as of now).

The architecture of Java EE applications is developed in three tiers: client, application server, database, and represents an evolution of older client-server type architectures. Generally, a Java EE application can be viewed as four-tiered, because inside the application server there are two containers, one to manage Web components (JSP and JSF pages) and another to manage EJB (Enterprise JavaBeans) components.

Introducere

Java EE(Enterprise Edition) reprezintă o tehnologie de programare a sistemelor bazate pe servere de aplicaţii. Această tehnologie foloseşte diferite tipuri de componente software administrate de către serverul de aplicaţii, care acţionează ca intermediari între programele clienţilor şi alte servere specializate (de exemplu servere de baze de date). Dacă Java este un limbaj de programare, Java EE este un standard care specifică, pe de o parte, modul de realizare a sistemelor bazate pe servere de aplicaţii, pe de altă parte modul de funcţionare al serverului de aplicaţii şi ``serviciile'' pe care acesta trebuie să le pună la dispoziţie, asfel încât aplicaţia să fie independentă de serverul de aplicaţii. Am inclus cuvântul ``servicii'' între ghilimele, astfel încât el să nu ducă cititorul cu gândul la noţiunea de ``servicii Web'', ci să fie luat în sensul său mai general, de funcţii sau metode pe care aplicaţiile le au la dispoziţie în mediul creat de serverul de aplicaţii. Cu alte cuvinte, principiul ``write once, run anywhere'' este valabil şi în privinţa aplicaţiilor Java EE, în sensul că orice aplicaţie care este scrisă în conformitate cu standardul trebuie să funcţioneze la fel de bine pe Oracle WebLogic, IBM WebSphere, Sun GlassFish, etc. (Am enumerat cele mai cunoscute servere de aplicaţii de astăzi.)

Arhitectura sistemelor dezvoltate în tehnologia discutată aici este dezvoltată pe trei niveluri: client, server de aplicaţii, baza de date, şi reprezintă o evoluţie a arhitecturilor mai vechi, de tip client-server. Având în vedere că în interiorul serverului de aplicaţii există două containere, unul care administrează componente Web(pagini JSP şi JSF), altul care administrează componente de tip EJB (Enterprise JavaBeans), aplicaţia are în general chiar patru niveluri: client(browser de Web), container Web (pagini JSF sau JSP), container de componente EJB, baza de date.