TỔNG QUAN

Một phần của tài liệu Đồ án tốt nghiệp nghiên cứu dịch vụ wep (Trang 49 - 83)

3. Cấu trúc luận văn

3.1. TỔNG QUAN

Những mẫu tương tác như điều khiển sự kiện (Event-driven) hay những mẫu dựa trên nền thông báo (Notifications-based) thường sử dụng trong truyền thông liên đối tượng. Những ví dụ tồn tại trong nhiều lĩnh vực, cho ví dụ như hệ thống publish/subscribe đựơc cung cấp bởi những nhà cung cấp phần trung gian hướng thông điệp (Message Oriented Middleware), hoặc trong những lĩnh vực quản lý hệ thống và thiết bị. Mẫu thông báo này đang ngày càng được sử dụng trong Web service.

WS-Notification là một họ những đặc tả cách tiếp cận chuẩn Web service với những thông báo sử dụng một mẫu publish/subscribe dựa trên đề tài. Nó bao gồm: những sự trao đổi thông điệp chuẩn được thi hành bởi những nhà cung cấp dịch vụ mà muốn tham gia vào những thông báo, những sự trao đổi thông điệp tiêu chuẩn do một nhà môt giới thông báo cung cấp (cho phép công bố những thông điệp từ những thực thể mà bản thân nó không phải là những nhà cung cấp dịch vụ), những yêu cầu dùng cho các hoạt động muốn những nhà cung cấp dịch vụ và những người yêu cầu tham dự vào những thông báo, và một mô hình XML để mô tả những đề tài. Trong phần này ta sẽ tìm hiểu về những giao diện Web service cho người tiêu dùng và những nhà sản xuất thông báo. Nó bao gồm những sự trao đổi thông điệp chuẩn được thực thi bởi những nhà cung cấp dịch vụ muốn hoạt động trong vai trò này. Đây là những đặc tả cơ sở để những tài liệu đặc tả WS- Notification khác dựa vào để phát triển. Một khách hàng hay người tiêu dùng có thể được đăng ký để nhận thông báo trực tiếp từ nhà sản xuất, vì vậy một người tiêu dùng chỉ hướng tới thứ mình quan tâm, thông báo chỉ cần đọc đặc tả WS- Notification này, cùng với những thứ bổ xung sẽ được tìm thấy trong tài liệu thông báo PUBLISH-SUBSCRIBE của Web service.

Hình 3.1: Quá trình truyền thông báo tới người tiêu dùng

Một nhà sản xuất thông báo chấp nhận đầu vào của một yêu cầu đăng ký, mỗi yêu cầu đăng ký xác định một hoặc nhiều đề tài quan tâm và, một sự tham khảo đến người tiêu dùng. Nhà sản xuất thông báo duy trì một danh sách những đăng ký (mỗi mục đăng ký bao gồm những đề tài, một sự tham khảo tới khách hàng và khả năng bổ xung thông tin). Khi có một thông báo được phân phối, nhà sản xuất thông báo sẽ xem những thông báo có trái ngược với đăng ký không. Nếu nó xác định là khớp nó sẽ phát hành những thông báo mà liên quan tới người tiêu dùng đã đăng ký.

Đặc tả này cho phép sử dụng ngôn ngữ đa dạng khi đề cập tới bất kỳ đề tài nào.

Những đặc tả đang được phát triển bởi OASIS (the Organization for the Advancement of Structured Information Standards).

Chủ ý của WS-NOTIFICATION là định nghĩa một tập hợp miễn phí tiền bản quyền, sự liên quan, khả năng tương tác, và những modul đặc tả mà cho phép mẫu thông báo sẽ được làm mẫu bằng một kiểu cách rõ ràng và được tiêu chuẩn hóa.

Những tài liệu của WS-Notification bao gồm: WS- Base Notification, WS- Brokered Notification, và WS-Topics:

- Đặc tả WS-Base Notification định nghĩa những giao diện Web service cho nhà sản xuất và khách hàng sử dụng những thông báo. Nó bao gồm những sự trao đổi

thông điệp chuẩn sẽ được thực thi bởi dịch vụ của những nhà cung cấp mà muốn đóng vai trò này, cùng với những yêu cầu hoạt động được chờ đợi từ chúng. Đây là một tài liệu cơ sở để những những tài liệu đặc tả WS-NOTIFICATION dựa vào để phát triển. Vấn đề này sẽ được trình bày trong phần 3.2.

- Những đặc tả WS-Topics định nghĩa một cơ chế để những tổ chức và những tin tức phân loại những mục quan tâm để đăng ký và được biết đến như những đề tài (topics). Điều đó được sử dụng trong sự kết nối với cơ chế thông báo định nghĩa WS- Base Notification. WS-Topics chỉ rõ một mô hình XML để mô tả dữ liệu biến đổi có những liên hệ với những topic, và nó định nghĩa biểu thức đề tài nào đó những phương ngữ mà có thể được sử dụng để tham chiếu tới chúng. Được trình bày trong phần 3.3.

- Đặc tả WS- BrokeredNotification định nghĩa những giao diện Web service cho nhà môi giới thông báo, một nhà môi giới thông báo là một cái gì đó trung gian, cho phép sự công bố những thông điệp từ những thực thể mà tự chúng không phải là những nhà dịch vụ. Nó bao gồm chuẩn những trao đổi thông điệp sẽ thực thi bởi những nhà cung cấp môi giới thông báo cùng với những yêu cầu hoạt động được trông đợi của những nhà cung cấp dịch vụ và những người yêu cầu mà can dự vào trong một sự môi giới thông báo.

Nếu người thêu bao và nhà cung cấp đang sử dụng một sự liên kết Web service chung ví dụ như SOAP (simple Object Access Protcol)/HTTP (HyperText Transfer Protocol) và có khả năng liên kết mạng phù hợp, chúng nói chung có thể cùng hoạt động cho dù chúng được thiết kế bởi những người khác nhau và chạy trong những tổ chức khác nhau trên những lục địa khác nhau.

Để minh họa cho những khía cạnh của những đặc tả WS-Notification, sử dụng hai ví dụ. Đầu tiên là buôn bán cổ phiếu mà trong đó dịch vụ thanh toán cổ phiếu được

cung cấp một số ứng dụng trong thương mại cổ phiếu. Dịch vụ thanh toán cổ phiếu cung cấp một dòng thông điệp chỉ báo một sự thay đổi của giá cả trong buôn bán cổ phiếu hay một tài liệu chính thức ‘pháp lý’. Những ứng dụng thương mại (có khả năng tự động hóa, khả năng lôi kéo người tham ra mua bán) nhận được thông điệp này và phản ứng với chúng. Ví dụ thứ hai từ hệ thống quản lý máy in, nơi mà nhưng tổ chức đã triển khai những phẩn mềm quản lý máy in để quản lý và theo dõi những máy in mà họ sở hữu. Những máy in ở trong những tổ chức phát sinh những sự kiện khi họ bắt gặp một hoàn cảnh đặc biệt, cả bình thường và không bình thường, và điều này được theo dõi bởi một phần mềm quản lý máy in.

3.2. WS-Base Notification

Hình 3.2 miêu tả những thành phần chính của đặc tả WS- Base Notification. Cũng được miêu tả trong hình này là sự tương tác (cùng với phương hướng) của những thành phần này với những thành phần khác. Trong WS- Base Notification, một người thuê báo đăng ký một người tiêu dùng với một nhà sản xuất, chúng lần lượt bao gồm những thông tin quản lý đăng ký trong sự đáp lại của chúng. Những khách hàng có thể tạm dừng và phục hồi lại đăng ký, sẽ không có một thông báo nào được chuyển giao trong khi đăng ký ở trạng thái tạm dừng.

Sự phục hồi lại những đăng ký sau khi tạm dừng có thể bắt buộc phải xem lại tất cả những thông báo mà xuất hiện trong thời gian chuyển tiếp. Sau khi ngắt kết nối, nhờ có một thời gian chết được ghi trong danh mục hoặc tình trạng không hoạt động, một người tiêu dùng có thể cũng phục hồi lại thông báo cuối cùng được phát đi bởi nhà sản xuất. Cuối cùng, thông báo từ nhà sản xuất được phát đi trực tiếp tới người tiêu dùng.

Trong WS-Notification mỗi đăng ký được xem xét như một tài nguyên (phù hợp hơn là một Web Service-Resource ). Một người tiêu dùng có thể sử dụng Web Service-ResourceLifetime hoặc WS-ResourceProperties để quản lý thời gian tồn tại và thuộc tính liên quan tới những đăng ký này.

WS-Base Notification cung cấp nền tảng cho một họ những đặc tả WS- Notification. Nó định nghĩa những vai trò cơ bản và trao đổi những thông điệp cần phải biểu thị trong mẫu thông báo. Những đặc tả có thể được sử dụng như nó là một thỏa hiệp, hoặc nó có thể được sử dụng để kết hợp với những đặc tả WS-Topics và WS-Brokered Notification trong những kịch bản phức tạp hơn.

Hình 3.3 minh họa một kịch bản là sự buôn bán cổ phiếu, một kich bản đơn giản một-nhiều, bao gồm thông báo trực tiếp; đó là nhà sản xuất, dịch vụ thanh toán cổ phiếu, cũng đảm nhận vai trò của nhà xuất bản.

Hình 3.3: Thông báo trực tiếp với một nhà cung cấp và nhiều khách hàng

Hình 3.4 minh họa kịch bản quản lý máy in, chúng bao gồm thông báo trực tiếp với nhiều nhà sản xuất và một người tiêu dùng đơn. Có một nhà sản xuất thông báo, Web service đại diện cho mỗi máy in trong một ban hay tổ chức và một chương trình quản lý theo dõi các máy in và đóng vai người tiêu dùng. Mỗi máy in có một tập hợp những trạng thái (offline, in ấn, giấy ra khỏi, giấy bị kẹt…) và phát sinh những thông báo khi nó thay đổi trạng thái. Ứng dụng kiểm tra những đăng ký tới mỗi máy in trong ban. Sau đó nó có thể theo dõi trạng thái của từng máy in bằng việc nhận được một thông báo từ máy in đó khi trạng thái của nó thay đổi, hơn là phải liên tục thăm dò mỗi máy in.

Hình 3.4: Thông báo trực tiếp với nhiều nhà cung cấp và môt khách hàng

Một vài Web service có thể đóng vai trò như một nhà sản xuất thông báo, nhưng để mà làm việc được nó phải đối mặt với một số yêu cầu bên dưới, ngoài ra một vài giao diện và chức năng khác mà nó có thể cung cấp:

- Nó phải hỗ trợ sự trao đổi thông điệp thuê bao được định nghĩa bởi WS- Base Notification.

- Nó phải gửi một thông báo tới mỗi người tiêu dùng mà đã có một đăng ký, được đăng ký với nó mỗi khi nó có một thông điệp phân phát và những điều kiện lọc được biểu thị trong đăng ký được thỏa mãn.

Ngoài ra nó có thể hỗ trợ một sự trao đổi thông điệp mà cho phép dịch vụ khác xác định một tập hợp những đề tài mà được hỗ trợ bởi nhà sản xuất thông báo. Sẽ thảo luận vấn đề này trong phần sau “WS-Topics.”.

Yêu cầu đầu tiên mà đặc tả Web Services Difinition Language (WSDL) phải bao gồm trong định nghĩa portType của nó là một thao tác mà chứa những yêu cầu thuê bao và những thông điệp hồi đáp được định nghĩa bởi WS- Base Notification. Đặc tả cung cấp một giản đồ XML mà định nghĩa những thông báo như những phần tử chung trong không gian tên và như một thuận tiện cung cấp một định nghĩa WSDL portType mà chúng sử dụng.

Hình 3.5 cho thấy sự trao đổi thông báo mà giữ lấy vị trí khi một thuê bao tạo một đăng ký và khi nhà sản xuất thông báo gửi đi một vài thông điệp thông báo tới người tiêu dùng. Người thuê bao gửi đi một thông điệp yêu cầu thuê bao tới nhà sản xuất thông báo. Đây là một hiệu ứng “điều khiển thông điệp” khuôn dạng của chúng được định nghĩa bởi đặc tả WS- Base Notification. Thông điệp yêu cầu bao gồm địa chỉ của người tiêu dùng, được mã hóa như một tham chiếu điểm kết thúc (endPoint reference ) được định nghĩa bởi WS-Addressing. Yêu cầu có thể cũng bao gồm cả những biểu thức lọc để ép buộc kiểu của thông báo mà đăng ký đó bao chùm. Trong sự đáp lại tới thông điệp nàym nhà sản xuất thông báo tạo một tài nguyên đăng ký và gửi đi một hồi đáp cho thuê bao chúng chứa đựng endPoint reference khác. EndPoint reference này tham chiếu tới chính đăng ký đó.

Hình 3.5: Luồng thông điệp: tạo một đăng ký, thông báo tới người tiêu dùng

Vào một lúc nào đó, nhà sản xuất thông báo có thể sẽ phát hiện ra một hoàn cảnh và phát hành một thông báo.

WS-Notification cho phép nhà sản xuất thông báo gửi đi thông điệp thông báo vào một trong số hai khuôn dạng như sau:

- Nó có thể sử dụng một ứng dụng chuyên biệt để trao đổi thông điệp một chiều, đựơc định nghĩa như một phần của portType người tiêu dùng. Trong ví dụ máy in, ứng dụng điều khiển có thể hỗ trợ một số thông điệp đặc trưng của máy in, một cho sự bận rộn, một cho lỗi…

- Nó có thể sử dụng định dạng thông điệp thông báo được định nghĩa bởi WS- Base Notification. Đây là một phong bì hay một gói mà định dạng thông điệp. Nó chứa thông điệp ứng dụng đặc trưng cùng với thông tin điều khiển khác, cũng như endPoint reference của đăng ký. Định dạng của thông điệp thông báo cho phép nhà sản xuất thông báo đóng gói một vài thông điệp mức ứng dụng vào trong một thông điệp Web service đơn.

Người thuê bao có thể đính kèm một “chính sách” vào yêu cầu đăng ký để chỉ ra cho nhà sản xuất thông báo là để sử dụng cho đăng ký đặc biệt.

WS- Base Notification không chỉ rõ chi tiết những thể hiện thông điệp thông báo được tạo ra như thế nào và không định nghĩa bất kỳ giao diện nào giữa một nhà xuất bản và nhà sản xuất thông báo. Cho tận đến những đặc tả có liên quan, cái này ẩn sau giao diện nhà sản xuất thông báo. Nó thích hợp vì bản thân Web service nhà sản xuất thông báo cũng đảm nhận trách nhiệm cho những thông báo thích ứng tới danh sách đăng ký của nó và để gửi những sao chép của thông điệp tới đúng người tiêu dùng có liên quan. Như một sự lựa chọn, dịch vụ của nhà sản xuất có thể ủy thác công việc này cho bất kỳ một thực thể nào khác, chẳng hạn những lớp tiện ích được cung cấp bởi ứng dụng của máy phục vụ mà đang tiêu khiển nó hay một dịch vụ môi giới thông báo tách biệt. Sẽ thảo luận về những nhà môi giới ở phần sau.

3.2.1 Sự lọc đăng ký

Mẫu đơn giản nhất của thông điệp yêu cầu thuê bao chỉ chứa một endPoint reference cho một người tiêu dùng. Mẫu yêu cầu này chỉ dẫn cho nhà sản xuất thông báo gửi từng cái và mọi thông báo mà nó sản xuất tới người tiêu dùng. Điều này thỏa mãn nếu nhà sản xuất chỉ sản xuất một giới hạn sự đa dạng của thông báo (ví dụ như, nếu nó chỉ phát hiện ra một cách thức đơn của hoàn cảnh), nhưng trong nhiều trường hợp phức tạp hơn nó sẽ có những bất lợi như sau:

- Nó là một sự sử dụng tài nguyên không có hiệu quả, nó gửi đi một thông điệp mà người tiêu dùng không quan tâm đến.

- Người tiêu dùng có lẽ không có khả năng để hiểu khuôn dạng của một thông điệp nhất định. Trong khi một nhà sản xuất có lẽ đã thêm sự hỗ trợ những kiểu thông báo mới để sử dụng cho những người tiêu dùng khác. Người tiêu dùng gốc không thể xử lý những thông báo mới này một cách thành công.

- Nhà sản xuất có lẽ muốn kiểm soát sự truy cập tới những thông tin trong một số những thông báo của nó, trong khi cho phép sự truy cập tới những cái khác.

Để gửi những mối quan tâm, những thông điệp yêu cầu thuê bao có thể chọn sự chứa đựng một hay nhiều những biểu thức lọc. Một biểu thức lọc chỉ ra những kiểu của thông báo mà người tiêu dùng yêu cầu bằng cách hạn chế những loại thông báo mà sẽ gửi cho đăng ký này. Điều này dựa trên cơ sở đăng ký; một nhà sản xuất thông báo đã định sẵn có thể có vài đăng ký hoạt động, mỗi cái với những biểu thức lọc khác nhau. Hơn nữa, một người tiêu dùng có thể là đích của nhiều đăng ký, từng cái với những biểu thức lọc khác nhau.

WS- Base Notification định nghĩa ba loại biểu thức lọc như sau:

- Lọc những đề tài: cung cấp một cách tiện lợi những sự phân loại những kiểu thông báo. Một bộ lọc đề tài loại trừ tất cả những thông báo mà chúng không tương ứng với đề tài xác định.

- Lọc thông điệp: đây là một biểu thức đại số Boolean được đánh giá qua nội

Một phần của tài liệu Đồ án tốt nghiệp nghiên cứu dịch vụ wep (Trang 49 - 83)

Tải bản đầy đủ (DOC)

(83 trang)
w