J2EE or Java 2 Platform Enterprise Edition is a popular programming platform for developing platform-independent, component-based, n-tier, Java-focused and web-enabled enterprise applications. Enterprise applications are developed for big organizations having multiple disparate subsystems. J2EE offers a set of services, APIs, and protocols that provide functionalities for developing enterprise applications. The J2EE environment was developed and designed by Sun MicroSystem. J2EE is also frequently referred to as JEE.

J2EE is supported on a modular, component-based architecture that run on its application server. Application servers provide services to tackle the non-functional requirements like security, interoperability, scalability, performance, etc, giving a developer added time to focus on functional requirements. J2EE application servers (like IBM Websphere, BEA Weblogic, JBoss, etc) offer system services in a well-defined, open, industry standard. An enterprise application developed according to J2EE standards can be installed in any J2EE application server making it vendor independent.

J2EE Architecture

J2EE Architecture
J2EE Architecture

The component-based and platform-independent J2EE architecture make J2EE help in encapsulating the application business logic into organized, well-managed reusable components. Moreover, the J2EE server supplies essential services in the form of a container for all J2EE components. Containers are the interface connecting a J2EE component and the low-level platform-dependent service that supports the component; like Enterprise JavaBeans (EJB) container, Web container, Application client container and Applet container. A web component, EJB, or application client component must be pulled together into a J2EE architecture unit and deployed into its container for implementation. Individual settings for each container helps adjust the fundamental support offered by J2EE server, covering services like security control, transaction management, Java Naming and Directory Interface (JNDI) lookups, and remote connectivity. Following are some important points to be noted:

  • The J2EE security framework helps to adjust a web component or EJB to provide authorized access to resources.
  • The J2EE transaction framework helps to state relationships between methods that make up a single transaction to encapsulate all methods into a single unit of execution.
  • JNDI lookup services offer an integrated interface to numerous naming and directory services in the enterprise for access to naming and directory services components by application components.
  • The J2EE remote connectivity framework supervises low-level exchanges between clients and EJBs.

Features and Services in J2EE

  • J2EE supports HTML, Java applets or applications on the client side. The JSP (Java Server Pages) Container and Servlet Container help produce HTML for client-side viewing.
  • Enterprise JavaBeans (EJBs) work at the middle layer as business logic store. EJBs shelter all the business logic of the enterprise application. An EJB Container offers services such as threading, concurrency, security and memory management. These services are transparent to the author.
  • Java Database Connectivity (JDBC), which is the Java’s counterpart to ODBC, is the standard interface developed for Java databases.
  • The Java servlet API increases stability for developers without necessitating a GUI (Graphical User Interface).