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

Những công nghệ được sử dụng để cài đặt theo kiến trúc hướng dịch

Một phần của tài liệu ĐỒ ÁN TÌM HIỂU VÀ XÂY DỰNG ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VỚI ORACLE SOA SUITE (Trang 35 -40 )

vụ (Standards in SOA)

Một trong những nguyên tắc quan trọng của SOA là tiêu chuẩn hóạ Khi giao tiếp với ứng dụng khác, nếu giao thức và các định dạng thông điệp mà các ứng dụng này sử dụng khác nhaụ Chúng ta thấy rằng trong các cuộc thảo luận của chúng ta về các định dạng dữ liệu kinh điển và ESB. Điều này cũng đúng cho các giao thức. Hệ thống công nghệ thông tin trong một tổ chức thường sử dụng các giao thức khác nhau và các ngôn ngữ lập trình khác nhaụ Điều này làm cho sự kết hợp chúng với ứng dụng mới gặp khó khăn. Để giải quyết điều này, nên sử dụng các giao thức chuẩn và định dạng thông điệp chuẩn. Tiêu chuẩn trong SOA gồm các phần sau đây:

Dịch vụ web (Web Service).

SOAP và WSDL

Dịch vụ RESTful (RESTful Service).

RSS Feeds.

Chính sách (Policies).

21

2.4.1. Dịch vụ web (Web Services)

Dịch vụ web (Web Service) là một trong những chuẩn được áp dụng phổ biến nhất trong kiến trúc hướng dịch vụ. Theo tổ chức W3C mô tả các dịch vụ web như sau : “Dịch vụ web cung cấp một chuẩn tích hợp giữa các ứng dụng phần mềm khác nhau, chạy trên nhiều nền tảng hoặc các framework khác nhaụ Dịch vụ web đặc trưng bởi khả năng tương tác và mở rộng cũng như các đặc tả sử dụng XML. Chúng có thể được kết hợp một cách lỏng lẻo để mà đạt được các thao tác phức tạp. Có hai cách để tạo ra một dịch vụ web: Sử dụng một giao thức định nghĩa hoạt động chính thức và định dạng thông điệp trước. Dịch vụ web SOAP là một ví dụ làm việc theo thông số kỹ thuật chính thức được xác định trước, trong khi dịch vụ RESTful là một cách tiếp cận thứ haị

2.4.2. SOAP (Simple Object Access Protocol) và WSDL (Web Service Description Language)

Cách tiếp cận chính thức theo hợp đồng và tiếp cận theo XML được coi là rất mạnh. Dịch vụ SOAP gọi một phương thức chính thức của việc giao tiếp giữa ứng dụng. Thông qua SOAP và WSDL một tổ chức có thể mô tả các hoạt động có sẵn trong dịch vụ và các dữ liệu có thể được trao đổi với các dịch vụ. Các đặc điểm kỹ thuật của dịch vụ này có các ưu điểm như sau :

Tương tác mạnh mẽ.

Được hỗ trợ bởi nhiều giao thức(SOAP trên HTTP, SOAP trên JMS) . Các tính năng khác như: WS- Ađressing, WS-Securitỵ

2.4.3. Dịch vụ RESTful

Một dịch vụ web khác nhẹ hơn là RESTful. REST viết tắt của Representational State Transfer. Nguồn gốc được giới thiệu bởi Roy Fielding là một nguồn tài nguyên theo định hướng chứ không phải phương pháp chính thức của chương trình tương tác qua giao thức HTTP sử dụng bốn giao thức cơ bản: PUT, POST, GET và DELETE, dịch vụ RESTful đã phát triển thành giao thức HTTP dựa trên các APỊ Dịch vụ RESTful chấp nhận yêu cầu giao thức HTTP đơn giản và gởi các đáp ứng

22

cho người dùng. Ban đầu nó gần như phân bổ cho thấy sự cần thiết hoặc thậm chí cho các mô tả, trong khi ở giai đoạn sau này đã thử nghiệm với các nhóm lớn như WADL(Web Application Definition Language). Kiểu dịch vụ REST có thể trả về file XML, mặc dù các định dạng khác như CSV và JSON rất phổ biến. Có rất nhiêu sự hỗ trợ cho REST về phía khách hàng (dịch vụ REST áp dụng nhiều trong các ngôn ngữ lập trình) và một số trên máy chủ cho xuất bản các dịch vụ kiểu REST. Một số ESB đã hỗ trợ cho REST mặc dù chủ yếu là XML được mô tả bởi một số hợp đồng được xác định trước. RESTful rất hữu dụng cho việc tích hợp dữ liệu giữa web client và server.

2.4.4. RSS Feeds

Một cách tiếp cận nhẹ nhàng để chương trình trao đổi thông tin là thông qua RSS feeds. Một yêu cầu HTTP GET đơn giản đủ để lấy các thông tin, định dạng cấu trúc XML được xác định trước. RSS chỉ hỗ trợ mô hình tương tác rất đơn giản.

2.4.5. Chính sách (Policies)

Như chúng ta đã thảo luận trước, một dịch vụ bao gồm một giao diện có thể được mô tả trong WSDL.

Một chính sách là một tập các quy tắc quy định cho: Các dịch vụ

23 Các thành phần

Quy ước Các server

Các xử lý tại điểm thực thi

Các chính sách cho phép thiết lập các quy tắc tại thời điểm thực thi, giám sát sự truyền thông, cách xử lý dịch vụ làm nổi bật và gia tăng sức mạnh cho các hợp đồng dịch vụ. Việc tạo ra các chính sách của quy trình thiết kế làm tăng tính linh hoạt và đem lại sự quản lý dễ dàng hơn nhiềụ

2.4.6. Thư mục UĐI (Universal Description Discovery and Integration), đăng ký dịch vụ (Service Registry) và nơi lưu trữ dịch vụ (Service Reposity)

Bởi vì chúng ta muốn tái sử dụng các tài nguyên để xây dựng ứng dụng mới, sử dụng các thành phần tồn tại sẵn. Chúng ta cần một vài kiểu đăng ký để lưu trữ và xuất bản thông tin về dịch vụ trong tổ chức. Những dịch vụ này đã sẵn sàng và có thể được tìm thấỵ Để làm được điều này có thể sử dụng các công cụ khác nhau để tìm kiếm các dịch vụ, một tiêu chuẩn được định nghĩa để tìm kiếm dịch vụ web là : UĐI (Universal Description Discovery and Integration). UĐI định nghĩa một phương pháp chuẩn cho việc xuất bản và tìm kiếm mạng lưới các thành phần phần mềm trong SOẠ UĐI là một trong những chuẩn mới nhất trong dịch vụ web với WSDL và SOAP. Nhiều UĐI hoặc dịch vụ đăng ký ngày nay dường như sử dụng cho lúc chạy để tìm kiếm vị trí vật lý của dịch vụ hoặc hình thức dịch vụ ảọ

2.4.7. Business Process Execution Language (BPEL)

BPEL là một ngôn ngữ XML được thiết kế nhằm cho phép kết hợp các xử lý trên một môi trường phân tán theo một luồng xử lý hay quy trình nghiệp vụ có cấu trúc định trước. Việc kết hợp một cách có hiệu quả các dịch vụ hỗ trợ rất nhiều trong việc tích hợp các hệ thống. Điều này thật sự cần thiết trong bối cảnh phát triển ứng dụng cộng đồng công nghệ thông tin ngày naỵ Khi mà xuất hiện ngày càng nhiều các nền tảng và các công nghệ mớị Và vấn đề mở rộng các hệ thống hiện có, tích hợp thêm các hệ thống mới để tiếp cận các lợi ích, các thành tựu của công nghệ mới đã trở nên là vấn đề cấp bách và hiện đang giành được rất nhiều sự quan tâm.

24

Điều này thể hiện rõ ở sự ra đời của ngôn ngữ, với sự hỗ trợ phát triển của các công ty lớn như là Microsoft, IBM, Siebel Systems, BEA, SAP và Oraclẹ

BPEL đượ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. Vì thế 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). BPEL hỗ trợ tạo ra hai loại tiến trình:

- Tiến trình trừu tượng: Đưa ra những qui tắc trao đổi thông điệp giữa những dịch vụ tham gia, nhưng không chỉ rõ về cấu trúc bên trong của các thông điệp.

- Tiến trình thực thi: Xác định rõ trình tự thực hiện của từng xử lý, các dịch vụ liên quan, các thông điệp trao đổi trong khi tương tác, cơ chế bắt lỗi và xử lý ngoại lệ.

Đặc tả tiến trình của ngôn ngữ BPEL có dạng sơ đồ luồng. Mỗi tác vụ trong tiến trình được gọi là một xử lý. Có hai loại xử lý là xử lý cơ bản và xử lý có cấu trúc.

- Các xử lý cơ bản:

Tên xử lý BPEL Constructs

(JDeveloper) Mô tả

Invoke Gọi thực hiện một phương thức

của dịch.

Receive Chờ nhận một thông điệp từ một

đối tượng bên ngoài tiến trình.

Reply Gởi thông điệp đến một đối tượng

bên ngoài tiến trình.

Wait Dừng tiến trình để chờ trong một

khoảng thời gian.

25

dữ liệụ

Throw Thông báo lỗi trong quá trình xử

lý.

Terminate Kết thúc tiến trình.

Bảng 2-1: Các xử lý cơ bản của BPEL

- Các xử lý có cấu trúc:

Tên xử lý BPEL Constructs

(JDeveloper) Mô tả

Sequence Điều khiển các xử lý bên trong

thực hiện một cách tuần tự.

Flow Điều khiển các xử lý bên trong

thực hiện một cách song song.

While Lặp lại một xử lý trong khi điều

kiện lặp còn được thỏạ

Switch Chọn lựa xử lý cần thực hiện dựa

theo các điều kiện.

Pick Chờ nghe sự kiện và thực hiện

những xử lý tương ứng.

Bảng 2-2: Các xử lý có cấu trúc của BPEL

Một phần của tài liệu ĐỒ ÁN TÌM HIỂU VÀ XÂY DỰNG ỨNG DỤNG KIẾN TRÚC HƯỚNG DỊCH VỤ VỚI ORACLE SOA SUITE (Trang 35 -40 )

×