J2EE v/s .NET


When developing a commerce solution in today's marketplace, a few months of time is an eternity. Missing a small window of opportunity is the difference between a corporation that is first to market, and a corporation that must play catch-up for years.One way to speed time to market is to choose a Web services platform that allows rapid application development. This enables developers to write and maintain code quickly, lowering development time. Both Sun J2EE and Microsoft .NET provide runtime mechanisms that insulate software developers from particular dependencies. In addition to a web service-oriented XML layer of indirection between platforms, languages, and enterprise architectures, Sun J2EE and .NET offer language-level intermediation via the Java Runtime Environment (JRE) and the Common Language Runtime (CLR)respectively.

J2EE offers several features that accelerate time-to-market which are not found in .NET. For example, state management services enable developers to write less code and not worry about managing state, resulting in a higher degree of rapid application development. State management services enable you to build components that hold state. Persistence services (entity beans) enable developers to write applications without coding data access logic, resulting in leaner, database-independent applications that are easier to build and maintain.

Programmatic transactions allow you to have greater transactional control. And custom tags are extremely powerful, and empower developers and web designers to easily collaborate.In addition to these features that enable rapid application development, there are several features that specific vendors offer which aid time-to-market, such as business process management, E-Commerce components, XML-based legacy integration, and enhanced B2B collaboration. A warning: Customers who elect to leverage these features will sacrifice portability. This is a consequence of J2EE architecture.

The J2EE and Microsoft.NET approach to Web Services

If you want to build a usable web services system, there is more than meets the eye.  Your web services must be reliable, highly available, fault-tolerant, scalable, and must perform at acceptable levels.  These needs are no different than the needs of any other enterprise application. J2EE and .NET are evolutions of existing application server technology used to build such enterprise applications.  The earlier versions of these technologies have historically not been used to build web services.  Now that web services has arrived, both camps are repositioning their solutions as platforms that you can also use to build web services.The shared vision between both J2EE and .NET is that there is an incredible amount of 'thinking' that goes into building web services, such as XML interoperability, load-balancing, and transactions. 

Rather than writing all that yourself, you can write an application that runs within a container that provides those tricky services for you. The Java 2 Platform, Enterprise Edition (J2EE) was designed to simplify complex problems with the development, deployment, and management of multi-tier enterprise solutions. J2EE is an industry standard, and is the result of a large industry initiative led by Sun Microsystems. It's important for you to realize that J2EE is a standard, not a product. It's an agreements between applications and the containers in which they run. So long as both sides obey the J2EE contracts, applications can be deployed in a variety of container environments. The J2EE camp's goal is to give customers choice of vendor products and tools, and to encourage best-of breed products to emerge through competition.

The only way this would ever happen is if the industry as a whole were bought-into J2EE. To secure buy-in, Sun collaborated with other vendors of eBusiness platforms, such as BEA, IBM, and Oracle, in defining J2EE. Sun then initiated the Java Community Process (JCP) to solicit new ideas to improve J2EE over time. The reason Sun did this is because they had to do so to achieve success--the best way to secure buy-in to an idea is to involve others in defining that idea.

J2EE

J2EE application
is hosted within a container, which provides qualities of service necessary for enterprise applications, such as transactions, security, and persistence services. The business layer performs business processing and data logic. In large-scale J2EE applications, business logic is built using Enterprise JavaBeans (EJB) components. This layer performs business processing and data logic. It connects to databases using Java Database Connectivity (JDBC) or SQL/ or existing systems using the Java Connector Architecture (JCA). It can also connect to business partners using web services technologies (SOAP, UDDI, WSDL, ebXML) through the Java APIs for XML (the JAX APIs). Business partners can connect with J2EE applications through web services technologies (SOAP,UDDI, WSDL, ebXML). A servlet, which is a request/response oriented Java object, can accept web service requests from business partners. The servlet uses the JAX APIs to perform web services

.NET


The .NET application
is hosted within a container, which provides qualities of service necessary for enterprise applications, such as transactions, security, and messaging services. The business layer of the .NET application is built using .NET managed components. This layer performs business processing and data logic. It connects to databases using Active Data Objects (ADO.NET) and existing systems using services provided by Microsoft Host Integration Server 2000, such as the COM Transaction Integrator (COM TI). It can also connect to business partner using web services technologies (SOAP, UDDI, WSDL). Business partners can connect with the .NET application through web services technologies (SOAP,UDDI, WSDL, BizTalk).  


 

© 2003 -2007 BSolutions. All Rights Reserved