Creating business solutions based on Java Enterprise System software involves a number of standard tasks. These tasks vary in scope and difficulty depending on your starting point for the adoption of Java Enterprise System and on the nature of the solution you are trying to create and deploy.
This section discusses two aspects of working with Java Enterprise System: the Java Enterprise System solution life cycle and the various adoption scenarios that are typically involved.
The tasks involved in creating business solutions based on Java ES software can be divided into several phases, as shown in Figure 1–3. The illustration also shows the category of Java Enterprise System user that generally performs the various tasks.
The life-cycle phases shown in Figure 1–3 can be divided into the following general groupings:
Predeployment. In these phase, a business need is translated into a deployment scenario: a logical architecture and a set of quality of service requirements. The deployment scenario serves as a specification used to design a deployment architecture.
Deployment. In these phases a deployment scenario is translated into a deployment architecture. This architecture can be used as a basis for project approval and budgeting. The deployment architecture is also the basis for an implementation specification that provides the details needed to deploy (build, test, and roll out) a software solution in a production environment.
Postdeployment. In the operations phase, a deployed solution is run under production conditions and monitored and optimized for performance. the deployed solution is also upgraded to include new functionality as necessary.
The solution life cycle and the tasks in each of the phases shown in Figure 1–3 are discussed more fully in Chapter 4, Java Enterprise System Solution Life-Cycle Tasks.
Figure 1–3 shows the Java ES users who typically perform the tasks shown for the life-cycle phases. If you are working with Java ES, your job should fit one or more of the user categories shown in Figure 1–3. The following table describes the skills and background for each category of user.
Table 1–5 Java ES User Categories for Life-Cycle Tasks
The business needs that lead to the adoption of Java ES vary widely. However, the high-level goal for nearly every Java ES deployment fits into one of the following adoption scenarios:
New system. Starting with no existing software system, you deploy Java Enterprise System software to support a new business solution.
Enhancement. Starting with an existing information technology (IT) infrastructure, you replace one, many, or all parts of that system with Java ES software. You normally replace systems or subsystems because they are too complicated, too limited, or too expensive to maintain. For example, you might require better security, higher availability, increased scalability, more flexibility, less complexity, additional capabilities (such as single sign-on), or better use of IT resources. In other words you want a better return on investment than provided by your existing system.
Extension. Starting with an existing IT infrastructure, you deploy Java Enterprise System software that is not currently part of your system. You normally extend your software system in this way because you need to meet new business needs. You might need new functional capabilities such as personalized aggregation of existing services through a Java ES portal, or Java authentication and authorization for existing services.
Upgrade. Starting with an IT infrastructure consisting of an earlier version of Java Enterprise System or of Sun products that predate Java Enterprise System, you upgrade to the most current version of Java Enterprise System components.
Each adoption scenario has its own concerns and challenges. Regardless of which adoption scenario characterizes your situation, the solution life-cycle process shown in Figure 1–3 applies. Depending on your adoption scenario, however, the issues you need to address and the resources you need to invest in the life-cycle phases might vary.
The following concerns generally apply in varying degrees to the adoption scenarios:
Migration. Enhancing or upgrading the existing infrastructure with new software often requires the migration of data from the existing system to the new system. The data could be configuration information, user information, or application information. You might also need to migrate business or presentation logic due to new programming interfaces.
Integration. Adding new software to an existing system or replacing software subsystems often requires that you integrate new software components with the remaining subsystems. Integration might involve developing new interface layers, using J2EE connectors or resource adaptors, reconfiguring existing components, and implementing data transformation schemes.
Training. Almost any change in infrastructure implies changes in IT procedures and skill sets. Your IT department must have adequate time to acquire new skills or transfer old skills, to support Java Enterprise System technologies.
Hardware. When you replace or enhance an existing system or subsystem, business constraints might require you to reuse existing hardware. Depending on your adoption scenario, hardware resources can become an important factor.
The following table summarizes the nature of the concerns that apply to each of the Java ES adoption scenarios.
Table 1–6 Java ES Adoption Scenario Concerns