Khái niệm xử lý các tiến trình phân tán mà ta đã nêu trước đây dựa vào khả năng của nhiều máy tính tách biệt nhau cĩ thể giao tiếp và tương tác với nhau thơng qua những tầng giao tiếp được thiết kế khác nhau về mặt vật lý.
Các tầng giao tiếp này được thiết kế theo mơ hình hệ thống mở (Open System Interconnection gọi tắt là OSI). Trong mơ hình OSI, giao tiếp giữa các máy tính khác biệt nhau được thực hiện thơng qua việc phân chia trách nhiệm trong việc chuyển và xử lý một gĩi thơng tin xuyên qua nhiều tầng tách rời.
Phía máy client thơng tin từ tầng cao nhất sẽ được phân tích và chuyển dần xuống các tầng dưới. Tầng vật lý cuối cùng sẽ chuyển thơng tin qua mạng đến máy server. Tại máy server gĩi thơng tin sẽ được phân tích và chuyển xuống thơng qua các tầng giao tiếp theo hướng ngược lại.
Điều hấp dẫn của tiếp cận OSI chính là ở chỗ nĩ hứa hẹn giải pháp cho vấn đề truyền thơng giữa các máy tính khơng giống nhau. Hai hệ thống dù khác nhau như thế nào đi nữa, điều cĩ thể truyền thơng với nhau một cách hiệu quả nếu chúng đảm bảo những điều kiện sau đây:
Chúng cài đặt một tập các chức năng truyền thơng
Các chức năng đĩ được tổ chức thành một tập các tầng. Các tầng đồng mức
phải cung cấp các chức năng như nhau
Các tầng đồng mức phải sử dụng một giao thức chung.
Để đảm bảo những điều trên cần phải cĩ các chuẩn. Các chuẩn phải xác định các chức năng và dịch vụ được cung cấp bởi một tầng. Theo cách tiếp cận OSI, trong mỗi tầng của một hệ thống cĩ một hoặc nhiều thực thể(entity) hoạt động. Một(N) entity (thực thể của tầng N) cài đặt các chức năng của tầng N và giao thức truyền thơng với các(N) entity trong các hệ thống khác. Một tiến trình trong một hệ đa xử lý là một ví dụ của thực thể. Hay đơn giản hơn, một thực thể cĩ thể là một trình con(subroutine). Mỗi thực thể truyền thơng với các thực thể ở các tầng trên và dưới nĩ thơng qua một giao diện. Giao diện này gồm một hoặc nhiều điểm truy cập dịch vụ(Service Access Point-viết tắt là SAP). (N-1) entity cung cấp dịch vụ cho một (N) entity thơng qua việc gọi các hàm nguyên thuỷ( primitive). Hàm nguyên thuỷ chỉ rỏ các chức năng thực hiện và được dùng để chuyển dữ liệu và thơng tin điều khiển. Lời gọi trình con chính là một dạng cài đặt cụ thể của một hàm nguyên thuỷ.
Bốn hàm nguyên thuỷ được dùng để định nghĩa tương tác giữa các tầng kề nhau, đĩ là:
Request(yêu cầu): Là hàm nguyên thuỷ mà Service User( người sử dụng
dịch vụ) dùng để gọi một chức năng.
Indication(chỉ báo): là hàm nguyên thuỷ mà Service Provider( người cung
cấp dịch vụ) dùng để:
Gọi một chức năng hoặc chỉ bảo một chức năng đã được gọi ở một điểm truy cập dịch vụ(SAP)
Respone( trả lời): Là hàm nguyên thủy mà Service User dùng để hồn tất
một chức năng đã được gọi từ trước bởi một hàm nguyên thủy Indication ở SAP đĩ.
Confirm(xác nhận): Là hàm nguyên thủy mà Service Provider dùng để
hồn tất một chức năng đã được gọi từ trước bởi một hàm nguyên thủy Request tại SAP đĩ.
Mơ hình tham chiếu OSI 7 tầng:
Tầng vật lý.
Theo định nghĩa của ISO, tầng vật lý cung cấp các phương tiện điện, cơ,chức năng thủ tục để kích hoạt, duy trì và đình chỉ liên kết vật lý giữa các hệ thống.
Ở đây thuộc tính điện liên quan đến sự biểu diễn các bit và tốc độ truyền các bit, thuộc tính cơ liên quan đến các tính chất vật lý của giao diện với một đường truyền( kích thước, cấu hình). Thuộc tính chức năng chỉ ra các chức năng được thực hiện bởi các phần tử của giao diện vật lý, giữa một hệ thống và đường truyền và thuộc tính thủ tục liên quan đến giao thức điều khiển việc truyền các xâu bit qua đường truyền vật lý.
Khác với các tầng khác, tầng vật lý là tầng thấp nhất giao diện với đường truyền khơng cĩ PDU cho tầng vật lý, khơng cĩ phần header chứa thơng tin điều khiển(PCI), dữ liệu được truyền đi theo dịng bit. bởi giao thức cho tầng vật lý khơng xuất hiện với ý nghĩa giống như đối với các tầng khác.
Tầng liên kết dữ liệu.
Tầng liên kết dữ liệu cung cấp các phương tiện để truyền thơng qua liên kết vật lý đảm bảo tin cậy thơng qua liên kết vật lý đảm bảo tin cậy thơng qua các cơ chế đồng bộ hố, kiểm sốt lỗi và kiểm sốt luồng dữ liệu.
Tầng mạng.
Cấu trúc tầng mạng được nhiều chuyên gia đánh giá là phức tạp nhất trong các tầng của mơ hình OSI. Tầng mạng cung cấp các phương tiện để truyền các đơn vị dữ liệu qua mạng, thậm chí qua một mạng của các mạng. Bởi vậy nĩ cần phải đáp ứng nhiều kiểu mạng và nhiều kiểu dịch vụ cung cấp bởi các mạng khác nhau. Các dịch vụ và giao thức cho tầng mạng là phải phản ánh được tính phức tạp đĩ. Hai chức năng chính của tầng mạng là chọn đường và chuyển tiếp.
Tầng giao vận.
Trong mơ hình OSI người ta phân biệt 4 tầng thấp và ba tầng cao. Các tầng thấp quan tâm đến việc truyền dữ liệu giữa các hệ thống cuối qua phương tiện truyền thơng, cịn các tầng cao tập trung đáp ứng các yêu cầu và các ứng dụng của người sử dụng. Tầng giao vận là tầng cao nhất của nhĩm các tầng thấp , mục đích của nĩ là cung cấp các dịch vụ truyền dữ liệu sao cho các chi tiết cụ thể của phương tiện truyền thơng được sử dụng ở bên dưới trở nên trong suốt đối với các tầng cao. Nĩi cách khác, cĩ thể hình dung tầng giao vận như là một “bức màn” che phủ tồn bộ các hoạt động ở các tầng thấp bên dưới nĩ. Từ đĩ, nhiệm vụ của tầng giao vận rất phức tạp. Nĩ phải được tính đến khả năng một phạm vi rất rộng các đặc trưng của mạng . Chẳng hạn, một mạng cĩ thể là cĩ liên kết hoặc khơng liên kết, cĩ thể là tin cậy hoặc chưa đẳm bảo tin cậy,… Nĩ phải biết được yêu cầu về chất lượng dịch vụ của người sử dụng đồng thời cũng phải biết được khả năng cung cấp các dịch vụ của mạng bên dưới. Chất lượng của các dịch vụ mạng tuỳ thuộc vào loại mạng khả dụng cho tầng giao vận và cho người sử dụng cuối.
Tầng phiên.
Tầng phiên là tầng thấp nhất trong nhĩm các tầng cao và nằm ở ranh giới giữa hai nhĩm tầng nĩi trên. Mục tiêu của nĩ là cung cấp cho người sử dụng cuối các chức năng cần thiết để quản trị các phiên ứng dụng của họ, cụ thể là:
Điều phối việc trao đổi dữ liệu giữa các ứng dụng bằng cách thiết lập và giải phĩng một cách logic các phiên hay cịn gọi là các hội thoại.
Cung cấp các điểm đồng bộ hố để kiểm sốt việc trao đổi dữ liệu.
Áp đặt các quy tắc cho các tương tác giữa các ứng dụng của người sử dụng.
Cung cấp cơ chế “lấy lượt” trong quá trình trao đổi dữ liệu. Việc trao đổi dữ liệu cĩ thể thực hiện theo một trong 3 phương thức:
Hai chiều đồng thời. Hai chiều luân phiên. Một chiều.
Với phương thức hai chiều đồng thời, cả hai bên đều cĩ thể đồng thời gửi dữ liệu đi. Một khi phương thức này đã được thỏa thuận thì khơng địi hỏi phải cĩ nhiệm vụ quản trị tương tác đặc biệt nào đĩ. Cĩ lẽ đây là phương thức hội thoại phổ biến nhất. Trong trường hợp hai chiều luân phiên thì nảy sinh vấn đề: hai người sử dụng phiên” lấy lượt” để truyền dữ liệu. Một ví dụ điển hình của phương thức này là dùng cho các ứng dụng hỏi /đáp. Thực thể tầng phiên duy trì tương tác luân phiên bằng cách báo cho người sử dụng khi đến lượt họ được truyền dữ liệu.
Trường hợp một chiều nĩi chung ít xảy ra, ví dụ điển hình là dữ liệu được gửi tới một người sử dụng tạm thời khơng làm việc, chỉ cĩ một chương trình nhận với nhiệm vụ duy nhất là tiếp nhận dữ liệu đến và lưu giữ lại. Chuẩn của ISO khơng xét đến phương thức này.
Vấn đề đồng bộ hố trong tầng phiên được thực hiện tương tự như cơ chế điểm kiểm tra/ phục hồi trong một hệ quản trị tệp. Dịch vụ này cho phép người sử dụng xác định các điểm đồng bộ hố trong dịng dữ liệu và cĩ thể khơi phục việc hội thoại bắt đầu từ một trong các điểm đĩ.
Một trong những chức năng quan trọng nhất của tầng Phiên là đặt tương ứng các liên kết phiên với các liên kết giao vận. Ở một thời điểm cho trước , tồn tại một ánh xạ giữa các liên kết phiên và các liên kết giao vận. Tuy nhiên vịng đời của các liên kết phiên và giao vận cĩ thể khác nhau.
Tầng trình diễn.
Mục đích của tầng trình diễn là đảm bảo cho các hệ thống cuối cĩ thể truyền thơng cĩ kết quả ngay cả khi chúng sử dụng các biểu diễn dữ liệu khác nhau. Để đạt được điều đĩ nĩ cung cấp một biểu diễn chung để dùng trong truyền thơng và cho phép chuyển đổi từ biểu diễn cục bộ sang biểu diễn chung đĩ.
Tồn tại 3 dạng cú pháp thơng tin được trao đổi giữa các thực thể ứng dụng ,đĩ là : cú pháp dùng ứng dụng thực thể nguồn, cú pháp dùng bởi thực thể ứng dụng đích và cú pháp được dùng giữa các thực thể tầng trình diễn . Loại cú pháp sau gọi là cú pháp truyền. Cĩ thể cả 3 hoặc một cặp nào đĩ trong các cú pháp trên là giống nhau. Tầng trình diễn đảm nhiệm việc chuyển đổi biểu diển của thơng tin giữa cú pháp truyền và mỗi một cú pháp kia khi cĩ yêu cầu. Lưu ý rằng khơng tồn tại một cú pháp truyền xác định trước duy nhất cho mọi hoạt động trao đổi dữ liệu. Cú pháp truyền được sử dụng trên một liên kết cụ thể của tầng trình diễn phải được thương lượng giữa các thực thể trình diễn tương ứng. Mỗi bên lựa chọn một cú pháp truyền sao cho cĩ thể sẵn sàng được chuyển đổi sang cú pháp người sử dụng và ngược lại. Ngồi ra, cú pháp truyền được chọn phản ánh các yêu cầu dịch vụ khác, chẳng hạn như nhu cầu nén dữ liệu. Việc thương lượng cú pháp truyền được tiến hành trong giai đoạn thiết lập một liên kết và cú pháp truyền sử dụng cĩ thể được thay đổi trong vịng đời của liên kết đĩ. Tầng trình diễn chỉ liên quan đến cú pháp truyền vì thế trong giao thức sẽ khơng quan tâm đến các cú pháp sử dụng bởi các thực thể ứng dụng. Tuy nhiên, mỗi thực thể trình diễn phải chịu trách nhiệm chuyển đổi giữa cú pháp của người sử dụng và cú pháp truyền.
Trước khi đi vào các chuẩn ISO về dịch vụ và giao thức của tầng trình diễn, chúng ta xét kỹ khái niệm liên quan đến bối cảnh của tầng trình diễn được chỉ ra trong hình Hình A. Bối cảnh tầng trình diễn Application Entity Application Entity Presentation Entity Presentation Entity Application protocol (Abstract Syntax) Presentation Data request Presentation Data indication
(Abs Syntax) (Abs Syntax)
Presentation protocol
(Negotiation of Tranfer Syntax Data tranfer)
Session Data request Session Data indication (Bytes) (Bytes)
Khi qua ranh giới giữa hai tầng trình diễn, tầng Phiên cĩ một sự thay đổi quan trọng trong cách nhìn dữ liệu. Đối với tầng phiên trở xuống, tham số User data trong các service primitive được đặc tả dưới dạng nhị phân. Giá trị này cĩ thể được đưa trực tiếp trong các SDU( Service Data Unit) để chuyển đổi giữa các tầng trong một hệ thống và trong các PDU (Protocol data Unit) để chuyển giữa các tầng đồng mức ở hai hệ thống kết nối với nhau. Tuy nhiên tầng ứng dụng lại liên quan chặt chẽ với cách nhìn dữ liệu của người sử dụng. Nĩi chung, cách nhìn đĩ là một tập thơng tin cĩ cấu trúc nào đĩ, như là văn bản trong một tài liệu, một tệp về nhân sự, một cơ sở dữ liệu tích hợp hoặc một hiển thị của thơng tin videotext. Người sử dụng chỉ liên quan đến ngữ nghĩa của dữ liệu. Do đĩ tầng trình diễn ở giữa cĩ nhiệm vụ phải cung cấp các phương thức biểu diễn dữ liệu và chuyển đổi thành các giá trị nhị phân dùng cho các tầng dưới- nghĩa là tất cả những gì liên quan đến cú pháp của dữ liệu.
Tuy nhiên trong thực tế khơng thể tách bạch hồn tồn giữa cú pháp và ngữ nghĩa của dữ liệu. Nếu tầng ứng dụng khơng biết gì về cú pháp cịn tầng trình diễn khơng biết gì về ngữ nghĩa thì khơng thể nào hồn tất được việc kết hợp ngữ nghĩa với cú pháp dùng để tạo ra một biểu diễn cụ thể các giá trị dữ liệu cho một dịch vụ phiên.
Cách tiếp cận của ISO về việc kết hợp giữa ngữ nghĩa và cú pháp dữ liệu là như sau. Ở tầng ứng dụng thơng tin được biểu diển dưới dạng một cú pháp trừu tượng liên quan đến các kiểu dữ liệu và giá trị dữ liệu. Cú pháp trừu tượng này đặc tả một cách hình thức dữ liệu, độc lập với mọi biểu diễn cụ thể.
Do vậy, một cú pháp trừu tượng cĩ nhiều điểm giống với các khía cạnh định nghĩa kiểu dữ liệu trong các ngơn ngữ lập trình qui ước như: Pascal, C.Ada,… và các ngữ pháp như:BNF(Backus-Naur-Form). Các giao thức tầng ứng dụng mơ tả các PDU của chúng bằng một cú pháp trừu tượng. Tầng trình diễn tương tác với tầng ứng dụng cũng dựa trên cú pháp trừu tượng này. Tầng trình diễn cĩ nhiệm vụ dịch thuật giữa cú pháp trừu tượng của tầng ứng dụng và một cú pháp truyền mơ tả các giá trị dữ liệu dưới dạng nhị phân- thích hợp cho việc tương tác dịch vụ phiên. Việc dịch thuật này được thực hiện nhờ các quy tắc mã hĩa chỉ rõ biểu diễn của mỗi giá trị dữ liệu thuộc một kiểu dữ liệu nào đĩ. Trước khi sử dụng một liên kết tầng trình diễn để trao đổi dữ liệu thì hai thực thể trình diễn ở hai đầu phải thoả thuận về cú pháp truyền. Sau khi cú pháp truyền đã được chọn thì tổ hợp cú pháp trừu tượng và cú pháp truyền được xem là bối cảnh trình diễn được dùng để trao đổi dữ liệu.
Hai yêu cầu cơ bản để lựa chọn một cú pháp truyền là nĩ phải yểm trợ cú pháp trừu tượng tương ứng. Ngồi ra ,cú pháp truyền cĩ thể cĩ các thuộc tính khác khơng liên quan gì đến cú pháp trừu tượng mà nĩ yểm trợ.
Tầng ứng dụng
Tầng ứng dụng là ranh giới giữa mơi trường kết nối các hệ thống mở và các tiến trình ứng dụng .Các tiến trình ứng dụng sử dụng mơi trường OSI để trao đổi dữ liệu trong quá trình thực hiện của chúng. Là tầng cao nhất trong mơ hình OSI 7 tầng, tầng ứng dụng cĩ một số đặc điểm khác với tầng dưới nĩ. Trước hết, nĩ khơng cung cấp các dịch vụ cho một tầng trên như trong trường hợp của các tầng khác. Theo đĩ , tầng ứng dụng khơng cĩ khái niệm điểm truy cập dịch vụ tầng ứng dụng.
ISO định nghĩa một tiến trình ứng dụng là” một phần tử ở trong một hệ thống mở thực hiện việc xử lý thơng tin cho một ứng dụng cụ thể”.Các tiến trình ứng dụng thuộc các hệ thống mở khác nhau muốn trao đổi thơng tin phải thơng qua tầng ứng dụng. Tầng ứng dụng bao gồm các thực thể ứng dụng, các thực thể này dùng các giao thức ứng dụng và các dịch vụ trình diễn để trao đổi thơng tin. Như vậy các thực thể ứng dụng cung cấp các tiến trình ứng dụng các phương tiện cần thiết để truy cập mơi trường OSI. Tuy nhiên, tầng ứng dụng chủ yếu chỉ giải quyết vấn đề ngữ nghĩa chứ khơng giải quyết vấn đề cú pháp như tầng trình diễn.
CHƯƠNG V. NGƠN NGỮ PL/SQL.
I. Tổng quan về Procedure Language/Structured Query Language(PL/SQL).
PL/SQL cĩ nhiều ưu điểm so với ngơn ngữ lập trình khác về mặt quản lý logic và hỗ trợ các quy luật hoạt động của các ứng dụng cơ sở dữ liệu. Đĩ là