Introduction to Java EE
Before we go into J2EE, let's take a look at the overview:
Multi tier application - multi tier application (or multi tier architecture) is divided into multiple logical parts, most of which are implemented on multi-tier servers. For example, three-tier application model: user and browser, application server and database server. Application server and database server process application requests on different servers respectively.
Multitier Service -- Taking the service of three-tier architecture model as an example, the application server responds to the user's request, and the database server responds to the application server's query and request.
Java bean -- it is composed of some Java classes containing private properties and provides get and set methods. Technically, these classes must have a constructor without parameters and implement the serializable interface.
Concept of J2EE 5
Java EE application model - this model describes a multi-layer architecture for implementing services. "What is a service" has no clear boundaries. In fact, service is only a logical concept, and its corresponding entity depends on the concept of application implementation. For example, the client / server model is a service.
Java EE Service - this is an application service example of three-tier architecture in J2EE. It is composed of web page layer (service JSP page) and transaction layer (data layer of enterprise management).
Java EE component - "component" refers to an independent software unit that can be combined with other components to build an application.
Java EE client - this concept includes three other concepts:
Java EE server communication (Java EE server communication) - this refers to the communication between small clients and application clients on the server. Typically, small clients and applets communicate in the web layer, but application clients communicate in EJB. Do you think this is not clear enough? Do you think it is troublesome? That's right! This is the design principle of rest and MVC Popular in development.
EJB (Enterprise Java beans) - this is a logical concept that has nothing to do with traditional Java beans. It mainly attempts to compress transaction logic from the back end of multiple applications (that is, the server side). One of the problems it tries to solve is to ensure the integrity of transaction processing in the database. Warning: EJB has multiple versions, and version 3.0 has been separated from the earlier version.
JavaBean component - a synonym for java bean, which is mainly used in JSP examples.
Java EE container - this is the place where Java EE components are deployed and assembled (i.e. application server). It defines web containers (including servlets and JSPS), EJB containers (including enterprise Java beans), application client containers (running independent applications) and applet containers running on browsers.
Deployment descriptor - this is an XML file that provides deployment information for packaged applications.
Soap (Simple Object Access Protocol) - this is a protocol for transmitting information through services provided by the network. Information is built through XML and can pass through multiple transport switching layers, mostly http. Soap is a competitor to JSON and rest like services.
Wsld (Web service description language) - it uses XML files to describe network services (name, location, communication mode).
UDDI (Universal Description, discovery and integration) - an ebXML specification that can publish information about products and services online.
Java servlet - a small server-side program written in Java, which can process users' HTTP requests and return results.
JSP (JavaServer page) - a kind of static content that can be generated after processing based on HTML file (that is, a template). It can contain fragments of script code to be generated in the final generated script static file.
JSTL (JSP standard tag library, JavaServer page Standard Tag Library) - a set of standard tags used in JSP that can imitate the function of script code. For example, traverse clients and display their corresponding information. Now, in JSP, such tags have replaced script code. It is generally used to generate pages that need to be filled with information.
JSF (Java Server face) - a JSP page containing JSF tags (similar to lstl tags). In addition, JSF allows navigation modules (similar to spring web flow) to be defined in the page, including facelets.
Facelets -- facelets is the MVC view part of JSF. Its main function is to use the provided data (such as client list) to convert the template into HTML file. It can also extract part of the generated file (such as HTML body) and put it into another template, which is equivalent to SiteMesh.
The Java API for XML based web services (Java API for creating XML based web, jax-ws) - is very important for web services using XML communication.
The Java API for XML binding (API serialized into XML, JAXB) - a way to convert JavaBeans and XML files to each other.
JTA (Java transaction API) - clear the communication boundary between uplink and downlink in the database.
JMS (Java Message Service) - this API ensures reliable and asynchronous communication between server and Application on the network. ActiveMQ implements JMS.
JavaMail API -- provides a way to send mail through applications.
Jaxp (API for processing XML files, Java API for XML processing) - provides a way to process XML files.
Jaxr (API providing XML registration, Java API for XML registries) - an API that can register XML containing metadata.
JDBC (Java database connectivity) - this API enables applications to access the database directly through SQL communication.
JCA (J2EE connector architecture, Java EE connector Architecture) - enables applications to communicate with information systems (usually databases).
JPA (Java persistence API) - this is an ORM (object / relational mapping) definition that stores objects in the database.
JNDI (Java Naming and Directory Interface) - a way to store and retrieve resources or find information by name.
JAAS (Java authentication and authorization service) - a way to identify and control service permissions.
Concept of J2EE 6
In J2EE 6, a large number of configurations can be executed in the source code.
Jax-rs -- an API that defines services such as rest (including state transfer).
Managed beans -- a Java object that can execute embedded code. In the spring framework, these are some objects with @ Autowired annotation.
CDI (context and dependency injection for Java EE) - CDI is the de facto API for the next generation of type safe dependency injection for Java EE. In the spring framework, applications can design application context, control inversion (IOC) and dependency injection (DI).
Bean confirmation -- it is effective to judge the status of Java beans through the set rules.
JACC (Java authorization contract for containers) - a contract for a connection defined between a J2EE application server and a specific authorization and authentication server.
Jaspic (Java authentication service provider interface) - this is an SPI complementary to JACC authentication (i.e. service API). It defines how applications pass the traditional authentication service.
Overall, J2EE and spring frameworks are slowly moving in the same direction.