Tải bản đầy đủ (.pdf) (22 trang)

Module 3: Services-Based Approach to Solution Design

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (447.46 KB, 22 trang )

Module 3: Services-Based Approach to
Solution Design


56

Module 3: Services-Based Approach to Solution Design

Module Overview

Module 12: Introduction to Functional
Specifications
Module 11: Designing the
Presentation Layer

Module 1: Course Overview

Module 10: Completing the Physical
Design

Designing Business
Solutions

Module 9: Designing Solutions with
Microsoft Technologies
Module 8: Solution Design and the
Component Object Model

Module 2: Solution Design Using the
MSF
Module 3: A Services-Based


Approach to Solution Design
Module 4: Business Solution
Conceptual Design

Module 7: Selecting Solution
Technologies

Module 5: Business Solution Logical
Design

Module 6: Beginning Physical
Design

Review

Services-Based
Approach

Module 3: A Services-Based
Approach to Solution Design

Activity 3.1:Identifying
Services
Value of a Servicesbased Approach


Module 3: Services-Based Approach to Solution Design

57


! Overview
Slide Objective

To provide an overview of
the module topics and
objectives.

"

Services-Based Approach

"

Activity 3.1: Identifying Services

"

Value of a Services-Based Approach

"

Review

In this module...
In this module...

In addition to the Microsoft® Solutions Framework (MSF) Process Model for
Application Development, the MSF Application Model is used when designing
business solutions. As you will learn in this module, the application model
provides for a layered, services-based approach to designing applications.

After completing this module, you will be able to:
"

Describe the principles of the MSF Application Model.

"

Identify the service layers of the MSF Application Model.

"

Explain the value of the MSF Application Model in designing solutions.


58

Module 3: Services-Based Approach to Solution Design

! Services-Based Approach
Slide Objective

To provide an overview of
the services-based
approach.

Lead-in

In this section, you will learn
about the concepts behind
the MSF Application Model.


"

Definition of an Application Model

"

MSF Application Model

"

Definition of a Service

"

User Services

"

Business Services

"

Data Services

"

Example of Services

"


Services-Based Application

In this section...
In this section...

There are several ways to approach application design. Microsoft advocates an
approach that considers the layers of an application as the key to successful
design. The MSF Application Model identifies the services layers that enable
you to design modular, distributed applications.
In this section, you will learn about the MSF Application Model, including the
differences between user, business, and data services


Module 3: Services-Based Approach to Solution Design

59

Definition of an Application Model
Slide Objective

To generally define an
application model before
discussing the specifics of
the MSF Application Model.

Lead-in

Before we look at the MSF
Application Model and its

composition, let us first look
at what an application model
is.

"

One piece of an organization’s enterprise architecture

"

Describes how applications should be structured within
the organization

"

Used to promote consistency and reusability across
application development efforts

An application model is a conceptual view of an application that establishes the
definitions, rules, and relationships that will structure the application. It serves
as a basis for exchanging ideas during the logical design of an application. An
application model is simple and intuitive to enhance communication. The
emphasis is logical, not physical. The application model shows how the
application is structured, not how it will be implemented or deployed.
A simple analogy helps to understand the concept of a model. When someone
mentions a house, we assume, without knowing any particulars, that the house
has an entrance, bedrooms, bathrooms, a kitchen, and so on. Even if a particular
house differs from this model (for instance, it may have a sleeping loft rather
than bedrooms), the model serves as a starting point for discussing form and
function.

Similarly, an application model describes in general terms what an application
is.


60

Module 3: Services-Based Approach to Solution Design

MSF Application Model
Slide Objective

"

A model for designing n-tier, client-server applications

"

To introduce the MSF
Application Model as the
basis for understanding the
services-based approach.

Defines an application as a logical network of
cooperative, distributable, and reusable services

Lead-in

The design for the MSF
Application Model was
based on the experiences

gained from working on
enterprise applications.

Delivery Tip

Do not focus too much on
the graphic, because it will
be presented in greater
detail in the next several
slides.

The MSF Application Model:
"

Promotes a consistent approach to the design and development of
client/server applications.

"

Provides a standard set of definitions for the application logic in a
distributed, n-tier application.

"

Makes it easier to use component technology to implement distributed, ntier applications that have the flexibility, scalability, and maintainability
needed to address the needs of mission-critical, enterprise-wide
applications.

"


Shifts from the traditional view of monolithic applications supporting
specific business processes to the concept of systems of interoperable
applications built upon a common set of components.

"

Describes a way of consistently applying the skills and resources of an
application development organization across multiple projects.

"

Defines a framework for organizing teams, introducing parallelism into the
development process, and identifying required skills.


Module 3: Services-Based Approach to Solution Design

61

Definition of a Service
Slide Objective

To define a service and to
provide a lead-in to the
more detailed content on the
different types of services.

"

$


Is accessed through a published interface

$

"

Can be bought, built, or reused

$

Lead-in

The MSF Application Model
defines an application as a
logical network of services.
To better understand what
that means, let us take a
look at what a service is.

A unit of application logic that performs an action

Is valued by the consumer, not the supplier

MSF Application Model has three categories of services
Business

$

Explain that the consumersupplier relationship is a

metaphor for the interaction
between services.

User

$

Delivery Tip

$

Data

A service is a unit of application logic that implements operations, functions, or
transformations applied to objects. Services can enforce business rules, perform
calculations or manipulations on data, and expose features for entering,
retrieving, viewing, or modifying information.
The MSF Application Model is a paradigm for structuring applications. In the
model, an application is constructed from a logical network of consumers and
suppliers of services. These services can be distributed across both functional
and physical boundaries to support the needs of many different applications.


62

Module 3: Services-Based Approach to Solution Design

User Services
Slide Objective


To establish what a user
service is and distinguish it
from other types of services.

Lead-in

The first of the three service
categories is the user
service.

"

Units of application logic that provide the function
behind the user interface
$

$

$

Provide the navigation functionality to
a user interface
Facilitate communication between the
user interface and the business services
Control user interface elements

User Services

The user of an application can be a person or another application. Therefore an
application’s interface may be a graphical user interface and/or a programmatic

interface. Consider the graphical user interface of an application as form, while
the user services provide the function behind that form. The user services also
provide the interface for other systems.
An application’s user services manage the interaction between the user and the
application. To achieve this requires an understanding of the user, the activities
they will need to perform, and the interaction styles best suited to the different
combinations of user and activity.


Module 3: Services-Based Approach to Solution Design

63

Business Services
Slide Objective

To establish what a
business service is and
distinguish it from other
types of services.

"

Lead-in

The second of the three
service categories is the
business service.

Units of application logic that control

the sequencing and enforcing of
business rules
$
$

$

Ensure transactional integrity
Facilitate communication between
user services and data services
Transform data into information by
applying business rules

Business Services

Business services transform data into information through the appropriate
application of rules.
A well-designed business service isolates business-rule enforcement and datatransformation logic from the service consumers — user and other business
services — and from the underlying data services. Isolating the businessservices logic from the user and data services yields the following advantages:
"

Flexibility in deciding how and where to deploy the business services.
Possible choices include components on an application server and stored
procedures located in the database management system (DBMS) or even on
the client.

"

Improved maintainability of business rules and logic by isolating changes
from the application’s user and data services. This isolation allows the

developer to make changes in how business decisions are made, while not
having to worry about updating or changing the underlying data stores or
the client front-end.

"

The ability to transparently replace implementations of business services.
For example, the set of business rules embodied within a set of business
services may vary from country to country; however, the interfaces to those
services remain constant throughout their application.


64

Module 3: Services-Based Approach to Solution Design

Data Services
Slide Objective

To establish the
characteristics of a data
service.

Lead-in

The third of the three
service categories is the
data service.

"


Units of application logic that provide access and
maintain the integrity of the application data
$

$

$

Maintain availability of persistent
application data
Facilitate communication between
the business services and the data store
Provide the low-level ability to
define, create, read, update,
and delete data

Data Services

Data services are the units of application logic that provide the lowest visible
level of abstraction used for the manipulation of data. Data services maintain
the availability and integrity of both persistent and nonpersistent data. Data
services control and provide access to data in such a way that business services
need not know where the data is located, how the service is implemented, or
how it is accessed.
Data services implement the data storage and representation of relationships
that relate the business schema onto the target data store. These services are not
restricted to permanent, nonvolatile, or structured data. Data services can be
designed to access and manipulate any data store.



Module 3: Services-Based Approach to Solution Design

Examples of Services
Slide Objective

To further explain services
by using an example.

Lead-in

You begin the design by
identifying high-level
services that are based on
the need of the users. You
then break those services
down into their specific
service categories to
highlight the different types
of services.

"

High-level Service: Show Current Timesheet

"

Service Category Breakdown
$


Display Timesheet (user service)

$

Fill Timesheet (user service)

$

$

Retrieve Timesheet Information (business service called
by Fill Timesheet)
Get Timesheet Data (data service called by Retrieve
Timesheet)

The functionality of a time-reporting system can be described by using user
services, business services, and data services.

65


66

Module 3: Services-Based Approach to Solution Design

Services-Based Application
Slide Objective

To illustrate the relationship
between the services of the

application model and the
user interface and date
store.

User Interface

Lead-in

The MSF Application Model
service layers are
sandwiched between the
user interface and the data
store.

Presentation
Layer

User
Services
Service
Layers

Business
Services

Business
Layer

Data
Services


Data
Layer
Data Store

The application model provides a logical, three-tier, services-based approach
for designing and developing software applications and business solutions. In
this definition, an application is a logical (not physical) network of cooperating
services that must function and work together to achieve a common goal.
These services can be distributed across both functional and physical
boundaries to support the needs of the business solution. The possible breadth
of application of each service allows for parallel development, better use of
technology, easier maintenance, and increased flexibility in the distribution and
deployment of each logical service in the solution.


Module 3: Services-Based Approach to Solution Design

Activity 3.1: Identifying Services
Slide Objective

To introduce the activity.

Now that you have learned about the MSF services-based approach to design,
you can apply the services-based approach to everyday activities.
In this activity, you will identify the layers in a provided scenario.
After completing this lab, you will be able to:
"

Demonstrate your understanding of the concepts of user interface, user

services, business services, data services, and data store.

67


68

Module 3: Services-Based Approach to Solution Design

! Value of a Services-Based Approach
Slide Objective

To introduce this section
"

Reusability

"

Flexibility of Distribution

"

Parallelism in the Development Effort

"

Other Benefits

In this section...

In this section...

Now that you know what the services-based approach to design is and have
practiced using that approach, you will learn about the value of the approach.
In this section, you will learn about the advantages that a services-based design
affords the design team during the solution-design process.


Module 3: Services-Based Approach to Solution Design

69

Reusability
Slide Objective

To highlight how the
modularity of design allows
for service reuse.

Lead-in

Traditionally, multiple
solutions meant multiple
implementations of similar
logic. With the servicesbased approach, application
logic can be shared, thus
ensuring logic consistency
and saving development
time.


Traditional View
Application 1

Application 2

Product

Services View

Customers

Customers

Application 3

Application 1

Application 2

Orders
Customers
Product

Orders
Database
Customer
Database

Customer
Database

Orders
Database

Monolithic Services

Product
Customer
Database

Network of Cooperating
Services

Traditionally, applications have been developed independently, each project
focusing exclusively on its own needs. This approach produces applications that
have an extremely narrow focus. In these independently developed applications,
features and informational views that should be consistent across multiple
business applications are unlikely to be similar in function or appearance. In
this case, when a business rule or information view changes, each application
that works with it will also have to be modified.
Delivery Tip

Point out the area of overlap
between the two
applications. These services
have to be designed and
developed only once. They
can then provide consistent
service to all applications
that use them.


By using a services-based, modular approach, developers can design and
implement systems whose applications operate not only through shared data,
but also through shared business logic, by running on components located both
on application servers and on shared pieces of user interface running on a client.


70

Module 3: Services-Based Approach to Solution Design

Flexibility of Distribution
Slide Objective

GUI

GUI

Browser

User
Services

User
Services

User
Services

User
Services


Business
Services

Client

Multitier,
Internet/Intranet

Messages
Business
Services

Data

Data
Services

User
Services
Business
Services
Data
Services

Business
Services
Data
Services


Data
Services

Data
Services

Data
Services

DBMS

DBMS

DBMS

Servers

The MSF Application Model
provides maximum flexibility
for distributing services
where it makes the most
sense for those services to
reside.

Multitier

GUI

Client


Lead-in

Thin Client,
Fat Server

Fat Client

Servers

To show some of the many
ways that the services could
be distributed.

DBMS

The services-based approach provides maximum flexibility to deploy
application logic where it best meets the performance and usage requirements
of the application. It also supports greater interoperability. With today’s
technologies, services are provided with a transparency of location, enabling
them to be distributed in the best configuration for the particular business
solution, whether that means all on one client machine or across multiple
machines around the world.


Module 3: Services-Based Approach to Solution Design

71

Parallelism in the Development Effort
Slide Objective


Milestone
1

To show that using the
services-based approach
enables parallel
development efforts.

Lead-in

If applications are designed
by using the services-based
approach, then they can be
segmented into five distinct
parts that can be worked on
in parallel.

Milestone
2

User interface
User services
Business services
Data services
Database

One of the major advantages that the application model for solution design
offers is the ability to do more than one development task at a time. Because the
application model defines an application structure as having five distinct parts,

each of these parts can be worked on in parallel. In the past, with monolithic
implementations, all development had to be done sequentially, because there
were no distinctions between the different types of functionality.


72

Module 3: Services-Based Approach to Solution Design

Other Benefits
Slide Objective

To provide additional
benefits of using the
services-based approach.

Lead-in

In addition to the three
benefits just mentioned, this
approach is beneficial in a
few other key areas.

The MSF Application Model:
"

Provides a consistent approach to application design

"


Provides a framework for designing n-tier, distributed
applications

"

Provides a model for managing the complexity of
distributed application design

"

Provides the ability to leverage the specialized skills
and tools required

"

Eases the adoption of new technologies

By using a consistent approach to application design, applications can be
designed, developed, and implemented more uniformly. This provides
increased opportunities for reuse.
The three categories of service defined by the MSF Application Model map
closely to three skill sets for client/server application development. The
traditional approach to client/server architectures has always separated data
from user interface and business rules. By using this approach, you can divide
the complexity of a distributed application design into smaller, more
manageable pieces.
A distributed, component-based implementation makes it easier to incorporate
new client and server technologies. For example, a new set of user services
could be developed to incorporate new interaction techniques, such as voice
recognition or handwriting, without having to reengineer the application’s core

business services.


Module 3: Services-Based Approach to Solution Design

! Review
Slide Objective

To reinforce module
objectives by reviewing key
points.

Lead-in

In this section, you will learn
some practical guidelines for
practicing the concepts of
this module, and you will
test yourself on your
understanding of those
concepts.

"

Guidelines

"

Review Questions


"

Looking Forward

In this section...
In this section...

73


74

Module 3: Services-Based Approach to Solution Design

Guidelines
Slide Objective

To present some general
guidelines related to the
information in this module.

Lead-in

The following are some
general guidelines to
consider.

To design a successful solution, you should:
"


Create multiple service-layer designs

"

Separate business and data services in designs

"

Design user services to facilitate user interface
implementations

All new applications should be designed by using service-layers. This type of
structure will lead to better applications that can be more easily extended and
updated in new versions.
It is especially important to distinguish between the business and data services.
In the past, many designs blurred the line between business and data services
considerably. Separating these services in the application design will allow for
more flexibility during development and can aid important factors such as
scalability for an application.
When designing user services, keep the proposed user interface in mind.
Because user services will directly interact with and provide services for the
user interface, it is important that they work well together and that the
combination provides the necessary functionality.


Module 3: Services-Based Approach to Solution Design

75

Review Questions

Slide Objective

To reinforce module
objectives by reviewing key
points.

"

Describe the principles behind the MSF Application
Model

"

Identify the service layers of the MSF Application Model

"

Explain the value of the MSF Application Model in
designing solutions

Lead-in

The review questions cover
some of the key concepts
taught in this module.

1. What is the MSF Application Model?
A set of standards and guidelines for designing distributed, multitier,
client/server applications to implement by using Microsoft componentbased tools and definitions.


2. What are the service layers of the MSF Application Model?
User services, business services, and data services.

3. What is the value of a services-based approach to solution design?
It provides a modular and distributed approach to design solution
components. This modularity allows for the use of resources, skills, and
assets to help benefit the solution development process.


76

Module 3: Services-Based Approach to Solution Design

Looking Forward
Slide Objective

To provide a context in
which students can frame
what they have just learned
and foreshadow what they
will be learning.

Module 12: Introduction to
Functional Specifications
Module 11: Designing the
Presentation Layer
Module 10: Completing the
Physical Design
Module 9: Designing Solutions
with Microsoft Technologies


Module 1: Course Overview

Designing Business
Solutions

Module 8: Solution Design and
the Component Object Model
Module 7: Selecting Solution
Technologies

Module 2: Solution Design Using
the MSF
Module 3: A Services-Based
Approach to Solution Design

Module 4: Business Solution
Conceptual Design
Module 5: Business Solution
Logical Design

Module 6: Beginning Physical
Design

By learning about the MSF Application Model and the MSF Process Model for
Application Development, you have completed building the foundation for
learning how to design business solutions.
You have learned how a services-based approach enables you to separate and
modularize the parts of a business solution. You have also learned where design
fits into the MSF Process Model.

Next, you will learn how to create a conceptual design for a solution.
Conceptual design begins the design process that will continue through the rest
of the course.



×