Java EE vs. Microsoft.NET Web Services

Source: Internet
Author: User
Tags soap message queue connect web services java web visual studio biztalk wsdl
J2ee|services|web java EE vs. Microsoft.NET Web Services
--Comparison of Web services for building XML schemas
Author: Anon This article chooses from: Cnjsp April 30, 2002
I. Preface

In this article, we'll delve into the two platforms that can be used to build commercial XML WEB services, which are provided by Sun Microsystems Java 2 Enterprise Edition (EE) and Microsoft. NET platform.

Although the Java EE represents an open standard, and. NET is the standard of a single vendor, though. NET attempts to obtain the standard of ECMA, but only in the most basic part of the ECMA adopted into the standard, please refer to http://msdn.microsoft.com/net/ecma/, in the enterprise application is not standardized), the view of the Java platform, It is true that all vendors, other than Microsoft, follow the JCP standards for all specifications (refer to http://www.jcp.org, and you will find that all of the Java technologies are coordinated by major companies).

While Java is far ahead of standardization, we will still explore only the server-side Web services architecture. For example: Our discussion will not involve JINI or office XP, nor will we discuss Java across the full Solaris, Linux, Mac OS X, and Windows platforms, while. NET spans only Windows 98/me/2000/ The fact that Windows platforms such as XP. We're not going to talk about "Cross-language" that Java has already tried to achieve, and Microsoft is taking it as a major feature of. NET, but it's not the same thing at all. (See http://grunge.cs.tu-berlin.de/~tolk/vmlanguages.html, you can find that Java has already reached the so-called Cross-language functionality, Smalltalk, Eiffel, Lisp, Prolog, Basic and other languages can be successfully converted into Java bytecode, not like. NET is called Cross-language, but appear cobol.net this kind of monster, original language wants to fit to cooperate with. NET, so just produce vb.net, COBOL. NET of this large series of products). The so-called cross language shouted for half a day, the original even own VB 6.0 are not past. After reading this article, you will have a better understanding of the strengths and weaknesses of the two architectures, and will have more specific considerations when making decisions about your company's next generation of Web services.

Ii. Preface

The generation of distributed computing times has come. Over the past few years, XML has been widely used in computer computing environments to achieve the ambitious goal of sharing information on the global Information network. Today, it can further provide the sharing of computing power. From a technical point of view, the advent of WEB services is not a new revolution in Distributed computer computing. It can be structured to render information, even within the program, and thus naturally more compelling than XML applications.

III. industrial standards and enterprise standards

With Web Services, any application can be successfully integrated on the network. The rationale for WEB services is to use standard network protocols (such as HTTP) to transfer XML messages. This is a very lightweight communication mechanism, so that any program language, middle-tier component, or platform can easily be integrated in. Industry standards that are mature and widely used by manufacturers are accepted in the general industry or within the enterprise, especially those that have already been tested by the market for an annual standard. With Web Services, you can consolidate two businesses, departments, or even two programs quickly and cheaply.

To build Web services, you must adopt the industry's common Web services technology. Now let's look at what Web services really are. First you must know how to build and use Web Services. In fact, Web Services is a very simple XML interface for business, application, and system services. To put it bluntly is to put the existing technology old clothes new wear just. WEB Services is actually a new generation of distributed services, where CORBA, DCOM, COM +, RMI are all technologies used to implement the distributed architecture, and are proven to work very well; the next generation of distributed services, using XML technology, such as XML-RPC and SOAP are the best examples, the next generation of distributed technology can be used to make the basis of the communication protocol (such as SMTP, FTP, etc.), but the most popular way is still to plant the XML base on HTTP, which is a popular but inefficient communication protocol. Even so, these new generations of technology have not yet passed the test of time, and perhaps they may have worked well, and there may have been some risks.

In the face of so many distributed technologies, the Java platform and the. NET Platform support the following table:

Support for Legacy distributed technologies:

J2ee.netcorba Support does not support RMI/IIOP does not support COM + unsupported support

Support for a new generation of Web services:

J2EE.NETXML-RPC Support does not support SOAP support

As we can see from the two graphs above, Java EE supports distributed computing services that are more widely used in existing enterprise systems, while the. NET platform still supports COM +, which extends from COM to DCOM, and its technology predecessor, MTS COM + enterprise JavaBeans technology is three years early, needless to say, we can infer that the distributed service provided by Java-EE is three years ahead of. NET technology. In addition, the current enterprise internal use of large-scale mainframe is used in CORBA technology, Java EE support for the old technology is of course the best, because COM + can only run on the Windows platform.

If you are an avantgarde company, you can use either XML-RPC (http://java.sun.com/xml/jaxrpc/index.html) or soap (http://java.sun.com/xml/jaxm/ index.html) technology, Sun Microsystems provides a Java Web Service Developer Pack (http://java.sun.com/webservices/ webservicespack.html) for developers to develop Web Services. Counter view. NET technology, providing support for soap only. In the case of the lack of distributed technology support, the support of the next generation distributed technology can not provide flexible choice, the risk is big, it is predictable.

Even if a new generation of Web services is very stable, his stability is often affected by the stability of the underlying operating system, and if you choose. NET, it will be tied to the most widely recognized Windows platform, and worse. NET can only operate on Microsoft's official Web server, and I believe that friends who used to use IIS will have to question their security and stability after being exposed to Nimda and other viral nightmares? However, if you are using the Java EE technology, you can choose the one that best meets your needs, the lowest cost, and the best platform in the application server provided by the many compliant vendors.

You can go to http://www.soapware.org/directory/4/implementations to query the existing SOAP real works and see how many are real works designed for Java.

To sum up, we consider the stability of the platform, the stability of the server, and the diversity of the products, and the Java EE has completely defeated. NET technology.

The following technologies are already used by the industry and are the best way to access Web services:

-People who provide Web services use their own programming languages, components, and platforms to develop, connect to, and service Web services.

-The person who provides Web services defines Web services with the WSDL (Web Services Description Language). The WSDL file lets others know the utility of Web services.

-The person who provides Web services registers the Web services with UDDI (Universal Description, Discovery, and Integration6). UDDI allows program developers to web

-Users use UDDI logins to find Web Services.

-The consumer's program combines Web services and calls Web services through SOAP (simple Object Access protoco) or XML-RPC. XML-RPC or SOAP provides a form of message delivery on an HTTP protocol. This is a common communication protocol for all Web services.

Note that the above mechanism is a way to build Web services and make it work. Although there are other ways to do this, we think these technologies are the most important and will be widely used by the industry.

So, in fact, we don't have a consistent way to build Web Services, and there are still a lot of difficulties to overcome. In terms of soap, ebXML, and service stream specifications, there are different opinions from the manufacturers. And SOAP is most often advertised: it has nothing to do with programming languages, and the two features that are unrelated to a particular platform are completely shattered when you try to communicate with Web services generated by Microsoft SOAP Toolkit using Apache soap: This is because XSI The type attribute has a different relationship on the implementation. In addition to the differences in understanding the details of the implementation, the more important reason is that someone deliberately destroys the standard.

Even so, there's still plenty of good news for Web services:

-Very rare, all manufacturers, including Sun Microsystems and Microsoft, have agreed that soap, WSDL and UDDI are good products with potential, so they will be in the future products

-All the different vendors are uniting to work together to build standards for Web services and to apply Web services extensively.

Iv. using Java EE and microsoft.net to develop Web Services

If you want to develop a useful network service system. The challenge is not as simple as it seems. Your Web services must be reliable, pervasive, error-prone, resilient, and must be acceptable to everyone. These stringent requirements are no less than commercial applications of any enterprise level.

Java EE and. NET are the technical extensions available for developing server-side enterprise applications. Earlier versions of these technologies were not specifically designed to develop Web services. Now that Web services has become a trend, the two camps have also adjusted their platform solutions, so you can now use these technologies to develop Web services. Java EE as well. NET's common vision is to achieve the infrastructure for developing Web services, such as Cross-platform XML communication, load balancing, and trading. Instead of writing these basic projects yourself, you might as well compose your application on the platform where you can provide those services.

However, when developing to a certain size of the application, there will be a certain degree of complexity, this time must have the development tools, if you choose one of the platforms, then you can choose the tools as shown in the following table:

Development tools for developing a new generation of Web services:

The tools of Java EE platform are:

    • JBuilder (Borland)
    • Forte for Java (Sun)
    • WebLogic Workshop (BEA)
    • JDeveloper (Oracle)
    • VisualAge for Java (IBM)
    • Visual Cafe (Webgain)


. NET Platform

Only Visual Stdio.net

As you can see from here, you can provide vendors in your existing enterprise solutions, get the best tools and solutions, and from a free basic version to a paid professional version, each can make the best choice based on different needs, rather than just looking for the tools and solutions provided by a single vendor.

v. Java-ee

Java 2 Platform, Enterprise Edition is designed specifically to address the development, organization, and management of multi-tier enterprise solutions. In the efforts of many manufacturers led by Sun Microsystems, Java EE has become an industry standard. The most important thing for you is that you must first understand that Java EE is a standard, not a product. You can't say "download"

Java ee, instead, download a series of adobe Acrobat PDF files that carefully describe the operating rules between the application and the container in which it is located (Container). By complying with the Java EE rules, applications can be deployed in containers on a variety of platforms. The goal of the Java-EE camp is to provide customers with multiple choices of products and tools, and to drive the effect of good currency to expel bad currency, so that the best products to become the market winners. The only way to achieve this ideal is for all vendors to comply with the Java standard.

In terms of transaction security, Sun Microsystems is working with many vendors that offer e-commerce platforms, such as BEA, IBM and Oracle, to work together on Java EE. Sun Microsystems has also launched a Java standard-setting organization, Java Community Process (JCP), which specializes in new decisions to improve EE. The reason Sun Microsystems is doing this is because the best way to achieve the safety of electronic transactions is to ask all the experts to work together to set strict standards-only in order to succeed in achieving their goal of integrating the market. Java EE is one of the applications. Your Java EE component must be translated into bytecode and executed with the JRE under the execution engine. It is worth mentioning that even the containers that are compatible with the Java platform, most of them are based on the java-based technology implementation. Compared to the Microsoft.NET in the official release of the time due to security errors and published service Pack1 (see Http://support.microsoft.com/directory/article.asp?ID=KB; En-us; Q317396&sd=msdn&amp: To use. NET has not yet to download friends please hurry up to see to avoid the nightmare recurrence, we should know more about one thing, is: security is everyone's business, is not a single manufacturer can decide.

VI. Java EE and Web Services.

Java EE has been positioned as a framework for developing server-side applications in the previous language. It can be used to build traditional Web sites, software components, or Web applications (Web application). More recently, Java EE has been extended to support XML WEB services standards. These Web services can communicate with other Web services that are developed with Java or non-Java standards.

Java EE applications exist in a container that provides the services required for enterprise-class applications and, of course, the qualities required by the enterprise, such as trading, security, and persistence services.

The business level is responsible for business processes and data logic. In large-scale Java EE applications, business logic is built using Enterprise JavaBeans (EJB) component technology. This hierarchy is specifically designed to handle business processes and data logic. It can connect to a database through Java Database Connectivity (JDBC), sql/j, or through Java Connector Architecture (JCA) technology to link existing systems. It can take advantage of Java's API for processing XML (JAXP, Java API for XML processing), and through Web services technologies (including: SOAP, UDDI, WSDL, and ebXML) To connect the business applications offered by other vendors. As a result, third-party companies can connect Java programs to each other through Web services technologies including SOAP, UDDI, WSDL, and ebXML. So as long as you take advantage of the Java Servlets (which is a Java technology that supports HTTP requests/responses), you can accept and respond to requests from a third-party Web services. Java Servlets uses technologies such as JAXP/JAXR/JAXM/JAX-RPC to provide all the functionality that Web services operates on. Web Services is currently expanding the form of a link library, and has now embarked on incorporating Web services into the next version of the specification and becoming the industry's common denominator. Traditional client programs, such as Java applets or desktop applications, will connect EJB components directly to the Internet Inter-ORB Protocol (IIOP) rather than to disclose Web services, and if you want to use Web services, But because the client's applications are usually from the same vendor as the Java EE application, there is no need for XML Web services to play the role of communication, even if there is a need to do so. Browsers and wireless devices can connect to Java Server Pages (JSPs), which have user interfaces designed by enterprises to use HTML, XHTML, or WML.

vii. Microsoft's. NET Platform

Microsoft. NET is a product that enables enterprises to develop intelligent and enterprise-class Web services. The special note here is that. NET and Java EE the biggest difference:. NET is a product strategy, while the Java EE is a standard. Microsoft.NET is a major overhaul of Windows DNA, a platform that Microsoft previously offered to develop enterprise-class applications. Windows DNA contains technologies for many existing products, including Microsoft Transaction Server (MTS) and COM +, Microsoft Message Queue (MSMQ), and Microsoft SQL Server Database. The new. NET Framework is designed to replace these technologies and to incorporate the Web services hierarchy and the improvement of the programming language.

. NET application exists in a container that provides the services required for enterprise-class applications.

For example: trading, security, and messaging services. NET application is developed through the. NET managed component. This level is responsible for business processes and data logic. It can connect to the database through active Data Objects (ado.net) or use the services provided by Microsoft Host Integration Server 2000 in an existing system, such as: COM Transaction Integrator (COM TI). Of course, it can also connect Third-party business applications through Web services technologies including: SOAP, UDDI, WSDL, and BizTalk. As a result, they allow. NET programs to connect to each other through Web services technologies including SOAP, UDDI, WSDL, and BizTalk. Traditional client programs, browsers, and wireless devices can connect to active Server Pages (asp.net), which have user interfaces designed by enterprises to use HTML, XHTML, or WML.

viii. Comparative Analysis

In terms of the time the product is available for sale:

In today's market to develop a commercial solution, time is money. Missing out on a small opportunity, affecting it, will lead to a company becoming a market pioneer or a lagging catch-up. One way to speed up time-to-market is to choose a Web services platform that can quickly develop programs. This will allow developers to quickly develop and maintain program code, reducing development time. Sun Java EE and Microsoft. NET both provide a number of implementation mechanisms that allow software developers to avoid touching some of the underlying complex parts. In addition to supporting the middle tier of XML Web services on platforms, programming languages, and Enterprise architectures, Sun Java EE and. NET also provides the basic level of service through the Java Runtime Environment (JRE) and the common Language Runtime (CLR) respectively. Java EE also offers a number of. NET features that can accelerate time-to-market, such as state management services, which allow developers to write less program code and not manage the state, so they can be said to be a high-level and fast software development environment. The state Management Service allows you to develop component retention status. Persistence Services (Entity Beans) allows program developers to develop applications without the need to write additional program code to connect to the database, making database programs easy to develop and maintain. Programmatic transactions allows you to have more trading controls. and custom tags let program developers and network designers can work more closely.



Finally, we feel that Java EE's development environment for the two programs provided by. NET is completely different. NET boasts powerful program development tools Visual Studio.net,java also has integrated development tools for various vendors (Borland, Sun, BEA, IBM, etc.) to choose from; In the learning difficulty and system design and development process above,. NET is completely using Java from the beginning of the object-oriented analysis and design technology, learning vb.net or C # to spend the time and learning Java is no different, but also to the system architecture design, OOAD, UML, designing patterns and other methods are both adopted standard steps. So in terms of the stability of the platform, the stability of the server, as well as the diversity of products to consider, the Java EE completely defeated. NET technology, both in the process of development of the method also attributed to unified, Java-EE has been in the market over the past few years, many business users of the actual test, so we believe that more than a record and still in the infancy of Microsoft. NET series technology, Java-ee is a mature, stable, efficient, and free and open choice.

< full-text version, please go to http://www.javatwo.net>

[/TD]

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.