Nghiên cứu kiến trúc hướng dịch vụ và đối tượng - 6 docx

27 315 0
Nghiên cứu kiến trúc hướng dịch vụ và đối tượng - 6 docx

Đ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

Trang 115 6.3.3.3 Web Service Choreography Interface (WSCI) WSCI ngơn ngữ tựa XML, xây dựng nhằm mục đích mơ tả q trình tương tác dịch vụ, cụ thể trình vận chuyển luồng thơng điệp, bối cảnh tiến trình xử lý WSCI xem phần mở rộng ngôn ngữ WSDL (Web Service Description Language) Nếu như, ngôn ngữ WSDL dừng việc mô tả thông tin “tĩnh” web service (tên phương thức, loại thơng điệp trao đổi) WSCI định nghĩa thêm khái niệm để mô tả cho việc kết hợp phương thức, qui định gọi thực phương thức, điều khiển luồng trao đổi thông điệp, cách xử lý lỗi q trình tương tác Hình 6-19 – Một ví dụ luồng thông điệp tương tác service WSCI ngôn ngữ hỗ trợ đặc tả tiến trình theo phương pháp choreography Nó mơ tả, theo vết thông điệp trao đổi dịch vụ tham gia Một đặc trưng WSCI mơ tả thành phần nhìn thấy q tình tương tác, thơng điệp Và khơng quan tâm đến việc định nghĩa tiến trình thực thi, hay nói khơng định nghĩa cách tổng thể tồn qui trình xử lý, mà sử dụng đến hỗ trợ ngơn ngữ khác Business Process Management Language (BPML) để làm việc Nếu hai dịch vụ có tương tác với WSCI định nghĩa hai thành phần giao tiếp tương ứng để hỗ trợ trình trao đổi thơng điệp Theo minh họa Hình 6-20 ta thấy rằng, số lượng dịch vụ tương tác với lớn, số thành phần giao tiếp định nghĩa tăng thêm nhiều Trang 116 Hình 6-20 – Minh họa Web Service Cherography Interface Một số khái niêm WSCI: • Thành phần giao tiếp: ► Thành phần giao tiếp định nghĩa mối liên kết, qui cách trao đổi thông điệp trình tương tác web service • Xử lý: ► Xử lý sở: mô tả tác vụ tiến trình: gởi thơng điệp, nhận thông điệp, chờ khoảng thời gian… ► Xử lý phức tạp: tác vụ phức tạp, hay cịn gọi ‘có cấu trúc’, chứa xử lý sở • Thuộc tính: ► Đây cách dùng để tham chiếu đến yếu tố thành phần giao tiếp • Ngữ cảnh: ► Mô tả môi trường mà xử lý thực thi • Lưu vết thông điệp: ► Cơ chế đảm bảo cho việc trao đổi liệu cách đắn Vì thời điểm, hai dịch vụ thực nhiều tương tác, cần đảm bảo thông điệp gởi/nhận bối cảnh Trang 117 Hình 6-21 – Một tiến trình mơ tả WSCI 6.3.3.4 Business Process Execution Language For Web Service (BPEL4WS) Việc kết hợp cách có hiệu dịch vụ hỗ trợ nhiều việc tích hợp hệ thống Điều thật cần thiết bối cảnh phát triển cộng đồng công nghệ thông tin ngày nay, mà xuất ngày nhiều tảng, công nghệ Và vấn đề mở rộng hệ thống có, tích hợp thêm hệ thống để tiếp cận lợi ích, thành tựu công nghệ trở nên vấn đề cấp bách giành nhiều quan tâm Điều thể rõ đời ngôn ngữ BPEL4WS (Business Process Execution Language For Web Service), với hỗ trợ phát triển công ty lớn Microsoft, IBM, Siebel Systems, BEA, SAP Và trở thành ngôn ngữ chuẩn việc đặc tả tiến trình để tạo dịch vụ tích hợp Trang 118 Tổng quan ngôn ngữ BPEL4WS BPEL4WS xây dựng dựa ngôn ngữ WSFL (Web Service Flow Language) IBM ngơn ngữ XLANG Microsoft Vì kế thừa tính trội hai ngơn ngữ (tính có cấu trúc XLang khả mơ hình hóa WSFL ) BPEL4WS hỗ trợ tạo hai loại tiến trình: • Tiến trình trừu tượng: đưa qui tắc trao đổi thông điệp dịch vụ tham gia, không rõ cấu trúc bên thơng điệp • Tiến trình thực thi: xác định rõ trình tự thực xử lý, dịch vụ liên quan, thông điệp trao đổi tương tác, chế bắt lỗi xử lý biệt lệ Đặc tả tiến trình ngơn ngữ BPEL4WS có dạng sơ đồ luồng Mỗi tác vụ tiến trình gọi xử lý Có hai loại xử lý: • Các xử lý bản: ► gọi thực phương thức dịch ► chờ nhận thơng điệp từ đối tượng bên ngồi tiến trình ► gởi thơng điệp đến đối tượng bên ngồi tiến trình ► dừng tiến trình để chờ khoảng thời gian ► chép liệu kho chứa liệu ► thơng báo lỗi q trình xử lý ► kết thúc tiến trình • Các xử lý có cấu trúc: ► điều khiển xử lý bên thực cách ► điều khiển xử lý bên thực cách song song ► lặp lại xử lý điều kiện lặp thỏa ► chọn lựa xử lý cần thực dựa theo điều kiện Trang 119 ► chờ nghe kiện thực xử lý tương ứng ► điều khiển trình tự thực xử lý khối (nếu có nhu cầu) Hình 6-22 – Một tiến trình đặc tả ngơn ngữ BPEL Một số mẫu luồng xử lý BPEL4WS WP1: Sequence • Mơ tả: xử lý kích hoạt sau xử lý trước hồn thành • Giải pháp: mẫu hỗ trợ sẵn xử lý có cấu trúc WP2: Parallel Split • Mơ tả: thời điểm đó, luồng xử lý tách thành nhiều luồng khác thực song song, giúp cho xử lý thực thi song song theo thứ tự • Giải pháp: (xem giải pháp WP3) WP3: Synchronization • Mơ tả: thời điểm tiến trình mà luồng xử lý khác cần tích hợp lại thành luồng xử lý đơn Vì thế, ta cần quan tâm đến việc đồng luồng Trang 120 • Giải pháp: ► Mẫu WP2 giải cách sử dụng xử lý để bao bọc xử lý cần thực song song ► Nếu không định nghĩa xử lý xử lý bên thực thi lúc ► Nếu thêm xử lý B, ta có WP3: ► Để giải vấn đề, ta sử dụng liên kết: ► Các liên kết dùng để ràng buộc hai xử lý: xử lý nguồn xử lý đich Khi xử lý nguồn hoàn thành, xử lý đích thực thi ► Nếu xử lý xử lý đích nhiều liên kết định xử lý được kích hoạt xử lý nguồn hoàn thành (joinCondition=’false’ // mặc định) hay tất xử lý nguồn hồn thành (joinCondition=’true’) Hình 6-23 – Mẫu xử lý WP2 WP3 WP4: Exclusive choice • Mơ tả: Tại thời điểm thực thi tiến trình, tùy theo điều kiện mà định chọn xử lý để thực thi • Giải pháp: (xem giải pháp WP5) Trang 121 WP5: Simple merge • Mơ tả: Tại thời điểm thực thi, có nhiều nhánh điều kiện thỏa để kích hoạt xử lý khác Vậy giải vấn đề đồng để xử lý khơng bị kích hoạt nhiều lần • Giải pháp: giống WP2 WP3, ta có hai giải pháp ► Dùng ► Dùng kết hợp với transitionCondition Một có thêm transitionCondition xử lý nguồn hồn thành, xét thêm transitionCondition Nếu transitionCondition thỏa, xử lý đích kích hoạt Hình 6-24 – Mẫu xử lý WP4 WP5 WP6: Multi-choice • Mơ tả: Tại thời điểm thực thi, tùy theo điều kiện mà số xử lý chọn thực thi lúc • Giải pháp: (xem giải pháp WP7) Trang 122 WP7: Synchronizing merge • Mơ tả: Tại thời điểm thực thi, có nhiều nhánh tích hợp thành luồng đơn Một số nhánh thực thi, số khác khơng Nếu nhánh thực thi, sau nhánh hồn thành xử lý bên kích hoạt Thế nhưng, có nhiều nhánh thực thi vấn đề trở nên phức tạp Ta phải quan tâm đến việc đồng nhánh cho xử lý bên kích hoạt lần, nghĩa sau tất nhánh thực thi hồn thành • Giải pháp: giống giải pháp dùng WP4-5 WP8: Deferred Choice • Mơ tả: thời điểm thực thi, nhánh chọn dựa thơng tin đó, thơng tin chưa xác định thời điểm Trường hợp khác với exclusive choice (WP4) định chọn lựa không thực thời điểm đó, mà phải đợi thơng tin cần có xác định Nói cách khác, định lựa chọn trì hỗn lại có xuất biến cố T Hình 6-25 – Mẫu xử lý WP8 • Giải pháp: Mẫu hỗ trợ BPEL4WS thông qua xử lý T Trang 123 Một số mẫu liên quan đến vấn đề giao tiếp Giao tiếp đồng CP1: REQUEST/REPLY • Mơ tả: Đây dạng giao tiếp đồng bộ, đối tượng gửi yêu cầu đợi nhận trả lời trước tiếp tục xử lý Nội dung trả lời ảnh hưởng đến xử lý thực sau phía gửi • Giải pháp: (xem giải pháp CP2) CP2: ONE-WAY: • Mơ tả: hình thức giao tiếp đồng mà người gửi sau gửi yêu cầu, chờ để nhận xác nhận từ phía bên nhận Vì phía nhận gửi xác minh nhận yêu cầu nên nội dung trả lời coi trống làm chậm đến xử lý sau phía gửi • Giải pháp: hình thức giao tiếp đồng hỗ trợ BPEL4WS thông qua xử lý hay cặp xử lý Hình 6-26 – Mẫu giao tiếp CP1 CP2 CP3: SYNCHRONOUS POLLING: • Mơ tả: dạng giao tiếp đồng bộ, đó, phía gửi sau gửi u cầu khơng dừng lại để chờ, mà tiếp tục xử lý Sau khoảng thời gian, phía gửi kiểm tra xem nhận trả lời chưa? Khi nhận trả lời, xử lý thơng tin trả lời sau tiếp tục cơng việc Trang 124 • Giải pháp: vấn đề giải cách thiết kế hai xử lý Một để chờ nghe trả lời, để tiếp tục thực chuỗi công việc mà không bị lệ thuộc vào nội dung trả lời Giao tiếp bất đồng (Asynchronous Communication) CP4: MESSAGE PASSING: • Mơ tả: dạng hình thức trao đổi bất đồng bộ, đó, phía gửi chuyển u cầu đến phía nhận, sau tiếp tục cơng việc • Giải pháp: vấn đề giải tương tự CP3, khơng có outputVariable Hình 6-27 – Mẫu giao tiếp CP4 Trang 127 Hình 7-2 – Môi trường trao đổi thông điệp SOAP serviceBUS Cơ chế truyền thông điệp ServiceBus xây dựng dựa hỗ trợ thư viện lập trình WSE 2.0 với tính liên quan đến WS-Messaging Kiến trúc tầng WSE 2.0 Messaging cho phép ta xây dựng kênh giao tiếp độc lập dịch vụ đối tượng sử dụng Kênh giao tiếp thực vận chuyển xử lý thơng điệp SOAP Hình 7-3 – Liến kết ServiceBus WSE Messaging Trang 128 7.2.1.2 Các tính ServiceBus ServiceBus có tính sau: • Độc lập với phần xử lý dịch vụ: Tính giúp ta xây dựng hệ thống từ nhiều nguồn khác mà không quan tâm đến phần xử lý bên xây dựng dựa ngôn ngữ hay hệ Điều giúp cho hệ thống ta có tính liên kết cao khả dễ mở rộng • Liên kết dạng loose coupling với KB: Tính thực cần thiết Trong môi trường ngày mật độ xảy thay đổi cao, dẫn đến KB (hệ thông tin tri thức) thay đổi theo Do đó, hệ thống ta chịu ràng buộc vào KB chịu ảnh hưởng thay đổi • Cung cấp dịch vụ boot để thiết lập trạng thái ban đầu cho hệ thống bus: Cơ chế hoạt động dịch vụ boot ta tùy biến cách linh hoạt thơng qua chỉnh sửa KB Với hỗ trợ dịch vụ boot, ta thay đổi trạng thái khởi động ban đầu service bus cần thiết, bao gồm số họat động liên quan đến việc nạp khởi động thành phần khác service bus • Hỗ trợ số lọc chuẩn : Cơ chế lọc đặc điểm bật WSE Messaging Với chế ta thực tùy biến cách linh hoạt cho cách thức xử lý dịch vụ Đồng thời, lọc có nhiều ý nghĩa ý tưởng tái sử dụng chức dùng chung • Cho phép quản lý chế hoạt động bus thông qua KB : Điều có nghĩa chế họat động service bus điều khiển thông qua nội dung KB Như vậy, hệ thống ta linh hoạt hơn, ổn định việc đáp ứng u cầu thay đổi • Hỗ trợ tích hợp với IIS : Các dịch vụ không dùng mơi trường cục bộ, mà có nhu cầu cung cấp chức dịch vụ bên ngồi Khi đó, với tính tích hợp vào IIS xây dựng sẵn, service bus tiếp nhận đáp ứng với yêu cầu từ bên Trang 129 7.2.2 ServiceBus sở tri thức Mỗi serviceBUS bao gồm sở tri thức (KB) - KB tham chiếu đến nhiều KB khác ServiceBus thực chất thư viện liên kết động (DLL), nạp lên tiến trình Cơ sơ tri thức serviceBUS chứa tập tin cấu hình tiến trình < components such as services (managers), filters > KB serviceBUS chứa tag coi entry-point serviceBUS, có thành phần con: • ConfigurationHandlers: ► Trong chứa thơng tin tất xử lý thông tin KB (kế thừa từ IConfigurationSectionHandler) thành phần khác References, Services, Bootstraper Các xử lý thông tin đọc KB (dữ liệu dạng XML) thực khởi tạo ban đầu Trang 130 ► Mỗi thành phần xử lý khai báo sau: Trong đó, “name” tên KB, “type” đường dẫn đến xử lý KB (thực chất thư viện liên kết động - Dll) • References ► Chứa tập hợp mẫu khai báo dịch vụ, thông điệp mà để sau cần sử dụng đến cấu trúc liệu khơng cần khai báo lại, cần thực tham chiếu đến • ServiceBus ► Đây nơi khai báo KB thành phần có serviceBUS (BootStraper, ServiceManager, services, filters…) Với chế này, ta thực bổ sung thêm thành phần vào serviceBUS mà không cần phải viết code để xử lý chuyện Ta cần bổ sung thêm KB thành phần vào xử lý tương ứng cho KB vào 7.2.3 Các thành phần ServiceBus: ServiceBus có thành phần sau: • Dịch vụ ► Các thành phần gắn vào serviceBUS chất dịch vụ Nhưng có chức hay mục đích sử dụng khác mà cịn gọi theo tên gọi khác BootStrapper, ServiceManager… ► Để tạo thành phần này, ta tạo lớp kế thừa từ lớp Processor sau biên dịch để tạo thành thư viện liên kết động (chi tiết lớp Process mô tả chi tiết phần chế hoạt động serviceBUS) Trang 131 ► Các dịch vụ có chung định dạng KB sau: ► Một dịch vụ xác định tên (name); mode hỗ trợ kiểu “SingleCall” (nghĩa với yêu cầu tạo thể để giải quyết, khơng thể lưu trạng thái.), type đường dẫn đến thư viện liên kết động dich vụ ► cho biết thơng tin địa dịch vụ ► , chứa , sử dụng mode=“on” bị vơ hiệu hóa mode=“off” ► cho biết thông tin lọc, bao gồm tên, type đường dẫn đến thư viện liên kết động lọc đó, ref tên tham chiếu đến lọc định nghĩa trước phần References Lưu ý, hai thuộc tính type ref sử dụng ► chứa thêm thông tin cần thiết khác ► liệt kê danh sách mà dịch vụ hỗ trợ ► qui định cấu trúc thông điệp trao đổi với dịch vụ, xác định tên Thuộc tính ref sử dụng định nghĩa phần References Cịn chưa định nghĩa trước đó, phải định nghĩa theo cấu trúc sau: Trang 132 phải địa gửi đến thông qua , phương thức yêu cầu thực dịch vụ Ngồi ra, cịn có bổ sung thêm thơng tin riêng phần ► Một ví dụ KB dịch vụ soap.tcp://localhost:8888/EchoService < soa:Filter name="OpenServices" mode="on" type="SOASuite Filters.OpenServicesInputFilter" /> < soa:OutputFilters mode="on"> soap.tcp://localhost:8888/ServiceBusManager EnableLog true server=abc Trang 133 • Bootstrapper: ► Bootstrapper thành phần lõi serviceBUS ► Cách thức xử lý Bootstrapper mô tả KB ► Tiến trình nạp serviceBUS thực boot serviceBUS cách gọi ServiceBus.Boot() ► Một ví dụ KB BootStrapper soap.tcp://localhost:911/Bootstrapper • Bus Manager: ► Bus Manager thành phần lõi serviceBUS ► Bus Manager thành phần quản lý bus, thực cơng việc thêm service vào bus, gỡ service khỏi bus, quản lý phần Reference ► Một ví dụ KB Bus Manager soap.tcp://localhost:911/ServiceBusManager Trang 134 • Filters: ► Filter cách đóng gói q trình xử lý thơng điệp thành đối tượng chức tái sử dụng ► Các thông điệp SoapEnvelope xử lý lọc theo trình tự định KB dịch vụ ► Các thông điệp SoapEnvelope gửi đến, trước đến dịch vụ xử lý lọc đầu vào (kế thừa SoapInputFilter) Và thông điệp SoapEnvelope kết quả, trước gửi trả cho phía yêu cầu phải qua tầng xử lý lọc đầu (kế thừa từ SoapInputFilter) 7.2.4 Cơ chế hoạt động ServiceBus 7.2.4.1 Quá trình khởi động serviceBUS Quá trình khởi động bus thực chức dịch vụ BootStrapper cung cấp Ứng dụng gọi thực q trình cách gọi ServiceBus.Boot(), bus tiến hành bước xử lý sau: • Nạp thành phần References vào cache • Nạp tiếp thành phần khác bus thông qua configuration handlers khai báo • Gắn dịch vụ lõi vào bus (BootStrapper, ServiceBusManager) • Đăng ký dịch vụ ServiceBusManager • Gửi thơng điệp BootMessage ► Một ví dụ thơng điệp BootMessage soap.tcp://localhost:1234/Bootstrapper BootstrapMessage Trang 135 7.2.4.2 Quá trình xử lý yêu cầu Q trình xử lý thơng điệp u cầu dịch vụ serviceBUS chia làm giai đoạn chính: • Ở giai đoạn đầu tiên, thông điệp chuyển qua lọc đầu vào Giai đoạn gọi tiền xử lý • Sau đó, thơng điệp chuyển vào thành phần xử lý để thực đáp ứng yêu cầu Trong chế WSE giai đoạn này, phương thức Receive gọi • Sau cùng, thơng điệp xử lý lọc đầu trước trả cho đối tượng gọi hay chuyển tiếp qua dịch vụ khác Hình 7-4 – Qui trình xử lý thơng điệp serviceBUS • Đây coi trình xử lý yêu cầu dịch vụ Và đối tượng Processor serviceBUS xây dựng để thực thi mơ hình Do đó, dịch vụ muốn gắn vào bus định phải kế thừa từ đối tượng Processor phần xử lý dịch vụ thực thơng qua override phương thức Receive đối tượng Processor (đây coi mẫu template.) Trang 136 7.2.5 ServiceBus tích hợp với IIS ServiceBus hỗ trợ tính tích hợp vào IIS Có hai vị trí plug-in IIS Server mà ta cần xử lý, HttpModule HttpHandler Việc plug-in sericeBUS vào IIS thực cách cấu hình file web.config sau: • httpModule handler: ► Sẽ thực boot serviceBUS ứng dụng khởi động giải phóng serviceBUS ứng dụng kết thúc • httpHandler handler: ► Sẽ thực chuyển yêu cầu http đến dịch vụ bus với điều kiện lọc httpContext.Request.Url có phần mở rộng “ashx” Ví dụ http://localhost/MyApplication/EventSink.ashx TU UT 7.3 BpelEngine 7.3.1 Kiến trúc BpelEngine BpelEngine cung cấp mơi trường thực thi cho tiến trình nghiệp vụ BpelEngine nhận vào định nghĩa tiến trình số thơng tin khác thơng tin mô tả web service WSDL tạo thể tiến trình Sau đó, với u cầu sử dụng tiến trình, tạo thể tiến trình thực thi thể Có đối tượng mà ta cần quan tâm phân tích kiến trúc BpelEngine, là: engine, tiến trình xử lý BpelEngine thực thi hay nhiều tiến trình Các tiến trình lại bao gồm nhiều xử lý, xử lý chứa bên xử lý khác BpelEngine tạo tiến trình từ thơng tin định nghĩa tiến trình (sử dụng ngơn ngữ đặc tả tiến trình BPEL) sau thực thi tiến trình Trang 137 7.3.1.1 Engine Mơ hình sau phát thảo tổng quát kiến trúc engine Hình 7-5 – Sơ đồ kiến trúc BpelEngine Các thành phần “dữ liệu” nhớ như: • Deployment plans: bao gồm tập hợp thông tin mơ tả cần thiết để triển khai tiến trình (các tập tin mô tả XML, tập tin wsdl…) • Process state: lưu trạng thái tiến trình, có số trạng thái PROCESS_LOADED, PROCESS_RUNNING, PROCESS_SUSPENDED, PROCESS_COMPLETE, PROCESS_FAULT • Queues: hàng đợi để quản lý đối tượng trình thực thi, đối tượng Alarm (đối tượng timer) , Invoke (đối tượng gọi dịch vụ), Reply (đối tượng phản hồi để trả kết xử lý cho đối tượng gọi), InboundReceive (các đối tượng thơng điệp gửi đến tiến trình), MessageReceiver (các đối tượng chờ nhận kết yêu cầu.) • Alarms: quản lý đối tượng chờ kích hoạt thực biến cố thời gian (sau bao lâu, thời thời điểm đó…) Trang 138 7.3.1.1.1 Khởi động engine (Engine Startup) Một đối tượng EngineFactory quản lý việc tạo khởi động BpelEngine Nhiệm vụ BpelEngine phức tạp phải giám sát thực nhiều vấn đề Và việc phân chia trách nhiệm BpelEngine thực qua việc sử dụng đối tượng quản lý queue manager, alarm manager, timer manager, work manager, process manager… Đoạn mã giả sau cho thấy trình engine factory tạo BpelEngine nào: // Initialize the work manager initializeWorkManager(); // Initialize the timer manager initializeTimerManager(); // create the managers IProcessManager processManager IQueueManager queueManager IAlarmManager alarmManager ILockManager lockManager = = = = createProcessManager(); createQueueManager(); createAlarmManager(); createLockManager(); sEngine=createNewEngine(queueManager,processManager, alarmManager, lockManager); Thông tin cấu hình engine lưu tập tin “EngineConfig.xml” Tập tin không chứa thông số cấu kích thước cache, giới hạn thread,… mà cịn lưu thơng tin thành phần thực thi factory, manager Với cách thiết kế này, hỗ trợ cho engine có tính linh họat cao, dễ thay đổi có yêu cầu 7.3.1.1.2 Tạo tiến trình Một process deployment provider đọc thơng tin cần thiết để triển khai tiến trình (Process Deployment Descriptor - pdd) process deployment manager xử lý trình tạo tiến trình Khi engine đọc định nghĩa tiến trình, tạo đối tượng gọi activity definition Đây đối tượng xây dựng nhằm “mơ hình hóa” tiến trình Các đối tượng activity definition chứa tất thông tin cần thiết để khởi tạo đối tượng thực thi tương ứng (activity implementation object) Ta coi Trang 139 activity definition giống lớp, activity implementation đối tượng - thể lớp Hình 7-6 – Tạo đối tượng activity implementation Engine tạo đối tượng activity implementation cách sử dụng mẫu Visitor để visit đối tượng activity definition tạo đối tượng activity implementation tương ứng 7.3.1.1.3 Xử lý liệu Tất đối tượng biến thực thi thành phần giao tiếp IVariable Thành phần giao tiếp cung cấp khả để lấy thơng tin kiểu liệu biến Một biến có kiểu sau: Xml schema simple type, Xml schema Element hay message type (được định nghĩa tập tin WSDL) 7.3.1.1.4 Lượng giá biểu thức Tất xử lý liên kết cho phép sử dụng biểu thức số thuộc tính Những biểu thức địi hỏi phải có phương pháp quán để thực thi mô tả ngữ cảnh thực thi, tức phải hỗ trợ truy cập giá trị biến cần thiết để thực lượng giá biểu thức Ngôn ngữ mô tả biểu thức mặc định XPath 1.0 Tuy nhiên hàm xử lý chuẩn XPath, biểu thức quyền sử dụng hàm mở rộng định nghĩa thêm (như bpws:getVariableData…) 7.3.1.2 Tiến trình nghiệp vụ Một tiến trình nghiệp vụ bao gồm đối tượng sau: Trang 140 • Partner links: mô tả mối quan hệ hai dịch vụ (bản thân tiến trình coi dịch vụ) • Partners: thực thể tham gia vào tiến trình (các dịch vụ đối tượng sử dụng tiến trình) • Varibles: đối tượng để lưu liệu q trình xử lý • Correlation sets: tập liệu mà nhận diện thể tiến trình Tại thời điểm khác tiến trình, correlation sets khác dùng để đặc trưng cho tiến trình • Fault handlers: mơ tả cách xử lý tiến trình có lỗi xảy • Compensation handlers: mô tả cách quay ngược xử lý thực hồn thành • Event handlers: xử lý có thơng điệp gửi đến hay có biến cố thời gian • Activity: xử lý, xử lý chứa xử lý khác Điều phối u cầu Mỗi tiến trình phải có xử lý kích hoạt Một thể tiến trình tạo xử lý kích hoạt kích hoạt, thông điệp gửi đến, biến cố thời gian (Alarm) Engine chuyển thơng điệp gửi đến thể tiến trình Nếu có liệu correlation, engine cố gắng tìm thể có liệu correlation phù hợp chuyển thơng điệp cho thể Nếu thơng điệp khơng có liệu correlation engine tìm thấy xử lý kích hoạt thích hợp tạo thể tiến trình Trang 141 Hình 7-7 – Sơ đồ điều phối thơng điệp engine Hàng đợi đối tượng chờ nhận thông điệp Hàng đợi chứa xử lý chờ nhận thông điệp thực thi tất thể tiến trình Các xử lý chờ nhận thông điệp chứa xử lý phần hay trình xử lý kiện (event handler) Một hành động chờ nhận thông điệp gọi thực thi “cha” (scope, flow, sequence…) đưa vào hàng đợi chưa nhận thơng điệp mà cần Hàng đợi chứa thông điệp từ bên ngồi gửi đến chưa tìm thấy xử lý chờ nhận thơng điệp thích hợp để chuyển đến Các thông điệp xếp hàng đợi hết thời gian cho phép (time-out) Thời gian time-out engine qui định tập tin cấu hình (UnmatchedReceiveTimeout) Nếu tiến trình đưa vào hàng đợi xử lý giống receive, xử lý đợi liệu thích hợp gửi đến hay tiến trình kết thúc (có thể lỗi hay xử lý ) Các xử lý khác: hay mà kích hoạt trạng ... quản lý đối tượng trình thực thi, đối tượng Alarm (đối tượng timer) , Invoke (đối tượng gọi dịch vụ) , Reply (đối tượng phản hồi để trả kết xử lý cho đối tượng gọi), InboundReceive (các đối tượng. .. implementation đối tượng - thể lớp Hình 7 -6 – Tạo đối tượng activity implementation Engine tạo đối tượng activity implementation cách sử dụng mẫu Visitor để visit đối tượng activity definition tạo đối tượng. .. lý lọc đầu trước trả cho đối tượng gọi hay chuyển tiếp qua dịch vụ khác Hình 7-4 – Qui trình xử lý thơng điệp serviceBUS • Đây coi trình xử lý yêu cầu dịch vụ Và đối tượng Processor serviceBUS

Ngày đăng: 30/07/2014, 20:20

Từ khóa liên quan

Mục lục

  • TỔNG QUAN

    • Thực trạng hiện tại

    • Phân tích, đánh giá một số mô hình kiến trúc phân tán hiện t

    • Các vấn đề phát sinh, nguyên nhân và biện pháp khắc phục

      • Chính vì vậy các doanh nghiệp cần một cách tiếp cận mới để g

      • GIỚI THIỆU VỀ KIẾN TRÚC HƯỚNG DỊCH VỤ (SERVICE-ORIENTED AR

        • Kiến trúc hướng dịch vụ là gì ?

        • Bốn nguyên tắc chính của hệ thống SOA

          • Sự phân định ranh giới rạch ròi giữa các dịch vụ

          • Các dịch vụ tự hoạt động

          • Các dịch vụ chia sẻ lược đồ

          • Tính tương thích của dịch vụ dựa trên chính sách

          • Các tính chất của một hệ thống SOA

            • Loose coupling

            • Sử dụng lại dịch vụ

            • Sử dụng dịch vụ bất đồng bộ

            • Quản lý các chính sách

            • Coarse granularity

            • Khả năng cộng tác

            • Tự động dò tìm và ràng buộc động

            • Tự hồi phục

            • Lợi ích của SOA

            • Một số mô hình triển khai SOA

            • Kiến trúc phân tầng chi tiết của SOA

              • Tầng kết nối

              • Tầng orchestration

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

  • Đang cập nhật ...

Tài liệu liên quan