1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÀI BÁO CÁO THỰC TẬP-NGHIÊN CỨU WEB SERVICES COMPOSITION SỬ DỤNG BPEL4WS

55 534 1

Đ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

Thông tin cơ bản

Định dạng
Số trang 55
Dung lượng 2 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Việc kết hợp các dịch vụ trong mô hình SOA với quản lý các tiến trình nghiệp vụ là một giải pháp cho việc xây dựng các hệ thống tích hợp.Vì thế ngôn ngữ BPEL4WS ra đời để đáp ứng cho giả

Trang 1

-BÁO CÁO TỐT NGHIỆP HỆ ĐẠI HỌC

Ngành : Công Nghệ Thông Tin Hệ : Chính quy

Năm 2009

Trang 2

Qua 4 năm học tập,được sự tận tình chỉ bảo của các thầy cô trong Học viện đã trang bị cho em những kiến thức để có hành trang vào cuộc sống.Trong 6 tháng qua em xin chân thành cảm ơn thầy Tân Hạnh đã hướng dẫn em làm đề tài này và các bạn trong lớp cũng tạo điều kiện để em hoàn thành luận văn

Do thời gian làm đồ án và kiến thức còn hạn chế nên không thể tránh khỏi những sai sót Em rất mong nhận được sự đóng góp ý kiến của Quý thầy

cô và các bạn sinh viên

Em xin gửi đến Quý thầy cô lời chúc sức khỏe và thành công

Em xin chân thành cảm ơn!

Sinh viên: Hoàng Xuân Tuấn

Trang 3

LỜI NÓI ĐẦU

Ngày nay, công nghệ thông tin đang là nền công nghệ mũi nhọn trong chiến lược phát triển kinh tế, xây dựng đất nước của hầu hết các quốc gia Với sự phát triển của internet và với xu thế hội nhập chung của toàn thế giới, các tổ chức, các cơ sở doanh nghiệp cần bắt tay, phối hợp hoạt động và chia sẻ tài nguyên với nhau để nâng cao hiệu quả hoạt động

Hệ thống của các tổ chức doanh nghiệp ngày càng trở nên cồng kềnh hơn với việc triển khai hàng loạt các ứng dụng phân tán dựa trên nhiều hệ nền, kỹ thuật, công nghệ khác nhau Những nghiên cứu gần đây cho thấy rằng: các khó khăn trong việc tích hợp các hệ thống có thể được khắc phục bằng cách định nghĩa thêm một tầng trừu tượng cho các hệ thống tin học hiện có và mới xây dựng Tầng này sẽ được xây dựng dựa trên các chuẩn của web service

Công nghệ web service có thể được dùng để xây dựng cầu nối giao tiếp cho các

hệ thống xây dựng trên những hệ nền, sử dụng những công nghệ hay chuẩn khác xa nhau, như là NET, J2EE, CORBA, WebSphere MQ, hay các ứng dụng đóng gói

Việc kết hợp các dịch vụ trong mô hình SOA với quản lý các tiến trình nghiệp

vụ là một giải pháp cho việc xây dựng các hệ thống tích hợp.Vì thế ngôn ngữ BPEL4WS ra đời để đáp ứng cho giải pháp trên BPEL4WS được xây dựng dựa trên ngôn ngữ WSFL (Web Service Flow Language) của IBM và ngôn ngữ XLANG của Microsoft, nó kế thừa được những tính năng nổi trội của hai ngôn ngữ này (tính có cấu trúc của XLang và khả năng mô hình hóa của WSFL )

Mục tiêu của đề tài này …

Sinh viênHoàng Xuân Tuấn

MỤC LỤC

Trang 4

Contents

CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH 1

BÁO CÁO TỐT NGHIỆP HỆ ĐẠI HỌC 1

Hình1.1 Mô hình CORBA………9 8

CHƯƠNG I:HIỆN TRẠNG 10

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

Hình1.1 Mô hình CORBA 11

Hình 1.2 Mô hình EJB 12

Hình 1.3 Mô hình DCOM 12

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

1.3 SOA và web service giải quyết vấn đề tích hợp như thế nào: 13

Hình 1.4 Mô hình SOA sử dụng webservice 14

CHƯƠNG II: WORKFLOW 14

2.1 Khái niệm 14

2.2 Ích lợi áp dụng workflow: 14

2.3 Các dạng workflow 15

Hình 2.1 Mô hình tuần tự: 15

2.3.1.2.Song song (Parallel Split) 15

Hình 2.2 song song 16

2.3.1.3 Đồng bộ hoá 16

2.3.1.4 Phép chọn loại trừ (Exclusive Choice) 16

Hình 2.4 Mô hình chọn loại trừ 16

2.3.1.5 Trộn đơn giản (Simple Merge) 16

Hình 2.5.Mô hình trộn đơn giản 17

Trang 5

2.3.1.6 Chọn đa nhánh (Multi-Choice) 17

Hình 2.6.Mô hình chọn đa nhánh 17

2.3.1.7 Trộn đồng bộ hoá 17

Hình 2.7.Mô hình trộn đồng bộ hóa 18

2.3.1.8 Trộn đa nhánh 18

Hình 2.8.Mô hình trộn đa nhánh 18

2.3.1.9 Các vòng lặp tuỳ ý 18

Hình 2.9.Mô hình các vòng lặp tùy ý 19

CHƯƠNG III:TÌM HIỂU KHÁI QUÁT WEB SERVICE 19

3.1.Định nghĩa web service: là một công nghệ gọi từ xa có tính khả chuyển cao nhất hiện nay: mang tính độc lập nền, độc lập ngôn ngữ Do đó, các chương trình code bằng các ngôn ngữ lập trình khác nhau, chạy trên các nền tảng (phần cứng & OS) khác nhau đều có thể trao đổi với nhau thông qua công nghệ này 19

Hình 3.1.Mô hình webservice đơn giản 20

3.2.Đặc điểm của webservice: 20

Hình 3.2 Ứng dụng của webservice trong thực tế 20

3.3.Các thành phần chính trong Webservice: 21

3.3.1.XML: XML là một ngôn ngữ mô tả văn bản với cấu trúc do người sử dụng định nghĩa Về hình thức XML có ký pháp tựa như HTML nhưng không tuân theo một đặc tả quy ước như HTML Do web service là sự kết hợp của nhiều thành phần khác nhau , do đó web services sử dụng các tính năng và đặc trưng của các thành phần này để giao tiếp với nhau.Vì vậy XML là một công cụ chính yếu để giải quyết vấn đề này Từ kết qủa này , các ứng dụng tích hợp vĩ mô tăng cường sử dụng XML.Nhờ có khả năng tổng hợp này mà XML đã trở thành kiến trúc nền tảng cho việc xây dựng web service 21

3.3.2.WSDL -Web Services Description Language : 21

Hình 3.3.Mô tả wsdl 21

3.3.3.UDDI - Universal Description , Discovery and Intergration: 21

Hình 3.4.Mô hình của UDDI 22

3.3.4 SOAP - Simple Object Accesss Protocol 22

Trang 6

3.4.Xây dựng web service: 23

3.4.1.1.Giai đoạn xây dựng 23

Hình 4.1.Kiến trúc của bpel process 25

4.1.Nội dung cơ bản: 25

4.1.1.Cấu trúc của bpel process: 25

4.1.2.Mối quan hệ với các Bussiness Partner: 27

Hình 4.2 Các thành phần trong bpel process 27

4.1.3.Trạng thái của BPEL process: 27

4.2.Các Activie cơ bản: 28

4.2.1.Invoke: 28

4.2.2.Receive: 29

4.2.3.Reply: 29

4.2.4.Assign 30

4.2.5 Throw: 32

4.2.6.Empty: 32

4.3.Các Active có cấu trúc 32

4.3.1.Xử lý tuần tự: <sequence> 32

4.3.2.Điều kiện <if>: 33

4.3.3.Thực thi vòng lặp <while>: 34

4.3.4 Song song và xử lý các điểu khiển lệ thuộc: <flow> 34

4.3.5.Xử lý đa nhánh:<foreach> 34

4.3.6.Scope (phạm vi): 35

CHƯƠNG 5: ỨNG DỤNG CHO BPEL 36

5.1.Mô tả nghiệp vụ: 36

5.2.Phân tích bài toán: 36

Hình 5.1.Lược đồ hoạt đồng 37

5.3.Xây dựng BPEL process: 37

5.3.1.Xây dựng các webservice liên quan: 37

Trang 7

Hình 5.2.Interface của web service airline webservice 38

5.3.2 WSDL cho BPEL Process: 38

Hình 5.3 Interface bpel process 38

5.3.3 Định nghĩa các Partner Link Types: 38

5.3.4.Định nghĩa quy trình nghiệp vụ (Bussiness Process Definition) 39

Hình 5.4 Lược đồ tuần tự 40

5.4.Config engine và cài plug-in 40

5.4.1.Cài đặt Apache Tomcat: 41

Hình 5.5 Thiết lập biến môi trường 42

Hình 5.6 Start Tomcat 26 42

5.5.2.Cài đặt Axis2( phiên bản nâng cấp của Axis):có nhiều cách để cài đặt axis2,đơn giản nhất là chép tập tin axi2.war vào thư mục C:\apache-tomcat-5.5.27\webapps và restart lại tomcat sẽ thành công.Truy câp:http://localhost:8080/axis2 sẽ được: 43

Hình 5.7.Khởi động Axis2 43

5.4.3.Cài đặt Eclipse WTP: 43

Hình 5.8 Thiết lập Axis2 trong eclipse 44

5.4.4 Cài đặt MySQL 4.1 và JDBC connector: 44

Hình 5.9 Lược đồ cơ sở dữ liệu 45

5.4.5.Cài đặt ODE Apache 45

5.5.Thực hiện: 45

5.5.1.Chương trình chính: 45

Hình 5.10 Giao diện thiết kế 46

Hình 5.11.WSDL của web service airline 46

Hình 5.12.Thiết kế partnerlink 47

Hình 5.13 config active <invoke> 48

Hình 5.14 BPEL proccess 49

Hình 5.15 active <if> 49

Trang 8

Hình 5.16 config active <assign> 50

Hình 5.17 Config WSDL cho bpel proccess 51

Hình 5.18 config deploy.xml 52

5.5.2.Viết client gọi BPEL: 52

Hình 5.19.Mô hình bpel process tương tự 1 web service 53

Hình 5.20.Tạo web project client 54

MỤC LỤC HÌNH: Hình1.1 Mô hình CORBA………9

Hình 1.2 Mô hình EJB ……….10

Hình 1.3 Mô hình DCOM ……… 11

Hình 1.4 Mô hình SOA sử dụng webservice………13

Hình 2.1 Mô hình tuần tự……….14

Hình 2.3.Mô hình đồng bộ hóa ……… 15

Hình 2.2 song song ………14

Hình 2.4 Mô hình chọn loại trừ ……… 15

Hình 2.5.Mô hình trộn đơn giản ……… 15

Hình 2.6.Mô hình chọn đa nhánh ……… 16

Hình 2.7.Mô hình trộn đồng bộ hóa ……….………17

Hình 2.8.Mô hình trộn đa nhánh ……….17

Hình 2.9.Mô hình các vòng lặp tùy ý……….17

Hình 3.1.Mô hình webservice đơn giản……….18

Hình 3.2 Ứng dụng của webservice trong thực tế ………19

Trang 9

Hình 3.3.Mô tả wsdl ………20

Hình 3.4.Mô hình của UDDI……….20

Hình 3.5.Cấu trúc SOAP ……… 21

Hình 4.1.Kiến trúc của bpel process ……… 24

Hình 4.2 Các thành phần trong bpel process……… 26

Hình 5.1.Lược đồ hoạt dong……….36

Hình 5.2.Interface của web service airline webservice……… 37

Hình 5.3 Interface bpel process ……….38

Hình 5.4 Lược đồ tuần tự ……… 40

Hình 5.5 Thiết lập biến môi trường ……… 41

Hình 5.6 Start Tomcat 26 ………42

Hình 5.7.Khởi động Axis2……… 42

Hình 5.8 Thiết lập Axis2 trong eclipse……… 43

Hình 5.9 Lược đồ cơ sở dữ liệu ……… 44

Hình 5.10 Giao diện thiết kế ……… 45

Hình 5.11.WSDL của web service airline ……… 46

Hình 5.12.Thiết kế partnerlink ………46

Hình 5.13 config active <invoke> ……….47

Hình 5.14 BPEL process 48 ……… 48

Hình 5.15 active <if> ……… 48

Hình 5.16 config active <assign> ……… 49

Hình 5.17 Config WSDL cho bpel process ……… 50

Hình 5.18 config deploy.xml ……… 51

Trang 10

Hình 5.19.Mô hình bpel process tương tự 1 web service ……… 52Hình 5.20.Tạo web project client ……… 53

CHƯƠNG I:HIỆN TRẠNG

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

Ba kiến trúc phân tán phổ biến nhất hiện này là CORBA, DCOM và EJB Các kiến trúc này là sự mở rộng của các hệ thống hướng đối tượng bằng cách cho phép phân tán các đối tượng trên mạng Đối tượng đó có thể có không gian địa chỉ bên ngoài ứng dụng, hoăc ở một máy khác với máy chứa ứng dụng trong khi vẫn được tham chiếu sử dụng như một phần của ứng dụng

• CORBA – Common Object Request Broker Architecture:

► CORBA được định nghĩa bởi Object Management Group (OMG), là một kiến

trúc phân tán mở, độc lập nền tảng và độc lập ngôn ngữ

► CORBA Component Model (CCM) là một cải tiến đáng kể nhằm định nghĩa các mô hình thành phần so với CORBA Nó định nghĩa ra quy trình thiết kế, phát triển, đóng gói, triển khai và thực thi các thành phần phân tán CCM định nghĩa khái niệm Ports cho các thành tố Các port này được sử dụng để kết nối các thành phần có sẵn với nhau, tạo các hệ thống phân tán phức tạp hơn Mỗi thành phần CCM có một đối tượng Home chịu trách nhiệm quản lý chu kỳ sống của đối tượng và được triển khai bên trong một trình chứa (container)

► Ưu điểm của CORBA là các lập trình viên có thể chọn bất kỳ ngôn ngữ, nền tảng phần cứng, giao thức mạng và công nghệ để phát triển mà vẫn thoả các tính chất của CORBA Tuy nhiên CORBA số một nhược điểm là nó là ngôn ngữ lập trình cấp thấp, rất phức tạp, khó học và cần một đội ngũ phát triển có kinh nghiệm Ngoài ra các đối tượng CORBA cũng khó có thể tái sử dụng

Trang 11

Hình1.1 Mô hình CORBA

• EJB - Enterprise Java Bean:

► Kiến trúc EJB là một kiến trúc thành tố bên phía máy chủ dùng cho việc phát triển và triển khai các ứng dụng phân tán hướng đối tượng cỡ vừa và lớn

► Kiến trúc EJB có 3 tầng với tầng đầu tiên là tầng trình diễn, tầng thứ hai là tầng xử lý nghiệp vụ, và tầng thứ ba là các tài nguyên như cơ sở dữ liệu máy

chủ Truyền thông giữa các đối tượng EJB thông qua Remote Method Invocation (RMI) Các client không bao giờ tương tác trực tiếp với các bean Thay vì vậy chúng

sẽ sử dụng các phương thức được định nghĩa trong các interface Remote và Home Mỗi bean tồn tại bên trong trình chứa, chịu trách nhiệm việc tạo thể hiện mới, lưu trữ

dữ liệu và các quản lý khác Trình chứa sẽ triệu gọi các phương thức callback của mỗi thể hiện bean khi có sự kiện tương ứng Không giống như CCM, EJB không định nghĩa các port kết nối trực tiếp giữa các thành phần liên quan bởi vì mỗi bean bên trong trình chứa là một thực thể độc lập không có bất kỳ ràng buộc nào bên ngoài

► EJB là một kiến trúc tốt cho việc tích hợp các hệ thống vì nó độc lập nền tảng

nhưng nó cũng gặp vấn đề là nó không phải là một chuẩn mở, khả năng giao

tiếp với các chuẩn khác vẫn còn hạn chế

Trang 12

Hình 1.2 Mô hình EJB

• DCOM – Distributed Component Object Model:

► DCOM là một mô hình phân tán dễ triển khai với chi phí thấp, hỗ trợ tigh coupling giữa các ứng dụng và hệ điều hành Mô hình Component Object Model (COM) định nghĩa cách thức các các thành phần và client liên lạc trao đổi với nhau trên cùng một máy DCOM mở rộng COM bằng cách sử dụng các giao thức mạng chuẩn khi cần trao đối dữ liệu với máy khác trên mạng DCOM hỗ trợ kết nối giữa các đối tượng và những kết nối này có thể được thay đổi lúc đang chạy Các đối tượng DCOM được triển khai bên trong các gói nhị phân chứa các mã lệnh quản lý chu kỳ sống của đối tượng và việc đăng ký đối tượng

► DCOM mang đến nhiều ưu điểm như tính ổn định, không phụ thuộc vị trí địa lý, quản lý kết nối hiệu quả và dễ dàng mở rộng, là một lựa chọn tốt cho các

doanh nghiệp sử dụng công nghệ của Windows để chạy các ứng dụng có yêu cầu cao

về sự chính xác và ổn định Tuy nhiên, các công nghệ của Microsoft có một nhược điểm lớn là chúng bị giới hạn trên nền tảng Windows

Hình 1.3 Mô hình DCOM

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

Ngày nay áp lực đặt lên các doanh nghiệp ngày càng lớn: giảm chi phí đầu tư cơ sở hạ tầng, khai thác có hiệu quả các công nghệ có sẵn, phải cố gắng phục vụ yêu cầu của

Trang 13

khách hàng ngày càng tốt hơn, đáp ứng tốt các thay đổi nghiệp vụ, khả năng tích hợp cao với các hệ thống bên ngoài… Nguyên nhân chính của mọi khó khăn trên đó là: sự không đồng nhất và sự thay đổi

Hầu hết các doanh nghiệp ngày nay đều sở hữu nhiều hệ thống, ứng dụng, với những kiến trúc khác nhau, xây dựng vào những khoảng thời gian khác nhau và dựa trên những công nghệ khác nhau phần việc của mình, sau đó chỉ việc tổng hợp thông tin trả về Trong quá trình kết hợp chắc chắn sẽ gặp những khó khăn như:

• Không đủ khả năng quản lý quy trình nghiệp vụ

• Quá nhiều định dạng dữ liệu

• Vấn đề bảo mật :Trong khi đó những thay đổi vẫn liên tục xảy ra

• Toàn cầu hoá dẫn đến tính cạnh tranh khốc liệt đòi hỏi phải rút ngắn quy trình sản phẩm để tăng ưu thế cạnh tranh với các đối thủ

• Nhu cầu và yêu cầu khách hàng thường xuyên thay đổi nhanh chóng nhằm cho ra các sản phẩm có tính cạnh tranh liên tục xuất hiện trên thị trường

• Cải tiến công nghệ dẫn đến thay đổi các thành phần liên quan

1.3 SOA và web service giải quyết vấn đề tích hợp như thế nào:

Công nghệ XML và web service

Những nghiên cứu gần đây cho thấy rằng: các khó khăn trong việc tích hợp các hệ thống có thể được khắc phục bằng cách định nghĩa thêm một tầng trừu tượng cho các

hệ thống tin học hiện có và mới xây dựng Tầng này sẽ được xây dựng dựa trên các chuẩn của web service Một số giải pháp chung trong việc dùng web service cho vấn

đề tích hợp:

• Tích hợp hướng dữ liệu:

► Xác định thông tin dữ liệu nào cần được chia sẻ (các bảng dữ liệu, các định dạng file và thông điệp)

► Xây dựng các lược đồ mô tả XML (Xml Schema) cho các thông tin này

► Sử dụng SOAP như là định dạng của thông điệp

• Tích hợp hướng chức năng/hàm APIs:

► Xác định các phương thức từ xa nào sẽ được thể hiện ra ngoài như các web service

► Định nghĩa kiểu dữ liệu XML cho đối số của các phương thức này

► Sử dụng SOAP như là định dạng thông điệp

• Tích hợp hướng thành phần giao tiếp:

► Định nghĩa thông tin mô tả web service (WSDL)

► Tạo ra các đối tượng bọc và thực hiện ánh xạ tương ứng giữa thành phần giao tiếp vừa định nghĩa với dữ liệu, thông điệp và các lời gọi hàm APIs

(cần được chia sẻ) của hệ thống hiện hành

Trang 14

Hình 1.4 Mô hình SOA sử dụng webservice

CHƯƠNG II: WORKFLOW

BPEL4WS là một ngôn ngữ chuẩn cho việc thực hiện các quy trình nghiệp vụ.Để tìm hiểu về các quy trình này chúng ta sẽ đi vào thế giới workflow

Có 2 cách hiểu về workflow

Cách 1: workflow theo nghĩa rộng, là 1 mô hình nghiệp vụ, trong đó các công việc được phân công rõ ràng, thực hiện theo thứ tự đặt sẵn Khái niệm workflow theo cách hiểu này đã có từ lâu và được ứng dụng rộng rãi trong các ngành công nghiệp Cách 2: Khái niệm workflow trong khoa học máy tính ứng dụng vào quản lý tiến trình kinh doanh (tìm hiểu dưới đây)

2.1 Khái niệm

Workflow là quá trình tự động hóa một phần hoặc toàn bộ một tiến trình kinh doanh

Ý nghĩa của workflow khi này đơn giản chỉ là các luồng công việc

Hệ thống quản trị luồng công việc: quản lý và thực thi các mô hình luồng công việc thông qua việc thực thi các phần mềm Gồm 2 thành tố:

+ Bộ phận hỗ trợ đặc tả mô hình luồng công việc

+ Bộ phận vận hành mô hình đã đặc tả

2.2 Ích lợi áp dụng workflow:

Lợi ích của việc sử dụng worflow trong quản lý tiến trình kinh doanh được liệt

kê như sau:

+ Tiến trình kinh doanh đưọc vạch ra rõ ràng, vì thế trách nhiệm và những mối

quan hệ cộng tác được định rõ

+ Dễ dàng để tối ưu hóa công việc kinh doanh vì những định nghĩa chính xác

trên

Trang 15

+ Tiến trình kinh doanh được chia nhỏ thành những module và những module này có thể tổ chức lại theo mô hình workflow để thích ứng với tiến trình kinh doanh chung, vì thế dễ dàng thích nghi nhanh chóng với những thay đổi không đoán trước được trong những yêu cầu và điều kiện kinh doanh

+ Workflow có thể theo dõi hằng ngày

+ Workflow tích hợp với những ứng dụng hay những hệ thống khác vào tiến

Ví dụ: hành vi gửi hóa đơn được thực hiện ngay sau hành vi gửi hàng hóa

Cài đặt: dạng tuần tự được sử dụng để mô hình các bước liên tiếp trong

cùng 1 tiến trình của luồng công việc

Mô hình:

Hình 2.1 Mô hình tuần tự:

Công việc B được thực hiện sau khi công việc A được hoàn thành

2.3.1.2.Song song (Parallel Split)

Mô tả: 1 điểm trong 1 tiến trình của luồng công việc là nơi 1 công việc được tách thành nhiều công việc con Các công việc con có thể được tiến hành đồng thời cùng lúc với nhau (song song nhau)

Ví dụ: Sau khi hành vi nhận tiền hoàn thành, hành vi gửi hàng và hành vi

xuất hóa đơn sẽ được kích hoạt và tiến hành đồng thời

Mô hình:

Công việc B Công việcA

Trang 16

Hình 2.2 song song

2.3.1.3 Đồng bộ hoá

Mô tả: 1 điểm trong luồng công việc là nơi các tiến trình hay các công việc con nhập lại làm 1 tiến trình hay công việc đơn Trong dạng mô hình này, tất cả các luồng đi vào phải chờ nhau tại điểm đồng bộ hóa

Ví dụ: Sau khi hành vi gửi hàng và xuất hóa đơn được thực hiện, hành vi

lưu trữ mới được kích hoạt

Mô hình:

Hình 2.3.Mô hình đồng bộ hóa

2.3.1.4 Phép chọn loại trừ (Exclusive Choice)

Mô tả: tại 1 điểm trong luồng công việc sẽ diễn ra sự lựa chọn công việc nào sẽ được kích hoạt tiếp theo trong 1 loạt các công việc kế tiếp

Ví dụ: Sau khi công việc kiểm thử phần mềm được thực hiện, dựa vào kết

quả kiểm thử sẽ quyết định công việc tiếp theo là lập trình hay đóng gói phần mềm

Mô hình:

Hình 2.4 Mô hình chọn loại trừ

2.3.1.5 Trộn đơn giản (Simple Merge)

Mô tả: 1 điểm trong luồng công việc là nơi 2 hay nhiều nhánh gặp nhau, không có sự đồng bộ hóa giữa các nhánh

Ví dụ: Công việc lưu trữ được thực hiện sau khi công việc gửi hóa đơn

hoặc công việc nhận hóa đơn được thực hiện

Công việc A

Công việc B

Công việc CChon b

hay c

Trang 17

Hình 2.5.Mô hình trộn đơn giản

Chú thích: chỉ cần 1 trong 2 công việc A hoặc B được hoàn thành thì công việc C sẽ được kích hoạt

+ Các dạng nâng cao:

2.3.1.6 Chọn đa nhánh (Multi-Choice)

Mô tả: Một điểm trong tiến trình là nơi mà một hoặc nhiều nhánh được chọn theo một quyết định hoặc dựa trên dữ liệu của nghiệp vụ.Mẫu này khác với mẫu 2.4.1.4 (chọn loại trừ) có thể chọn một hoặc nhiều nhánh được chọn ra và thực thi, tương tự như phép XOR

Các ví dụ:Sau khi thực hiện hành vi đánh-giá-thiệt-hại, hành vi “liên hệ phòng cứu hỏa” hoặc hành vi “liên hệ công ty bảo hiểm” được thực hiện Ít nhất một trong hai hành vi này được thực hiện Tuy nhiên, cũng có thể là cả hai cần được thực hiện

ra khỏi nút AND phân luồng (AND-Split) phải đều được thực hiện

Các ví dụ: Mở rộng ví dụ trong mẫu 6 (chọn đa nhánh), sau khi một hoặc cả hai hành

vi liên-hệ-phòng-chữa-cháy và liên-hệ-công-ty-bảo-hiểm đã hoàn tất (dựa trên việc nó

có được thực thi hay không), hành vi trình-báo-cáo phải được thực hiện (chỉ duy nhất một hành vi)

A

Trang 18

Hình 2.7.Mô hình trộn đồng bộ hóa

2.3.1.8 Trộn đa nhánh

Mô tả: Một điểm trong tiến trình là nơi hai hoặc nhiều nhánh hội tụ lại và không được đồng bộ hóa Nếu nhiều hơn một nhánh được kích hoạt, ngay lập tức hành vi sau điểm trộn sẽ bắt đầu đối với mỗi kích hoạt của mỗi nhánh vào Mẫu này chính là thể hiện cho cơ chế trộn phục vụ cho mục đích dùng chung cho các thành phần trong quy trình Các ví dụ: Thỉnh thoảng hai hay nhiều nhánh có cùng điểm kết thúc Thay vì lặp lại tiến trình này cho mỗi nhánh (có thể phức tạp), ta dùng mẫu trộn đa nhánh Ví dụ đơn giản của trường hợp này là 2 hành vi “kiểm tra đơn xin việc” và “xử lý đơn xin việc” cùng thực hiện song song và thực hiện trước hành vi “đóng trường hợp”

Các ví dụ:Tiến trình xem xét sản phẩm : trong tiến trình này vòng lặp các

hoạt động Make,Read, Note, Approve là một vòng lặp cấu trúc

B

A

C

Trang 19

Hình 2.9.Mô hình các vòng lặp tùy ý

CHƯƠNG III:TÌM HIỂU KHÁI QUÁT WEB SERVICE

3.1.Định nghĩa web service: là một công nghệ gọi từ xa có tính khả chuyển cao nhất

hiện nay: mang tính độc lập nền, độc lập ngôn ngữ Do đó, các chương trình code bằng các ngôn ngữ lập trình khác nhau, chạy trên các nền tảng (phần cứng & OS) khác nhau đều có thể trao đổi với nhau thông qua công nghệ này

Trang 20

Hình 3.1.Mô hình webservice đơn giản

3.2.Đặc điểm của webservice:

• Web service cho phép client và server tương tác được với nhau mặc dù trong những môi trường khác nhau

• Web service thì có dạng mở và dựa vào các tiêu chuẩn.XML và HTTP là nền tảng kỹ thuật cho web service.Phần lớn kỹ thuật của web service được xây dựng là những dự án nguồn mở Bởi vậy, chúng độc lập và vận hành được với nhau

• Web service thì rất linh động : với UDDI và WSDL, thì việc mô tả và phát triển web service có thể được tự động hóa

• Web service được xây dựng trên nền tảng những công nghệ đã được chấp nhận

• Web service có dạng mô đun

• Web service có thể công bố (publish)

Ví dụ về webservice như: Đặt vé máy bay trực tuyến,các dịch vụ thương mại,dự báo thời tiết…

Hình 3.2 Ứng dụng của webservice trong thực tế

Trang 21

3.3.Các thành phần chính trong Webservice:

3.3.1.XML: XML là một ngôn ngữ mô tả văn bản với cấu trúc do người sử dụng định

nghĩa Về hình thức XML có ký pháp tựa như HTML nhưng không tuân theo một đặc

tả quy ước như HTML Do web service là sự kết hợp của nhiều thành phần khác nhau ,

do đó web services sử dụng các tính năng và đặc trưng của các thành phần này để giao tiếp với nhau.Vì vậy XML là một công cụ chính yếu để giải quyết vấn đề này Từ kết qủa này , các ứng dụng tích hợp vĩ mô tăng cường sử dụng XML.Nhờ có khả năng tổng hợp này mà XML đã trở thành kiến trúc nền tảng cho việc xây dựng web service

3.3.2.WSDL -Web Services Description Language :

WSDL định nghĩa cách mô tả web service theo cú pháp tổng quát XML , bao gồm các thông tin

- Tên ̣service

- Giao thức và kiểu mã hóa sẽ được sử dụng khi gọi các hàm của web service

- Loại thông tin: những thao tác, những tham số, và những kiểu dữ liệu gồm có giao diện của web service, cộng với tên cho giao diện này

Một WSDL hợp lệ gồm có hai phần :

1 Phần giao diện mô tả giao diện và giao thức kết nối

2 Phần thi hành mô tả thông tin để truy xuất service

Cả 2 phần trên sẽ được lưu trong 2 tập tin XML , bao gồm:

- Tập tin giao diện service (cho phần 1)

- Tập tin thi hành service (cho phần 2)

Hình 3.3.Mô tả wsdl

3.3.3.UDDI - Universal Description , Discovery and Intergration:

Để có thể sữ dụng các dịch vụ, trước tiên client phải tìm dịch vụ, ghi nhận thông tin về cách sử dụng dịch vụ và biết được đối tượng cung cấp dịch vụ UDDI định nghĩa một

số thành phần cho biết trước các thông tin này để cho phép các client truy tìm và nhận lại những thông tin yêu cầu sử dụng web services

Trang 22

Hình 3.4.Mô hình của UDDI

3.3.4 SOAP - Simple Object Accesss Protocol

Web services có thể truy xuất bằng một giao thức là Simple Object Access Protocol – SOAP Nói cách khác chúng ta có thể truy xuất đến UDDI registry bằng các lệnh gọi hoàn toàn theo kiểu SOAP

SOAP là một giao thức giao tiếp có cấu trúc như XML và mã hóa thành định dạng chung cho các ứng dụng trao đổi với nhau Ý tưởng bắt đầu từ Microsoft và phần mềm Userland , trải qua nhiều lần thay đổi , hiện tại là phiên bản SOAP 1.2 với nhiều ưu điểm vuợt trội hơn bản SOAP 1.1 SOAP được xem như là cấu trúc xương sống của các ứng dụng phân tán xây dựng từ nhiều ngôn ngữ , hệ điều hành khác nhau

3.3.4.1 Đặc trưng SOAP:

SOAP có những đặc trưng sau :

- SOAP được thiết kế đơn giản và dễ mở rộng

- Tất cả các message SOAP đều được mã hóa sử dụng XML

- SOAP sử dùng giao thức truyền dữ liệu riêng

- Không có garbage collection phân tán , và cũng không có cơ chế tham

chiếu.Vì thế SOAP client không giữ bất kỳ một tham chiếu đầy đủ nào về các đối tượng ở xa

- SOAP không bị ràng buộc bởi bất kỳ ngôn ngữ lập trình nào hoặc công nghệ nào

3.3.4.2 Cấu trúc một message theo dạng SOAP:

Cấu trúc một message theo dạng SOAP được mô tả như hình dưới đây:

Trang 23

Hình 3.5.Cấu trúc SOAPMessage theo dạng SOAP là một văn bản XML bình thường bao gồm các phần tử sau:

- Phần tử gốc - envelop : phần từ bao trùm nội dung message , khai báo văn bản XML như là một thông điệp SOAP

- Phần tử đầu trang – header : chứa các thông tin tiêu đề cho trang , phần tử này không bắt buộc khai báo trong văn bản Những đầu mục còn có thể mang những dữ liệu chứng thực, những chữ ký số hóa, và thông tin mã hóa, hoặc những cài đặt cho giao tác

- Phần tử khai báo nội dung chính trong thông điệp - body , chứa các thông tin yêu cầu

và phản hồi

- Phần tử phát sinh lỗi (Fault) cung cấp thông tin lỗi xảy ra trong qúa trình xử lý thông điệp

Trong trường hợp đơn giản nhất, phần thân của SOAP message gồm có:

- Tên của message

- Một tham khảo tới một thể hiện service

- Một hoặc nhiều tham số mang các giá trị và mang các tham chiếu Có 3 kiểu thông báo

Request messages : với các tham số gọi thực thi một service

Response messages với các tham số trả về, được sử dụng khi đáp ứng yêu cầu

3.4.Xây dựng web service:

3.4.1.1.Giai đoạn xây dựng

Giai đoạn đầu tiên khi chúng ta tạo ra một web service là giai đoạn xây dựng.Có hai cách khác nhau để tiến hành trong giai đọan xây dựng:

- Red path - solod : chúng ta xây dựng từ trạng thái ban đầu hoặc đã có sẵn bằng mã Java Sử dụng mã Java đó, chúng ta xây dựng định nghĩa service (WSDL) với các đối tượng , hàm , chức năng mà chúng ta mong muốn

- Blue path –dashed : một cách thực hiện khác là xây dựng 1 webservice dựa trên một webservice đã có sẵn

3.4.1.2.Giai đoạn triển khai

Giai đoạn thứ hai là giai đoạn triển khai.Trong giai đoạn này chúng ta triển khai web service tới một application server

Trang 24

3.4.1.3 Giai đoạn thực thi:

Giai đoạn thứ ba là giai đoạn tiến hành Trong giai đoạn này chúng ta công bố

(publish) web service để các client có thể tìm thấy Thao tác̣ công bô nàý có thể sử dụng UDDI registry.Web service được thực thi và được gọi bởi những người dùng muốn sử dụng dịch vụ

3.4.1.4 Giai đoạn quản lý:

Giai đoạn cuối cùng là giai đoạn quản lý Nó bao trùm tất cả các nhiệm vụ quản lý và quản trị ứng dụng web service

Chúng ta đã nắm được các bước cơ bản để thực hiện 1 dịch vụ web Ngoài ra còn có những phương pháp khác để tạo một dịch vụ khác mà điển hình là sử dụng ngôn ngữ BPEL4WS Đây là ngôn ngữ mạnh hiện nay,chúng ta sẽ đi vào tìm hiểu ngôn ngữ này ở chương kế tiếp.

Trang 25

CHƯƠNG 4: LÝ THUYẾT BPEL 2.0

Hình 4.1.Kiến trúc của bpel process

4.1.Nội dung cơ bản:

4.1.1.Cấu trúc của bpel process:

Đầu tiên BPEL process là một container,trong đó chúng ta định nghĩa các mối liên hệ bên ngoài,định nghĩa các loại dữ liệu,kiểm soát lỗi và quan trọng nhất chính là các active thực thi

Trên cùng, process chứa một số thuộc tính và các namespace.Ví dụ:

<process name="PrimerProcess"

targetNamespace="http://oasis-open.org/WSBPEL/Primer/"

xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable" />

Trang 26

Namespace định nghĩa “http://docs.oasis-open.org/wsbpel/2.0/process/executable”

đó là những Execute Process

Ta có cấu trúc tổng quát theo mẫu sau:

<process name="ncname" targetNamespace="uri"

<! Note: At least one role must be specified >

<partnerLink name="ncname" partnerLinkType="qname"

<! Note: There must be at least one fault handler or default >

<catch faultName="qname"? faultVariable="ncname"?>*

<! Note: There must be at least one onMessage or onAlarm handler >

<onMessage partnerLink="ncname" portType="qname"

Trang 27

Activity

</process>

4.1.2.Mối quan hệ với các Bussiness Partner:

BPEL gọi những service tương tác với process là những partner (invoke) và client

sử dụng BPEL cũng là 1partner (receive).BPEL process thì giống như 1

Hình 4.2 Các thành phần trong bpel process

Ví dụ:các partner tương ứng là:Client,Credit Service và Inventory Service

4.1.3.Trạng thái của BPEL process:

Để việc truyền dữ liệu trong BPEL ta định nghĩa các variable.các variable này lưu giữ dữ liệu trong suốt quá trình thực hiện BPEL process Các dữ liệu này được viết

và đọc từ các kiểu biến Giá trị trong 1 biến có thể là của 2 nguồn: hoặc là những message trao đổi giữa các partner hoặc là những dữ liệu trung gian của của

process Các biến trong BPEL phải là các kiểu message trong WSDL,các kiểu cơ bản trong XML Schema Và để thay đổi trạng thái của process bằng cách thay đổi

Ngày đăng: 02/06/2015, 17:33

HÌNH ẢNH LIÊN QUAN

Hình 1.2 Mô hình EJB - BÀI BÁO CÁO THỰC TẬP-NGHIÊN CỨU WEB SERVICES COMPOSITION SỬ DỤNG BPEL4WS
Hình 1.2 Mô hình EJB (Trang 12)
Hình 1.3 Mô hình DCOM - BÀI BÁO CÁO THỰC TẬP-NGHIÊN CỨU WEB SERVICES COMPOSITION SỬ DỤNG BPEL4WS
Hình 1.3 Mô hình DCOM (Trang 12)
Hình 1.4 Mô hình SOA sử dụng webservice - BÀI BÁO CÁO THỰC TẬP-NGHIÊN CỨU WEB SERVICES COMPOSITION SỬ DỤNG BPEL4WS
Hình 1.4 Mô hình SOA sử dụng webservice (Trang 14)
Hình 2.8.Mô hình trộn đa nhánh - BÀI BÁO CÁO THỰC TẬP-NGHIÊN CỨU WEB SERVICES COMPOSITION SỬ DỤNG BPEL4WS
Hình 2.8. Mô hình trộn đa nhánh (Trang 18)
Hình 4.1.Kiến trúc của bpel process - BÀI BÁO CÁO THỰC TẬP-NGHIÊN CỨU WEB SERVICES COMPOSITION SỬ DỤNG BPEL4WS
Hình 4.1. Kiến trúc của bpel process (Trang 25)
Hình 4.2. Các thành phần trong bpel process - BÀI BÁO CÁO THỰC TẬP-NGHIÊN CỨU WEB SERVICES COMPOSITION SỬ DỤNG BPEL4WS
Hình 4.2. Các thành phần trong bpel process (Trang 27)
Hình 5.9. Lược đồ cơ sở dữ liệu - BÀI BÁO CÁO THỰC TẬP-NGHIÊN CỨU WEB SERVICES COMPOSITION SỬ DỤNG BPEL4WS
Hình 5.9. Lược đồ cơ sở dữ liệu (Trang 45)
Hình 5.10. Giao diện thiết kế - BÀI BÁO CÁO THỰC TẬP-NGHIÊN CỨU WEB SERVICES COMPOSITION SỬ DỤNG BPEL4WS
Hình 5.10. Giao diện thiết kế (Trang 46)
Hình 5.12.Thiết kế partnerlink - BÀI BÁO CÁO THỰC TẬP-NGHIÊN CỨU WEB SERVICES COMPOSITION SỬ DỤNG BPEL4WS
Hình 5.12. Thiết kế partnerlink (Trang 47)
Hình 5.13 config active &lt;invoke&gt; - BÀI BÁO CÁO THỰC TẬP-NGHIÊN CỨU WEB SERVICES COMPOSITION SỬ DỤNG BPEL4WS
Hình 5.13 config active &lt;invoke&gt; (Trang 48)
Hình 5.14. BPEL proccess - BÀI BÁO CÁO THỰC TẬP-NGHIÊN CỨU WEB SERVICES COMPOSITION SỬ DỤNG BPEL4WS
Hình 5.14. BPEL proccess (Trang 49)
Hình 5.16. config active &lt;assign&gt; - BÀI BÁO CÁO THỰC TẬP-NGHIÊN CỨU WEB SERVICES COMPOSITION SỬ DỤNG BPEL4WS
Hình 5.16. config active &lt;assign&gt; (Trang 50)
Hình 5.18. config deploy.xml - BÀI BÁO CÁO THỰC TẬP-NGHIÊN CỨU WEB SERVICES COMPOSITION SỬ DỤNG BPEL4WS
Hình 5.18. config deploy.xml (Trang 52)
Hình 5.19.Mô hình bpel process tương tự 1 web service - BÀI BÁO CÁO THỰC TẬP-NGHIÊN CỨU WEB SERVICES COMPOSITION SỬ DỤNG BPEL4WS
Hình 5.19. Mô hình bpel process tương tự 1 web service (Trang 53)
Hình 5.20.Tạo web project client - BÀI BÁO CÁO THỰC TẬP-NGHIÊN CỨU WEB SERVICES COMPOSITION SỬ DỤNG BPEL4WS
Hình 5.20. Tạo web project client (Trang 54)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w