There are three platforms available for JAVA programming:
- Java Platform, Standard Edition (Java SE)
- Java Platform, Micro Edition (Java ME)
- Java Platform, Enterprise Edition (Java EE)
JEE:
Java EE is widely used as a platform for server programming in JAVA programming language. JEE is differs from JME and JSE with some added functionalities available. It contains libraries which has the ability to deploy fault-tolerance, distributed, multi-tier java software.
It provides an easy to use framework to build middleware applications; it enables the developers to focus on business logic instead of integration logic and it removes the complexity of large scale distributed applications.
JEE applications are comprised of components, containers, and services. Components are application-level components. Web components, such as Servlets and JSPs, provide dynamic responses to requests from a Web page. EJB components contain server-side business logic for enterprise applications. Web and EJB component containers host services that support Web and EJB modules Java EE platform supports three primary application types
1. Web applications
2. EJB applications
3. Enterprise applications
Each of these application types has their own characteristics. These applications are executed in domain relevant containers that are included in JAVA. There are two major types of containers define in JEE; web containers and EJB containers, web containers are managed environments for web applications while EJB containers are managed environments for EJB applications.
JEE provides several standard services such as Communication, e-mail, XML processing, transactions, messaging, and web services. Web container supports technologies such as servlets, filters, JSPs, JSF while EJB container supports technologies such as session beans, entity beans and message driven beans.
Many of the APIs in JEE provides interoperability with components that are not a part of the JEE platform, such as external web or CORBA services.
The JEE servers provide deployment, management, and execution support for conforming application components. Application components can be divided into three categories according to their dependence on a JEE server:
1. Components that are deployed, managed, and executed on a J2EE server.
2. Components that are deployed and managed on a J2EE server, but are loaded to and executed on a client machine. JEE provides comprehensive structure for security aspects since security is an essential requirement in every enterprise application. JEE addresses the security requirements such as Authentication, Access control for resources, Data integrity, Confidentiality or data privacy, Non-repudiation, Auditing