Tải bản đầy đủ (.pdf) (11 trang)

Kỹ thuật phát triển ứng dụng web bằng ngôn ngữ ws bpel

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (200.89 KB, 11 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

PHẠM THANH TÙNG

KỸ THUẬT PHÁT TRIỂN ỨNG DỤNG WEB
BẰNG NGÔN NGỮ WS - BPEL

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

THÁI NGUYÊN - 2013

Số hóa bởi trung tâm học liệu

/>

ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

PHẠM THANH TÙNG

KỸ THUẬT PHÁT TRIỂN ỨNG DỤNG WEB
BẰNG NGÔN NGỮ WS - BPEL
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Ngƣời hƣớng dẫn khoa học: PGS.TS. ĐẶNG VĂN ĐỨC

THÁI NGUYÊN - 2013



Số hóa bởi trung tâm học liệu

/>

i

LỜI CAM ĐOAN
Tôi xin cam đoan rằng đây là công trình nghiên cứu của tôi, có sự hỗ trợ từ
Giáo viên hướng dẫn là PGS.TS. Đặng Văn Đức. Các nội dung nghiên cứu và kết
quả trong đề tài này là trung thực và chưa từng được ai công bố trong bất cứ công
trình nghiên cứu nào trước đây. Những số liệu trong các hình phục vụ cho việc phân
tích, nhận xét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi
trong phần tài liệu tham khảo. Ngoài ra, đề tài còn sử dụng một số nhận xét, đánh
giá cũng như số liệu của các tác giả, cơ quan tổ chức khác, và cũng được thể hiện
trong phần tài liệu tham khảo.
Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm
trước Hội đồng, cũng như kết quả luận văn của mình.

Thái nguyên, ngày 12 tháng 11 năm 2013
Tác giả

Phạm Thanh Tùng

Số hóa bởi trung tâm học liệu

/>

ii


LỜI CẢM ƠN
Để hoàn thành luận văn này, em xin tỏ lòng biết ơn sâu sắc đến thầy
PGS.TS.ĐẶNG VĂN ĐỨC, đã tận tình hướng dẫn trong suốt quá trình viết luận
văn tốt nghiệp.
Em chân thành cảm ơn quý thầy, cô trong trường Đại Học Công nghệ Thông
tin và Truyền thông đã tận tình truyền đạt kiến thức trong hai năm học tập. Với vốn
kiến thức được tiếp thu trong quá trình học là nền tảng cho quá trình nghiên cứu để
em hoàn thành luận văn.
Chân thành cảm ơn Ban giám đốc Trung tâm Tin học thuộc Sở Giáo dục và
Đào tạo Hải Phòng và các bạn đồng nghiệp đã cho phép và tạo điều kiện thuận lợi
để tôi có thời gian học tập và nghiên cứu trong quá trình đào tạo cao học.
Cảm ơn gia đình đã động viên cũng như cảm ơn các bạn lớp CH K10C đã
cùng tôi đoàn kết xây dựng tập thể lớp K10C, đạt được những thành tích cao trong
học tập.
Một lần nữa xin chân thành cảm ơn!

Học viên cao học lớp K10C
Phạm Thanh Tùng

Số hóa bởi trung tâm học liệu

/>

iii

MỤC LỤC
LỜI CAM ĐOAN .............................................................................................. i
LỜI CẢM ƠN ................................................................................................... ii
MỤC LỤC ........................................................................................................ iii
DANH MỤC HÌNH .......................................................................................... v

MỞ ĐẦU .......................................................................................................... 1
1. Đặt vấn đề.................................................................................................. 1
2. Đối tượng và phạm vi nghiên cứu ............................................................. 2
3. Hướng nghiên cứu của đề tài .................................................................... 2
Chƣơng 1. TỔNG QUAN VỀ DỊCH VỤ WEB ............................................ 3
1.1. Ngôn ngữ XML ...................................................................................... 3
1.2. Giao thức truy cập dịch vụ Web - SOAP ............................................... 9
1.2.1. Kiến trúc dịch vụ SOAP.................................................................. 9
1.2.2. Đặc trưng của SOAP ....................................................................... 9
1.2.3. Cấu trúc một message theo dạng SOAP ....................................... 11
1.2.4. Những kiểu truyền thông SOAP ................................................... 12
1.2.5. Mô hình dữ liệu ............................................................................. 12
1.3. Ngôn ngữ mô tả dịch vụ Web - WSDL ............................................... 12
1.4. Mô tả và tìm kiếm dịch vụ Web – UDDI............................................. 14
1.4.1. Lớp dịch vụ Web với UDDI ......................................................... 14
1.4.2. Cấu trúc dữ liệu UDDI .................................................................. 17
1.5. Các dịch vụ web hiện nay đã phát triển ............................................... 19
1.6. Tình hình nghiên cứu hiện nay trong và ngoài nước ........................... 19
Chƣơng 2. NGÔN NGỮ BPEL .................................................................... 21
2.1. Giới thiệu ngôn ngữ BPEL................................................................... 21
2.1.1. Nguyên tắc hoạt động của một tiến trình BPEL ........................... 22
2.1.2. Cấu trúc của một tiến trình BPEL ................................................. 24
Số hóa bởi trung tâm học liệu

/>

iv

2.2. Các khái niệm cơ bản về BPEL ........................................................... 25
2.2.1. Các thành phần tác vụ trong BPEL ............................................... 25

2.2.2 . BPEL với chương trình dịch Java ................................................ 37
2.3. Kiến trúc một số trình xử lý tiêu biểu trong BPEL .............................. 38
2.3.1. Khái niệm trình xử lý BPEL ......................................................... 38
2.3.2. Kiến trúc một số trình xử lý tiêu biểu ........................................... 41
2.4. Đánh giá hiệu năng của các trình xử lý ................................................ 54
2.5. Quy trình thiết kế tái sử dụng............................................................... 55
Chƣơng 3. XÂY DỰNG HỆ THỐNG THỬ NGHIỆM TÍCH HỢP
DỊCH VỤ WEB TRÊN CƠ SỞ BPEL ..................................... 58
3.1. Mô tả bài toán....................................................................................... 58
3.2. Phân tích hệ thống ................................................................................ 59
3.2.1. Mục đích của hệ thống .................................................................. 59
3.2.2. Phạm vi bài toàn ............................................................................ 59
3.3. Thiết kế hệ thống .................................................................................. 59
3.4. Triển khai hệ thống demo kết hợp dịch vụ Web .................................. 61
KẾT LUẬN .................................................................................................... 64
TÀI LIỆU THAM KHẢO ............................................................................ 66

Số hóa bởi trung tâm học liệu

/>

v

DANH MỤC HÌNH

Hình 1.1:

Một SOAP Operation đơn giản .................................................. 10

Hình 1.2:


Cấu trúc thông điệp SOAP ......................................................... 10

Hình 1.3:

Cấu trúc message SOAP ............................................................. 11

Hình 1.4:

Lớp dịch vụ Web với UDDI ....................................................... 14

Hình 1.5:

Luồng thông báo UDDI giữa Client và Registry........................ 15

Hình 2.1:

Ví dụ về một tiến trình BPEL ..................................................... 22

Hình 2.2:

Ví dụ về kiểu liên kết ngoài - PartnerLink Type ........................ 23

Hình 2.3:

Ví dụ về liên kết ngoài – PartnerLink ........................................ 23

Hình 2.4:

Cấu trúc file BPEL...................................................................... 24


Hình 2.5:

Cấu trúc XML của receive.......................................................... 27

Hình 2.6:

Ví dụ về trường hợp sử dụng invoke .......................................... 28

Hình 2.7:

Cấu trúc XML của invoke .......................................................... 28

Hình 2.8:

Trường hợp sử dụng của Reply .................................................. 29

Hình 2.9:

Cấu trúc XML của Reply............................................................ 29

Hình 2.10: Trường hợp sử dụng của Validate .............................................. 30
Hình 2.11: Cấu trúc XML của Assign .......................................................... 31
Hình 2.12: Trường hợp sử dụng của Throw ................................................. 31
Hình 2.13: Trường hợp sử dụng của ReThrow............................................. 32
Hình 2.14: Cấu trúc XML của Flow ............................................................. 33
Hình 2.15: Cấu trúc XML của Repeat Until ................................................. 33
Hình 2.16: Trường hợp sử dụng của Pick ..................................................... 34
Hình 2.17: Cấu trúc XML của If................................................................... 34
Hình 2.18: Cấu trúc XML của Flow ............................................................. 35

Hình 2.19: Trường hợp sử dụng của Foreach ............................................... 35
Hình 2.20: Cấu trúc XML của Foreach ........................................................ 36
Số hóa bởi trung tâm học liệu

/>

vi

Hình 2.21: Cấu trúc XML của While ........................................................... 36
Hình 2.22: Trường hợp sử dụng của Scope .................................................. 37
Hình 2.23: Mô hình kiến trúc BPEL ............................................................. 39
Hình 2.24:

Mẫu tiến trình logic ................................................................... 40

Hình 2.25: Bảng Danh sách các trình xử lý BPEL hiện nay ........................ 41
Hình 2.26: Trình thiết kế của Apache ODE trên nền tảng Eclipse............... 42
Hình 2.27: Kiến trúc của Apache ODE ........................................................ 43
Hình 2.28: Bộ sản phẩm ActiveVOS ............................................................ 45
Hình 2.29: Trình thiết kế ActiveVOS ........................................................... 46
Hình 2.30: Kiến trúc tổng quan của ActiveVOS Server............................... 47
Hình 2.31: Mối quan hệ của Oracle BPEL Process Manager với các
thành phần khác .......................................................................... 50
Hình 2.32: Kiến trúc của Oracle BPEL Process Manager ............................ 51
Hình 2.33: Trình thiết kế Jdeveloper cho Oracle BPELProcess Manager ... 53
Hình 2.34: Mô hình đo hiệu năng trình xử lý BPEL .................................... 55
Hình 2.35: Thiết lập khách hàng dịch vụ Web ............................................. 56
Hình 3.1:

Mô hình xây dựng quá trình BPEL ............................................ 59


Hình 3.2:

Sơ đồ luồng dữ liệu quy trình BPEL .......................................... 60

Hình 3.3:

Sơ đồ quá trình gán (Assign) theo định nghĩa BPEL ................. 60

Hình 3.4:

Cửa sổ Preferences ..................................................................... 61

Hình 3.5:

Cửa sổ New Server Runtime Environment ................................ 61

Hình 3.6:

Địa chỉ dịch vụ cùng các cổng kết nối dịch vụ máy chủ Vietnamses ....62

Hình 3.7:

Địa chỉ dịch vụ cùng các cổng kết nối dịch vụ máy chủ English .....62

Hình 3.8:

Quy trình kết nối dịch vụ bằng kỹ thuật BPEL trên chương
trình dịch Java (Eclipse) ............................................................. 63


Số hóa bởi trung tâm học liệu

/>

1

MỞ ĐẦU
1. Đặt vấn đề
Trong vài năm qua, Công nghệ thông tin IT (Information Technology) đã bắt
đầu phát triển các dịch vụ web (web service). Mặc dù các dịch vụ web là một cách
để chia sẻ các tài nguyên máy tính, chứ không phải là một công nghệ mới, nhưng nó
đã châm ngòi một cuộc cách mạng trong cách cung cấp dịch vụ của các tổ chức.
Lúc đầu dịch vụ web trên máy tính cung cấp các tính năng ưu việt thông qua
các trang web nhưng hiện nay nó đã mở rộng ra với các thiết bị công nghệ thông tin
khác như điện thoại, máy kỹ thuật số. Công nghệ thông tin hiện đại ngày càng phổ
biến chức năng của công nghệ di động, việc ghép nối các dịch vụ ngày càng cần
thiết. Tuy nhiên, cuộc cách mạng này giống như mọi cuộc cách mạng khác, có các
thành phần của quá khứ mà từ đó nó phát triển lên.
Vì vậy, để đưa dịch vụ web phát triển mạnh mẽ hơn cần tích hợp chúng sao
cho dễ dàng với người sử dụng. Về nhiều mặt, sự thay đổi quan trọng này là vấn đề
làm sao kết hợp chúng một cách toàn diện chứ không phải là sự ghép nối chắp vá
đơn giản. Trong thế giới mới việc một người sử dụng một phần mềm dịch vụ web
với tất cả tiện ích cơ bản có sẵn là việc thiết yếu, giảm tải sự phức tạp khi sử dụng
nhiều phần mềm dịch vụ khác nhau do nhiều hãng khác nhau thiết kế. Sự thay đổi
thực sự ấy trong cách chúng ta tính toán mang lại các cơ hội to lớn cho người sử
dụng dịch vụ công nghệ thông tin để kiểm soát sự thay đổi và sử dụng chúng cho lợi
ích cá nhân và tổ chức của họ.
Xuất phát từ những vấn đề nêu trên, đề tài ―Kỹ thuật phát triển ứng dụng
Web bằng ngôn ngữ WS-BPEL‖ nhằm mục tiêu tiếp cận, nghiên cứu các đặc điểm,
ứng dụng, cơ sở hạ tầng, các mô hình triển khai dịch vụ dựa trên các dịch vụ có sẵn

để đề xuất lựa chọn mô hình dịch vụ kết hợp và thay thế chúng. Trên cơ sở các mô
hình dịch vụ web đã có tìm ra mô hình dịch vụ thay thế và sử dụng ngôn ngữ thực
thi tiến trình nghiệp vụ dịch vụ Web WS-BPEL (Web Service Business Process
Execution Language) để thể hiện chúng.

Số hóa bởi trung tâm học liệu

/>

2

2. Đối tƣợng và phạm vi nghiên cứu
Kiến trúc tổng thể và các thành phần cơ bản như XML, kiến trúc dịch vụ
Web như SOAP, WSDL và UDDI, ngôn ngữ BPEL.
Lựa chọn một dịch vụ web để xây dựng demo trên cơ sở kiến trúc đã nghiên
cứu trên đây.
3. Hƣớng nghiên cứu của đề tài
- Hướng của đề tài đặt ra phương án kết hợp một số dịch vụ web thông
thường lại với nhau trong cùng một chương trình xử lý.
- Thực hiện bản thử nghiệm với các tính năng đơn giản, gọn nhẹ vào các
thiết bị công nghệ thông tin phổ thông.
- Nghiên cứu thuật toán kết hợp các dịch vụ rời rạc thành một ứng dụng
nghiệp vụ thống nhất một cách đơn giản và nhanh chóng mà không cần thay đổi các
dịch vụ đó.
- Xây dựng hệ thống quy trình thiết kế tái sử dụng các ứng dụng sẵn có được
viết trên các ngôn ngữ khác nhau, kết hợp chúng thành ứng dụng nghiệp vụ thống
nhất có tính khả thi.
- Sử dụng ngôn ngữ mô phỏng và thực thi tiến trình nghiệp vụ có tên là
BPEL. Ngôn ngữ BPEL sẽ định nghĩa tiến trình, các dịch vụ ngoài và sử dụng các
tác vụ, các phép toán logic để tạo thành quy trình.

- Thiết lập demo module sử dụng kỹ thuật xây dựng ứng dụng web dựa trên
ngôn ngữ WS- BPEL.

Số hóa bởi trung tâm học liệu

/>

3

Chƣơng 1

TỔNG QUAN VỀ DỊCH VỤ WEB
1.1. Ngôn ngữ XML
XML (eXtensible Markup Language) là ngôn ngữ đánh dấu với mục đích
chung do W3C (World Wide Web Consortium là một hiệp hội lập ra các chuẩn cho
Internet) đề nghị, để tạo ra các ngôn ngữ đánh dấu khác. Đây là một tập đoàn con
đơn giản của SGML (Standard Generalized Markup Language, một hệ thống tổ
chức và gắn thẻ yếu tố của một tài liệu), có khả năng mô tả nhiều loại dữ liệu khác
nhau. Mục đích chính của XML là đơn giản hóa việc chia sẻ dữ liệu giữa các hệ
thống khác nhau, đặc biệt là các hệ thống được kết nối với Internet.
Các ngôn ngữ dựa trên XML như RDF, RSS, MathML, XHTML, SVG, GML
và cXML được định nghĩa theo cách thông thường, cho phép các chương trình sửa
đổi và kiểm tra hợp lệ bằng các ngôn ngữ này mà không cần có hiểu biết trước về
hình thức của chúng.
XML cung cấp một phương tiện dùng văn bản để mô tả thông tin và áp dụng
một cấu trúc kiểu cây cho thông tin đó. Tại mức căn bản, mọi thông tin đều thể hiện
dưới dạng text, chen giữa là các thẻ đánh dấu (markup) với nhiệm vụ ký hiệu sự
phân chia thông tin thành một cấu trúc có thứ bậc của các dữ liệu ký tự, các phần
tử dùng để chứa dữ liệu, và các thuộc tính của các phần tử đó. Về mặt đó, XML
tương tự với các biểu thức S (S-expression) của ngôn ngữ lập trình LISP ở chỗ

chúng đều mô tả các cấu trúc cây mà trong đó mỗi nút có thể có một danh sách tính
chất của riêng mình.
Đơn vị cơ sở của XML là các ký tự theo định nghĩa của Universal Character
Set (Bộ ký tự toàn cầu). Các ký tự được kết hợp theo các tổ hợp chuỗi hợp lệ để tạo
thành một tài liệu XML. Tài liệu này gồm một hoặc nhiều thực thể, mỗi thực thể
thường là một phần nào đó của các ký tự thuộc tài liệu, được mã hóa dưới dạng một
chuỗi các bit và lưu trữ trong một tệp văn bản (text file).

Số hóa bởi trung tâm học liệu

/>


×