|
The Java 2 Platform, Enterprise Edition (J2EE) has quickly become the premier standards-based platform for delivering secure, robust, scalable, multi-platform enterprise applications and services. Before J2EE, developers had to be specialists in systems programming, at the expense of coding business logic. They spent endless hours on application transaction programming, resource pooling, threading, persistence, security, and product life-cycle management -- just to name a few of the tasks that once required manual coding from scratch for each different system. Back then, the predominance of proprietary APIs severely limited the portability of code, and you were never sure whether your application would run or fail on another system. J2EE changed all that with integrated and compatible open systems, based on standards. Today, it remains the most elegant way to develop and deploy n-tier, Web-enabled, server-centric enterprise applications, as well as next-generation Web services. As an end-to-end solution, the J2EE platform includes not just the technology specifications, but also a reference implementation, a Compatibility Test Suite (CTS), the J2EE BluePrints program, and a branding program. But how good is it as an enterprise application server platform? Judge for yourself: This article gives you five reasons why the J2EE platform continues to be the application-server platform of choice. Reason #1: IntegrationAll J2EE-compatible services and applications interoperate across the network, providing you with a powerful way to quickly deliver applications and services. In today's economy, integration of existing disparate systems and interoperability across networks are not just nice features to have -- they're crucial. For integration support, the multi-vendor J2EE Connector Architecture is a total solution. It is the preferred method for integrating component-based Java technology programs with disparate relational and non-relational enterprise systems. The J2EE Connector Architecture defines a standard, transactionally capable, scalable, and secure architecture for leveraging EIS investment -- thereby simplifying integration with such mainframe applications as Enterprise Resource Planning (ERP) and Customer Relationship Management (CRM) systems. J2EE-compatible application servers support the "plug in" of J2EE-based resource adaptors for a variety of ERP and CRM systems. Vendors need only provide one standard J2EE Connector resource adaptor to plug into any J2EE-compatible application server. Thus, J2EE provides an industry-adopted mechanism to connect legacy and mainframe systems to standard J2EE middleware. With J2EE connectors, enterprise applications can be extended by J2EE components, including Enterprise JavaBeans (EJB) and JavaServer Pages technologies, and Servlets. That means the same skills developers use to create new applications can also be used to extend existing applications. In addition to the Connector Architecture, J2EE also provides the Java Message Service (JMS) API. JMS enables loosely coupled, asynchronous communication between applications, allowing heterogeneous enterprise systems to be linked through reliable messages -- even over unreliable, unpredictable networks. This allows business processes within an application to operate independently, and to hand off tasks as needed. Further, Message Driven Beans technology delivers a component model for inter-application messaging, and the Enterprise JavaBeans (EJB) 2.0 architecture incorporates improved container-managed persistence, for ease of data modeling and portability. J2EE also provides EJB component interoperability through Internet Inter-Orb Protocol (IIOP). This object-oriented protocol allows invocations of session and entity beans from the J2EE platform components that are deployed in different products. That means one vendor's application server can call an EJB on another vendor's application server, or from other languages. Reason #2: CompatibilityAll J2EE platform-compatible products have passed the J2EE Compatibility Test Suite (CTS) -- earning them the vital Java Compatible, Enterprise Edition brand. In total, there are more than 15,000 CTS software tests used to ensure conformance with the "Write Once, Run Anywhere" standard. Any product that carries the Java Compatible, Enterprise Edition brand has fully met the requirements of the J2EE compatibility program. In practical terms, that means an application that runs on one J2EE-compatible server can also run on a full range of other vendors' J2EE-compatible servers. Further, developers can write applications to the J2EE specification, and companies can purchase those applications with the assurance that they are portable across all compatible products -- especially important in today's enterprise computing environment. Adherence to the J2EE specification and its compatibility requirements also improves IT productivity through portability. Compatible code extends the value of a single code base and increases the potential for code reuse. Customer choice is a value proposition for Sun, and because of the open standards of J2EE, you have your choice of a wide range of compatible products from many vendors. Visit the J2EE compatibility page (see links at the bottom of this article) for an up-to-date listing. Finally, the choice is yours -- and that healthy competition keeps vendors moving their products forward to deliver ever-increasing value to continue to win your business. Reason #3: The J2EE Programming ModelJ2EE is an end-to-end architecture that provides you with a programming model that uses Servlets, JavaServer Pages (JSP), and Enterprise JavaBeans (EJBs) to implement and deploy business logic. Each of these component technologies provides different ways to implement and deploy business logic, within the unifying framework of J2EE; so you, the developer, get to choose the most appropriate model component for your application. Servlets provide a component-based, platform-independent, server-independent, method for building Web-based applications. This leaves you free to select a "best of breed" strategy for your servers, platforms, and tools. JSP technology, an extension of Servlet technology, was created to support authoring of HTML and XML pages. JSP technology makes it easier to combine fixed or static template data with dynamic content. With JSP technology, pages are actually compiled dynamically into Servlets, so they have all of the benefits of Servlets, including access to Java APIs. Most importantly, JSP technology provides developers with an easy way to distribute application functionality to a wide range of page authors. These authors don't have to know the Java language or even be able to write Servlets. By separating business logic and active content from page layout and design tasks, JSP technology supports a tiered development approach that delivers faster, more efficient application development and deployment. EJBs separate the business logic from the system code in portable components that are each transactional, distributed, multi-tier, portable, scalable, and secure. By supporting the standard component architecture features of properties, events, methods, and persistence, EJBs give you a standard means to deliver more sophisticated, reusable components and applications that are more tightly integrated with your runtime environment. Best of all, your applications can integrate with every platform and every architecture in the industry. Whether it's Servlets, JSP technology, or EJBs, component-based enterprise development means saving money and time getting services to your customers. Reason #4: Web Services SupportWeb services depend on distributed, disparate parties being able to communicate with each other securely across different platforms; it's all about interoperability.
How J2EE Implements the Web services Model (click to enlarge) Web services need to be scalable, secure, and efficient. J2EE is specifically designed to fill those needs by simplifying the hardest part of enterprise development: separating the business logic from the infrastructure, or "plumbing." Therefore, the J2EE platform (which provides portable code), together with its XML support (which makes data portable), is the natural choice for developing Web services. J2EE and XML are integrated as one. Simply put, Web services are just a set of endpoints that receive message requests and send back response messages. These endpoints are operating within a container environment, which provides Web services with a runtime environment in the same way an EJB container provides a runtime environment for EJBs. With the Java Web Services Developer Pack (Java WSDP) -- an integrated toolset that layers on top of J2EE -- Web services are built into the J2EE platform. The Java WSDP provides Java standard implementations of existing key Web services standards in a single bundle, including Web Services Description Language (WSDL), Simple Object Access Protocol (SOAP), ebXML, and UDDI. These Java standards allow developers to send and receive SOAP messages, browse and retrieve information in UDDI and ebXML registries, and quickly build and deploy Web applications. In the Java WSDP release 1.3.1, you'll find a Java API for XML-based Remote Procedure Calls (JAX-RPC) in a B2B communication scenario, including both client and server implementations, use of SOAP, WSDL, JAX-RPC with attachments, JavaServer Pages Standard Tag Library (JSTL), and Web services-enabling J2EE applications. Further, the Java WSDP establishes a roadmap to standards-based J2EE Web services, using Servlets as endpoints and the standard Web services API, which will become a part of J2EE release 1.4. In J2EE 1.4, the deployment of Web services is even further simplified by exposing EJBs as Web services endpoints -- and there is no architectural or code change required. Reason #5: Open Standards: Safety and FreedomAt the core of the platform's ongoing development and adherence to open standards is the Java Community Process. The JCP's mission is to foster both rapid innovation and freedom of choice through a diverse, industry-wide community of industry representatives and private participants actively contributing to all editions of the Java 2 platform. Membership in the JCP is open to everyone. All new Java technology specifications or changes to the Java 2 platform are created by community members and submitted as a standards-based Java Specification Request (JSR) through jcp.org. When a JSR is approved for development by the JCP Executive Committee, a group of experts is formed to develop a first draft of the specification that both the community and the Executive Committee review. The JSR draft is published on jcp.org for review by the public, so that anyone with an Internet connection can read and comment on it. At this time, there are new JSRs being accepted every week, many of which specify how other JSRs work together to yield better results for developers and their implementations. The Expert Group uses the public feedback to further revise the document, and ensures that the JSR's reference implementation and associated Technology Compatibility Kit (TCK) are complete, and then sends the specification package to the Executive Committee for final approval. Upon approval, the specification becomes a part of the Java 2 platform for use by the entire Java community. The finest expertise available in the industry is leveraged under the JCP, since it uses the input of the entire community. In this way, the JCP modifies the Java 2 platform to reflect the wishes of the Java community as a whole -- while ensuring its open standards -- and delivers its improved functionality back to the community as quickly as possible. The end result is accelerated innovation, fostered by open standards, available to all. The Safe Choice, the Smart ChoiceIn short, J2EE is an open, standards-based, development and deployment platform for building n-tier, Web-based and server-centric enterprise-strength applications. It's proven, it's pervasive, it's portable, and it's powerful. It's the right way to deliver Web services, no matter what your market, or where your development effort is headed for the long term. About the AuthorsJudith Lilienfeld is the product manager for J2EE. Jon Byous has been writing about technology -- from chips to mainframes -- for twenty years, working for Sun, Cisco, Oracle, Netscape, Quantum, and dozens of smaller tech firms. See AlsoJava 2 Platform, Enterprise Edition | ||||||||
|
| ||||||||||||