Java Platform, Enterprise Edition or Java EE is Oracle's enterprise Java
computing platform. The platform provides an API and runtime environment
for developing and running enterprise software, including network and we services, and other large!scale, multi!tiered, scalale, reliale, and secure network applications. Java EE e"tends the Java Platform, #tandard Edition $Java #E%,&'( providing an API for o)ect!relational mapping, distriuted and multi!tier architectures, and we services. The platform incorporates a design ased largel* on modular components running on an application server. #oftware for Java EE is primaril* developed in the Java programming language. The platform emphasi+es ,onvention over con-guration&.( and annotations for con-guration. Optionall* /01 can e used to override annotations or to deviate from the platform defaults.#tandards and speci-cations&edit( Java EE is de-ned * its speci-cation. As with other Java ,ommunit* Process speci-cations, providers must meet certain conformance re2uirements in order to declare their products as Java EE compliant. Java EE includes several API speci-cations, such as 30I, e!mail, J0#, we services, /01, etc., and de-nes how to coordinate them. Java EE also features some speci-cations uni2ue to Java EE for components. These include Enterprise Java4eans, ,onnectors, servlets, Java#erver Pages and several we service technologies. This allows developers to create enterprise applications that are portale and scalale, and that integrate with legac* technologies. A Java EE application server can handle transactions, securit*, scalailit*, concurrenc* and management of the components it is deplo*ing, in order to enale developers to concentrate more on the usiness logic of the components rather than on infrastructure and integration tasks. 5eneral APIs&edit( The Java EE APIs includes several technologies that e"tend the functionalit* of the ase Java #E APIs. Java EE 6 Platform Packages Java EE 7 Platform Packages Java EE 8 Platform Packages )ava".servlet.9&edit( The servlet speci-cation de-nes a set of APIs to service mainl* :TTP re2uests. It includes the Java#erver Pages $J#P% speci-cation. )ava".wesocket.9&edit( The Java API for ;e#ocket speci-cation de-nes a set of APIs to service ;e#ocket connections. )ava".faces.9&edit( This package de-nes the root of the Java#erver <aces $J#<% API. J#< is a technolog* for constructing user interfaces out of components. )ava".faces.component.9&edit( This package de-nes the component part of the Java#erver <aces API. #ince J#< is primaril* component oriented, this is one of the core packages. The package overview contains a =01 diagram of the component hierarch*. )ava".el.9&edit( This package de-nes the classes and interfaces for Java EE's E"pression 1anguage. The E"pression 1anguage $E1% is a simple language originall* designed to satisf* the speci-c needs of we application developers. It is used speci-call* in J#< to ind components to $acking% eans and in ,>I to name eans, ut can e used throughout the entire platform. )ava".enterprise.in)ect.9&edit( These packages de-ne the in)ection annotations for the conte"ts and >ependenc* In)ection $,>I% APIs. )ava".enterprise.conte"t.9&edit( These packages de-ne the conte"t annotations and interfaces for the ,onte"ts and >ependenc* In)ection $,>I% API. )ava".e).9&edit( The Enterprise Java4ean $EJ4% speci-cation de-nes a set of lightweight APIs that an o)ect container $the EJ4 container% will support in order to provide transactions $using JTA%, remote procedure calls $using 30I or 30I!IIOP%, concurrenc* control, dependenc* in)ection and access control for usiness o)ects. This package contains the Enterprise Java4eans classes and interfaces that de-ne the contracts etween the enterprise ean and its clients and etween the enterprise ean and the e) container. )ava".validation.9&edit( This package contains the annotations and interfaces for the declarative validation support o?ered * the 4ean @alidation API. 4ean @alidation provides a uni-ed wa* to provide constraints on eans $e.g. JPA model classes% that can e enforced cross!la*er. In Java EE, JPA honors ean validation constraints in the persistence la*er, while J#< does so in the view la*er. )ava".persistence.9&edit( This package contains the classes and interfaces that de-ne the contracts etween a persistence provider and the managed classes and the clients of the Java Persistence API $JPA%. )ava".transaction.9&edit( This package provides the Java Transaction API $JTA% that contains the interfaces and annotations to interact with the transaction support o?ered * Java EE. Even though this API astracts from the reall* low!level details, the interfaces are also considered somewhat low!level and the average application developer in Java EE is either assumed to e rel*ing on transparent handling of transactions * the higher level EJ4 astractions, or using the annotations provided * this API in comination with ,>I managed eans. )ava".securit*.auth.message.9&edit( This package provides the core of the Java Authentication #PI $JA#PI,% that contains the interfaces and classes to uild authentication modules for secure Java EE applications. Authentication modules are responsile for the interaction dialog with a user $e.g. redirecting to a <orm or to an OpenI> provider%, verif*ing the user's input $e.g. * doing an 1>AP lookup, dataase 2uer* or contacting the OpenI> provider with a token% and retrieving a set of groupsAroles that the authenticated user is in or has $e.g. * again doing an 1>AP lookup or dataase 2uer*%. )ava".enterprise.concurrent.9&edit( This package provides the interfaces for interacting directl* with Java EE's platform default managed thread pool. A higher!level e"ecutor service working on this same thread pool can e used optionall*. The same interfaces can e used for user!de-ned managed thread pools, ut this relies on vendor speci-c con-guration and is not covered * the Java EE speci-cation. )ava".)ms.9&edit( This package de-nes the Java 0essage #ervice $J0#% API. The J0# API provides a common wa* for Java programs to create, send, receive and read an enterprise messaging s*stem's messages. )ava".atch.api.9&edit( This package de-nes the entr* AP for Java EE 4atch Applications. The 4atch Applications API provides the means to run long running ackground tasks that possil* involve a large volume of data and which ma* need to e periodicall* e"ecuted. )ava".resource.9&edit( This package de-nes the Java EE ,onnector Architecture $J,A% API. Java EE ,onnector Architecture $J,A% is a Java!ased technolog* solution for connecting application servers and enterprise information s*stems $EI#% as part of enterprise application integration $EAI% solutions. This is a low!level API aimed at vendors that the average application developer t*picall* does not come in contact with.