Module 3: Services-Based Approach to Solution Design

22 321 0
Module 3: Services-Based Approach to Solution Design

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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 Application Product Services View Customers Customers Application Application Application 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 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 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 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 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 What are the service layers of the MSF Application Model? User services, business services, and data services 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 ... 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:... 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... 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

Ngày đăng: 16/10/2013, 13:15

Tài liệu cùng người dùng

Tài liệu liên quan