Upload
nguyen-tran
View
1.003
Download
11
Embed Size (px)
DESCRIPTION
Citation preview
WEB SERVICE
Tài liệu tham khảo:
Business Process Execution Language for
Web Services Matjaza B. Juric
Web tham khảo: www.bpmodeling.com
•WEB SERVICE
•BPEL
•WEB SERVICE DICRIPTION
LANGUAGE
•DEMO
WEB SERVICE
Web Service là gì?
• Là một tập các chuẩn đặc tả mở rộng khả
năng của các chuẩn có sẵn như XML, URL và
HTTP nhằm cung cấp chuẩn truyền thông giữa
các hệ thống với nhau.
• Là hệ thống thực thi một số xữ lý nghiệp vụ
thông qua những dịch vụ và cung cấp những
dịch vụ qua mạng.
• Độc lập về ngôn ngữ và nền tảng.
WEB SERVICE
Lợi ích của Web Service:
• Có khả năng tạo ra môi trường phân tán
trong đó bất kỳ ứng dụng nào cũng có thể
kết hợp với nhau dễ dàng với nền tảng
độc lập.
WEB SERVICE
Applycation
Web ServiceWSDL
{
Xử lý nghiệp
vụ 1
Xử lý nghiệp
vụ 2
Xử lý nghiệp
vụ 3
…….
…….}
y/c nghiệp vụ 1
K/q nghiệp vụ 1
Vấn đề : Về các nghiệp vụ của Web
Service Do Web Service cung cấp cho chúng ta các nghiệp vụ ,dó đó
chúng ta sẽ có nhu cầu là : từ các nghiệp vụ của web service làm
sao chúng ta có thể tạo ra được một qui trình nghiệp vụ từ các
nghiệp vụ đó ?
VD: Ngân hàng cung cấp cho chúng ta web service phục vụ
các nghiệp vụ liên quan đến tra tiền qua mạng , và Công ty
chúng ta cũng có một web service cung cấp các nghiệp vụ liên
quan đến việc bán hàng. Vây làm sao chúng ta có thể tạo ra một
quy trình nghiệp vụ bán hàng qua mạng từ các web service
trên.
ClientBPEL proces
s
Web Service : Bank{
…..Kiểm Tra NumCredit
…….}
Web Service : Order{
…………Kiểm Tra Hàng hóa
…………….}
NumCredit và MaH
NumCredit
MaH
KQ1
KQ2
KQ
Ngôn ngữ PBEL cho phép chúng ta làm được điều đó một cách dể dàng
•WEB SERVICE
•BPEL
•WEB SERVICE DICRIPTION
LANGUAGE
•DEMO
BUSINESS PROCESS EXCUTION LANGUAGE
Định nghĩa:
Business Process Execution Language
( BPEL4WS hoặc BPEL) là một chuẩn được định
nghĩa trên nền tảng XML kết hợp với Web Sevice để
mô hình hóa và thực thi các quy trình nghiệp vụ .
BPEL dựa trên nền tảng XML với sự kết hợp
WSDL 1.1 , XML Schema 1.0, và Xpath 1.0
BUSINESS PROCESS EXCUTION LANGUAGE
Tại Sao phải dùng BPEL
BPEL cung cấp một nền tảng tự động hóa cho các quá trình
nghiệp vụ
Cho phép triển khai thực hiện song song các hoạt động
không trùng nhau thực hiện để tiết kiệm thời gian và tăng
hiệu xuất.
Ánh xạ dữ liệu giữa các đối tác tương tác với nhau.
BPEL cung cấp khả năng phục hồi cho các xử lý của quy
trình nghiệp vụ.
BUSINESS PROCESS EXCUTION LANGUAGE
Các khái niệm trong BPEL:
Partner: l à các dịch vụ mà tiến trình gọi hoặc là các đối tượng gọi
đến tiến trình.
Partner Link Tyle: biểu diễn mối quan hệ giữa tiến trình và dịch
vụ bằng cách định nghĩa các role mà các đối tượng sẽ thể hiện trong
quá trình tương tác.
Partner Link: trong BPEL4WS, các partner được biểu diễn bởi
partner link, một partner link được định nghĩa bằng cách đặt cho nó
một cái tên, chỉ ra tên của partner link tyle và sau đó chỉ ra “role” mà
tiến trình sẽ tham gia vào và role mà partner sẽ tham gia trong
partner link đó.
BUSINESS PROCESS EXCUTION LANGUAGE
Cấu trúc của BPEL:
<receive>: cho phép tiến trình dừng thực thi và nhận một thông
điệp thích hợp.
<reply>: cho phép tiến trình gửi thông điệp trả lời cho thông
điệp đã nhận trước đó bởi <receive>
<invoke>: cho phép tiến trình gọi một operator của một
portType được cung cấp bởi một partner.
<assign>: cho phép thực hiện gán giá trị vào một biến,<assign>
được xây dựng có thể chưa bất kỳ giá trị nào
<throw>: cho phép ném lỗi từ bên trong một tiến trình.
<terminate >: là một cấu trúc cho phép bạn chấp dức một
quá trình nghiệp vụ ngay lập tức
<wait>: cho phép dừng xử lý trong bao lâu hay tới một thời
điểm nào đó
<empty>: cho phép chèn một xử lý không làm gì cả vào
tiến trình, điều này rất cần thiết khi cần phải đồng bộ những
xữ lý đang được xữ lý cùng lúc.
<sequence>: cho phép chỉ định những xử lý cần được thức
hiện tuần tự.
<flow>: cho phép chỉ định các xử lý cần được xử lý song
song.
<switch> : cho phép chọn một trong nhiều nhánh xử lý để
thực hiện.
<while> : cho phép lặp lại quá trình thực hiện
một xữ lý
<pick> là cấu trúc cho phép bạn chặc hoặc chờ
một thông điệp nào đó ,hoặc đến một thời điểm ra
báo động để tắt đị, khi báo động xảy ra thì các hoạt
động lien kết sẽ được thực thi và pick hòan tất
<scope> : cho phép bạn chỉ ra một xử lý cần được
thực hiện với những biến, fault handler,
compensation handler riêng định nghĩa bên trong
nó,
•WEB SERVICE
•BPEL
•WEB SERVICE DICRIPTION
LANGUAGE
•DEMO
WEB SERVICE DIFINITION LANGUAGE
Elemetn Định nghĩa
<portType> Là một hành động được thực hiện bởi
Web service ( được xem như là 1 hàm)
<message> Là một thông điệp được sử dụng bởi
Web service ( các cầu trúc tham số,..)
<types> Kiểu dư liêu được dùng bởi Web
service
<binding> Là giao thức dùng để liên lạc của Web
service
WSDL là một tài liệu XML dùng để mô tả web Service
Tài liệu WSDL dùng để mô tả dịch vụ web với các Element sau :
WEB SERVICE DICRIPTION LANGUAGECấu trúc định nghĩa trong tài liệu WSDL
<definitions>
<types>
definition of types........
</types>
<message>
definition of a message....
</message>
<portType>
definition of a port.......
</portType>
<binding>
definition of a binding....
</binding>
</definitions>
•WEB SERVICE
•BPEL
•WEB SERVICE DICRIPTION LANGUAGE
•Demo
Demo
Các cài đặc cần thiết : Oracle BPEL Process Manager
http://otn.oracle.com/bpel jdevstudio10.134
http://www.oracle.com/technology/software/products/jdev/htdocs/soft10134.html
Internet Explorer 6.0 (or later) . FireFox JDK 1.4.1 (or later) Windows 2000 or XP, 384 MB RAM
Demo 1: Hello World Mục đích của phầm Demo này là hướng
dẫn mọi người cấu hình Server BPEL , tạo
một Process BPEL, Build , Deloy, và kiểm
tra một Process BPEL. Xây dựng một ứng
dụng nhỏ SynHelloworld . Qua phần Demo
này sẽ cho mọi người thầy cấu trúc của
Process BPEL và thấy được BPEL ngoài khả
năng mô hình hóa nghiệp vụ nó còn có khả
năng thự thi :
Demo 2: Qui trình bán hàng đơn giản Mục định của Demo này là hưởng dẫn cho
chúng ta cách để tương tác với Webservice , Sẽ
xây dựng một mô hình và thực thi qui trình Mua
hàng trực tuyến đơn giản . từ đó giúp chúng ta có
thể xây dựng các mô hinh phức tạp hơn và thực
thi nó.
Sau khi xây dựng xong BPEL process: Sẽ
hướng dẫn chúng ta cách ,từ một ứng
dụng(DeskTop, Web,…) có thể gọi đến BPEL
process để truyền và nhận kết quả :
KQ2
Client BPEL proces
s
Web Service : Bank
Web Service : Order
NumCredit và MaH
NumCredit
MaH
KQ1
KQ2
KQ