Oracle® SOA Suite Developer's Guide 10g (10.1.3.1.0) Part Number B28764-01 |
|
|
View PDF |
To achieve the main benefits of an SOA system, such as reusability and agility, you must pay careful attention during design to ensure that those benefits are realized. SOA begins at the design phase, where you must deliberately plan with the SOA paradigm in mind. Key design tactics to achieve this include:
Creating a service portfolio plan, where you keep track of all services used within an enterprise (to ensure reuse where possible)
Ensuring that objectives and requirements reflect SOA benefits, such as reuse and loose-coupling
Limiting dependencies by using business processes to orchestrate services instead of hardcoding dependencies within components
Using design patterns to regulate best practices and standards
The Oracle SOA Success Methodology defines the following three scopes within which SOA solution design takes place:
Enterprise scope: This scope encompasses the larger SOA framework within which applications for an enterprise exist. For example, Global Company (the fictional company associated with the SOA Order Booking application) may have systems other than order booking, such as accounting applications, sales tracking applications, and so on. All these applications, including the order booking application, reside within the enterprise scope.
It is within the enterprise scope that a business determines that adapting an SOA paradigm makes sense. At this level, such things as return on investment (ROI) models and SOA road maps are created and updated. It is also in this scope that a business should develop an inventory or portfolio of all existing applications and functionality. Doing so encourages reuse or modification of existing functionality, a fundamental aspect of the SOA paradigm. For more information about creating a portfolio plan, see Section 3.2.1, "Creating a Service Portfolio Plan".
Project scope: This scope is nested within the enterprise scope, and encompasses the scope for a group of applications that work together to provide a solution for a business need. The applications that make up the SOA Order Booking application fall into the Order Booking's project scope.
Some applications may appear in more than one project scope. For example, the SOA Order Booking application interacts with a customer service application that stores basic customer information. In an actual retail business, this might be a larger application that is also accessed by the sales tracking application. The sales tracking and order booking applications do not themselves interact, and so are not in the same project scope. However, the customer service application would appear in each of their respective project scopes. This type of reuse is the cornerstone of the SOA paradigm.
It is within the project scope that solution definition takes place. Here, concrete goals are set for the project, business and technical requirements are gathered, and inventories are taken to determine what needed functionality currently exists within existing applications, what existing applications may need modifications, and what applications will need to be developed. For more information about the work done within the project scope, see Section 3.2, "Defining the Project in the Project Scope".
Application scope: This scope is nested within the project scope, and encompasses a single application or service. Included in this scope are logical and then physical designs for the disparate applications, services, processes, and so on. that make up an SOA project. For more information about the work done within the project scope, see Section 3.3, "Designing the Project in the Application Scope".
The outermost scopes deal mostly with planning, while the innermost scopes deal mostly with execution. For example, the enterprise scope deals only with planning, while the application scope is where implementation takes place.
This chapter covers the methodology for use within the project and application scopes, as it is assumed the acceptance of SOA in the larger enterprise scope has already been accomplished. Read this chapter to understand:
How to create a service portfolio plan
The work involved in the project scope
The work involved in the application scope