Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
344 views
in Technique[技术] by (71.8m points)

jakarta ee - A summary of all Java EE specifications

I'm looking for a clear description of all Java EE technologies stack.

I think there are a lot of people like me who searched in many sites/tutorials and didn't find a precise list of which are the technologies used in Java EE and what are they good for.

I hope someone will clarify simple and nicely to be good for all the community.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Important: While this answer is still valid, you may also want to check the following:
? List of technologies of Java EE 8;
? List of technologies of Jakarta EE 8;
? List of technologies of Jakarta EE 9.


The Java EE 7 technologies

Below you will find a list of specifications for the Java EE 7 technologies. For more details, check the JSR pages:

  • Java EE Platform

    • JSR 342: Java Platform, Enterprise Edition 7 (Java EE 7)
  • Web Application Technologies

    • JSR 356: Java API for WebSocket
    • JSR 353: Java API for JSON Processing
    • JSR 340: Java Servlet 3.1
    • JSR 344: JavaServer Faces 2.2
    • JSR 341: Expression Language 3.0
    • JSR 245: JavaServer Pages 2.3
    • JSR 52: Standard Tag Library for JavaServer Pages (JSTL) 1.2
  • Enterprise Application Technologies

    • JSR 352: Batch Applications for the Java Platform
    • JSR 236: Concurrency Utilities for Java EE 1.0
    • JSR 346: Contexts and Dependency Injection for Java 1.1
    • JSR 330: Dependency Injection for Java 1.0
    • JSR 349: Bean Validation 1.1
    • JSR 345: Enterprise JavaBeans 3.2
    • JSR 318: Interceptors 1.2
    • JSR 322: Java EE Connector Architecture 1.7
    • JSR 338: Java Persistence 2.1
    • JSR 250: Common Annotations for the Java Platform 1.2
    • JSR 343: Java Message Service API 2.0
    • JSR 907: Java Transaction API (JTA) 1.2
    • JSR 919: JavaMail 1.5
  • Web Services Technologies

    • JSR 339: Java API for RESTful Web Services (JAX-RS) 2.0
    • JSR 109: Implementing Enterprise Web Services 1.3
    • JSR 224: Java API for XML-Based Web Services (JAX-WS) 2.2
    • JSR 181: Web Services Metadata for the Java Platform
    • JSR 101: Java API for XML-Based RPC (JAX-RPC) 1.1
    • JSR 67: Java APIs for XML Messaging 1.3
    • JSR 93: Java API for XML Registries (JAXR) 1.0
  • Management and Security Technologies

    • JSR 196: Java Authentication Service Provider Interface for Containers 1.1
    • JSR 115: Java Authorization Contract for Containers 1.5
    • JSR 88: Java EE Application Deployment 1.2 (Optional)
    • JSR 77: J2EE Management 1.1
    • JSR 45: Debugging Support for Other Languages 1.0
  • Java EE-related Specs in Java SE

    • JSR 222: Java Architecture for XML Binding (JAXB) 2.2
    • JSR 206: Java API for XML Processing (JAXP) 1.3
    • JSR 221: Java Database Connectivity 4.0
    • JSR 3: Java Management Extensions (JMX) 2.0
    • JSR 925: JavaBeans Activation Framework (JAF) 1.1
    • JSR 173: Streaming API for XML (StAX) 1.0

For more details, refer to this page.

The Java EE stack

As mentioned by Arun Gupta in his book entitled Java EE 7 Essentials, the different components work together to provide an integrated stack, as shown below:

The Java EE stack

So, we have the following:

  • Different components can be logically divided into three tiers: backend tier, middle tier, and web tier. This is only a logical representation, and the components can be restricted to a different tier based upon the application's requirements.

  • JPA and JMS provide the basic services such as database access and messaging. JCA allows connection to legacy systems. Batch is used for performing noninteractive, bulk-oriented tasks.

  • Managed Beans and EJB provide a simplified programming model using POJOs to use the basic services.

  • CDI, Interceptors, and Common Annotations provide concepts that are applicable to a wide variety of components, such as type-safe dependency injection, addressing cross-cutting concerns using interceptors, and a common set of annotations. Concurrency Utilities can be used to run tasks in a managed thread. JTA enables Transactional Interceptors that can be applied to any POJO.

  • CDI Extensions allow you to extend the platform beyond its existing capabilities in a standard way.

  • Web Services using JAX-RS and JAX-WS, JSF, JSP, and EL define the programming model for web applications. Web Fragments allow automatic registration of third-party web frameworks in a very natural way. JSON provides a way to parse and generate JSON structures in the web tier. WebSocket allows the setup of a bidirectional, full-duplex communication channel over a single TCP connection.

  • Bean Validation provides a standard means to declare constraints and validate them across different technologies.

A briefing of each technology

To learn more about the main technologies listed above, check the Java EE 7 tutorial. And a good overview of the main technologies can be found in this page. Just quoting it here:

Enterprise JavaBeans Technology

An Enterprise JavaBeans (EJB) component, or enterprise bean, is a body of code that has fields and methods to implement modules of business logic. You can think of an enterprise bean as a building block that can be used alone or with other enterprise beans to execute business logic on the Java EE server.

Enterprise beans are either session beans or message-driven beans.

  • A session bean represents a transient conversation with a client. When the client finishes executing, the session bean and its data are gone.

  • A message-driven bean combines features of a session bean and a message listener, allowing a business component to receive messages asynchronously. Commonly, these are Java Message Service (JMS) messages.

In the Java EE 7 platform, new enterprise bean features include the following:

  • Asynchronous local session beans in EJB Lite

  • Nonpersistent timers in EJB Lite

The Java EE 7 platform requires Enterprise JavaBeans 3.2 and Interceptors 1.2. The Interceptors specification is part of the EJB specification.

Java Servlet Technology

Java Servlet technology lets you define HTTP-specific servlet classes. A servlet class extends the capabilities of servers that host applications accessed by way of a request-response programming model. Although servlets can respond to any type of request, they are commonly used to extend the applications hosted by web servers.

In the Java EE 7 platform, new Java Servlet technology features include the following:

  • Nonblocking I/O

  • HTTP protocol upgrade

The Java EE 7 platform requires Servlet 3.1.

JavaServer Faces Technology

JavaServer Faces technology is a user interface framework for building web applications. The main components of JavaServer Faces technology are as follows:

  • A GUI component framework.

  • A flexible model for rendering components in different kinds of HTML or different markup languages and technologies. A Renderer object generates the markup to render the component and converts the data stored in a model object to types that can be represented in a view.

  • A standard RenderKit for generating HTML 4.01 markup.

The following features support the GUI components:

  • Input validation

  • Event handling

  • Data conversion between model objects and components

  • Managed model object creation

  • Page navigation configuration

  • Expression Language (EL)

All this functionality is available using standard Java APIs and XML-based configuration files.

In the Java EE 7 platform, new features of JavaServer Faces technology include the following:

  • HTML5-friendly markup

  • Faces Flows

  • Resource library contracts

The J


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...