21.12.2012 Views

SUNTONE ARCHITECTURE METHODOLOGY A 3-DIMENSIONAL ...

SUNTONE ARCHITECTURE METHODOLOGY A 3-DIMENSIONAL ...

SUNTONE ARCHITECTURE METHODOLOGY A 3-DIMENSIONAL ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>SUNTONE</strong> <strong>ARCHITECTURE</strong> <strong>METHODOLOGY</strong><br />

A 3-<strong>DIMENSIONAL</strong> APPROACH TO ARCHITECTURAL DESIGN<br />

Key Concepts and Overview<br />

.<br />

SUN MICROSYSTEMS . WHITE PAPER<br />

.<br />

.


Contents<br />

Executive Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3<br />

The Sun Approach for Dot-Comming . . . . . . . . . . . . . . . . . . . . . . . . .4<br />

The Need for a Better Architectural Model . . . . . . . . . . . . . . . . . . . .4<br />

The Limitations of Traditional Architecture . . . . . . . . . . . . . . . . . . .5<br />

Services-Driven Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6<br />

The New Focus on “Network Services” . . . . . . . . . . . . . . . . . . . . . .6<br />

Design Principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8<br />

The Services-Driven Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9<br />

The 3–Dimensional Architectural Framework . . . . . . . . . . . . . . . . . .10<br />

Systemic Qualities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12<br />

Tiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15<br />

Logical Application Tiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15<br />

Physical Deployment Tiers . . . . . . . . . . . . . . . . . . . . . . . . . . . .16<br />

Platform Layering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16<br />

3-Dimensional Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18<br />

The SunTone SM<br />

Architecture Methodology . . . . . . . . . . . . . . . . . . . .21<br />

Use Case-Focused . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21<br />

Architecture-Centric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21<br />

Iterative and Incremental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22<br />

Systemic-Quality-Driven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23<br />

Patterns-Based . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23<br />

Architecture at the Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24<br />

What is architecture? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24<br />

Architectural Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26<br />

The Architectural Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29<br />

Sun Microsystems, Inc.<br />

1


Architectural Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30<br />

Process, Patterns, and Views—The SunTone<br />

Architecture Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32<br />

Benefits Summary: 3D Architecture . . . . . . . . . . . . . . . . . . . . . . .34<br />

How Sun Professional Services Can Help . . . . . . . . . . . . . . . . . . . . .35<br />

Dot-Com-Ready Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35<br />

Dot-Com Proof-of-Concept Services . . . . . . . . . . . . . . . . . . . . . . .35<br />

Dot-Com Inception Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35<br />

Dot-Com Architecture Services . . . . . . . . . . . . . . . . . . . . . . . . . . .36<br />

Sun’s Comprehensive Service and Support Capabilities . . . . . . . . . .37<br />

About Sun Microsystems, Inc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37<br />

2<br />

SunTone Architecture Methodology


EXECUTIVE SUMMARY<br />

The explosion of the web has fundamentally changed the mission and critical success<br />

factors facing most corporate IT shops. The “users” are now real, live customers,<br />

and there are tens of thousands or even millions of them. More than ever before, system<br />

problems can result directly in lost revenue and lost customers. When a system<br />

crashes and the phone rings, it’s not an angry branch manager on the phone—it’s CNN.<br />

Until very recently, the vast majority of IT organizations developed applications<br />

intended for deployment exclusively to their company’s employees. Although quality<br />

has of course always been an important consideration in corporate software<br />

development—nobody’s happy about a buggy release—a huge class of software defects<br />

could be tolerated reasonably well by an enterprise. Periods in excess of months would<br />

often roll by before glacial response times might be addressed through, for instance, a<br />

massive mainframe upgrade. Employees would be given “workarounds” to deal with<br />

various cases of software malfunction.<br />

Corporate IT organizations are being faced with developing applications that are<br />

more scalable, reliable, and secure than ever before, more quickly than ever before, and<br />

with far greater Quality of Service (QoS) than ever before. IT organizations are<br />

confronting huge challenges in retraining staff in Web-based technologies and<br />

implementing the process changes necessary for rapid, successive, bug-free releases to<br />

the web. Perhaps more than any other single factor, application architecture can make<br />

or break a dot-com system. Get the architecture wrong, and a system can ultimately<br />

prove impossible to scale, secure, or rapidly change.<br />

Most of the biggest names on the Internet run on Sun, and many of their systems<br />

have been built with the help of Sun Professional Services. Over the past several years,<br />

Sun Professional Services has amassed a tremendous amount of expertise in building<br />

dot-com applications. We have recently synthesized this learning into a standard process,<br />

the SunTone SM<br />

Architecture Methodology (SunTone AM).<br />

This paper details the key concepts in a 3-dimensional approach to creating dot-com<br />

system architecture. It gives an overview of:<br />

• The 3-Dimensional Framework that analyzes an architecture in terms of the<br />

three primary design dimensions: Application Tiers, Infrastructure Layers, and<br />

Systemic Qualities.<br />

Sun Microsystems, Inc.<br />

3


• The process of developing an architecture through the application of “architectural<br />

patterns”.<br />

• How QoS requirements should be used to drive the architecture definition process.<br />

• How these principles are synthesized into the SunTone Architecture Methodology,<br />

which is iterative and incremental, architecture-centric, use-case-focused, systemicqualities-driven,<br />

and pattern-based.<br />

THE SUN APPROACH FOR DOT-COMMING<br />

Sun's comprehensive approach for dot-comming the enterprise consists of the following<br />

primary components:<br />

• SunTone SM<br />

Architecture Methodology—a step-by-step process for creating dot-com<br />

architectures.<br />

• Our architecture reference model—a service driven architectural framework based<br />

on loosely coupled, asynchronous communication.<br />

• Architectural patterns—generic templates for structuring a system to meet rigorous<br />

system level requirements like scalability, securability, and manageability.<br />

• Solution sets—sample implementations of dot-com platforms such as e-tail, eCRM,<br />

eSCM, or Community Portals.<br />

• SI Partners—Consulting organizations certified to deliver the SunTone Architecture<br />

Methodology and particular solution sets.<br />

• ISV Partners—ISV products used to implement a solution set which are built with<br />

Java2 Platform, Enterprise Edition (J2EE-technology) compliant products, or products<br />

with a well-defined roadmap for migrating to J2EE.<br />

This paper discusses the 3-Dimensional Architectural Model that is at the core of the<br />

SunTone Architecture Methodology, and gives an overview of the methodology.<br />

THE NEED FOR A BETTER ARCHITECTURAL MODEL<br />

The dot-com age has fundamentally changed the rules of systems architecture. It has<br />

changed end-user demands for IT services, management expectations for IT<br />

infrastructure, and even the strategic role of the IT department. Legacy system<br />

architectures were simply never envisioned to handle the number of users, the level of<br />

security, and the pace of change required of dot-com systems.<br />

4<br />

SunTone Architecture Methodology


Confronted with silo problems, many organizations adopt a strategy of Web-enabling<br />

each silo independently. While achieving the short-term objective of making these<br />

systems available over the Web, the resulting Web presence is fractured and difficult<br />

for customers to navigate. More seriously, this approach makes it extremely difficult to<br />

combine the functionality of various silos and create new value-added services.<br />

Internet<br />

Figure 2—Web Silos<br />

For example, a company might separately Web-enable its order entry system and its<br />

inventory system. Although this allows customers to check on product availability and<br />

order products, it does not enable customers to check availability as part of the order<br />

entry process, let alone suggest alternative products as substitutes for those that are<br />

currently out of stock.<br />

The systems architecture needs to support what might best be described as an enterprise<br />

utility model. Like electricity through a power outlet or water through a faucet,<br />

services need to be provided around the clock from standard access points to any<br />

network device. These services need to bridge the silos to allow for an integrated,<br />

customer-centric presentation of your business.<br />

SERVICES-DRIVEN <strong>ARCHITECTURE</strong><br />

THE NEW FOCUS ON “NETWORK SERVICES”<br />

The dot-com age is all about service delivery—anytime/anywhere access to any<br />

needed service with predictable availability, reliability, performance, and security. The<br />

SunTone Architecture Methodology focuses on how to identify, design, and deploy<br />

network services to deliver this quality of service, within the severe time constraints<br />

imposed by the dot-com space.<br />

6<br />

Intranet<br />

SunTone Architecture Methodology


SYSTEMIC QUALITIES<br />

A new emphasis on Quality of Service (QoS) has emerged as Internet/E-commerce<br />

services and applications have become larger and larger, and have become critical to<br />

business operations. Achieving effective QoS requires integrating the development of<br />

these capabilities into the design process of large-scale high-performance architectures.<br />

This integration effort includes a process of specifying, designing and<br />

implementing individual QoS, integrating the approaches for individual QoS into a<br />

comprehensive strategy for monitoring and adapting the design for these capabilities<br />

over time.<br />

In many cases, such as availability, the phrase Quality of Service is synonymous with<br />

the term “systemic qualities”, or what we might endearingly call the “ilities” (reliability,<br />

availability, securability, reliability, etc.). However, some of the capabilities referred to,<br />

such as flexibility, have not traditionally been included in discussions of QoS. We use<br />

the term “systemic qualities” to apply to all of these system characteristics.<br />

For the Internet, the focus of Quality of Service is different than the host-based and<br />

client-server models of the past. For these new e-commerce systems the focus is on<br />

real-time continuous processing for mission critical applications, not on a mainframe<br />

model with programmed downtime and a batch-processing model. These new systems<br />

are distributed heterogeneous environments that require a different perspective on<br />

QoS. In some ways the challenge is more complex, on the other hand, if these architectures<br />

are properly designed from the beginning, this can contribute to, and not<br />

challenge, QoS achievement.<br />

Specific examples of Systemic Qualities include:<br />

• Performance—relates both to the specific performance metrics (e.g., responsiveness,<br />

latency) and to the users’ expectations about performance.<br />

• Reliability—related to the reliability of the underlying individual components in<br />

servers. System reliability describes the likelihood of any component failures.<br />

• Availability—essentially the percentage of time that the system is available for use.<br />

Total availability is also impacted by factors beyond the architecture such as latency<br />

within a user’s ISP or the general Internet.<br />

• Scalability—Scalability relates to the ability of an e-commerce site to add capacity<br />

and thus add users over time. Scalability will usually require the addition of<br />

resources, but scalability should not require changes in the architecture, redesign or<br />

loss of service due to the time required to scale.<br />

• Security—includes the levels of authentication supported, the granularity of authorization<br />

controls, the mechanisms for provided audibility and the techniques utilized<br />

to ensure the integrity of resources, and the resistance to unauthorized access.<br />

12<br />

SunTone Architecture Methodology


• Manageability—Manageability can be expressed in terms of how easy it is to monitor<br />

a system and detect operational characteristics related to performance and failures,<br />

how easy is to configure systems, the processes used for effecting this control<br />

and the degree to which the system can be managed remotely.<br />

• Accessibility—relates to the usability of applications across the full range of user<br />

capabilities, languages, and devices.<br />

• Flexibility—Flexibility relates to how easy is it to re-purpose the system to provide<br />

different services. In flexible systems the individual components can be reorganized<br />

to provide new services and used by different services.<br />

• Other qualities—The list of capabilities is potentially inexhaustible. Other examples<br />

include:<br />

• Serviceability—how easy is it to repair the system and replace components, and to<br />

what degree maintenance causes service interruption<br />

• Interoperability—the capability of components to work with each other and the<br />

ability to add new components<br />

• Portability—the ability to move components from one environment to another or<br />

replace platform components<br />

• Reusability—the ability to use individual components or services in the building<br />

of additional applications<br />

• Usability—involves issues that make the user interface an application functionality<br />

that is easy to use by the end user.<br />

These Systemic Qualities are required at each tier of a dot-com architecture and are<br />

not the responsibility of any given layer—instead the layers must complement and<br />

cooperate in providing each quality within a given tier. Some qualities, such as security<br />

or manageability, need to be pervasive—present at all layers in all tiers.<br />

For this reason, the Sun 3-D Architectural Model represents these Systemic Qualities<br />

as a separate dimension, orthogonal to the tiers and layers which represent the logical/distributed<br />

partitioning and the platform layering. Viewing Systemic Qualities<br />

(and the related QoS levels which need to be supported) in this way is one of the key<br />

insights of the SunTone Architecture Methodology, and allows architectural<br />

alternatives to be quantitatively and qualitatively evaluated for their ability to provide<br />

these capabilities.<br />

Sun Microsystems, Inc.<br />

13


To focus requirements gathering, guide integration of systemic qualities in design<br />

and implementation, and drive ongoing management and improvement of QoS, it is<br />

useful to categorize individual qualities in terms of the group that the quality impacts<br />

most directly, the nature of the impact, and the time horizon within which the<br />

qualities are manifested.<br />

User-level qualities are those, such as usability and accessibility, that directly affect<br />

the user interface and end-user functionality, are felt at run-time, and are controlled<br />

in the design phase.<br />

Service-level qualities are those, such as performance and availability, that directly<br />

affect business functions of end-users, are felt at run time, and are controlled by<br />

system management.<br />

Strategic-level qualities are those, such as scalability and flexibility, that affect<br />

the enterprise itself, are manifest over time, and are controlled primarily through<br />

architecture. Of course, failures in scalability will result in failures in performance and<br />

availability, which will be felt directly by the end user.<br />

System-level qualities affect peripheral services and functions, such as manageability<br />

and security, rather than business functionality. They are characteristics of the system<br />

implementation, and often act as constraints to the implementation of other qualities<br />

and are controlled by the operations staff.<br />

Naturally, which category a particular quality falls in is relative to the business goals<br />

and design of the systems. While security might be a system-level quality for most<br />

applications, it may be a service-level quality for a company that is selling security<br />

oriented services. The key to the use of these categories is not what category the<br />

quality is in generally, but how each quality is experienced by what constituency and<br />

how it is designed or controlled.<br />

14<br />

SunTone Architecture Methodology


platforms have wrapped the “lower platform” thinly, without significantly raising the<br />

level of abstraction. Today, virtual platforms are available that provide much more<br />

comprehensive and high-level abstractions and directly support the model outlined in<br />

this paper. The two leading virtual platforms for dot-com implementations are Java 2<br />

Enterprise Edition (J2EE) and CORBA.<br />

3-<strong>DIMENSIONAL</strong> EXAMPLE<br />

Consider an extremely simplistic example in which a retail catalog firm wants to be<br />

able to take orders over the Internet, initially via HTML forms from desktop browsers,<br />

and from other device types in the future. A legacy order entry system is currently<br />

used by their call center operators to enter customer orders received over the telephone,<br />

and this system will be used as the back-end for a new web-based, customer<br />

self-service system. A packaged solution is being considered as a replacement for the<br />

legacy system. It has been determined that the best way to communicate with the<br />

legacy system is via message queues.<br />

The sample application platform architecture is depicted below.<br />

Figure 6—Simple Order-Entry Example related to the 3DF<br />

18<br />

Virtual<br />

Upper<br />

Lower<br />

Hardware<br />

HTML<br />

Any Browser<br />

Any OS<br />

Any HW<br />

CLIENT<br />

JSP<br />

iES<br />

Solaris<br />

E450<br />

Order<br />

Form<br />

PRESENTATION<br />

EJB<br />

iAS<br />

Solaris<br />

E5500<br />

Form<br />

Handler<br />

BUSINESS<br />

JMS<br />

MQ Series<br />

Solaris<br />

E250<br />

Order<br />

Service<br />

INTEGRATION<br />

Order<br />

System<br />

Interface<br />

APPO<br />

CICS<br />

MVS<br />

ES9000<br />

RESOURCE<br />

Legacy<br />

Order<br />

System<br />

Parallelization<br />

Queing<br />

Clustering<br />

Round Robin<br />

Horizontal Scaling<br />

Scaling Strategy<br />

SunTone Architecture Methodology


The systemic qualities must be addressed within each tier, and at each layer. For this<br />

example, we will first consider scalability. A horizontal scaling strategy is selected in<br />

which requests will be distributed among multiple web servers, application servers,<br />

and queues. Load will be distributed among the presentation tier web servers via<br />

round-robin DNS. Native iPAS clustering will be used to distribute traffic among the<br />

application servers. Each application server will be assigned its own MQ to avoid bottlenecks<br />

in the integration tier. The choice to use queuing is itself a resource tier scalability<br />

strategy since it allows the system to scale beyond the throughput capacity of<br />

the Legacy Order System.<br />

As an example of how layers need to cooperate within a tier to achieve a particular<br />

systemic quality, consider a strategy that provides reliability by a “soft-clustering”<br />

failover capability that is a feature of the iPlanet application server, in the upper<br />

platform layer of the business tier. The architectural implications of this solution extend<br />

into the application layer in that application components need to identify to their<br />

platform which information is needed for failure recovery—full replication of all application<br />

state would seriously degrade performance and increase resource usage. For this<br />

capability to operate efficiently, the lower platform layers must provide high-speed interconnection<br />

between application server instances to support replication of the failover<br />

state. Tradeoffs between such a strategy for reliability and other strategies for scalability<br />

(e.g. session affinity vs. request-dispatch load balancing) will need consideration as well.<br />

20<br />

SunTone Architecture Methodology


THE <strong>SUNTONE</strong> SM<br />

<strong>ARCHITECTURE</strong> <strong>METHODOLOGY</strong><br />

The SunTone AM builds on the ideas comprising the Unified Process. Like the Unified<br />

Process, the SunTone AM is use-case-focused, architecture-centric, as well as iterative<br />

and incremental. The SunTone AM significantly extends the Unified Process through<br />

the incorporation of two additional fundamental concepts: it is systemic-qualities-driven,<br />

and patterns-based. The SunTone AM refines the Unified Process notion of architectural<br />

views to better reflect the extremely complex platform environments required for<br />

dot-com applications.<br />

USE CASE-FOCUSED<br />

Use cases are functional scenarios that describe the complete flow of an operation<br />

from the perspective of an actor. Actors are entities that are external to the system,<br />

typically users or other systems. Examples of use cases are scenarios such as<br />

“Customer browses on-line catalog”, or “Sales Representative enters order”.<br />

In non-use-case-focused, strictly component-based approaches, components are<br />

factored from an analysis and decomposition of the required functionality, and the<br />

detailed design and development is typically performed within the context of creating<br />

a complete component. A complete component, however, may not automatically be a<br />

completely useful component, if its development was largely removed from the actual<br />

context of end-to-end system functionality. An ongoing risk in developing components<br />

is the production of extremely sophisticated components that include functionality<br />

not required by the current application, or that ultimately do not integrate well with<br />

the rest of the system.<br />

In use-case-driven design and development, every attempt is made to prioritize<br />

design and development around the realization of complete, end-to-end use cases. The<br />

advantage of this approach is that it keeps the project team focused around continually<br />

delivering functionality directly related to the end product being developed.<br />

It helps avoid undue emphasis being placed on intermediate results at the expense of<br />

end results, and provides a natural framework for an iterative, incremental process.<br />

<strong>ARCHITECTURE</strong>-CENTRIC<br />

In an architecture-centric approach, architecture is defined and validated before the<br />

development teams begin the bulk of implementing the system design. This is<br />

generally accomplished by building a prototype that exercises all of the unproven,<br />

architecturally significant aspects of a system prior to the start of detailed design and<br />

large-scale development. The architectural prototype focuses on such things as benchmarking<br />

the performance of a volume of representative transactions, testing the<br />

compatibility of various technologies, or certifying the smooth operation of a failure<br />

recovery mechanism.<br />

Sun Microsystems, Inc.<br />

21


Architecture Is Not about... Architecture Is about...<br />

What happens when a button is pushed?<br />

How the system should respond to an event.<br />

Which bits of information should be supplied<br />

in response to an event.<br />

What are the business rules?<br />

What is the database schema?<br />

What are the fields of the messages?<br />

A system’s design is constrained by its architecture. In other words, the system<br />

architect establishes the “big rules” that must be followed by the system designers<br />

(who in turn determine how the desired functionality should be realized by the<br />

system implementers). The process of architecture ends and the process of design<br />

begins when enough big rules have been established to ensure that as long as a design<br />

complies with the big rules, it will satisfy the system’s service level requirements.<br />

Sun Microsystems, Inc.<br />

How often the button is pushed, how many<br />

users are simultaneously pushing the button,<br />

where the users physically are (e.g. inside the<br />

intranet, out on the Internet, etc.) when they<br />

push the button.<br />

The timing constraints, if any, between events.<br />

What kinds of constraints should be placed<br />

on which kind of data, based on which user<br />

characteristics.<br />

How complex are the rules? How often are<br />

they changed? Can they be changed by<br />

programmers or by users themselves? Will<br />

they be implemented by a single individual,<br />

or by separate teams? Do they change<br />

together or independently?<br />

How complex is the schema, are there any<br />

pre-existing constraints around it? (E.g. predefined<br />

DB.)<br />

What are the external systems that could be<br />

or must be interacted with, and what are<br />

their characteristics?<br />

25


Figure 8—Architecture constrains Design<br />

Architectural Patterns<br />

In defining an architecture, the system architect considers and applies structuring<br />

principles that satisfy some set of service level requirements. These structuring<br />

principles often take the form of recognized design patterns, which can be applied to<br />

meet specific service level requirements. For example, various load distribution patterns,<br />

such as round robin, least-loaded-, or session-affinity-dispatch, can be used<br />

to meet scalability requirements. As another example, replication patterns such as<br />

mirroring, store-and-forward, or 2-phase commit can be used to achieve high-availability.<br />

26<br />

Tiers Tiers<br />

Unconstrained Tiered Tiered and Layered<br />

Layers<br />

SunTone Architecture Methodology


REQUEST<br />

DISPATCHER<br />

LOAD BALANCING<br />

Figure 9—Architectural Pattern Examples<br />

TRANSACTION<br />

TRANSACTION<br />

MIRRORED<br />

RESOURCES<br />

REPLICATION<br />

Many design patterns are applicable within each of several layers of the implementation<br />

stack. Replication, for example, can be applied at the application layer, via 2-phase<br />

commit logic, in the upper platform, via native database replication, or at the hardware<br />

layer, via RAID.<br />

Sun Microsystems, Inc.<br />

REQUEST<br />

HANDLERS<br />

27


Figure 10—Patterns by Layer<br />

Similarly, many design patterns are applicable within or across multiple tiers. Load<br />

distribution, for example, can be applied in the Presentation Tier, via dispatching<br />

requests to one of several web servers, in the Business Tier, by dispatching a request to<br />

one of several application servers, and in the resources Tier, by dispatching to one of<br />

several database segments.<br />

28<br />

Application<br />

2 phase commit<br />

• Fine granularity<br />

• Highest reliability<br />

• Holds under failure<br />

• Program each app<br />

Messaging • Fine granularity<br />

• User independent<br />

• N-way<br />

Database<br />

replication<br />

• Table level<br />

• Applies field validation<br />

Disk level copy • Coarse granularity<br />

• Replicates corruption<br />

SunTone Architecture Methodology


Figure 11—Patterns by Tier<br />

The Architectural Process<br />

The architecture definition process consists largely of the selection of design<br />

patterns and their application to various structural elements of a system in order to<br />

meet a set of service level requirements. The process begins with the selection of an<br />

initial broad pattern, referred to as the Architectural Style. The selection of this initial<br />

pattern is based on previous experience or simple heuristics applied with respect to<br />

the type of application to be developed. The 3-Dimensional Framework discussed<br />

earlier in this paper, with its tiers and layers, is an example of an architectural style<br />

with fairly universal applicability to “dot-com applications”, i.e., applications with a<br />

huge number of users, accessible by a variety of channels over a public network.<br />

Once an architectural style has been selected, it is useful to make initial assumptions<br />

about how the layers and tiers should be provisioned with system components<br />

and services. These assumptions are typically based on experience-based implementation<br />

preferences for things like technologies and programming models, and a highlevel<br />

consideration of the Systemic Quality requirements. For example, an<br />

organization that has standardized on the J2EE technology platform model would<br />

likely make an initial assumption that J2EE would be included within the Virtual<br />

Platform. Similarly, if the project developers have experience with a specific EJB technology-based<br />

server implementation, it would make sense to initially assume the presence<br />

of that EJB Server in the Upper Platform.<br />

Sun Microsystems, Inc.<br />

• Client application<br />

— Built-in retry<br />

• Internet Cloud<br />

— Cisco Global Director<br />

• Switching Fabric<br />

— Alteon<br />

• Web Front End<br />

— Resonate Dispatch<br />

• Application Server<br />

— iPlanet server<br />

• Messaging<br />

— Tuxedo Messaging<br />

• Database Resiliency<br />

— Oracle SQLNet redirection<br />

• Server Infrastructure<br />

— SunCluster<br />

29


Several views, distinguished largely by the perspective of several stakeholders, are<br />

often required to specify all facets of an architecture depending on its complexity.<br />

Each view serves a different set of stakeholders with different concerns, interests, and<br />

technical capabilities. Collectively the views represent the primary content of the<br />

System Architecture Document.<br />

The definitions of layers in the 3–Dimensional Framework, and the interfaces<br />

between them, have co-evolved in modern computing culture with a set of disciplines<br />

that manage the complexity within each layer. Thus an IT organization may have<br />

different groups which focus on providing and managing platforms at the hardware,<br />

network, OS, upper-platform, and application layers—indeed, some of these layers may<br />

be outsourced entirely.<br />

For this reason, the layers frequently provide a useful framework for views that<br />

address the needs of different groups of stakeholders among those responsible for<br />

creating, deploying, managing, and evolving the system. The SunTone AM categorizes<br />

its views by layers. Layers reflect the primary distinguishing factor among skill sets<br />

within and across the development team. Additionally, layers reflect different opportunities<br />

to incorporate components and COTS from multiple sources. Within each<br />

layer, views can describe different aspects of the architecture such as:<br />

• Software and hardware configurations of architecturally significant components at<br />

different levels of detail<br />

• Descriptions of representative dynamic interactions fulfilling targeted functionality<br />

or systemic qualities<br />

• Incorporated and custom mechanisms such as persistence, inter-process communication,<br />

and transaction management<br />

• Evolutionary considerations<br />

Within views, various types of models are used to effectively communicate structure<br />

and purpose. This includes the use of the Unified Modeling Language (UML) and<br />

extensions, as well as summarizations that help to ensure that systemic qualities are<br />

being focused on at all levels. For example, a matrix format can highlight the approach<br />

to systemic qualities across different layers. In this format, the rows represent the system<br />

layers, and the columns represent the systemic qualities relevant to this system.<br />

Each cell describes a feature, strategy, product, practice, or some combination thereof<br />

employed at that layer to support the specified systemic quality:<br />

Sun Microsystems, Inc.<br />

31


Layers<br />

Upper Platform<br />

Vitrual Platform<br />

Application<br />

The system is also driven from a Domain Object Model (DOM), which is not a view<br />

per se, but a starting point for system development. The domain object model is a logical<br />

object model of the problem domain, identifying the business entities and their<br />

relationships. Along with general business rules, it captures constraints and invariants<br />

of the underlying problem domain. The model should refer only to the business entities<br />

and activities, not to solution-domain mechanisms. Somewhat of an art, an effective<br />

domain model can significantly and favorably impact schedules and design<br />

decisions by minimizing design efforts going down the wrong paths.<br />

Defining this model may begin early in inception by defining essential entities.<br />

Further definition will continue through elaboration. A well-specified domain object<br />

model enhances the functional specification, and provides an ongoing source of documentation<br />

for later project participants.<br />

Process, Patterns, and Views—the SunTone Architecture Methodology<br />

The architectural core of the SunTone AM consists of iteratively defining each of the<br />

various architectural views. The process begins with identifying the various tiers that<br />

will make up the application, and then defining each view by considering the required<br />

System Qualities, and applying component patterns accordingly. At each step in the<br />

process, the architect determines whether an as yet un-addressed System Quality will<br />

be addressed directly within the current view, or whether to defer the implementation<br />

of that quality to a lower layer in the stack.<br />

32<br />

Components Security Reliability Scalability Availability Managability Performance Portability<br />

Server<br />

Redundant<br />

system<br />

components<br />

SNMP on H/W tuned CPU/<br />

components memory/IO<br />

Hardware Sun E5500 lockdown<br />

Add Servers N+1 Servers Remote Admin configuration<br />

SNMP,<br />

Remote<br />

Solaris,<br />

Redundant Admin Solaris<br />

iPDS, Firewalls<br />

Network Resource<br />

Lower Platform Firewall SSL<br />

Connections Manager Instance Tuning<br />

iPAS 60<br />

EJBs and<br />

CMP<br />

LDAP<br />

based<br />

uid/pw<br />

J2EE<br />

Security<br />

Model<br />

Order Service uid/pw<br />

iPAS softcluster<br />

failover<br />

identified<br />

failover<br />

state<br />

Multiple<br />

instances,<br />

thread/<br />

sessions pools<br />

N+1<br />

instances<br />

iPAS mgnt.<br />

console<br />

JDMK<br />

JDMK<br />

session affinity<br />

load balancing<br />

Solaris<br />

Production JVM<br />

good code<br />

Any<br />

Enterprise<br />

Server<br />

Any Solaris<br />

Platform<br />

Solaris, NT<br />

Any J2EE<br />

platform<br />

SunTone Architecture Methodology


HT HTML ML<br />

An Any<br />

Br Browser wser<br />

Any OS<br />

OS<br />

An Any y HW<br />

HW<br />

CLIENT<br />

JSP<br />

AP APACHE CHE<br />

SOLARIS<br />

E450<br />

EJB<br />

IAS<br />

SOLARIS<br />

E5500<br />

Figure 13—Systemic-Quality-driven Patterns iteratively applied to an Architecture<br />

As illustrated in Figure 13, the patterns are applied across tiers and layers, and their<br />

selections are driven by the Systemic Qualities.<br />

An important component of the SunTone AM is our Patterns Catalog, which details<br />

architectural patterns and provides guidance as to how each should be used.<br />

This approach unites the Sun 3-D Framework as an architectural style; an iterative,<br />

pattern-driven architectural process; and view-based architectural expression into a<br />

single whole. By bringing together Sun’s long experience in dot-com architecture, the<br />

proven and respected Unified Process, and the best current practices in pattern-based<br />

systems, the SunTone AM provides an invaluable guide for the working system<br />

architect in the dot-com age.<br />

Sun Microsystems, Inc.<br />

CUSTOMER<br />

PRESENTATION<br />

SEGMENT<br />

BUSINESS<br />

JMS<br />

MQ SERIES<br />

SOLARIS<br />

E250<br />

ORDER<br />

PRODUCT<br />

INTEGRATION<br />

APPC<br />

CICS CIC CICS<br />

MVS MV<br />

ES9000<br />

LINE ITEM<br />

RESOURCE<br />

PATTERNS<br />

•PARTITIONING<br />

•DISTRIBUTION<br />

•ACCESS CONTROL<br />

•LOAD BALANCING<br />

•FAILOVER<br />

CATALOG<br />

33


BENEFITS SUMMARY: 3D <strong>ARCHITECTURE</strong><br />

The dot-com age is upon us because of a simple technology fact—we are in an age of<br />

ubiquitous, inexpensive, everyone-to-everyone connectivity. As former islands of technology<br />

connect, they cease to become systems unto themselves and instead become<br />

part of a huge, globally-connected, loosely-coupled, massively distributed super-system.<br />

In this context, the demands for scalability, availability, security, and robustness<br />

are of a completely different order than they have been in the island days. Leveraging<br />

this ubiquitous connectivity and the global super-system has become a key source of<br />

competitive advantage—and so flexibility, adaptability, and extensibility for dot-com<br />

architectures have become mission-critical, strategic requirements.<br />

These factors combine to demand a new architectural approach, which identifies the<br />

qualities a system or infrastructure needs to deliver value to the business which is<br />

building it, and uses these qualities as its driving principles. When done properly, the<br />

result is an architecture that delivers value beyond its simple functions, now and into<br />

the future.<br />

The 3-Dimensional Framework, SunTone AM, and Patterns provide a clear, compelling<br />

approach that fills this need. It does not make dot-com architecture into a simple cookbook,<br />

but it does provide a frame of reference in which a talented, experienced architect<br />

can make the right decisions quickly and with confidence. The result:<br />

• Systems with the scalability, reliability, and security demanded in the dot-com age:<br />

Whether it’s “Anyone, Anywhere, Anytime, on Anything” or “Everyone, Everywhere, All<br />

the time, on Everything”, dot-com architectures need to drive from the qualities they<br />

will have to deliver. By framing the systemic qualities of the system as strategic<br />

requirements and relating them properly to the logical and implementation<br />

dimensions, the 3-Dimensional Framework allows an architecture to be described<br />

and analyzed at design time for its delivery of these capabilities.<br />

• Flexible systems and real reuse: A system delivered in a browser today may need to be<br />

delivered to a hand-held device, an automobile, or a programmatic agent in the near<br />

future. By enforcing the separation of concerns implicit in the tiered approach, and by<br />

analyzing the functionality in terms of business services, the 3-Dimensional<br />

Framework allows presentation, business, and resource implementations to evolve<br />

independently. By designing and deploying functionality as network-available services<br />

with extremely high QoS, the framework encourages real reuse of these services without<br />

the cost of code ownership and deployment for each project.<br />

• Systems with a long lifespan and the ability to evolve: The promise of standards-based<br />

computing, embodied in the 3-D framework’s virtual platform layer, helps ensure that<br />

architects and developers can spend more time addressing business issues rather<br />

than technical issues. It allows for platform independence, allowing your enterprise to<br />

take advantage of advances in computing hardware, network technologies, and<br />

software without expensive reengineering of core dot-com applications.<br />

34<br />

SunTone Architecture Methodology


HOW SUN PROFESSIONAL SERVICES CAN HELP<br />

Sun Professional Services has created an array of dot-com consulting services that<br />

address all aspects of SunTone Architecture Methodology: architecture analysis, design,<br />

and deployment. The services range from the Dot-Com Architecture Service to development<br />

and deployment services such as the Dot-Com Inception service. Wherever you<br />

are on your road to building a 3Dimensional architecture, Sun Professional Services can<br />

help you take the next step quickly, correctly, and cost-efficiently.<br />

DOT-COM-READY WORKSHOP<br />

Sun’s Dot-Com-Ready Workshop is a good first step for defining your dot-com business<br />

strategy and evaluating the technical requirements of building a 3–dimensional<br />

Architecture. The workshop is customizable for your specific needs and will show you<br />

how Sun consulting services, architectural approaches, competency center offerings,<br />

and specific products and services can help you build your 3–Dimensional Architecture.<br />

DOT-COM PROOF-OF-CONCEPT SERVICES<br />

These services provide a concrete validation of your dot-com strategy. Our project<br />

team helps your technical staff and ISVs jumpstart your dot-com project, and our<br />

iForce SM<br />

ready centers provide a unique environment to develop, test, and evaluate your<br />

dot-com solutions. The project team examines your IT infrastructure as a set of logical<br />

and physical components, then builds a customized, demonstrable proof-of-concept of<br />

the technology supporting your business needs.<br />

DOT-COM INCEPTION SERVICE<br />

Sun’s consultants work closely with your team to explore and identify key Internet<br />

and Java technologies that can advance your critical success factors. We’ll assess your<br />

current IT environment and map out the technology you’ll need to deliver on the service-level<br />

commitments you’ve made or want to make. We’ll advise you about technical<br />

aspects of Internet business strategy, identify key technical goals, scope, and<br />

success factors, help you align your architecture strategy with your business goals,<br />

design and document the high-level technical requirements of the architecture, and<br />

collaborate with your staff and Web design consultants to identify use cases, develop<br />

the user interface prototype, and document the content architecture.<br />

Sun Microsystems, Inc.<br />

35


DOT-COM <strong>ARCHITECTURE</strong> SERVICES<br />

Sun consultants can help you architect a versatile foundation that will reliably<br />

support the anticipated growth of your business and the rapid deployment of new<br />

network services. Dot-Com Architecture Services help you put in place an architecture<br />

based on the multi-tiered, services-driven methodology that is described in this paper.<br />

Sun consultants also help you put in place the policies and procedures that enable you<br />

to limit your network security exposures. Specific activities include:<br />

• Develop an architectural prototype that demonstrates and validates the solution<br />

• Develop a master architectural plan that outlines the entire architecture, the relation<br />

of the architecture to the strategic requirements, and the identification of the<br />

COTS components and any necessary custom application development<br />

• Provide a project architecture plan and a phased project plan<br />

• Design the software solution and infrastructure architecture<br />

36<br />

SunTone Architecture Methodology


SUN’S COMPREHENSIVE SERVICE AND SUPPORT CAPABILITIES<br />

As a global corporation and a market leader in UNIX® servers, system software, storage<br />

systems, and workstations, Sun understands the importance of comprehensive,<br />

end-to-end service and support. Our services for the enterprise include:<br />

• Support Services: Sun’s support services offer the proactive systems support, the<br />

expert knowledge transfer, and the seamless service integration you need to help<br />

meet your mission-critical uptime objectives. Our systems support programs focus<br />

on proactive failure prevention, rapid recovery, and technical services planning for a<br />

global corporation’s enterprise network environments.<br />

• Professional Services: Sun Professional Services can help you create or restructure<br />

your IT infrastructure to leverage the Internet for optimal performance and service<br />

quality. Sun consultants provide a full spectrum of IT planning and integration consulting<br />

services, systems and network management services, Internet/intranet planning<br />

and integration services, and dot-com consulting services.<br />

• Educational Services: Sun is an industry leader in technical education, providing<br />

expert training, education consulting, and certification services. Sun can help<br />

ensure that your staff has the right skills at the right time to deploy and manage<br />

your enterprise networking technology. We can provide a wide range of education<br />

and migration services—through a broad array of delivery options—to help you<br />

maximize your investment in technology.<br />

ABOUT SUN MICROSYSTEMS, INC.<br />

Since its inception in 1982, a singular vision, “The Network Is The Computer” has<br />

propelled Sun Microsystems, Inc. to its position as a leading provider of industrialstrength<br />

hardware, software, and services that power the Internet and allow companies<br />

worldwide to dot-com their business. With more than $17.6 billion in annual<br />

revenues, Sun can be found in more than 150 countries and on the World Wide Web at<br />

http://sun.com.<br />

Sun Microsystems, Inc.<br />

37


HEADQUARTERS SUN MICROSYSTEMS, INC., 901 SAN ANTONIO ROAD,PALO ALTO, CA 94303-4900 USA<br />

PHONE: 1-650-336-7786 OR 1-888-980-7263 INTERNET: www.sun.com/service/sunps<br />

SALES OFFICES<br />

ARGENTINA 54-11-4317-5600 • AUSTRALIA: • CANBERRA 02 6 217 5500 • MELBOURNE 03 9679 6200 • NORTH SYDNEY 02 9466 9400 • BELGIUM 32-2-704 80 00 • BRAZIL 5511-5187-2100 • CANADA 905-477-6745 • CHINA (86) 10-6803-5588<br />

FRANCE 33-(0)1-30-67-50-00 • GERMANY 49-89-46008-0 • HONG KONG (852) 2202-6688 • INDIA (9180) 2298989 • ITALY 39-039-6055-1 • JAPAN 81-3-5717-5027 • KOREA 82-2-2193-5114 • LATIN AMERICA 650-688-9040 • MALAYSIA (603) 2116 1888<br />

MEXICO 525-258-6100 • NETHERLANDS 31-33-4501234 • NEW ZEALAND: • AUCKLAND 0011649 976 6800 • WELLINGTON 0011644 462 0780 • SINGAPORE (65) 4381888 • SPAIN 34-91-596-9900 • SWEDEN 46-8-631 10 00 • SWITZERLAND 41-1-908-90-00<br />

TAIWAN 886-2-8732-9933 • THAILAND (662) 3446888 UNITED KINGDOM 44-1252-372272 • UNITED STATES: • ATLANTA 770-360-6400 • BOSTON 781-270-7200 • CHICAGO 630-285-8700 • EL SEGUNDO 310-607-2442 • IRVINE 949-833-1640 • NEW YORK 212-558-9200<br />

SANTA CLARA 408-276-9488 • SOMERSET 732-469-1000 • WASHINGTON D.C. 703-204-4100 • WORLDWIDE HEADQUARTERS 1-650-336-7786 OR 1-888-980-7263 • EUROPEAN HEADQUARTERS 44-1276-451440 • ASIA-PACIFIC 650-786-0239<br />

© 2001 Sun Microsystems, Inc. All rights reserved. Sun, Sun Microsystems, the Sun logo, Java, Enterprise JavaBean, JavaServer Pages, Solaris, SunReady, Java 2 Platform, Enterprise Edition, iPlanet, Sun Cluster, SunTone<br />

Architecture Methodology, and iForce are trademarks, registered trademarks, servicemarks or registered servicemarks of Sun Microsystems, Inc. in the United States and other countries. Products bearing SPARC<br />

trademarks are base upon architecture developed by sun Microsystems, UNIX is a registered trademarks or registered in the United States and other countries, exclusively licensed through X/Open Company Ltd.<br />

Printed in USA 5/01 FE1590-0

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!