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



Trang 142

thái của các <onMessage> hay <onAlarm> khác đều được gán là DEAD_PATH.
Hành động này sẽ xóa chúng ra khỏi hàng đợi. Các trình xử lý sự kiện cũng sẽ tự
động xoá các đối tượng lắng nghe ra khỏi hàng đợi ngay khi scope mà chứa chúng
hoàn thành.
7.3.1.3 Các xử lý
Bao gồm các xử lý cơ bản (receive, reply, invoke, assign, throw, wait, empty); các xử
lý có cấu trúc (sequence, switch, while, pick, flow); và một số các xử lý đặc biệt khác
(scope, compensate, terminate).
Trạng thái
Mỗi xử lý đều có trạng thái. Có các trạng thái sau:
• INACTIVE: đây là trạng thái đầu tiên của mọi xử lý khi tiến trình bắt đầu.
• READY_TO_EXECUTE: các xử lý này được đưa vào hàng đợi và đã đủ điều
kiện thực thi.
• EXECUTING: đang thực thi.
• FINISHED: đã hoàn thành và không có lỗi.
• FAULTED: đã hoàn thành nhưng có lỗi
• DEAD_PATH: không được đưa vào “kế hoạch thực thi” (execution path). Khi
một xử lý có trạng thái DEAD_PATH thì tất c
ả các xử lý con đều có trạng thái
giống như thế.
• QUEUED_BY_PARENT: đang đợi để thực thi.
Trang 144

7.3.1.4 Các loại tập tin
• .bpel: đây là tập tin định nghĩa chính của tiến trình.
• .pdd: đây là tập tin mô tả các thông tin liên quan đến quá trình triển khai một
tiến trình, bao gồm các thông tin về partner link và các tập tin WSDL cần thiết.
• wsdlCatalog.xml:cung cấp cơ chế để quản lý toàn bộ các tập tin WSDL có liên
quan trong tiến trình.
7.3.2 Các bước triển khai một business process trong BpelEngine
• Khởi động engine
• Tạo một thư mục có tên là tên của tiến trình và có phần m
ở rộng là .bpel. Bên
trong thư mục này có chứa một tập tin mô tả thông tin triển khai tiến trình (.pdd)
và các thư mục con có cấu trúc như sau:
► Bpel: trong thư mục này sẽ chứa tập tin định nghĩa tiến trình (.bpel)
► Wsdl: chứa tất cả các tập tin wsdl cần dùng trong tiến trình.
► Partners: chứa các tập tin định nghĩa partner (option)
► META-INF: chứa file wsdlCatalog.xml
• Chép tòan bộ thư mục trên vào thư mục deploy của engine. Engine sẽ tự động
triển khai tiến trình trên.
Sử dụng tiến trình như một web service bình thường.


8.2.2 Chức năng kết xuất tiến trình ra file ảnh
Khi có được bản thiết kế vừa ý, người sử dụng có thể triển kết xuất hình ảnh trực
quan của tiến trình ra
định dạng file ảnh bmp. Chức năng này giúp tạo thuật lợi cho
việc in ấn mô tả tiến trình nghiệp vụ. Trang 146

8.2.3 Chức năng triển khai một tiến trình mới lên server
Sau khi có được bản thiết kế vừa ý, người sử dụng có thể triển khai tiến trình trực tiếp
lên server hoặc đơn giản hơn là dùng chức năng triển khai của BPEL Designer. Với
chức năng triển khai tự động của BPEL Designer, người sử dụng chỉ việc quan tâm
đến thiết kế tiến trình, việc triển khai tiến trình bây giờ chỉ là thao tác bấ
m chọn đơn
giản. Ngoài ra, người dùng có thể xem nội dung log file từ BPEL Designer để xem
tiến trình có được triển khai thành công hay không, có bị lỗi thiết kế gì không.
8.3 Thiết kế cài đặt
8.3.1 Cấu trúc chương trình
Thành phần BPEL designer có lõi dựa trên kiến trúc nền SharpDevelop và thêm vào
các plug-in hỗ trợ BPEL. Các plug-in được viết theo đúng chuẩn và kết hợp với nhau
sao cho chúng hoạt động một cách hiệu quả.
• Plug-in BPELBackendBinding : đây là plug-in chịu trách nhiệm phân tích nội
dung cấu trúc BPEL thành các đối tượng, ngoài ra plug-in này còn chịu trách

Trang 148

8.3.2.2 Màn hình chọn tạo mới một project 8.3.2.3 Cửa sổ project

Đây là cửa sổ thao tác cho phép quản lý
các file trong project BPEL hiện hành.
Có thể truy cập đến cửa sổ này qua phím
tắt Ctrl-Alt-L.
Trang 149

8.3.2.4 Cửa sổ process

Cửa sổ thao tác cho phép xem, theo dõi
các đối tượng BPEL của project BPEL
hiện hành, nó còn biểu diễn cấu trúc phân

Cửa sổ này dùng để duyệt file trên máy.
Nhấn double-click vao file để xem nội
dung file (nếu là định dạng file được hỗ
trợ). Có thể truy cập đến cửa sổ này qua
phím tắt Ctrl-Alt-F
8.3.2.7 Vùng nhìn thiết kế process dạng kéo thả trực quan

Ta sẽ làm việc chính trên vùng nhìn này. Có hai tab tượng trưng cho hai vùng nhìn
khác nhau: thiết kế trực quan-soạn thảo text. Tab “Design” chỉ hiện thi khi người Trang 151

dùng chọn đúng file BPEL. Với vùng nhìn thiết kế trực quan người dùng có thể chọn,
kéo thả, xoá, chỉnh sửa, phóng to, thu nhỏ một đối tượng bất kì. Người dùng có thể
thoải mái chỉnh sửa ở một trong hai vùng nhìn, khi chuyển qua vùng nhìn còn lại
thông tin sẽ được tự động cập nhật.
8.3.2.8 Cửa sổ chọn wsdl

Cửa sổ này dùng để chọn một dịch vụ trên mạng, trước tiên nhập địa chỉ dịch vụ vào
thanh address, nhấn nút “Go” để tự động dò tìm dịch vụ, nếu tìm thấy dịch vụ thì
danh sách các dịch vụ có trong địa chỉ vừa nhập sẽ hiện ở phần danh mục dịch vụ bên
phải. Trước khi hoàn tất thao tác ta cần nhập tên đại diện ngắn gọn cho file wsdl ở
textbox “Alias name”.

thông tin bên phải sẽ tự động cập nhật. Nhấn nút add/remove dùng để thêm và xoá
một partner link trong danh sách. Mỗi parner link thuộc về một partner link type.
Partner link có thể là dạng partner cục bộ (inbound request) hoặc hướng ngoại
(outbound request) hoặc cả hai.
Với dịch vụ nào có dạng inbound thì ta phải chỉ định service name và chọn role tương
ứng với partner link type mà partner link đó thuộc v
ề. Trường allow role dùng để chỉ
định role nào được phép truy cập đến nó, nếu để trống nghĩa là tất cả role được phép
truy cập đến nó.Với dịch vụ nào có dạng outbound thì chỉ cần chọn những dịch vụ
được import từ trước , tự động các thông tin liên quan sẽ được điền. Trang 154

8.3.2.11 Màn hình quản lý các property

Màn hình này dùng để quản lý, cung cấp các property cho chức năng correlation set
8.3.2.12 Màn hình thêm mới/chỉnh sửa một property

Màn hình này dùng thêm mới, chỉnh sửa một property. Cây danh mục sẽ tự động liệt
kê tất cả các kiểu message của từng file wsdl tương ứng được import vào project.
Trường query là một biểu thức XPath dùng để chọn điều kiện biểu thức thích hợp.

Trang 157

Màn hình này dùng để chỉnh sửa thông tin tiến trình. Mục Suppress Join Failure dùng
để báo là sẽ không xử lý nếu có lỗi phát sinh. Mục Abstract Project mang ý nghĩa một
tiến trình có được thực thi (tạo ra một thể hiện) mỗi khi có yêu cầu đến hay không.
8.3.2.17 Màn hình quản lý các biến variable

8.3.2.18 Màn hình thêm mới/chỉnh sửa một biến
Màn hình này dùng để thêm
mới/chỉnh sửa thông tin một
biến variable. Một variable
ngoài tên gọi sẽ thuộc về 1
trong 3 dạng Simple Type ,
Message Type hoặc Element
Type. Nhấn vào nút bên cạnh để
mở cửa sổ chọn kiểu cho
variable.

Trang 160

8.3.2.23 Màn hình chỉnh sửa thông tin xử lý invoke

8.3.2.24 Màn hình chỉnh sửa thông tin xử lý receive
Trang 161

8.3.2.25 Màn hình quản lý correlation set của xử lý receive

Màn hình này dùng để quản lý các correlation set của xử lý receive. Các correlation
set tượng trưng cho định danh duy nhất của tiến trình, để mỗi khi có yêu cầu gửi đến
thì BPEL server sẽ chuyển đến đúng thể hiện tiến trình mà client cần trao đổi thông
tin
8.3.2.26 Màn hình chọn thêm mới correlation set cho xử lý receive


Trang 164

8.3.2.31 Màn hình chỉnh sửa thông tin một nhánh OnAlarm của xử lý pick

Màn hình này dùng để chỉnh sửa thông tin một nhánh onAlarm của xử lý pick. Điều
kiện kích hoạt nhánh onAlarm thuộc về một trong 4 dạng sau: kích hoạt sau một
khoảng thời gian (ví dụ sau 3 giờ 20 phút 10 giây chạy), kích hoạt dựa trên biểu thức
XPath, kích hoạt khi đến đúng thời điểm nào đó (ví dụ thứ Hai, ngày 11, tháng 7 ,
năm 2005) , và cuối cùng là kích hoạt nếu một biểu thức XPath thoả.
8.4 Hướng dẫn sử dụng
8.4.1 Thiết kế một tiến trình
Thiết kế một tiến trình bên trong BPEL Designer tưong đối đơn giản. Một tiến trình
cơ bản cần trải qua các bước import các service bên ngoài vào, thiết kế partner link,
thiết kế luồng xử lý và thu thập kết quả trả về.


thiết cho tiến trình BPEL để nó có thể trao đổi với bên ngoài.
Ta bắt đầu tạo mới một project BPEL với menu File/New/Project và chọn loại project
là BPEL, tên project là loanApproval, chọn đườ
ng dẫn thư mục chứa project.
Designer sẽ tạo ra một project theo đúng dạng BPEL như sau
<?xml version="1.0" encoding="utf-8"?>
<process name="process1" suppressJoinFailure="yes"
targetNamespace="http://localhost/BPELProcess"
queryLanguage="http://www.w3.org/TR/1999/REC-xpath-19991116"
expressionLanguage="http://www.w3.org/TR/1999/REC-xpath-19991116"
abstractProcess="no"
xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
</process>
Tiến trình mặc định chỉ chứa một xử lý cấp cao nhất nên muốn có nhiều xử lý hoạt
động bên trong tiến trình ta phải thêm các xử lý cấu trúc có khả năng xử lý nhiều xử
lý con bên trong như (flow, sequence, switch, …) . Thông thường ta chọn dùng xử lý
flow là phần tử con của tiến trình. Có hai cách để thêm một xử lý vào tiến trình, hoặc
là dùng chức năng kéo thả của designer hoặc là chỉnh sửa trực tiếp trên màn hình
soạn thảo code, tự
động designer sẽ cập nhật nội dung vùng nhìn còn lại.
<?xml version="1.0" encoding="utf-8"?>
<process name="process1" suppressJoinFailure="yes"
targetNamespace="http://localhost/BPELProcess"
queryLanguage="http://www.w3.org/TR/1999/REC-xpath-19991116"
expressionLanguage="http://www.w3.org/TR/1999/REC-xpath-19991116"
abstractProcess="no"
xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status