SUNTONE ARCHITECTURE METHODOLOGY A 3-DIMENSIONAL ...
SUNTONE ARCHITECTURE METHODOLOGY A 3-DIMENSIONAL ...
SUNTONE ARCHITECTURE METHODOLOGY A 3-DIMENSIONAL ...
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