1. Trang chủ
  2. » Công Nghệ Thông Tin

Module 8: Designing Data Services

24 241 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 376,59 KB

Nội dung

Module 8: Designing Data Services THIS PAGE LEFT INTENTIONALLY BLANK Module 9: Data Storage Considerations Module 1: Course Overview Module 8: Designing Data Services Module 7: Implementing Data Integrity Module 2: Solution Design Processes Designing Data Services and Data Models Module 3: Using a Conceptual Design for Data Requirements Module 4: Deriving a Logical Data Design Module 6: Deriving a Physical Data Design Module 5: Normalizing the Logical Data Design Overview of Data Services Module 8: Designing Data Services Activity 8.1: Selecting Data Access Technologies Accessing Host-Based Systems Accessing Relational Data Module 8: Designing Data Services ! Overview Slide Objective To provide an overview of this module’s topics and objectives Lead-in In this module, you will learn how to design data services " Overview of Data Services " Accessing Relational Data " Accessing Host-Based Systems " Activity 8.1: Selecting Data Access Technologies " Review In In this this module module At the end of this module, you will be able to: " Determine the role of data services for a business solution " Describe the issues involved in distributing data access technologies " List the primary considerations for choosing a data access technology " List and describe primary data access technologies from Microsoft® " Determine the appropriate data access technology for a business solution 171 172 Module 8: Designing Data Services ! Overview of Data Services Slide Objective To introduce data service fundamentals Lead-in Before deciding on a data access technology, you need to understand the fundamentals of data services " Data Services Design " Deploying Data Services In In this this section section In this section, you will learn the basic concepts of data services You will also learn the benefits of using different types of data services and services-based design in building a data-centric solution Module 8: Designing Data Services 173 Data Services Design Slide Objective To introduce data service design Lead-in When designing an application, it is important to consider the different layers that can influence the data access technology " Separates business services from the application’s data store " Provides basic create, retrieve, update, and delete capabilities " Performs data aggregation " Provides data integrity User User Interface Interface User User Services Services Business Business Services Services Data Data Services Services Data Data Store Store As discussed in Module 2, “Solution Design Processes,” an application’s design can be represented as multiple tiered services Within these tiered services, data services act as an intermediary between the application’s business services and its data store Thus, as an application’s data store changes, as a data store’s structure changes, or as multiple data stores are consolidated, the higher levels of the application, from the business services up, not need to be changed Data services can be grouped into three categories: basic data services, data aggregation, and data integrity (Data integrity was already discussed in Module 7, “Implementing Data Integrity.”) This module focuses on basic data services and data aggregation Basic data services Basic data services are often referred to as CRUD: create, retrieve, update, and delete These data services encapsulate and thus simplify the many steps required to perform these operations The development team can create COM components to provide CRUD for a particular data store or multiple data stores In the latter case, the components simplify access by presenting a single interface between the data stores and the other application services Data aggregation Data aggregation services manipulate and derive information required by the application A typical data aggregation service might summarize the records within the data store and present only summarized information, not individual data records Other aggregation services might derive information based on columns within a data store, such as multiplying two columns to present a third data column to the application 174 Module 8: Designing Data Services Identifying data services To determine what data services a solution needs, you should perform the following: " Examine the number of data stores that the application accesses " Identify the basic data services required by the application " Look for information derived from data records that is required by the application Module 8: Designing Data Services 175 Deploying Data Services Slide Objective To explain both the locations to which data services can be deployed and several factors that influence their deployment " Deployment of logical design " Client (Web browsers and Windows) Lead-in Data service deployment is more complex than it initially appears to be Here are a few considerations that should be investigated " Application servers " Database servers Database Server Application Application Servers Servers Client Client Deciding where data services reside and how they will be accessed can be complicated All data services must reside somewhere in a physical design, so you will need to weigh the advantages and disadvantages of each possible configuration Depending on the architecture used in building the solution, data services can reside in any one of three locations: " Client Data services reside in the client application typically as information stored in a recordset object Often, this recordset object does not maintain a continuous connection to the data source, in which case it is called a disconnected recordset " Application server Data services are abstracted into a set of objects that reside on a server This application server acts as a proxy on the client’s behalf and accesses and manipulates data according to a set of rules by using COM components " Database server Data services are in the database engine Stored procedures or triggers are used to help automate data manipulation and process basic rules 176 Module 8: Designing Data Services The following table identifies some advantages and disadvantages of using one location over another Location Advantages Disadvantages Client Fewer client requests to the data store The client will not be required to query the data store as often This decrease in data queries can result in improved client performance after the initial data recordset is created at the client More maintenance For example, if the access method is changed or a bug in the code is corrected, a new version needs to be recompiled and distributed Depending on the type of user interface (Web based or Microsoft® Windows based) this process could be time consuming and costly Typically, Windows-based applications are more difficult to redeploy to clients than Web-based applications Increased network traffic Multiple clients simultaneously requesting a recordset could put a large load on the network, depending on the size of the recordset Increased client resources Increasing the amount of processing required by the client means increasing the client’s capacity to handle the excess load Application server Easier maintenance The increased cost of an application server might be offset by the maintainability of the system Any necessary changes can be made on one or a few computers, as opposed to possible thousands of clients Scaleable As the load on the system increases, additional application servers can be added to distribute the increase Database server Less network traffic If recordsets from multiple sources were needed, they could be retrieved and processed in one central location, as opposed to each client receiving a copy of the data Easier maintenance The code that establishes the connections would be in fewer locations and provide faster and easier access for maintenance Improved security Security is handled at the data source, rather than remotely Increased cost Introducing a middle tier into a solution will probably increase the solution’s overall cost The added cost is associated not only with the hardware and software of the computer(s) serving as the application server, but also in the development costs of creating and maintaining the code that will serve the data access requests Possible bottleneck As the load on the system grows, having one point of connectivity could present a bottleneck Module 8: Designing Data Services 177 ! Accessing Relational Data Slide Objective To introduce data access technologies Lead-in This section examines various data access technologies and factors that can influence your decision about which to use " OLE DB and ODBC " ADO, RDO, and DAO " Selecting a Data Access Technology In In this this section section In this section, you will learn about various data access technologies and some of the factors that you should take into account when deciding which technology is most suitable for your application 178 Module 8: Designing Data Services OLE DB and ODBC Slide Objective To introduce OLE DB and ODBC as the underlying technologies with which to access data " Lead-in OLE DB and ODBC both have characteristics that make them sound choices for providing data access OLE DB " ODBC Relational and nonrelational data access Relational data access Flexible and efficient Vendor-neutral Interoperability COM ODBC ODBC Driver Driver Database OLE OLE DB DB Provider Provider OLE DB This set of interfaces is Microsoft’s component database architecture for providing data access The following characteristics of OLE DB might influence your choice to implement OLE DB as your data access method: " OLE DB can access relational and nonrelational databases It provides universal data integration of an enterprise network from mainframes to desktops, regardless of the data type " OLE DB provides a flexible and efficient database architecture that offers applications, compilers, and other database components efficient access to Microsoft and third-party data stores " OLE DB is the fundamental COM building block for storing and retrieving records It unifies Microsoft’s strategy for database connectivity OLE DB is used throughout Microsoft’s line of applications for accessing data stores ODBC Open Database Connectivity (ODBC) is a widely accepted application programming interface (API) for database access ODBC is widely supported because of the following characteristics: " ODBC was primarily developed for access to relational data stores Although additional drivers exist for nonrelational data stores, performance of nonrelational data stores might not be adequate " ODBC is designed for maximum interoperability; it is designed to maximize the ability of a single application to access different DBMSs with the same source code Applications call functions in the ODBC interface These functions are implemented in data store-specific modules called drivers, which isolate an application for a specific data store call " ODBC provides an open architecture that allows multiple vendors to use a single method to access data stored in a variety of proprietary personal computer, minicomputer, and mainframe data stores Module 8: Designing Data Services 179 ADO, RDO, and DAO Slide Objective To introduce ADO, RDO, and DAO and discuss how they work with OLE DB and ODBC to access data Jet Database Lead-in Non-Jet Database OLE DB and ODBC provide low-level data access Most likely, you will also want to select a higher-level interface Database Database ODBC ODBC Driver Driver ODBC ODBC Driver Driver JET DAO JET DAO Engine Interface Engine Interface RDO RDO Interface Interface ADO ADO OLE OLE DB DB Provider Provider Interface Interface Three primary data access object models are used within most Windows-based applications: ActiveX® Data Objects (ADO), Remote Data Objects (RDO), and Data Access Objects (DAO) ADO ADO is a set of high-level automation interfaces to OLE DB Although OLE DB is a powerful interface for manipulating data, most application developers not need the low-level control that OLE DB provides Most developers are not interested in managing memory resources, manually aggregating components, and performing other low-level operations However, developers often use high-level languages that not support these function pointers ADO is programming-language neutral and provider neutral It can be used from programming languages such as Microsoft Visual Basic®, Visual Basic Scripting Edition, Java, and Microsoft Visual C++® ADO can access data from any OLE DB data source Developers of new applications should use ADO by default within their data service designs and only implement other technologies as requirements dictate RDO RDO is an object-based data access interface created to provide a tight, lightweight interface to ODBC RDO has been superceded by ADO and should only be used in existing applications that require minimal maintenance RDO provides an easy-to-program interface that exposes virtually all of ODBC’s low-level power and flexibility RDO is somewhat limited, in that it does not access Microsoft Jet or indexed sequential access method (ISAM) databases particularly well Furthermore, RDO can access relational databases only through existing ODBC drivers In spite of these limitations, RDO has proven to be the interface of choice for a great number of SQL Server™, Oracle, and other large relational DBMS customers RDO provides the objects, properties, and methods needed to access more complex aspects of stored procedures and result sets 180 Module 8: Designing Data Services DAO DAO provides a framework for using code to create and manipulate both relational and Jet-based databases DAO also provides an interface to the Jet engine to manipulate the structure and data within a Jet database If DAO is used against a non-Jet database, then the Jet engine actually uses ODBC to translate the Jet calls into ODBC calls and passes them to the ODBC driver for data retrieval and manipulation As a result of its inherent overhead, DAO is typically not the access technology to use against non-Jet relational databases, such as SQL Server or Oracle It is primarily older, 16-bit clients that use DAO to access Jet databases If a 32-bit client is to be implemented, ADO is usually a more appropriate choice for data access Module 8: Designing Data Services 181 Selecting a Data Access Technology Slide Objective To discuss the issues involved in data access technology decisions Lead-in The following considerations can influence the decision about which data access technology is most appropriate for your solution " Platform " Data structure and type of data store " Interoperability with existing systems " Resources " Configuration " Maintainability " Performance You should weigh many factors when deciding which data access technology is most appropriate for your solution Platform The client and server platforms that you will use influence your choice of data access technology For example, on a 16-bit platform, DAO is the only logical choice; for 32-bit platforms, ADO typically makes the most sense Data structure and type of data store What the data structure will be and the type of data store that will be accessed are also considerations when deciding on a data access technology If you implement an application with a nonrelational data store, you must be sure that the data access technology can access the information Interoperability with existing systems When implementing a new system, it is important to consider whether the system must operate with existing ones If the new system must communicate with existing systems, you might have to consider an older data access technology If the existing systems are based on a particular data access technology, it might be easier to continue development by using that technology to take advantage of resources Resources For the solution to properly execute and access data, you need to consider the hardware and software configurations of the servers and workstations and then determine what data access technology is needed 182 Module 8: Designing Data Services Configuration The configuration of the client or server might affect which data access technology you decide to implement If the data access object is to be implemented on the client, you might want to implement an access technology that requires little configuration Each specific technology will require some configuration; however, these configurations should be automated by application installation routines Maintainability You need to consider the costs of performing such actions as updating drivers, configurations, or applications You might even consider using a data access technology that is more difficult to use than others, especially if the maintenance time and costs will be significantly reduced In addition, you need to consider where the access technology will be implemented If you have to update many clients, you have a different set of criteria than if the access technology is implemented on a single server Performance Performance requirements should also be considered Access speed, server and client hardware, or software bottlenecks can directly affect an application’s performance For example, depending on the technology used, access to the data might need to filter through several layers of code and drivers, resulting in slower performance Module 8: Designing Data Services 183 ! Accessing Host-Based Systems Slide Objective To explain why access to host-based systems containing legacy data needs to be maintained Lead-in This section discusses legacy data and some considerations for deciding how to access the data " Host-Based Data Access Design " Accessing Host-Based Data and Applications " Selecting a Legacy Data Access Technology In In this this section section In this section, you will examine the need to continue to access legacy data, and you will identify some technologies that simplify data access implementations 184 Module 8: Designing Data Services Host-Based Data Access Design Slide Objective To explain the role of IBM Systems Network Architecture (SNA)-hosted applications and data access Lead-in Although you may be moving to a client/server environment, you might still need to access legacy data and applications " Host-based enterprise applications and data stores " Take advantage of existing data and applications " Current application designs change legacy application designs Client Client SNA SNA Server Server Host Host Many organizations still run enterprise applications that access data on large mainframes A significant number of these businesses, however, are moving to distributed enterprise applications Much of the data is being transferred to smaller distribution servers, where a faster and more efficient application can be developed with the latest technology During the move, you must maintain access to the data on the mainframe system while moving the data to newer and smaller systems IBM’s DB2 and ISAM files are both examples of IBM Systems Network Architecture (SNA) databases that can host legacy data SNA consists of mainframe to midrange computers that host data and applications for enterprises Applications that access legacy data have historically run on the SNA server and consist of multiple applications accessing local data stores This scenario differs from the current distributed environment, where the load is distributed between clients and servers sharing the resource requirements to run enterprise applications The Microsoft SNA Server is often used in this distributed design to provide the local area network (LAN) protocol to SNA-based systems as well as host-based services protocol conversion and communication management Module 8: Designing Data Services 185 Accessing Host-Based Data and Applications Slide Objective To explain the role of ADO when accessing data in an SNA environment with current applications Lead-in To access legacy data, you need a data access method Two common methods are ADO and COMTI " Using ADO to access host-based data on: $ " AS/400, DB2, VSAM Using COMTI to access host-based systems: $ $ $ Supports a Web interface Provides simultaneous transaction support on computerbased and mainframe-based systems Integrates MTS and CICS/IMS As enterprises move to distributed environments, applications are being developed that must continue to access data on host-based systems For example, ADO might be used to access host-based legacy data in AS/400 and virtual storage access method (VSAM) files Microsoft offers an OLE DB provider for AS/400, DB2, and VSAM files Because ADO is a lightweight interface for OLE DB, developers can use ADO in new applications to access legacy data ADO also supports access to many new data stores, so it can be an ideal data access technology for an application that must access legacy data and data on new client/server systems Component Object Model Transaction Integrator (COMTI) was created so that distributed enterprise applications that integrate both desktop and mainframe environments can be built, reducing development and implementation costs and timeframes COMTI allows developers to use transaction programs written for mainframes in the desktop environment Implementing COMTI in this manner also allows mainframe developers to integrate with desktop-based business rules and business objects COMTI can be used with browsers that connect to a Microsoft Internet Information Server (IIS) COMTI also supports Customer Information Control System (CICS) and Internet Mail Service (IMS) applications CICS and IMS are two common transaction-aware mainframe environments Using COMTI with Microsoft Transaction Server (MTS) can help the development of distributed applications because COMTI will make CICS and IMS applications appear as MTS components 186 Module 8: Designing Data Services Selecting a Legacy Data Access Technology Slide Objective To discuss some of the factors that influence the selection of a legacy data access technology Lead-in Several factors can influence your choice of a legacy data access technology " Interoperability with new systems " Speed of integration " Maintenance " Configuration Before choosing a technology for accessing legacy data, you should consider the following factors Interoperability with new systems When implementing a technology to access legacy data, you should consider whether legacy systems, data, and applications would have to operate with new ones Speed of integration It is important to consider how quickly new enterprise applications can use legacy data If a data access technology cannot access a legacy system, the application will have to be developed to use data from a new environment Consequently, development time might be increased as a result of the time that it takes to move data from legacy to new systems Maintenance As mentioned previously, you need to consider how much maintenance will be required if the application or a driver is updated Configuration Finally, you should consider system, application, and data configuration For example, if you need to change the configuration of the mainframe environment to access legacy data, you might want to consider another data access technology rather than risk the possibility of rendering the environment or related applications unusable Module 8: Designing Data Services 187 ! Activity 8.1: Selecting Data Access Technologies The process of identifying and selecting a data access technology is based on careful consideration of several factors, including the capabilities of each data access method In the two exercises in this activity, you will identify the potential data stores to be used within the Ferguson and Bardell, Inc system, as well as the factors that need to be considered when choosing the system’s data access technology After completing this activity, you will be able to: " List the primary considerations for choosing a data access technology " Evaluate potential data access issues and choose the appropriate data access method for a given scenario 188 Module 8: Designing Data Services ! Review Slide Objective To explain the purpose of this section and what students have learned Lead-in This section reviews what you have learned and prepares you for the next module " Guidelines " Review Questions " Looking Forward In In this this section section ... BLANK Module 9: Data Storage Considerations Module 1: Course Overview Module 8: Designing Data Services Module 7: Implementing Data Integrity Module 2: Solution Design Processes Designing Data Services. .. Overview of Data Services Module 8: Designing Data Services Activity 8.1: Selecting Data Access Technologies Accessing Host-Based Systems Accessing Relational Data Module 8: Designing Data Services. .. data services You will also learn the benefits of using different types of data services and services- based design in building a data- centric solution Module 8: Designing Data Services 173 Data

Ngày đăng: 22/10/2013, 17:15