business process excution language

25

Upload: nguyen-tran

Post on 28-Nov-2014

1.001 views

Category:

Documents


11 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Business process excution language
Page 2: Business process excution language

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

Page 3: Business process excution language

•WEB SERVICE

•BPEL

•WEB SERVICE DICRIPTION

LANGUAGE

•DEMO

Page 4: Business process excution language

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.

Page 5: Business process excution language

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.

Page 6: Business process excution language

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

Page 7: Business process excution language
Page 8: Business process excution language

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.

Page 9: Business process excution language

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

Page 10: Business process excution language

•WEB SERVICE

•BPEL

•WEB SERVICE DICRIPTION

LANGUAGE

•DEMO

Page 11: Business process excution language

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

Page 12: Business process excution language

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ụ.

Page 13: Business process excution language

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 đó.

Page 14: Business process excution language

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

Page 15: Business process excution language

<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.

Page 16: Business process excution language

<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ó,

Page 17: Business process excution language

•WEB SERVICE

•BPEL

•WEB SERVICE DICRIPTION

LANGUAGE

•DEMO

Page 18: Business process excution language

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 :

Page 19: Business process excution language

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>

Page 20: Business process excution language

•WEB SERVICE

•BPEL

•WEB SERVICE DICRIPTION LANGUAGE

•Demo

Page 21: Business process excution language

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

Page 22: Business process excution language

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 :

Page 23: Business process excution language

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

Page 24: Business process excution language

Client BPEL proces

s

Web Service : Bank

Web Service : Order

NumCredit và MaH

NumCredit

MaH

KQ1

KQ2

KQ

Page 25: Business process excution language