งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

The Application Model A logical network of cooperative, distributed, and reusable services that support a business solution. User ServicesBusiness ServicesData.


งานนำเสนอเรื่อง: "The Application Model A logical network of cooperative, distributed, and reusable services that support a business solution. User ServicesBusiness ServicesData."— ใบสำเนางานนำเสนอ:

1 The Application Model A logical network of cooperative, distributed, and reusable services that support a business solution. User ServicesBusiness ServicesData Services

2 The Services-Based Application Model The term service-based means that the functionality of an application is specified as collections of services that meet specific user need. A service-based application application is typically comprised of three categories: user services, business services and data service. User services Business services Data services Rules, Transactions Computer Information storage and manipulation Database Internet Intranet

3 User services provide an application with its user interface. The user of a service can be a person or another service. Therefore, the interface for a service can provide a graphical user interface or a programmatic interface. Business services enforce business rules and handle transactions. These services may impose constraints or apply transformations to change user input or raw database information into usable business information.

4 Data services provide storage and low-level manipulation of data in a database. Examples of data services include create, read, update and delete, which are used by business services to modify a database. A business service does not need to know where data is located, how it is implemented, or how it is accessed. These tasks are handled by data services.

5 Data Services Provide storage and low-level manipulation of data in a database. Examples of data services include create, read, update and delete, which are used by business services to modify a database. A business service does not need to know where data is located, how it is implemented, or how it is accessed. These tasks are handled by data services. Database OLE DB Provider ODBC Driver

6 Standard middle-ware such as Open Database Connectivity (ODBC), have been developed for interfacing of clients wit servers. ODBC is an application program interface that allows clients to generate SQL statements that are sent to a server. Any client that uses the ODBC interface can connect to any server that provides the interface. In earlier-generation database systems, the lack of such standards necessitated that the front-end and the back-end be provided by the same software vendor.

7 Application Models Over the past few decades, the architecture of applications, especially large enterprise, have evolved from single-tier to n-tier designs. The driving force for this change has been the following general goals: scalability, separation and encapsulation of func- tionality, maintainability, multi-user support, and the ability to be distributed.

8 Understanding Service Tiers Tiers are a logical concept that provide a way to describe how applications can be segmented into services, specially the three types of services : user, business and data. Single-Tier Applications A single-tier application is simply a monolithic, stand-alone program that runs on the user’s computer. It may communicate with a database, but that database resides on the same computer User services Business services Data services physicallogical

9 Two-Tier Client/Server Applications The simplest type of distributed computing is the two-tier client/server application. In this type of application, the database is separated from the user interface and business logic. Typically the database is placed on the other server. Two-tier client/server applications are the most common type of client/server applications built today. They offer significant benefits over single-tier applications because data processing is centralized and becomes a shared resource among potentially many users. Database server DatabaseServer User services Business services Data services

10 Three-Tier Client/Server Applications Over time it has become apparent that the two-tier client/server model is simply not flexible or powerful (scalable) enough to to handle many larger applications. Maintaining a dialog between each client workstation and the central database server can result in high network traffic and poor performance, for example when many users try to do simultaneous access to a database. Three-tier server applications help address these issues by putting another layer between the users and the database - the application server Physical Application server Database server DatabaseServer User services Business services Data services

11 N-Tier Client/Server Applications (Web-Based Applications) The two and three tier application models leave a substantial part of the application on the client workstation. Conversely, applications designed for the World Wide Web place as little of the application as possible on the client, and keep all the processing centralized on one or more servers. Physical Internet/Intranet Web server Application server Database server DatabaseServer User services Web services Business services Data services

12 Logical Network of Cooperating Services Business Services User Services Data Services Application 1Application 2

13 Multitier Application Architecture with Distributed Transactions

14 J2EE System Environment

15 สรุป Benefits of Services-Based Design Added flexibility Distributed services Parallelism in the design process Shared assets, resources, and skills

16 ระบบฐานข้อมูลและการเชื่อมต่อ

17 Data Store and Data Services Separates business services from the application’s data store. Provides basic create, retrieve, update and delete capabilities. Performs data aggregation. Provides data integrity. User Services User Interface Business Services Data Services Data Store

18 สถาปัตยกรรมระบบ Application server : ส่วนการจัดการ Dynamic Link Library เพื่อใช้ในการ ประมวลผลตาม business Logic ต่างๆ ของระบบงาน 3-Tiers Client/Server application เหมาะสำหรับองค์กรที่มีผู้ใช้แอพพลิเคชั่น จำนวนมาก โดยใช้ Database server หนึ่ง server หรือมากกว่า และต้องการให้ใช้งาน ได้ทั้งในระบบ LAN, WAN หรือ Internet ข้อได้เปรียบข้อสถาปัตยกรรม ได้แก่ ประสิทธิภาพ ความยือหยุ่นในการรองรับ จำนวนผู้ใช้มากๆและเพิ่มขึ้น การจัดการ และการดูแลระบบทำได้ง่าย (ถ้าเป็น web application) ไม่มีการติดตั้ง business logic กับเครื่องลูกข่าย และนำโค้ดกลับมาใช้ใหม่ ได้ง่าย ข้อเสียคือยากในการออกแบบ รายละเอียดมาก ใช้งบประมาณ และเวลามาก และผู้พัฒนา ต้องมีความชำนาญ

19 Com Component (.dll) เป็นซอฟท์แวร์ที่ใช้ในการเก็บรวบรวม COM Component (.dll) ต่าง ๆ ที่ได้ทำการพัฒนาขึ้น โดยทำการเก็บอยู่ในเครื่องที่เป็นแม่ข่าย เพื่อให้เป็นศูนย์รวมของการประมวลผล ตาม business logic ต่าง ๆ นอกจากนั้นยังเป็นตัวช่วยในการทำแคชของการประมวลผลต่าง ๆ เพื่อให้ สามารถรองรับการใช้งานของผู้ใช้พร้อม ๆ กันได้มากขึ้น จึงส่งผลให้การทำงานของตัวระบบงานยังคง มีประสิทธิภาพเช่นเดิมถึงแม้ว่าจะมีผู้ใช้ที่เพิ่มมากขึ้นก็ตาม เนื่องจากเป็นการแยกส่วนกันของการ ระมวลผลระหว่างเครื่องลูกข่ายและเครื่องแม่ข่ายจึงนำไปสู่การลดปัญหาคอขวดของเครือข่ายได้

20 Stored Procedures การประมวลผลเมื่อมีการใช้ query เพื่อค้นหาข้อมูลนั้น จะต้องมี การแปลคำสั่งต่าง ๆ ตามไวยกรณ์ทุกครั้งที่มีการรัน query แต่หาก ได้มีการนำ queries เหล่านั้นมาสร้างเป็น Store Procedures ซึ่ง เป็น object ตัวหนึ่งของฐานข้อมูล โดยก่อนการใช้งาน ระบบจะทำ การ compile เพื่อโหลดเข้าไปยัง cache memory (server side) เสียก่อน เป็นผลให้สามารถทำงานได้อย่างรวดเร็ว และมีประสิทธิภาพ ที่ดีกว่าการ Query ธรรมดามาก The first time the stored procedure is executed, a query execution plan is created and compiled. The compiled plan stays in memory on the server until it is forced out by other memory needs. This means that subsequent calls to the stored procedure result is much better performance than re-creating the same SQL command each time it is needed.

21 ข้อดีของ Stored Procedures สามารถทำงานที่ซับซ้อนซึ่งไม่สามารถกระทำจาก transact-SQL โดยตรงได้ ช่วยเพิ่มประสิทธิภาพในการใช้งาน เนื่องจากได้มีการคอมไพล์ก่อน การใช้ และในครั้งแรกของการรัน จะมีการเตรียม query execution plan เพื่อโหลดคำสั่งต่าง ๆ ไปยัง cache memory ช่วยให้การ งานรวดเร็วยิ่งขึ้น ช่วยลดจราจลบนระบบเน็ตเวิร์ค เพราะเป็นการเรียกใช้งานชุดคำสั่ง ช่วยในเรื่องกลไกของระบบรักษาความปลอดภัย เช่น ไม่ให้มี user ใดสามารถเข้าถึงข้อมูลจากตารางโดยตรงได้ แต่จะกำหนดสิทธิให้ สามารถรัน stored procedure เพื่อแก้ไขข้อมูลในตารางตามที่ กำหนดไว้ได้แทน เป็นต้น

22 Accept parameters. Return values of parameters to a calling procedure or client. Return a status value that indicates success or failure, as well as the reason for the failure. Call other stored procedures. Encapsulate business functionality so that all applications can use and perform the procedures consistently. Make execution faster and more efficient. Once they are compiled no syntax checking is required when they are executed. Store the compiled version on the server and use it for subsequent calls, thus reducing network traffic. Be called from different client applications.

23 รู้จัก Batch Batch คือกลุ่มคำสั่งของ transact-SQL ซึ่งจะถูกแปลความไป พร้อมกัน เช่น Use Engineer Select stuID, stuName, stuAVG From student Insert student (stuID, stuName, stuAVG) values ( , Jittas, 3.89) Select lecture.lectID, lectName, Subject_code from lecturer,subject where lecture.lectID = subject.lectID GO

24 ประเภทของ Stored Procedures Stored Procedures แบ่งออกเป็น System Stored Procedure, และ User Stored Procedures CREATE PROCEDURE up_Suppliers AS Select CompanyName, ContactName, ContacTitle FROM Suppliers ORDER BY CompanyName



27 Deployment Diagrams

28 The Component of data Bit0 or 1 Byte1 byte is constructed from 8 bits to represent 1 character. Word1 word is constructed from 2 or more consecutive bytes Fieldcolumn boundary of specific data Recordrelation of the value in each field to represent one object (or one thing or one person) FileA collection of several records of the same type. DatabaseA collection of interrelated data files.

29 File Processing & Database Processing File Processing Salary Information System Personal Information System Seminar Information System Salary Files Personal Files Seminar Files

30 Database Management System Salary Information System Personal Information System Seminar Information System Data Base DBMS

31 DBMS: Database Management System DBMS consists of a collection of interrelated data and a set of programs to access those data. The primary goal of DBMS is to provide an environment that is both convenient and efficient to use in retrieving and storing database information. DBMS acts as the interface software between users and data stored in the database by hiding the detail of internal

32 สถาปัตยกรรมของระบบ ฐานข้อมูล External View 1 External View 2 External View 3 Conceptual Level Physical Level

33 Billing Application Load Research Application Maintenance Application Billing & Research Data Model Maintenance Data Model Information Services Data Model Database Management System Service Databases Logical User Views Data elements and relationships needed for Billing, Load Research, or Maintenance processing Data elements and relationships (the schema) needed for the support of all information services. Software Interface The DBMS provides access to the information services databases Physical Data Views Organization and location of data on the storage media.

34 Instance และ Schema Instance ของฐานข้อมูล : เหล่าข้อมูล ที่ถูกจัดเก็บในฐานข้อมูลในขณะใด ขณะหนึ่ง ดังนั้น Instance จึง เปรียบเสมือนกับค่าของตัวแปรในขณะใด ขณะหนึ่งใน Programming Language การเปลี่ยนแปลงข้อมูลในระบบฐานข้อมูล มีสาเหตุมาจากการที่ข้อมูลมีการ Insert, Delete หรือ Update เกิดขึ้น ตลอดเวลา Schema : เค้าร่าง ( โครงสร้าง ) ที่ได้จาก การออกแบบฐานข้อมูล โดยรวม เช่นการกำหนดว่า ระบบ ฐานข้อมูลควรประกอบด้วย ไฟล์อะไรบ้าง และไฟล์เหล่านั้นมี ความสัมพันธ์กันอย่างไร แต่ละไฟล์ควร ประกอบด้วยฟิลด์ (fields) อะไรบ้าง

35 Data Definition Language (DDL) การที่จะกำหนดเค้าโครง หรือ Scheme ของ ฐานข้อมูล สามารถ กระทำได้โดยการใช้ภาษาพิเศษ ที่เรียกว่า ภาษาสำหรับ นิยามข้อมูล ตัวอย่าง ภาษา DDL CREATE TABLE CREATE VIEW CREATE INDEX ALTER TABLE DROP VIEW DROP INDEX DROP TABLE เช่น CREATE TABLE S ( S# Char(5) Not Null, Sname Char(20) Not Null, Status SmallInt Not Null, City Char(15) Not Null, PRIMARY KEY (S#) );

36 ผลจากการคอมไพล์ประโยคที่เขียนด้วย DDL (DDL Interpreter) จะทำให้เกิดตารางที่จะจัดเก็บในไฟล์ชนิดหนึ่งที่ เรียกว่า พจนานุกรม ข้อมูล (Data Dictionary) ซึ่งเก็บข้อมูลที่เกี่ยวกับ โครงสร้างที่ได้จากการออกแบบฐานข้อมูลนั้น ๆ และ ถ้ามีการเปลี่ยนแปลงแก้ไข หรือ เรียกใช้ข้อมูล DBMS ต้องอาศัยข้อมูลของโครงสร้าง จากไฟล์นี้เสมอ

37 Data Manipulation Language (DML) การใช้ข้อมูลในระบบฐานข้อมูล อาจจำแนกได้เป็น - การเรียกดูข้อมูล (RetrieveData) - การเพิ่มข้อมูลใหม่ (Insert Records) - การลบข้อมูลเดิม (Delete Records) - การเปลี่ยนแปลงแก้ไขข้อมูลเดิม (Update Fields) การใช้ข้อมูลในระดับของผู้ใช้นั้น สามารถกระทำได้โดยผ่านทาง DBMS ซึ่งได้เตรีมภาษาสำหรับการใช้ข้อมูล (DML is a language that enables users to access or manipulate data as ornagized by the appropriate data model.)

38 การเขียนแอปพลิเคชั่นด้วย Host Language เพื่อร้องขอ (request) ข้อมูลจากระบบฐานข้อมูล ทำได้โดยการใช้คำสั่ง DML ภายใน Host Language นั้น แต่เนื่องจาก DML Syntax แตกต่างไปจาก Syntax ของ Host Language ทั่วไป ดังนั้นโปรแกรมจัดการระบบฐานข้อมูล (DBMS) จึงต้องมี Query Processor ซึ่งประกอบด้วย Embedded DML Precompiler DML Compiler Query Evaluation Engine DDL Interpreter

39 Embedded DML Precompiler : แปลง (convert) ประโยคคำสั่ง DML ให้ เป็นโมดุลหนึ่ง (procedure call) ภายในแอ็ปพลิเคชั่นที่สร้างด้วย host language ภาษาใด ภาษาหนึ่ง ซึ่งมีผลทำให้ แอ็ปพลิเคชั่น สามารถถูก Compile ได้ ด้วยตัว Compiler ปกติ ของภาษานั้น และสามารถ ประมวลผล object ของ Database ( เช่น object ที่เป็น relation) ได้ DML Compiler : แปล (translate) ประโยคคำสั่ง DML ไปเป็น low-level instructions ที่ Query Evaluation Engine สามารถเข้าใจได้ Embedded DML Precompiler ต้องติดต่อกับ DML Compiler เพื่อ สร้าง Object Code ที่เหมาะสม

40 DDL Interpreter : แปลประโยคคำสั่งที่เขียนด้วย DDL Query Evaluation Engine : เมื่อ DML Compiler สร้าง Object Code ที่เป็น Low-level Instructions ขึ้นมาแล้ว ก็จะส่งต่อให้กับ Query Evaluation Engine ทำการประมวลผลต่อไป

41 Data Consumers Visual Basic Application Other ApplicationsASP page Visual C++ Application Service Components ADO Connection ODBC Simple Data Provider Cursor EngineQuery Processor ODBC Provider Data Providers DatabaseServer Mainfra me Data Non Relation Data DML Compiler DDL Interpreter Embedded DML Precompiler Query Evaluation Engine

42 How Database Represent Information A database management system (DBMS) is a combination of software and data: The physical database : a collection of files that contain the data content. The schema: a specification of the information content of the physical database The database engine: software that supports access to and modification of the contents of the database The data definition and manipulation language: programming languages that support schema definition and database access.

43 Overall System Structure Query processor components DML compiler Embedded DML precompiler DDL interpreter Query evaluation engine Storage manager components : provides the interface between the low level data stored in the database and the application programs and queries submitted to the system Authorization and integrity manager : tests for the satisfaction of integrity constraints and checks the authority of users to access data. Transaction manager : ensures that the database remains in a consistent state despite system failures and that concurrent transaction executions proceed without conflicting. File manager : manages the allocation of space on disk storage and the data structures used to represent information stored on disk. Buffer manager : responsible for fetching data from disk storage into main memory.

44 Data files : store the database itself. Data dictionary : stores metadata about the structure of the database. The data dictionary is used heavily. Therefore, great emphasis should be placed on developing a good design and efficient implementation of the dictionary. Indices : provide fast access to data items that hold particular values.

45 Data files Data dictionary Indices Transaction manager Buffer manager File manager Application programs object code Embedded DML precompiler DML compiler DDL interpreter Query evaluation engine Application interfaces Application programs que ry database scheme Naïve users Application programmers Sophisticated users Database administrator Disk storage Storage manager query procesor users usewriteuse Authoriz ation and integrity manager

46 Database Processing Advantages Data redundancy (Repetition of data) can be reduced. Data inconsistency can be avoided. Data can be shared. Standard of data can be controlled. Concurrent-access to database can be provided. Data Integrity and data security can be maintained.

ดาวน์โหลด ppt The Application Model A logical network of cooperative, distributed, and reusable services that support a business solution. User ServicesBusiness ServicesData.


Ads by Google