For developing multi-tier application as web-applications, the software architect needs a reliable and robust platform to build the system on. One of the most famous and used platforms in nowadays web-application is the Java platform J2EE. The name of the platform comes from Platform Java 2 Enterprise Edition.
J2EE is a programming platform, designed for developing and running distributed multi-tier architecture Java applications. Practically, J2EE platform consists of a set of services, application programming interfaces (APIs) like: JDBC, applets, RPC, CORBA, JTA, JAXP, JMS, and protocols and that provide the functionality for developing N-tired web-based applications.
The functionality principle stands on modular software components which run on an application server. A J2EE component is an individual functional software unit which can communicate with other components by its classes and files, and which can be integrated along the others in the system. There are defined three types of components: