CONTENTS | PREV | NEXT | INDEX J2EE BluePrints



2.2 Platform Roles

The J2EE platform defines several distinct roles in the application development and deployment life cycle: J2EE Product Provider, Application Component Provider, Application Assembler, Deployer, System Administrator, Tool Provider. In general, the roles are defined to aid in identifying the tasks performed by various parties during the development, deployment, and running of a J2EE application. However, while some of these roles, such as System Administrator and Tool Provider, perform tasks that are common to non-J2EE platforms, other roles have a meaning specific to the J2EE platform, because the tasks those roles perform are specific to J2EE technology. In particular, Application Component Providers, Application Assemblers, and Deployers must configure J2EE components and applications to use J2EE platform services (described in Section 2.3).

The roles can be fulfilled by whatever personnel match an organization's actual application development and deployment workflow. Thus, each J2EE role may be performed by a different party or a single party may perform several roles. For example, a programmer may perform the roles of Application Component Provider and Application Assembler.

The following sections define the J2EE platform roles. Subsets of some of these roles are defined in the EJB (Enterprise Bean Provider, EJB Container Provider, EJB Server Provider), JSP (JSP Container Provider), and Servlet (Application Developer, Servlet Container Provider, Web Container Provider, Web Server Provider) specifications.


2.2.1 J2EE Product Provider

A J2EE Product Provider, typically an operating system vendor, database system vendor, application server vendor, or a Web server vendor, implements a J2EE product providing the component containers, J2EE platform APIs, and other features defined in the J2EE specification. A J2EE product is free to implement the interfaces that are not specified by the J2EE specification in an implementation-specific way.

A J2EE Product Provider provides application deployment and management tools. Deployment tools enable a Deployer (described in Section 2.2.4) to deploy components on the J2EE product. Management tools allow a System Administrator (described in Section 2.2.5) to manage the J2EE product and the applications deployed on the J2EE product. The form of these tools is not prescribed by the J2EE specification.


2.2.2 Application Component Provider

Application Component Providers produce the building blocks of a J2EE application. They typically have expertise in developing reusable components as well as sufficient business domain knowledge. Application Component Providers need not know anything about the operational environment in which their components will be used. There are multiple roles for Application Component Providers, including HTML document designers, document programmers, enterprise bean developers, and so on. These roles use tools provided by a Tool Provider (described in Section 2.2.6) to produce J2EE components and applications.


2.2.3 Application Assembler

An Application Assembler takes a set of components developed by Application Component Providers and assembles them into a complete J2EE application. Their expertise lies in providing solutions for a specific problem domain, for example, the financial industry. Application Assemblers may not be familiar with the source code of the components that they use, but they use declarative descriptors for the components in order to know how to build applications from them. Like Application Component Providers, they need not know anything about the operational environment in which their applications will be used. An Application Assembler will generally use GUI tools provided by either a Product Provider or Tool Provider. An Application Assembler is responsible for providing assembly instructions describing external dependencies of the application that the Deployer must resolve in the deployment process.


2.2.4 Deployer

A Deployer, an expert in a specific operational environment, is responsible for deploying J2EE components and applications into that environment. A Deployer uses tools supplied by the J2EE Product Provider to perform deployment tasks. A Deployer installs components and applications into a J2EE server and configures components and applications so as to resolve all the external dependencies declared by the Application Component Provider and Application Assembler.


2.2.5 System Administrator

A System Administrator is responsible for the configuration and administration of an enterprise's computing and networking infrastructure. A System Administrator is also responsible for overseeing the runtime well-being of the deployed J2EE applications. The System Administrator typically uses runtime monitoring and management tools provided by the J2EE Product Provider to accomplish these tasks.


2.2.6 Tool Provider

A Tool Provider provides tools used for the development and packaging of application components. A variety of tools are anticipated, corresponding to the many component types supported by the J2EE platform. Platform independent tools can be used for all phases of development up to the deployment of an application. Platform dependent tools are used for deployment, management, and monitoring of applications. Future versions of the J2EE specification may define more interfaces that allow such tools to be platform independent.



CONTENTS | PREV | NEXT | INDEX
Copyright © 2001 Sun Microsystems, Inc. All Rights Reserved.