Java EE VS. NET platform: Java EE architecture

Source: Internet
Author: User
Keywords Java EE . NET platform Java EE architecture
Tags aliyun api byte code client client program code common language design

and http://www.aliyun.com/zixun/aggregation/13480.html "> NET platform, Sun's standard-defined Java EE architecture has little room to discuss because there is nothing to discuss. If one is aware of a specific developer's product, such as the IBM WebSphere, then you will see that the biggest part of its technology is websphere-specific. Comparing all developers ' specific improvements to Java EE is beyond the scope of this article, and in my experience most of the companies interested in Java EE as a platform are interested in the standard's scalability. Anyone who is interested in the value of being able to move will need to limit themselves to the standards defined by Sun.

The Java EE architecture can be divided into 5 parts:

Java language System
Client program Design Model
Middle tier infrastructure
Programmer Enterprise API
Non-programmer-visible APIs

The last part, non-programmer-visible APIs, includes APIs that define how to insert other products into Java EE, such as connector APIs, and APIs that have recently been improved effectively in the Java EE model, such as the JTA (Transaction API). Since non-programmer-visible APIs are not important from the perspective of comparing Microsoft and Sun's programs, these aspects are not covered in the author's overview (as I did in. NET Platform Overview does not cover the same functionality as the API.

Java language System

At a high level, the Java language system looks similar to the. NET Framework. In both cases, the source code is translated into an intermediate language. However, in the. NET platform, the intermediate language is MSIL, and in the Java system, Java Byte Code. In both cases, the intermediate language is brought into the running environment. In the framework, the operating environment is common Language Runtime. For Java, the operating environment is the Java Virtual machine (Java Machine). In general, Common Language Runtime and Java virtual machines have similar capabilities, and are undoubtedly developing and interacting with each other in terms of technological progress.

The most important difference between the two systems is related to the translation of the source code into the intermediate language. In the. NET platform, the intermediate language is designed to accommodate the needs of various languages. In Java, intermediate languages are designed to meet Java needs. Although it is possible theoretically to generate Java Byte code from a language other than Java, it is not actually proven in any commercial product.

Client program Design Model

The Java EE client program design model focuses on interacting with browsers. The client-side program design model has 3 parts: Java applets,java servlets and Java Server Pages.

Java applets is used to package Java code that runs in a browser. In. NET platform space, this is functionally equivalent to ActiveX. In the author's experience, applets or ActiveX components use relatively few. E-commerce architectures are generally based on browsers that make requests to the presentation layer, and then the presentation layer responds with an HTML page. This system does not use ActiveX or Java Applets, so the author does not discuss any of these technologies in this paper.

Important techniques for handling HTTP requests and HTML responses are Java servlets[5] and Java Server pages[6. These two technologies are similar to the asp.net (Active Server Pages) in Microsoft space.

. The main difference between the net platform and the Java presentation layer is the way in which different client functions are handled. The Java presentation layer follows the previous Microsoft ASP (pre. NET) model, which makes it the responsibility of the presentation layer programmer to determine the ultimate destination browser (or other thin client system), the capabilities of the thin client system, and how to generate HTML to give full play to the advantages of thin client systems.

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.