Web Service và Websphere MQ

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Xây dựng hệ thống kết nối thanh toán giữa ngân hàng và các công ty chứng khoán (Trang 23 - 28)

CHƯƠNG 2: GIỚI THIỆU CÔNG NGHỆ WEBSPHERE MQ VÀ ỨNG DỤNG

2.2 Công nghệ Web Service với WebSphere MQ

2.2.2 Web Service và Websphere MQ

Websphere MQ cung cấp sự truyền tải thông điệp giữa các ứng dụng và Web Service, đồng thời đưa ra khả năng kết nối linh hoạt, tin cậy. Websphere MQ dùng việc xếp hàng và các công cụ trợ giúp giao dịch để duy trì tính toàn vẹn của thông điệp khi di chuyển trong mạng. Message được phân phối chính xác làm giảm khả năng mất dữ liệu khi dịch vụ hoặc mạng bị lỗi.

Websphere MQ tích hợp cả sự hỗ trợ cho việc truyền message thông qua SOAP, hỗ trợ việc thực thi .NET SOAP. Truyền thông trong Websphere MQ được bảo đảm thông qua việc sử dụng SSL (Secure Sockets Layer)[2, 5].

2.2.2.1 SOAP qua Websphere MQ [2, 5]

a. SOAP qua HTTP

Hình dưới đây minh hoạ cho việc một Web Service client thực hiện yêu cầu tới Web Service server thông qua giao thức HTTP:

Hình 2.2-3: Web Services qua HTTP

Các bước sau đây chỉ ra 1 cách nhìn đơn giản trong quá trình liên quan đến việc tạo và xử lý yêu cầu (request):

1. Client gọi 1 phương thức của 1 lớp lưu trữ trên server thông qua một proxy của lớp có khả năng truy cập tới client.

2. Tầng SOAP bắt giữ lời gọi phương thức và tạo một sự miêu tả lời gọi bằng mẫu XML

3. XML tự gói nó trong vỏ bọc SOAP vẫn trong định dạng XML

4. Dữ liệu vừa được xây dựng sẽ được gửi tới dịch vụ đích như một yêu cầu HTTP thông qua TCP/IP.

5. HTTP server nhận yêu cầu HTTP.

6. Dữ liệu SOAP qua tầng SOAP bằng HTTP server

7. Tầng SOAP phía server phân tích vỏ bọc SOAP, rút ra biểu diễn XML của phương thức

8. Tầng SOAP xác định dịch vụ đích và gọi hàm theo yêu cầu của client 9. Dịch vụ thi hành hàm và trả về kết quả

10. Kết quả được trả về cho client với kiểu tương tự.

b. SOAP qua WebSphere MQ

Hình dưới đây mô tả một Web Service client tạo một yêu cầu tới Web Service server thông qua WebSphere MQ thay vì HTTP:

Hình 2.2-4: Web Services qua WebSphere MQ

Tất cả các bước đều giống cách thức SOAP/HTTP ở trên ngoại trừ các bước 4,5 và 6. Thay vì gửi dữ liệu thông qua HTTP, tầng SOAP chuyển nội dung và vỏ bọc SOAP tới SOAP/WebSphere MQ sender. SOAP/WebSphere MQ sender đặt thông điệp SOAP vào hàng đợi giống một thông điệp WebSphere MQ. Tiến trình SOAP/WebSphere MQ listener sẽ đọc thông điệp từ hàng đợi và chuyển dữ liệu SOAP tới tầng SOAP phía máy chủ giống cách Web Service thực hiện trong trường hợp HTTP. Kết quả được trả về với cơ chế tương tự.

Thoạt nhìn có vẻ như cách này đã bổ sung thêm một lớp gián tiếp cho việc vận chuyển dữ liệu, nhưng thực tế việc WebSphere MQ để truyền tải dữ liệu có một số lợi thế:

- Ứng dụng có thể tận dụng lợi ích của tính năng đảm bảo phân phối để chắc chắn rằng yêu cầu đã được gửi đến đích và gửi đúng một lần.

- Một cơ sở hạ tầng WebSphere MQ đang sẵn sàng để sử dụng cho tương tác ứng dụng có thể được sử dụng cho việc truyền tải.

- Việc truyền tải có thể được đảm bảo hoặc nén bằng việc khai thác các tính năng của WebSphere MQ. Với việc truyền tải qua WebSphere MQ, gói tin khi đang trên đường truyền có thể được mã hoá bằng SSL để đảm bảo sự bảo mật.

- Tính năng bó cụm WebSphere MQ có thể hỗ trợ khả năng cân bằng tải, nâng cao tính sẵn sàng và tin cậy.

c. Ứng dụng client

Về mặt logic, các ứng dụng client khởi tạo ra dòng giao thức hoặc dòng message khi một yêu cầu Web Service được xử lý. Về mặt đặc thù, client sử dụng proxy để truy cập các hàm hoặc phương thức của dịch vụ như miêu tả ở hình dưới:

Hình 2.2-5: Web Service client sử dụng proxy

Một proxy là một lớp biểu diễn cùng giao diện và dấu hiệu phương thức như service nhưng thay vì thi hành trực tiếp hành vi được yêu cầu, nó gọi đến phương thức ở xa. Lớp proxy được tạo từ WSDL, nó được dịch và được làm cho sẵn sàng cục bộ như một phần của quá trình triển khai.

Các ứng dụng WebSphere MQ client có thể chạy một trong hai cơ sở hạ tầng SOAP cung cấp bởi .NET và Apache Axis1.1. Cả hai môi trường này đều cung cấp các công cụ để tạo các proxy từ WSDL.

2.2.2.2 Tầng SOAP [2, 5]

Cơ sở hạ tầng SOAP đang được sử dụng để thu thập các lời gọi hàm hoặc phương thức và định dạng các lời gọi này như một message theo định dạng XML để sẵn sàng cho việc truyền tải tới service. Khi message đã sẵn sàng, nó có thể được chuyển tới phần mềm truyền tải đã được đăng ký để quản lý URL cho Web Service.

Tại phía server (service), tầng SOAP mở gói message, xây dựng lại lời gọi và yêu cầu service, các giá trị trả về được xây dựng trong response message và SOAP truyền tải nó để chuyển trả lại.

Websphere MQ như một phương tiện truyền tải cho SOAP mà không xử lý hoặc cố gắng chuyển đổi dữ liệu SOAP. Vì vậy Websphere MQ hỗ trợ tương tác giữa các phần chỉ trong phạm vi thực thi SOAP có hỗ trợ.

URI cho một Web Service để được truy cập có sử dụng Websphere MQ theo sau cú pháp đã sử dụng cho SOAP/JMS luôn bắt đầu với “//jms:/queue?”.

Phần còn lại của URI là một chuỗi các cặp tên-giá trị. Các cặp tên-giá trị cung cấp thông tin quyết định như:

- Destination: có thể là tên queue Websphere MQ hoặc tên queue và queue manager của request queue. Tham số này cung cấp một chuỗi cặp tên-giá trị chỉ ra chính xác cách Websphere MQ sender có thể kết nối tới Websphere MQ queue manager để đặt yêu cầu vào đó. Nó cung cấp chi tiết response queue tới bên trả lời thông điệp SOAP đã được định tuyến. Tuỳ chọn để cung cấp sự bảo mật cũng có thể đưa vào đây.

- ResponseQueue: Queue để trả lời từ một Web Service đã gửi

- InitialContextFactory: khi sử dụng định dạng jms URL, tham số này chỉ rõ trình cung cấp Java Naming and Directory Interface (JNDI) được sử dụng để tìm kiếm tham số connectionFactory.

- TargetService: tên của target service. Tầng SOAP phía server sử dụng tham số này để phân biệt các service đang chạy.

Ngoài ra còn các tham số cho phép các thuộc tính liên quan đến sự tồn tại và thời gian sống.

SOAP/WebSphere MQ sender[2, 5]

Một WebSphere MQ queue manager là một dịch vụ chứa các queue để các ứng dụng có thể lấy các message và có thể đọc sau đó bởi cùng một ứng dụng

hoặc các ứng dụng khác nhau. Queue manager có thể được cấu hình để định tuyến các message để đi từ ứng dụng gửi đến các queue trong queue manager ở xa.

Trong trường hợp này, ứng dụng gửi là SOAP/WebSphere MQ sender. Ứng dụng đọc message là SOAP/WebSphere MQ listener kết hợp với Web Service.

Sender thực hiện các công việc sau khi tầng SOAP yêu cầu cùng với URI và thông điệp SOAP:

- Một cấu trúc header (WebSphere MQRFH2) được tạo và bổ sung trước dữ liệu thông điệp SOAP (SOAP message data), trong đó chứa dữ liệu biến đổi về thông điệp SOAP có thể được xử lý bởi SOAP/WebSphere MQ listener khi đi qua dữ liệu SOAP để tới phía service.

- Sender kết nối tới queue manager như mô tả trong tham số connectionFactory. Queue manager có thể là cục bộ hoặc ở xa so với sender và có thể có hoặc không chứa queue đích cho thông điệp SOAP.

- Một queue response, với chức năng nhận thông điệp trả lời từ service, được mở ra để nhận trả lời. Nếu queue này không có trong mô tả của URI thì sender sử dụng một queue mặc định.

Sender đặt message vào một queue trong queue manager. Nếu queue đích là queue local, WebSphere MQ kiểm tra nơi sender được phép ghi. Như một phần của thao tác put, một header khác là Message Descriptor được bổ sung vào message. Message Descriptor chứa thông tin về ứng dụng gửi, sự tồn tại và thời gian sống của message cũng như queue đích và queue manager. Thông tin về queue response cũng được đưa vào. Thông tin này được dùng để WebSphere MQ định tuyến message và cung cấp thông tin về sender đặt và yêu cầu message.

SOAP/WebSphere MQ listener[2, 5]

WebSphere MQ đưa các message được đặt bởi sender tới queue request, nơi SOAP/WebSphere MQ listener sẵn sàng nhận yêu cầu. Nếu SOAP/WebSphere MQ listener không sẵn sàng và listener triggering đã được cấu hình khi triển khai thì listener sẽ được bật lên khi có message đến.

Listener đọc message và thu được Message Dispatcher cùng WebSphere MQRFH2 header. Listener rút ra thông tin yêu cầu để định vị và yêu cầu Web Service sau đó đưa nó qua tầng SOAP.

2.2.2.3 Triển khai Service

Một trong những công việc quan trọng nhất để Web Service có hiệu lực là triển khai các server, các client proxy và các client. Thông thường việc này xảy ra sau khi service và ứng dụng client đã được viết. Các mã có thể thực thi, các proxy và WSDL thích hợp có thể được phân phối tới các vị trí và thư mục nơi cuối cùng chúng chạy. Việc thực thi SOAP dưới service đang chạy có thể được cấu hình để

đặt và chạy các phương thức của service khi chúng được yêu cầu và khi đó script sẽ bật các listener có thể cần đến.

Khi triển khai phải chắc chắn rằng cơ sở hạ tầng truyền thông cần thiết giữa client và server được cấu hình chính xác. Khi sử dụng Websphere MQ để truyền tải SOAP, việc triển khai cũng liên quan đến việc cấu hình Websphere MQ queue manager và client hoặc server connections cho chúng. Websphere MQ cũng bao gồm tiện ích triển khai được cài đặt như một phần của SOAP.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Xây dựng hệ thống kết nối thanh toán giữa ngân hàng và các công ty chứng khoán (Trang 23 - 28)

Tải bản đầy đủ (PDF)

(74 trang)