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