Analysis on J2EE, j2se, and j2s

Source: Internet
Author: User
Tags ldap websphere application server

With the rapid development of Internet networks, Internet-based enterprise applications require that software platforms be open, distributed, and platform independent. As a result, technologies such as rpc/COM/CORBA have emerged one after another, but these technologies have many shortcomings and limitations in practical application. Their specific protocols are difficult to pass through the firewall, so they are not suitable for application development on the web. To further develop web-based applications, Sun ONE (Open Net Environment Development Network Environment) and Microsoft's. NET and other Web Service technical systems have emerged.

The Sun ONE architecture is centered on the Java language, including j2se/J2EE/J2EE and a series of standards, technologies and protocols. It includes Sun's unique iPlanet Software Series, including popular LDAP directory server software on the market and forte for Java-a software tool that allows you to write Java in any environment. We can easily obtain and use products including the Java integrated development environment, Java database and middleware (Application Server) server for free on the Internet, as well as their source code. Sun ONE is closer to or can meet the distributed, development, and platform-independent requirements of smart web service providers on the Internet.

With the continuous development of Java technology, it is further divided into: J2EE for enterprise network applications (Java 2 Enterprise Edition), j2se for general PC applications (Java 2 Standard Edition) and Java 2 Micro Edition for embedded devices and consumer appliances. This article introduces Sun ONE's core Java application, j2se, J2EE, and j23.

J2EE Technology Application

J2EE is a new concept model launched by sun, which is more advantageous than the traditional Internet application model.

J2EE Model

The J2EE Application Programming Model (J2EE blueprints) provides a system model for implementing J2EE-based multi-tier applications and instance suites, simplifying this complex work. It is used by developers to design and optimize components so that developers can divide their development work according to their policies.

The J2EE application programming model requires developers to divide their work into two types: business logic and presentation logic. The rest are automatically processed by system resources and do not need to be encoded for the middle layer pipeline. In this way, developers can spend more time on business logic and presentation logic. For companies that focus on shortening the project cycle, this change is very popular.

J2EE Platform

The J2EE platform is a standard environment for running J2EE applications. It consists of J2EE deployment specifications (a set of standards that must be supported by all J2EE platform products), IETF standard sets, and CORBA standards. The latest J2EE platform also adds the JavaBean Component Model. Developers can use the JavaBean Component Model to customize Java class instances and access Java classes through defined events.

J2EE supports EJB, so developers can execute multi-user transaction functions. When running on a J2EE Server, Enterprise JavaBeans divides the application logic into reusable and scalable code segments. Enterprise JavaBeans are not new features, but by defining standard clients and service APIs, J2EE enhances its capabilities and portability.

EJB runs in a container of the server and provides all typical middle-layer services, such as transaction management, security, remote customer connection, lifecycle management, and database connection buffering. To enable the transaction system to run in the presence of an EJB container, developers only need to define the transaction attribute of beans in the deployment description file.

J2EE implements its advantages by defining a set of standard structures, such:

1. J2EE application programming model is a standard design model used to develop multi-level and thin customer user programs;

2. J2EE platform is a standard platform for integrating J2EE applications and specifying a series of interfaces and methods;

3. J2EE compatibility test suite is a set of compatible test components used to check whether the product is compatible with the J2EE platform;

4. J2EE reference implementation, used to demonstrate J2EE capabilities.

J2EE Server

Sun's J2EE server provides naming and directory services through Java Naming and directory interfaces (JNDI), authentication, HTTP, and Enterprise JavaBeans compatibility. JNDI is a standard extension version of the Java platform. It provides Java-enabled applications with unified interfaces to naming and directory services in enterprises, including LDAP.

The J2EE server also uses Java Servlet technology. Java Servlet can be seen as a small program running on the server. It provides developers with a platform-independent method to create Web applications based on components. It does not have performance limitations as it does with CGI. Java Servlet is a simple technique for extending the functions of web servers. Because it is written in Java, it can access the entire Java API library, including the jdbc api used to access the enterprise database.

JSP is an extension of Java Servlet. Java Servlet provides the development and display of interactive web pages from the server. Now JSP has been further improved, making it easier to create HTML and XML pages that support combination of static templates and dynamic content.

Security

The J2EE platform defines a standard public access control rule. When a program is developed on the Enterprise platform, it has been defined and explained by the programmer. J2EE also needs to provide a standard registration mechanism so that applications do not mix these registration mechanisms and logic, so that the source code does not need to be changed when the same work is executed in a large number of different environments. For example, J2EE application developers can specify several security levels. When users access data, they can write code to check the current user permission level. In the development phase, developers assign appropriate security levels to multiple groups of users, so that the application can easily determine the limit level before performing the restriction operation.

The J2EE platform is the best platform for Java enterprise-level applications. It allows programmers to quickly and quickly develop and distribute enterprise-level applications. The following are related technologies:

1. Enterprise JavaBeans architecture, Enterprise JavaBeans defines an application interface. It allows programmers to quickly develop, publish, and manage cross-platform, component-based enterprise-level applications.

2. assumerver pages, JSP technology provides a simple and fast way to create dynamic web pages. With this feature, you can quickly develop web-based applications that are irrelevant to the platform. Because JSP is very similar to ASP, it is easy for people familiar with ASP to learn it.

3. java servlet provides application interfaces. It allows you to quickly develop and expand server functions. As far as the development trend is concerned, it may replace CGI in the future.

4. J2EE Connector provides a standard structure to connect different enterprise information platforms.

5. Java Naming and Directory Interface (JNDI) provides a unified and seamless standard connection between the Java platform and commercial information. By using JNDI, programmers can transfer Java applications between enterprise naming and directory services.

6. Java Interface Definition Language (jidl), which can be used to provide collaborative work. Jidl includes an IDL-to-Java compiler and orb that supports IIOP (Internet Inter-ORB Protocol.

7. JDBC provides a unified interface for almost all databases and allows you to create advanced tools and interfaces.

8. java Message Service (JMS), which standardizes almost all enterprise-level messaging services, such as reliable query, publishing of messages, subscribing to magazines, and other applications of various puss/pull technologies, and provides them with a standard interface.

9. Java transaction API (JTA) provides an Advanced Management Specification for applications that can be processed in a distributed system.

10. javamail and javamail application interfaces provide a complete set of abstract classes for simulating mail systems. You can use javamail to create an email or message application.

11. RMI-IIOP, it can be used only Java technology and Java RMI interface development client and server remote interface.

J2EE binds a module with a fixed File Format: bind a J2EE application with the. Ear file; bind an enterprise Bean with the. jar file. For example,. the ear file contains. the XML file is used as its distribution description and contains one or more. jar and. war file; one. in addition to its distribution description, the JAR file also contains. class file.

The development phase of J2EE applications is divided into four steps: 1. enterprise Bean creation; 2. Web component creation; 3. J2EE application assembly; 4. J2EE application distribution. The following is a list of J2EE compatible products:

BEA WebLogic Server 6.0, Borland app server, HP bluestone total-e-server, IBM WebSphere Application Server, Iona iportal application server, iPlanet application server, Macromedia JRun server, Oracle 9i Application Server, silverstrean application server, Sybase EAServer, togethersoft controlcenter, and Java 2 SDK Enterprise Edition.

Application of j2-based Technology

Java 2 platform Micro Edition is designed for the wireless electronics market, including JVM specifications and API specifications. Its API specification is based on j2se (Java 2 standard Editon. It defines a set of appropriate class libraries and Virtual Machine technologies. These technologies allow users, service providers, and device manufacturers to use a wide range of applications as needed through physical (wired) connections or wireless connections.

It is also known as Java 2 Micro version. It is used in a variety of consumer electronic products, such as smart cards, mobile phones, PDAs, and TV set-top boxes. Of course, it also provides consistent Java features, that is, cross-platform and secure network transmission. It uses a series of smaller packages, and javax. microedition. Io is a subset of j2se packages. J2se and J2EE can be upgraded.

Before the emergence of j2s, we were more exposed to Java cards, embedded Java, and real-time Java. The Java card is the minimum Java subset customized for SIM card, smart card, and other devices, which is smaller than that of j2_, and less portable. Embedded Java configures Java class libraries and VMS (virtual machines) for special users ). It has minimal resource requirements and can run on devices without graphical user interfaces and networks. It can add user-specific APIs, but it cannot be transplanted. Real-Time Java is implemented by the real-time custom Java expert group led by IBM and is still being improved. However, in a strict sense, they are not the real j2s.

Like other versions, Java has many Java technical features, mainly including:

1. It can be run on a variety of devices supporting Java;

2. The code is short;

3. Make full use of the advantages of the Java language;

4. Good security;

5. applications implemented with j2s can be easily upgraded to j2se and J2EE.

Configuration and framework

To support the flexibility and customization requirements put forward by users and the embedded market, j2s are designed to be more modular and scalable. The third-layer software is built on the original operating system of the device to implement this requirement:

1. On the JVM layer, this layer is based on the host operating system and implements JVM according to a specific j2-based configuration.

2. configuration layer, which has lower user visibility but is very important to the framework layer. It defines the minimum functional set of the Java Virtual Machine and the minimum set of the Java class library to meet the needs of the "horizontal" market. In a sense, the configuration layer defines that developers can use the Java feature and the "minimum public Denominator" of the class library on all devices ".

3. The framework layer is the most common for users and application providers. It defines the minimum functional set of the Java Virtual Machine and the minimum set of the Java class library for the needs of the vertical market. The framework is implemented based on a specific configuration layer. As long as the device supports the same framework layer, applications developed for the specific framework layer can be transplanted to other devices. A device supports multiple frame layers.

The JVM is closely connected to the configuration layer on the j2m‑based devices, which reflect the basic functions of each type of devices. The framework layer specifies additional APIs Based on the configuration layer for different devices. To meet the needs of constantly updated applications, the framework layer can expand new Java library classes. In the near future, with the emergence of new devices, the j2-based technology will provide a wide range of framework layers, configuration layers, and VMS. JCP (Java Community process) can provide specifications for customers and developers. According to the definition of JCP, one of the current configuration layers of j2's is the connection-oriented device configuration, which uses a typical Java virtual machine technology. This full-featured VM includes all the features of virtual machines on the desktop system, suitable for devices with at least a few megabytes of memory. For wireless devices and other devices with insufficient memory, the "connection-oriented limited device configuration" (cldc) technology is adopted.

KVM is the core feature of j2's. It is a highly portable JVM dedicated to devices with small memory, limited resources, and Internet access, such as cell phones, pagers, and personal organizers. These devices generally contain 16 or 32-bit processors with a minimum memory of kb. KVM can be flexibly applied to various industries and devices, and can adapt to the problems caused by the diversity of these devices, such as power consumption of processors, memory size, special features of devices and applications.

Cldc Technology

Cldc defines the target Java platform. The platform is based on a small, resource-less, and memory of only 160 ~ K device. Cldc is composed of KVM and core libraries and interfaces used in cell phones, digital products, two-way pagers, personal splitters, and household appliances. Cldc technology has many advantages:

1. cross-platform, which retains the consistent characteristics of Java, and applications will not change with platform differences.

2. Dynamic. This is also very attractive. You can download your favorite applications and services as needed and communicate with other cldc devices.

3. Security, Java's own characteristics make this feature.

Compared with j2se, cldc lacks the following features:

1. AWT (Abstract Window development kit), swing or other graphics libraries;

2. User-defined class loaders;

3. Final Implementation of class instances;

4. Weak references;

5. RMI;

6. Reflection (ing ).

Cldc has four packages: Java. Lang, java. util, java. Io, and javax. microedition. In addition to the javax. microedition package, several other packages are the core subset of the j2se package. Cldc uses these j2se class libraries, but removes classes, attributes, and methods that are not used in Micro Devices.

Two configurations are defined: connected device configuration (connection device configuration, CDC) and more restrictive connected limited device configuration (limited connection device configuration, cldc ).

J2se Technology Application

Java 2 Standard Edition is a development and deployment platform that provides all the necessary functions for writing desktop and workstation applications. J2se software is the preferred solution for rapid development and deployment of key tasks and enterprise applications. J2se 1.4 is developed based on Java cross-platform technology and powerful security modules. Its latest features and functions greatly improve the scalability, flexibility, applicability, and reliability of the Java language.

J2se 1.4 features:

1. Good computing performance and scalability.

J2se 1.4 is a comprehensive platform for rapid development and configuration of cross-platform enterprise-level applications and services. It improves the performance and scalability of Java computing and represents the major progress of Java technology. With j2se 1.4, enterprises can use Java technology to develop and configure applications with higher requirements through simpler steps and less time. J2se 1.4 has significantly improved the performance of Java client applications. Swing-based Java applets and applications have greatly improved the response speed on the GUI.

2. cross-platform.

J2se 1.4 is a platform with comprehensive performance that enables a complete, scalable, and high-performance application to be configured on any type of platform.

3. supports Web Services.

J2se 1.4 is fully compatible with previous j2se versions. J2se 1.4 also supports industry-standard technologies such as SSL, LDAP, and CORBA, ensuring interoperability between different platforms, systems, and environments. J2se 1.4 supports XML technology and a complete set of security services. Therefore, it lays an important foundation for the creation of interoperable applications and services based on various standards. With the combination of j2se 1.4 and Java Web Services developer pack, developers can create, test, and configure Web Services.

4. Integrity. J2se 1.4 is also a complete development environment. Developers can create interactive applications with rich functions based on this environment. These applications can be configured on any platform. J2se 1.4 Has New Gui control functions, fast Java 2dt graphics Functions, supports internationalization and localization extensions, and new configuration options, and provides extension support for Windows XP.

In short, j2se 1.4 is the basis for the development of a variety of different styles of software, including client Java applets and applications, as well as independent server applications. J2se 1.4 is still the foundation of j2se and is the driving force of J2EE execution programs.

The reason why Java can develop rapidly is that the Internet is developing very fast. Java can be combined with browsers, so it is naturally widely used in desktop systems. From the computing structure, Java is mainly divided into three categories: Server, J2EE enterprise, and desktop PC, which uses j2se Standard Edition; the third is handheld computers and mobile devices, all of which are using j2s. However, most non-enterprise software is developed on j2se. First, this is because many applications are developed on j2se. Second, j2se is compatible with J2EE and the Enterprise Edition is expanded on the Standard Edition, the software developed on j2se can run the same on the Enterprise platform. Again, the general development is still in the j2se environment, it only means that j2_m's provides an environment with a Micro version. On j2se, an environment is virtualized, and the developed application software can run on the micro version.

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.