Module Overview Module 3: A Services-Based Approach to Solution Design Module 4: Business Solution Conceptual Design Module 5: Business Solution Logical Design Module 6: Beginning Physic
Trang 1Solution Design
Trang 2Module Overview
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
Module 1: Course Overview Module 2: Solution Design Using the MSF
Module 7: Selecting Solution
Technologies
Module 8: Solution Design and the
Component Object Model
Module 9: Designing Solutions with
Services-BasedApproach
Activity 3.1:Identifying Services
Value of a based Approach
Services-Review
Module 3: A Services-Based Approach to Solution Design
Trang 3! Overview
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
Slide Objective
To provide an overview of
the module topics and
objectives
Trang 4There 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
In this section, you will learn
about the concepts behind
the MSF Application Model
Trang 5Definition of an Application Model
the organization
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
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
Trang 6MSF Application Model
cooperative, distributable, and reusable services
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, tier applications that have the flexibility, scalability, and maintainability needed to address the needs of mission-critical, enterprise-wide
n-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
Slide Objective
To introduce the MSF
Application Model as the
basis for understanding the
services-based approach
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
Trang 7Definition of a Service
$ Can be bought, built, or reused
$ Is accessed through a published interface
$ Is valued by the consumer, not the supplier
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
Slide Objective
To define a service and to
provide a lead-in to the
more detailed content on the
different types of services
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
Trang 8User Services
User Services
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
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
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
Trang 9Business Services
Business Services
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 transform data into information through the appropriate application of rules
A well-designed business service isolates business-rule enforcement and transformation logic from the service consumers — user and other business services — and from the underlying data services Isolating the business-services logic from the user and data services yields the following advantages:
data-" 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
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
Trang 10Data Services
Data Services
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 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
The third of the three
service categories is the
data service
Trang 11Examples of Services
$ Display Timesheet (user service)
$ Fill Timesheet (user service)
$ Retrieve Timesheet Information (business service called
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
Trang 12Services-Based Application
Data Store
User Interface
Service Layers
Data Layer
Business Layer
Presentation Layer User
Services
Business Services
Data Services
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
Slide Objective
To illustrate the relationship
between the services of the
application model and the
user interface and date
store
Lead-in
The MSF Application Model
service layers are
sandwiched between the
user interface and the data
store
Trang 13Activity 3.1: Identifying Services
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
Slide Objective
To introduce the activity
Trang 14! Value of a Services-Based Approach
Trang 15Reusability
Customer Database
Customer Database
Customer Database
Customer Database
Customer Database
Customer Database
Orders Database Orders
Database
Orders Database Orders
Database
Product Customers
Customers
Product
Orders
Customers Product
Traditional View Services View
Network of Cooperating Services
Application 1 Application 2 Application 3
Monolithic 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
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
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
services-based approach, application
logic can be shared, thus
ensuring logic consistency
and saving development
time
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
Trang 16Flexibility of Distribution
Business Services
User Services User
Services
User Services User
Services
User Services User
Services
User Services User
Services
User Services User
Services
Business Services
Business Services
Data Services Data
Services
Data Services Data
Services
Data Services Data
Services
Business Services Data Services Data
Services
Data Services Data
Business Services
Business Services
DBMS
Browser
Multitier, Internet/Intranet
DBMS
GUI Multitier
DBMS
GUI
Thin Client, Fat Server
DBMS
GUI Fat Client
Slide Objective
To show some of the many
ways that the services could
be distributed
Lead-in
The MSF Application Model
provides maximum flexibility
for distributing services
where it makes the most
sense for those services to
reside
Trang 17Parallelism in the Development Effort
User interfaceUser servicesBusiness servicesData servicesDatabase
Milestone
1 Milestone 2
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
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
Trang 18Other Benefits
The MSF Application Model:
applications
distributed application design
and tools required
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
In addition to the three
benefits just mentioned, this
approach is beneficial in a
few other key areas