Java EE

1. What is JavaEE

Java EE consists of a set of APIs and a running environment.

  • Java EE is a suite of APIs that can be used to build standard component-based multitier applications. These components are deployed in different containers offering a series of services.
  • Java EE is a superset of the Java SE platform, which means Java SE APIs can be used by any Java EE components.
  • Components are deployed to different containers, which gives you many services, and it works with various protocols.

Java EE History

2. Architecture

Java EE is a set of specifications implemented by different containers. Containers are Java EE runtime environments that provide certain services to the components they host such as life-cycle management, dependency injection, concurrency, and so on. These components use well-defined contracts to communicate with the Java EE infrastructure and with the other components. They need to be packaged in a standard way (following a defined directory structure that can be compressed into archive files) before being deployed.

  • runtime components (Applet, Application, Web Application, Enterprise Application)

Java EE Architecture by Container-Types

  • containers (Applet Container, Application Client Container, Web Container, EJB Container)
  • Services (JTA, JPA, Validation, JMS, JNDI, JavaMail, JavaBeans Activation Framework, XML Processing, JSON Processing, JavaEE Connector Architecure, Security Services, Web Services, DI, Management, Deployment)

Services Provided By Java EE

  • Packaging (war, jar, ear)

Simplified Java EE Packaging

Java EE Packaging

  • Annotation / Deployment Descriptors:

File                                        Specification               Paths
application.xml                     Java EE                        META-INF
application-client.xml          Java EE                        META-INF
beans.xml                              CDI                               META-INF or WEB-INF
ra.xml                                    JCA                               META-INF
ejb-jar.xml                            EJB                               META-INF or WEB-INF
faces-config.xml                   JSF                                WEB -INF
persistence.xml                    JPA                               META-INF
validation.xml                      Bean Validation            META-INF or WEB-INF
web.xml                                Servlet                           WEB-INF
web-fragment.xml              Servlet                           WEB-INF
webservices.xml                  SOAP Web Services     META-INF or WEB-INF

Examples are here.

3. Standards

Java EE is based on standards. This means that Java EE goes through the standardizing process of the JCP and is described in a specification.

The JCP is an open organization, created in 1998 by Sun Microsystems,

  • JSR (Java Specification Request),
  • A Reference Implementation (RI)
  • Compatibility Test Kit (a.k.a. Technology Compatibility Kit, or TCK)

4. Programming Model

Managed Bean Model: a POJO with some metadata (annotations or XML) deployed into a container.

5. Topics to be further explored

5. Examples

  • TomEE JavaEE Examples
  • Arun Gupta’s JAVA EE 7 Samples
  • Leave a Reply

    Fill in your details below or click an icon to log in:

    WordPress.com Logo

    You are commenting using your WordPress.com account. Log Out / Change )

    Twitter picture

    You are commenting using your Twitter account. Log Out / Change )

    Facebook photo

    You are commenting using your Facebook account. Log Out / Change )

    Google+ photo

    You are commenting using your Google+ account. Log Out / Change )

    Connecting to %s