 |
 |
 |
| J2EE |
 |
| The Java 2 Platform Enterprise Edition defines the standard for developing component-based multi tiered enterprise applications. It simplifies enterprise applications by basing them on standardized, modular components, by providing a complete set of services to the components, and by handling many details of application without much complex programming. |
 |
| The J2EE platform takes advantage of many features of the Java 2 Platform, Standard Edition (J2SE), such as "Write Once, Run Anywhere" portability, JDBC API for database access, CORBA technology for interaction with existing enterprise resources, and a security model that protects data even in internet applications. Building on this base, the Java 2 Platform, Enterprise Edition adds full support for Enterprise JavaBeans components, Java Servlets API, Java Server Pages and XML technology. The J2EE standard includes complete specifications and compliance tests to ensure portability of applications across the wide range of existing enterprise systems capable of supporting the J2EE platform. In addition, the J2EE specification now ensures Web services interoperability through support for the WS-I Basic Profile. |
 |
| Advantages |
 |
| • |
|
Simple, portable, scalable |
| • |
|
Provides the ability to integrate with legacy applications |
| • |
|
Standardizes access to a variety of naming and directory services, by using the JDNI API |
| • |
|
Provides specialized services viz., web-services interoperability, hiding complexity, enhancing portability, mail, managing XML with the Java platform etc. |
| • |
|
Provides choices for GUIs across a company’s intranet or on the World Wide Web. |
| • |
|
Provides support for simple HTML leading to quicker prototypes, and support for a broader range of clients |
| • |
|
Supports automatic download of the Java Plug-in to add applet support |
| • |
|
Supports stand-alone Java application clients |
|
 |
| The Enterprise JavaBeans Component Model |
 |
| Enterprise JavaBeans (EJB) technology enables a simplified approach to multi-tier application development, concealing application complexity and enabling the component developer to focus on the business logic. EJB technology gives developers the ability to model the full range of objects useful in the enterprise by defining several types of EJB components such as session beans, entity beans and message-driven beans. |
 |
| Session beans represent behaviors associated with client sessions -- for example, a user purchase transaction on an e-commerce site. These beans can serve as Web service endpoints. |
 |
| Entity beans represent collections of data -- such as rows in a relational database -- and encapsulate operations on the data they represent. These beans are intended to be persistent, surviving as long as the data they're associated with remains viable. |
 |
| Message-driven beans allow J2EE applications to process messages asynchronously. A message-driven bean normally acts as a JMS message listener, which is similar to an event listener except that it receives JMS messages instead of events. The messages may be sent by any J2EE component--an application client, another enterprise bean, or a Web component--or by a JMS application or system that does not use J2EE technology. |
 |
| Making Middleware Easier |
 |
| Today's enterprises gain competitive advantage by developing and deploying custom applications quickly. Whether they are internal applications or Internet applications for specialized customer or vendor services, quick development and deployment are keys to success. |
 |
| Portability and scalability are also important for long term viability. Enterprise applications must scale from small working prototypes and test cases to complete 24/7, enterprise-wide services, accessible by tens, hundreds, or even thousands of clients simultaneously. However, multi-tiered applications are hard to architect. They require bringing together a variety of skill sets and resources, legacy data and legacy code. In today's heterogeneous environment, enterprise applications have to integrate services from a variety of vendors with a diverse set of application models and other standards. Industry experience shows that integrating these resources can take up to 50% of application development time. |
 |
| As a single standard that can sit on top of a wide range of existing enterprise systems -- database management systems, transaction monitors, naming and directory services, and more -- the J2EE platform breaks the barriers inherent between current enterprise systems. The unified J2EE standard wraps and embraces existing resources required by multi-tiered applications with a unified, component-based application model. This enables the next generation of components, tools, systems, and applications for solving the strategic requirements of the enterprise. |
 |
| The J2EE specification also supports emerging Web Services technologies through inclusion of the WS-I Basic Profile. Compliance with the WS-I Basic Profile means that the developers can build applications on the J2EE platform as Web services that interoperate with Web services from non-J2EE compliant environments. |
 |
| With simplicity, portability, scalability, and legacy integration, the J2EE platform is the platform for enterprise solutions. |
 |
| The Standard with Industry Momentum |
 |
| While Sun Microsystems invented the Java programming language and pioneered its use for enterprise services, the J2EE standard represented collaboration between leaders from throughout the enterprise software arena. |
 |
| Partners for the J2EE standard include OS and database management system providers, middleware and tool vendors, and vertical market applications and component developers. Working with these partners, Sun has defined a robust, flexible platform that can be implemented on the wide variety of existing enterprise systems currently available, and that supports the range of applications IT organizations need to keep their enterprises competitive. |
 |
| The success of the J2EE platform in the enterprise continues to rise as more than two-thirds of enterprise software development managers use the J2EE platform to develop and deploy their applications. With addition of interoperable Web services and other new features in version 1.4, the J2EE platform will continue to be the industry standard for enterprise solutions for many years to come. |
 |
| Various complexities inherent in enterprise applications such as transaction management, life-cycle management and resource pooling are built into the platform and provided automatically to the components it supports. Component and application developers are free to focus on specifics such as business logic and user interfaces. |
 |
| Another advantage of the J2EE platform is that the application model encapsulates the layers of functionality in specific types of components. Business logic is encapsulated in Enterprise JavaBeans (EJB) components. Client interaction can be presented through plain HTML web pages, through web pages powered by applets, Java Servlets, or Java Server Pages technology, or through stand-alone Java applications. Components communicate transparently using various standards: HTML, XML, HTTP, SSL, RMI, IIOP, and others. |
 |
| Reusable J2EE components mean competitive choices for enterprise developers and IT organizations. The J2EE platform enables them to assemble applications from a combination of standards, commercially available components and their own custom components. From general business application components to vertical market solutions, a range of standardized J2EE functionality is available off the shelf. This means that an e-commerce site could be built using a combination of off-the-shelf EJB components for shopping cart behaviors, modified EJB components for specialized customer services, and completely customized layouts using Java Server Pages technology that bring a unique look and feel to the site. |
 |
| This approach means faster development time, better quality, maintainability and portability, and Web services interoperability across a range of enterprise platforms. The bottom line benefits are increased programmer productivity, better strategic use of computing resources, and greater return on an organization's technology investments. |
| |