1. Trang chủ
  2. » Luận Văn - Báo Cáo

Web service và các công nghệ tích hợp ứng dụng

81 17 0

Đ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 81
Dung lượng 2,09 MB

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

Nội dung

9 M Ở ĐẦU Ngày nay, hoạt động trong các lĩnh vực nói chung và lĩnh vực ngân hàng nói riêng, các hệ thống công nghệ thông tin phục vụ cho các doanh nghiệp như Hệ thống internet banking I

Trang 1

Web Service & Các công nghệ tích hợp ứng dụng

LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

-

Ngô Sỹ Kiên

Web Service & Các công nghệ tích hợp ứng dụng

Chuyên ngành : Công Nghệ Thông Tin

Trang 3

1

L ỜI CẢM ƠN

Để có thể hoàn thiện được luận văn thạc sỹ của mình, trước tiên, tôi xin bày tỏ lòng

biết ơn sâu nhất tới thầy – TS Phạm Huy Hoàng (bộ môn Truyền thông và mạng máy tính – Viện công nghệ thông tin và truyền thông – trường Đại học Bách Khoa Hà Nội) Sự gần gũi, khích lệ và nhiệt tình hướng dẫn của thầy là nguồn động lực rất lớn đối với tôi trong

suốt thời gian thực hiện luận văn

Tôi cũng xin được gửi lời cảm ơn chân thành nhất tới tất cả các thầy, cô trong bộ môn Truyền thông và mạng máy tính, cũng như các thầy, cô trong viện Công nghệ thông tin – trường Đại học Bách Khoa Hà Nội đã nhiệt tình giảng dạy, cung cấp cho chúng tôi

những kiến thức, kinh nghiệm không chỉ trong học tập mà còn trong cuộc sống hàng ngày

Đồng thời tôi cũng xin được gửi lời cảm ơn đến cha mẹ, người thân trong gia đình, các bạn học viên, đồng nghiệp đã giúp đỡ, động viên, tạo điều kiện tốt nhất cho tôi trong

suốt khóa học tại Trường Đại học Bách Khoa Hà Nội để tôi có thể hoàn thiện tốt luận văn

thạc sỹ của mình

Hà Nội, tháng 09 năm 2019

Học viên

Ngô Sỹ Kiên

Trang 4

2

Tôi xin cam đoan luận văn tốt nghiệp với đề tài “Web Service & Các công nghệ tích

h ợp ứng dụng” là công trình tìm hiểu thực sự của bản thân, được thực hiện trên cơ sở tìm

hiểu lý thuyết, kiến thức chuyên ngành, nghiên cứu khảo sát tình hình thực tiễn và dưới sự

hướng dẫn kỹ thuật của TS Phạm Huy Hoàng Các kết quả được viết chung với các tác giả

khác đều được sự đồng ý của tác giả trước khi đưa vào luận văn Những phần tham chiếu,

trích dẫn trong luận văn đều được nêu rõ trong phần tài liệu tham khảo Các số liệu, kết quả

trình bày trong luận văn là hoàn toàn trung thực Nếu sai tôi xin chịu hoàn toàn trách nhiệm

và chịu mọi kỷ luật của khoa và nhà trường đề ra

Hà Nội, tháng 09 năm 2019

Học viên

Ngô Sỹ Kiên

Trang 5

3

M ỤC LỤC

L ỜI CẢM ƠN 1

L ỜI CAM ĐOAN 2

M ỤC LỤC 3

DANH M ỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 6

DANH M ỤC CÁC HÌNH VẼ, ĐỒ THỊ 7

M Ở ĐẦU 9

CHƯƠNG 1 TỔNG QUAN VỀ TÍCH HỢP ỨNG DỤNG 10

1 Giới thiệu 10

1.1 Khái niệm tích hợp ứng dụng 10

1.2 Khái niệm tích hợp hệ thống 10

1.3 Mục tiêu và thách thức 10

1.4 Các mức tích hợp ứng dụng 11

2 Các kiến trúc tích hợp ứng dụng 13

2.1 Kiến trúc hướng dịch vụ SOA 13

2.2 Kiến trúc Hub-and-Spoke 14

2.3 Kiến trúc điểm đến điểm (Point-to-Point) 15

2.4 Kiến trúc Pipeline 16

3 Các công nghệ tích hợp ứng dụng 17

3.1 Máy chủ ứng dụng (Application Server) 17

3.2 Dịch vụ web (Web service) 18

3.3 Message-oriented middleware 19

3.4 Gọi thủ tục từ xa (Remote Procedure Calls) 21

3.5 Chia sẻ cơ sở dữ liệu 23

3.6 Trục tích hợp dịch vụ tổng thể (Enterprise Service Bus) 23

4 Kết luận 24

CHƯƠNG 2 TÍCH HỢP ỨNG DỤNG DỰA TRÊN CÔNG NGHỆ ESB MIDDLEWARE 25

1 Tổng quan về trục tích hợp ESB Middleware 25

1.1 Khái niệm Middleware 25

1.2 Khái niệm ESB 25

1.3 Kiến trúc cơ bản ESB 26

1.4 Các Mô hình ESB 26

1.5 Phân loại ESB 28

Trang 6

4

2 Kiến trúc chính trong ESB 29

2.1 Điều hợp (Adapter) 29

2.2 Hòa giải (Mediation) 30

2.3 Định tuyến (Routing) 30

2.4 Sự kiện phức tạp (Complex Event) 31

2.5 Điều phối (Orchestration) 31

2.6 Quản lý (Manager) 31

2.7 An toàn (Security) 32

3 Một số nền tảng ESB hiện nay 32

3.1 IBM Integration Bus 33

3.2 Oracle Service Bus 35

3.3 WSO2 ESB 37

3.4 Mule ESB 39

3.5 JBoss ESB 42

4 Kết luận 43

CHƯƠNG 3 ỨNG DỤNG ESB MIDDLEWARE ĐỂ TÍCH HỢP CÁC ỨNG DỤNG TẠI NGÂN HÀNG HIỆN ĐẠI NGÀY NAY 45

1 Đặt vấn đề 45

1.1 Thực trạng 45

1.2 Bài toán đặt ra 46

2 Giải pháp đặt ra cho bài toán tích hợp 46

2.1 Kiến trúc tích hợp hệ thống 46

2.2 Mô tả giải pháp 47

3 Xây dựng hệ thống thử nghiệm 48

3.1 Môi trường cài đặt 48

3.2 Mô hình tổng quát dịch vụ topup 48

3.3 Xây dựng luồng dữ liệu vào ra 49

3.4 Xây dựng sở đồ hoạt động 60

3.5 Xây dựng luồng xử lý 63

3.6 Mô hình hóa dữ liệu 70

3.7 Kết quả thử nghiệm 70

3.8 Đánh giá kết quả 75

4 Kết luận 76

K ẾT LUẬN CHUNG 77

1 Kết quả đã đạt được 77

Trang 7

5

2 Định hướng phát triển trong tương lai 77

TÀI LI ỆU THAM KHẢO 79

Trang 8

6

DANH M ỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

Integration

Trang 9

7

Hình 1.1 Các thành phần cơ bản của SOA Error! Bookmark not defined.2

Hình 1.2 Kiến trúc hướng dịch vụ SOA Error! Bookmark not defined.4

Hình 1.3 Kiến trúc Hub-and-Spoke Error! Bookmark not defined.5

Hình 1.4 Kiến trúc Point-to-Point Error! Bookmark not defined.6

Hình 1.5 Kiến trúc Pipeline Error! Bookmark not defined.6

Hình 1.6 Kiến trúc thông điệp Error! Bookmark not defined.9

Hình 1.7 Hàng đợi Point-to-point 20

Hình 1.8 Hàng đợi Push and Subscribe 20

Hình 1.9 Gọi thủ tục từ xa (RPC) 21

Hình 1.10 Cơ chế đồng bộ của RPC 21

Hình 1.11 Local function call .22

Hình 1.12 Restricted RPC Error! Bookmark not defined.2 Hình 1.13 Kiến trúc loại 3 của RPC Error! Bookmark not defined.2 Hình 2 1 Kiến trúc ESB 266

Hình 2 2 Global ESB Error! Bookmark not defined.7 Hình 2 3 Directly connected ESB .407

Hình 2 4 Brokered ESB 418

Hình 2 5 Federated ESB 28

Hình 2 6 Ki ến trúc chính ESB 29

Hình 2 7 Kiến trúc IBM Integration Bus 33

Hình 2 8 IBM Integration Development 34

Hình 2 9 IBM Message Quene 35

Hình 2 10 Ki ến trúc Oracle Service Bus 36

Hình 2 11 Oracle Workshop for WebLogic .407

Hình 2 12 Kiến trúc WSO2 ESB 418

Hình 2 13 Accessing Developer Studio 39

Hình 2 14 Kiến trúc Mule ESB 40

Hình 2 15 Giao diện Anypoint Studio 41

Hình 2 16 Kiến trúc của JBoss ESB 43

Hình 3 1 Thực trạng hệ thống tích hợp tại ngân hàng Tiên Phong Bank 455

Hình 3 2 Kiến trúc tích hợp hệ thống 477

Hình 3 3 Mô hình tổng quát dịch vụ topup 49

Hình 3 4 Dữ liệu đầu vào bản tin verify 50

Hình 3 5 Dữ liệu đầu ra bản tin verify 51

Hình 3 6 Dữ liệu đầu vào bản tin confirm 52

Hình 3 7 Dữ liệu đầu ra bản tin confirm Error! Bookmark not defined.3 Hình 3 8 Luồng xử lý chính của dịch vụ payment topup 53

Trang 10

8

Hình 3 9 Luông xử lý chính của SubFlow TopupVerify Error! Bookmark not defined.4

Hình 3 10 Luồng SubFlow PartnerVerify Error! Bookmark not defined.5

Hình 3 11 Luồng SubFlow InitTransVerify Error! Bookmark not defined.5

Hình 3 12 Luồng SubFlow Vnpay Verify Error! Bookmark not defined.6

Hình 3 13 Lu ồng xử lý chính của SubFlow Topup Confirm 717 Hình 3 14 Luồng SubFlow Fund Transfer Error! Bookmark not defined.8

Hình 3 15 Luồng SubFlow Partner Confirm 728 Hình 3 16 Luồng SubFlow Revert 739 Hình 3 17 Mô hình hóa dữ liệu 60 Hình 3 18 Thông tin giao dịch trên EBank Error! Bookmark not defined.1

Hình 3 19 Thông tin giao dịch sau khi gọi bản tin verify 62 Hình 3 20 Màn hình nhập mã OTP Error! Bookmark not defined.3

Hình 3 21 Thông tin giao dịch sau khi gọi bản tin confirm Error! Bookmark not defined.4

Trang 11

9

M Ở ĐẦU

Ngày nay, hoạt động trong các lĩnh vực nói chung và lĩnh vực ngân hàng nói riêng, các hệ thống công nghệ thông tin phục vụ cho các doanh nghiệp như (Hệ thống internet banking (IBank), Hệ thống tích hợp ứng dụng(Gateway), Định giá điều chuyển

vốn nội bộ (FTP), Hệ thống chuyển mạch quốc giá (Napas), Quản lý hệ thống thẻ, tiền

mặt, tài sản, kho quỹ v.v…) phải thường xuyên được làm mới, nâng cấp và phát triển, góp phần tăng hiệu quả điều hành và thực thi, cũng như năng lực thanh tra, giám sát Bên

cạnh đó, để mang tính nhất quán, tăng khả năng đáp ứng dịch vụ và đồng bộ, các hệ

thống này phải được giao tiếp chặt chẽ với nhau, đây cũng chính là vấn đề khó khăn mà các tổ chức, doanh nghiệp đang gặp phải Trong thực trạng hiện nay, các hệ thống được phát triển trên nhiều nền tảng công nghệ khác nhau, ứng dụng giao tiếp với nhau chủ yếu qua mô hình tích hợp point-to-point (hai ứng dụng kết nối trực tiếp với nhau) và tích hợp tĩnh (viết mã tích hợp đan xen mã ứng dụng) Theo thời gian, phương thức truyền thống này sẽ tạo ra một kết nối chồng chéo, phụ thuộc chặt chẽ lẫn nhau dẫn tới khó khăn trong thêm mới, chỉnh sửa nghiệp vụ khi có yêu cầu, hệ quả là chi phí tích hợp gia tăng lên rất đáng kể Trước tình trạng đó, các công nghệ tích hợp ứng dụng tiến tiết đã ra đời nhằm

giải quyết các khó khăn đã nêu trên, trong đó trục tích hợp ESB Middleware được đưa

ra và trở thành một trong những giải pháp hàng đầu để giải quyết những khó khăn này

Với những khó khăn nêu trên, trong bài luận này sẽ hướng đến mục tiêu tìm hiểu,

khảo sát và đánh giá một số công nghệ tích hợp ứng dụng, áp dụng thực tiễn nhằm giải quyết các khó khăn đang vướng phải dựa trên công nghệ ESB Middleware, sau đó áp

dụng ứng dụng trong tích hợp một số dịch vụ nghiệp vụ tại các ngân hàng hiện đại hiện nay

Từ những mục tiêu nêu trên, tôi đã tiến hành thực hiện các công việc tìm hiểu

luận văn với những nội dung được thể hiện cấu trúc như sau:

Chương 1: Tổng quan về cơ sở lý thuyết, các vấn đề liên quan đến tích hợp ứng dụng

và các kiến trúc, công nghệ được sử dụng

Chương 2: Giới thiệu về ESB Middleware, các khái niệm về kiến trúc hệ thống, kiến

trúc dữ liệu, các thành phần, phân loại và so sánh một số công cụ ESB Middleware

Chương 3: Nêu thực trạng các hệ thống tích hợp ứng dụng tại một số ngân hàng hiện

đại hiện này, đưa ra phương pháp giải quyết vấn đề Ứng dụng ESB Middleware để xây

dựng, kiểm thử, thử nghiệm và đánh giá hệ thống

K ết luận chung: Những kết quả đạt được, các điểm hạn chế chưa thực hiện được và

định hướng phát triển trong tương lai

Trang 12

biệt chú trọng và đặt lên hàng đầu Cũng chính vì lẽ đó, các thông tin dữ liệu số hóa

cần phải được dễ dàng truy xuất, độ tin cậy, tính chính xác cao và luôn luôn sẵn sàng

phục vụ Trải qua các thời kỳ, sự phát triển về công nghệ và nhu cầu của con người đã

dần xuất hiện nhiều hơn những hệ thống hoạt động và trao đổi dữ liệu theo những kiến trúc mới và cũ, câu hỏi đặt ra là các kiến trúc mới cần phải trao đổi dữ liệu và có thể

phối hợp nhịp nhàng với những kiến trúc cũ hơn Chính từ bài toán đó người ta đã đưa

ra các giải pháp tích hợp ứng dụng để giải quyết vấn đề này

Về mặt kỹ thuật: Tích hợp hệ thống được hiểu là quá trình đưa các thành phần của các

h ệ thống con vào thành một hệ thống chung, và đảm bảo rằng các thành phần này liên

k ết và hoạt động với nhau thành một thể thống nhất hoàn chỉnh [5]

Về mặt công nghệ thông tin: Tích hợp hệ thống là quá trình liên kết các hệ thống máy tính và các ph ần mềm với nhau để hoạt động như một hệ thống hoàn chỉnh [3]

Vậy Tích hợp hệ thống là quá trình liên kết, kết nối các hệ thống thông tin, cả về khía

c ạnh chức năng lẫn hạ tầng tính toán, để hoạt động như một thể thống nhất [3]

1.3 Mục tiêu và thách thức

• Thách thức

Trang 13

11

Trong thực tế, khi một hệ thống mới ra đời, vấn đề mà các tổ chức quan tâm chủ yếu đầu tiên là tạo ra một hệ thống đơn giản, dễ sử dụng nhằm giải quyết những vấn đề đang tồn tại hoặc theo một nhu cầu phát sinh mới của tổ chức trong một khoảng thời gian nhất định Vì lý do đó mà các hệ thống này thường không được tính toán trước để tích hợp, thiết kế thường theo kiến trúc độc lập, vì vậy rất khó kết hợp được những ứng

dụng này nhằm mục đích giải quyết bài toán chung

Bên cạnh đó, các ứng dụng được phát triển trên nền tảng Website, Mobile, Desktop…,

chạy trên các hệ điều hành như Windows, Linux… được lập trình bởi nhiều ngôn ngữ khác nhau như là: Java, dotNet, C#, C++, C, Python, … cũng như các chuẩn service khác nhau như: Socket, Soap, Resfull, …là điều phổ biến Để vượt qua được những điểm khác biệt này và tích hợp các hệ thống ứng dụng là điều khá khó khăn Do đó các

tổ chức, các chuyên gia tích hợp cần có một kiến thức tổng thể về hệ thống cùng với

một nguồn đầu tư kinh phí lớn để có thể thực hiện tốt việc tích hợp

Các phương pháp điển hình của mức này là:

- Thông điệp (Message)

- Gọi thủ tục (Remote Procedure Call)

- Phân tán (Distributed)

1.4.2 Mức quy trình

Trang 14

12

Tích hợp mức quy trình là tích hợp mức cao, nhằm mục tiêu đảm bảo tạo mô hình chung giữa các ứng dụng với nhau liên kết qua dịch vụ Mô hình chung phải bao quát đầy đủ các quy trình trong ứng dụng tích hợp

1.4.3 Mức dịch vụ

Cũng là tính hợp ở mức cao, nhằm xậy dựng các ứng dụng dựa trên các dịch vụ đã

có trên mạng chuyên biệt Các thành phần cơ bản của SOA

Hình 1.1 Các thành ph ần cơ bản của SOA

- Service Customer: xác định thông tin của service registry, sau đó liên kết với service provider để gọi dịch vụ

- Service Provider: tạo ra dịch vụ và cung cấp thông tin về giao diện, truy cập cho Service Registry Mỗi nhà cung cấp dịch vụ phải quyết định dịch vụ nào sẽ cung

cấp, đánh giá giữa vấn đề an ninh bảo mật và tính sẵn sàng, xác định làm sao để bán dịch vụ hoặc làm sao để khai thác dịch vụ miễn phí

- Service Registry: tao ra giao diện dịch vụ và cung cấp khả năng truy cập thông tin có sẵn tới Service Customer

Các nguyên lý cơ bản của mức dịch vụ là:

- Phi trạng thái: các dịch vụ hoạt động phi trạng thái

- Khả năng cộng tác: hệ thống có thể giao tiếp với nhau trên nhiều nền tảng và ngôn

ngữ khác nhau

Trang 15

13

- Tính tự trị: các dịch vụ có quyền kiểm soát dựa vào logic bên trong của dịch vụ

đó

- Đóng gói: độc lập giữa các nhà phát triển dịch vụ và nhà sử dụng dịch vụ

- Có thể tìm thấy: người dùng có thể tìm kiếm dịch vụ và đăng ký sử dụng dịch vụ

đó

- Liên kết không chặt: các dịch vụ có ít sự rằng buộc với nhau tuy nhiên các module

có rang buộc rõ ràng, đảm bảo tính mềm dẻo của SOA

- Sử dụng lại: tái sử dụng lại các dịch vụ giúp loại bỏ những thành phần trùng lặp, tăng độ vững chắc trong cài đặt, đơn giản hóa việc tự trị

1.4.4 Mức dữ liệu

Khi các ứng dụng tham gia tích hợp mức dữ liệu thì sẽ chia sẻ chung dữ liệu với nhau, đây là mức tích hợp thấp Ở mức này chúng ta cần định danh dữ liệu, xây dựng

mô hình siêu dữ liệu, mô tả dữ liệu và thể loại hóa dự liệu

Một số phương pháp điểm hình cho việc chia sẻ dữ liệu là: chia sẻ cơ sở dữ liệu, chia

sẻ dữ liệu dạng file, đồng bộ dữ liễu theo socket

2 Các kiến trúc tích hợp ứng dụng

Để việc tích hợp hệ thống ứng dụng được hiệu quả và đưa lại hiêu năng cao, việc nắm

vững các kiến trúc hệ thống là điều vô cùng quan trọng Hầu như kiến trúc của các hệ

thống ứng dụng hiện nay là kiến trúc đa tầng, gồm các thành phần chủ yếu sau:

- Client Layer: là tầng người dùng hoặc chương trình sử dụng các tác vụ, các thao tác trên hệ thống

- Presentation Layer: là tầng tạo ra các dịch vụ giúp tầng client gửi yêu cầu và nhận

lại kết quả phản hồi

- Business Logic Layer: là tầng thực hiện các nghiệp vụ chính của hệ thống, sử dụng các dịch vụ do tầng Data Access cung cấp, và cung cấp các dịch vụ cho tầng Presentation

- Data Access Layer (Persistence Layer): tầng tương tác mức thấp nhất với tài nguyên

dữ liệu của hệ thống Tầng này có thể là hệ quản trị cơ sở dữ liệu hoặc hệ thống quản

trị dữ liệu có khả năng lưu trữ và truy vấn dữ liệu

2.1 Kiến trúc hướng dịch vụ SOA

Trang 16

14

Là một hướng tiếp cận với việc thiết kế và tích hợp phần mềm, chức năng, hệ thống theo dạng module và có khả năng truy cập thông qua môi trường mạng SOA giải quyết các vấn đề còn tồn đọng của các hệ thống hiện nay như: phức tạp, không linh

hoạt và không ổn định [1]

Hình 1.2 Ki ến trúc hướng dịch vụ SOA

- Các dịch vụ thực hiện quá trình tương tác chủ yếu thông qua các thành phần giao

tiếp Các thành phần giao tiếp này quy định về những định dạng thông điệp sử dụng trong quá trình trao đổi

- SOA mang đến khả năng tổng hợp một lớp các ứng dụng mới bằng cách kết hợp

chức năng từ những hệ thống sẵn có, cung cấp cho người dùng cuối những chức năng liên kết

- Phù hợp với hầu hết những hệ thống hướng dịch vụ ngày nay

SOA có tính mềm dẻo và tùy biến rất cao SOA mang đến khả năng tổng hợp một lớp các ứng dụng bằng cách kết hợp chức năng từ các hệ thống có sẵn Phía triệu gọi dịch

vụ không cần quan tâm đến địa chỉ hoặc công nghệ nền tảng service, do đó có tính linh hoạt và tăng khả năng triển khai SOA có hai mô hình ứng dụng chính đó là Web service và ESB

Trang 17

15

Hình 1.2 Ki ến trúc Hub-and-Spoke

- Tất cả hệ thống được tích hợp tại một điểm duy nhất – Hub

- Sử dụng cơ sở dữ liệu chia sẻ

- Để mở rộng hệ thống, hub sẽ được co cụm lại

- Hub có chức năng định tuyến thông điệp (messaging routing) và chuyển đổi dữ

liệu (data transformation)

- Phù hợp với tích hợp hệ thống có số lượng ứng dụng vừa và ít

2.3 Kiến trúc điểm đến điểm (Point-to-Point)

- Các hệ thống ứng dụng giao tiếp và trao đổi thông tin với nhau thông qua các giao

diện (interfaces)

- Các giao tiếp có thể được thực hiện trong thời gian thực hoặc đồng bộ

- Số lượng giao tiếp và giáo diện tăng lên khi số lượng ứng dụng tăng lên

- Thích hợp khi hệ thống có số lượng các ứng dụng cần giao tiếp và tích hợp với nhau không nhiều

Trang 18

sử dụng các thành phần middlerware thích hợp cho phép truyền thông giữa các hệ

thống được chuẩn hóa Các ứng dụng giao tiếp với bus trung tâm thông qua các giao

diện (interfaces) trên đường truyền mạng [1]

Trang 19

17

3 Các công nghệ tích hợp ứng dụng

3.1 Máy chủ ứng dụng (Application Server)

Máy chủ ứng dụng xử lý phần lớn tất cả các tương tác giữa tầng presentation và

tầng data access Nó cung cấp một tập các dịch vụ middleware cùng với môi trường

quản lý – nơi mà triển khai các thành phần logic nghiệp vụ

Máy chủ ứng dụng hỗ trợ các dịch vụ như Object Request Brokers (ORBs), web services, Message-oriented middleware (MOM), quản lý giao tiếp, cân bằng tải,

bảo mật và quản lý tài nguyên Máy chủ ứng dụng có thể cung cấp các giải pháp toàn diện cho nhu cầu thông tin của doanh nghiệp, và nó cũng là một nền tảng tốt

để thực hiện tích hợp Ngày nay, các nhà phát triển thường xác định máy chủ dịch

vụ như là một thành phần của công cụ tích hợp và tập trung vận hành các ứng dụng

bằng cách kết nối các hệ thống back-end

Mặc dù được sử dụng phát triển ứng dụng mới, nhưng các máy chủ ứng dụng phải

là một nền tảng phần mềm môi trường có trước lúc phát triển Một nền tảng phần

mềm môi trường là sự kết hợp của các công nghệ phần mềm cần thiết để vận hành ứng dụng phát triển mới, do đó các máy chủ ứng dụng này xác định cơ sở hạ tầng

của tất cả các ứng dụng được phát triển và vận hành trên chúng

Máy chủ ứng dụng hỗ trợ những nền tảng chuẩn, mở và được sử dụng rộng rãi như

là Java Platform—Enterprise Edition (J2EE) hay Java EE 5 application server Các khía cạnh quan trọng nhất của các nền tảng này là:

- Nền tảng phần mềm, kiến trúc của các ứng dụng được phát triển cho nền tảng

đó, khả năng tương tác, khả năng mở rộng, tính cơ động, tính khả dụng, độ tin

cậy, phạm vi hợp đồng với khách hàng, khả năng phát triển và thích ứng với các

giải pháp mới Về mặt tích hợp, khả năng tương tác với những hệ thống khác

- Tính mở rộng cho phép các nhà cung cấp máy chủ ứng dụng và các công ty bên

thứ ba có một vài khả năng tác động đến sự phát triển của nền tảng này

- Khả năng tương tác giữa các nền tảng khác nhau là điều rất quan trọng đối với

việc áp dụng máy chủ ứng dụng Đặc biệt là các nền tảng điểu chỉnh bổ sung và

sửa đổi Việc các nền tảng kết hợp với nhau càng chặt chẽ thì cơ hội thành công

và mở rộng thị trường ngày càng lớn Tuy nhiên, mỗi một nền tảng cần cung

cấp sự khác biệt giữa các máy chủ ứng dụng với nhau

Trang 20

18

- Chi phí cho nền tảng cũng là một yếu tố quan trọng và có lẽ là điều khó đánh giá nhất vì nó bao gồm cả chi phí cài đặt máy chủ ứng dụng và các phần mềm phát triển khác Chi phí phần cứng, đào tạo, và phí duy trì các ứng dụng trong vòng đời của chúng

- Cuối cùng là sự phát triển của nền tảng Nền tảng càng phát triển thì nó càng được kiểm thử và chứng minh rằng nó phù hợp với các quy mô lớn

3.2 Dịch vụ web (Web service)

Dịch vụ web là công nghệ phân tán mới nhất hiện nay Nó cung cấp nền tảng công nghệ để đạt được khả năng tương tác giữa các ứng dụng cho dù có khác nhau về

nền tảng sử dụng, hệ điều hành và ngôn ngữ lập trình

Bản thân các dịch vụ này sẽ chạy trên các máy chủ ứng dụng trên nền Internet chứ không phải máy tính cá nhân, do vậy có thể chuyển các yêu cầu của máy tính cá nhân hoặc thiệt bị cầm tay lên máy chủ ứng dụng thông qua Internet miễn là các thiết bị đó có hỗ trợ dịch vụ web

3.2.1 SOAP, WSDL, UDDI

Trước đây các đặt trưng cơ bản của dịch vụ web là dựa trên SOAP (Simple Object Access Protocol), WSDL (Web Service Description Language) và UDDI (Universal Description, Discovery, and Integration) SOAP, WSDL và UDDI dựa trên XML giúp cho các thông điệp và giao thức dịch vụ web trở nên

dễ dàng đối với người lập trình Các hoạt động trong dịch vụ web dựa trên việc trao đổi các thông điệp XML Nó là một tập hợp dữ liệu đầu vào, đầu ra và mã

lỗi, và sự kết hợp của các tin nhắn này xác định một loạt các hoạt động (một chiều, request/response, yêu cầu trả lời, hoặc thông báo)

- SOAP: giao thức truy cập đối tượng đơn giản là một giao thức dữ trên ngôn

ngữ XML đơn giản cho phép các ứng dụng trao đổi thông tin qua HTTP

- UDDI: cũng là một tiêu chuẩn dữa trên XML dùng để tìm kiếm, mô tả và

xuất bản dịch vụ web

- WSDL: là một mô tả giao diện của dịch vụ web, được sử dụng cho bên yêu

cầu dịch vụ, được trình diễn trên ngôn ngữ XML

3.2.2 RESTful

Trang 21

19

Restfull là dịch vụ web được xây dựng dựa trên cấu trúc REST (Representational State Transfer) Nó giống như một kiến trúc hay nguyên tắc

cần tuân thủ để thiết kế và tạo ra dịch vụ web

Trong cấu trúc Rest tất cả đều được coi là tài nguyên, chúng có thể là: trang html, video, tệp văn bản, ảnh, hoặc dữ liệu động… Rest server cung cấp các tài nguyên sử dụng và quyền truy cập, còn Rest client truy cập và thay đổi các tài nguyên đó Lúc đó các tài nguyên khác nhau được định danh dựa vào URI, Rest

sử dụng một vài đại diện để biểu diễn các tài nguyên như Json, Text, XML… 3.3 Message-oriented middleware

Là phương thức dựa trên cơ chế gửi thông điệp không đồng bộ - asynchronous message, có nghĩa là khi máy khách gửi yêu cầu tới máy đích và trong khoảng thời gian máy đích chưa kịp trả lời, máy khách có thể thực hiện các tác vụ khác của mình sau đó mới quy lại nhận trả lời khi có thông báo từ máy đích

Trái ngược với kiến trúc request/response, phía máy đích các thông điệp phải được

gửi đến máy khách mong muốn, nếu vì một lý do nào đó như máy khách bận, không được kết nôi hay bị offline dẫn đến thông điệp chưa đến máy khách thì MOM sẽ

thực hiện gửi lại nhờ cơ chế lưu trữ liên tục để sao lưu hàng đợi thông điệp MOM còn có cơ chế điều phối thông điệp do đó giảm thiểu vấn đề quá tải server

Trang 22

20

Hình 1.4 Hàng đợi Point-to-point

• Push and Subscribe: thông điệp được gửi tới tất cả các subscriber Mỗi subscriber như một bản sao lưu của thông điệp và pushlisher không quan tâm tới ai lắng nghe

Hình 1.5 Hàng đợi Push and Subscribe

- Thông điệp (Message): đóng gói dữ liệu (function) cần trao đổi giữa client và server Thông điệp bao gồm:

• Header: định nghĩa thông điệp và các thông tin điều khiển

• Body: chứa thông tin sẽ được xử lý khi ứng dụng nhận thông điệp

- Điểm kết thúc (EndPoints): điểm cho phép các ứng dụng kết nối được với MOM

và để gửi hay nhận một thông điệp

Trang 23

RPC thực hiện theo kiểu đồng bộ chức năng (synchronous functions): ứng dụng

gọi đến hàm phải chờ đến khi nhận được kết quả trả về mới tiếp tục thực hiện công

việc khác

Hình 1.10 Cơ chế đồng bộ của RPC

Đồng bộ chức năng có 3 loại hàm gọi:

Trang 24

22

- Local function call: Hàm gọi và chức năng được gọi cùng trên một ứng dụng

Hình 1.11 Local function call

- Restricted RPC: Hàm gọi và chức năng được gọi trên các ứng dụng khác nhau trên cùng một máy chủ

Hình 1.12 Restricted RPC

- Loại 3: Ứng dụng client trên một máy chủ gọi hàm trên một máy chủ ứng dụng khác, hai máy chủ này kết nối với nhau qua mạng máy tính

Hình 1.13 Kiến trúc loại 3 của RPC

RPC cho phép ẩn chi tiết truyền thông giữa các lời gọi hàm, trở thành cầu nối giữa các môi trường và nền tảng khác nhau

Trang 25

23

Ưu điểm:

- Là phương thức đầu tiên cho phép chia sẻ hàm

- Có thể triển khai với nhiều nền tảng khác nhau

Nhược điểm:

- Cần nắm được sự đặc tả giao tiếp và các phương thức đóng gói dữ liệu

- Các ứng dụng cần sử dụng chung một ngôn ngữ lập trình

- Cần duy trì kết nối chặt chẽ và liên tục do sử dụng cơ chế hàm đồng bộ

- Rất phức tạp khi có nhiều lời gọi

3.5 Chia sẻ cơ sở dữ liệu

Công nghệ này cung cấp việc truy cập vào cơ sở dữ liệu thông qua một lớp trừu tượng, nó cho phép thay đổi DBMS mà không cần sửa lại mã nguồn của ứng dụng Nói cách khác, nó cung cấp các mã nguồn để truy cập vào các nguồn dữ liệu khác nhau Do đó, công nghệ này rất hữu ích để truy xuất dữ liệu từ các DBMS khác nhau

Các đại diện nổi tiếng cho công nghệ này là: Java Database Connectivity (JDBC)

và Java Data Objects (JDO) trên nền tảng Java; Open Database Connectivity (ODBC) và Active Data Objects (ADO.NET) trên nền tảng Microsoft

3.6 Trục tích hợp dịch vụ tổng thể (Enterprise Service Bus)

ESB là một nên tảng phần mềm hoạt động như là một lớp trung gian để giải quyết các yêu cầu mở rộng hệ thống, cũng như giải quyết các vấn đề về an ninh, quản lý,

kiểm soát các dịch vụ truyền thông Đồng thời nó tăng tính linh hoạt trong giao tiếp

giữa các dịch vụ, làm đơn giản hóa việc tái sử dụng các dịch vụ và giảm thời gian phát triển mới dịch vụ

Hướng tiếp cận của ESB là theo chuẩn giải quyết các vấn đề liên quan đến việc tích

hợp mà không cần phải xóa bỏ những giải pháp có sẵn Mục đích của ESB là làm cho việc tích hợp các ứng dụng và quy trình trở nên thuận tiện hơn bằng cách cung

cấp một quy trình phân tán, điều hướng thông minh, bảo mật và có thể tự động chuyển đổi dữ liệu Trong hệ thống ESB những dịch vụ trên là những dịch vụ nền

Trang 26

thể giao tiếp được với các thành phần còn lại, bây giờ được thay thế bằng giải pháp bus, mỗi thành phần chỉ yêu cầu có 1 giao diện để giao tiếp với bus và thông qua bus để giao tiếp với các thành phần còn lại Một hệ thống ESB cung cấp việc giao

tiếp phân tán, chuyển hướng, xử lý nghiệp vụ, ổn định và bảo mật Nó cũng cung

cấp các dịch vụ có khả năng plug-and-play bởi vì nó dựa trên chuẩn nên những

dịch vụ plug-and-play này có thể được cung cấp bởi các công ty khác và hoạt động trên bus

Trang 27

Middleware là phần mềm máy tính với nhiệm vụ kết nối các thành phần phần

mềm hoặc các ứng dụng với nhau Phần mềm loại này bao gồm một tập các dịch vụ cho phép sự tương tác giữa các tiến trình chạy trên một hoặc nhiều máy khác nhau Công nghệ middleware đã được phát triển để cung cấp khả năng hoạt động tương hỗ,

phục vụ cho các kiến trúc phân tán thường được để hỗ trợ và đơn giản hóa các ứng

Sự khác biệt giữa chức năng của hệ điều hành và của middleware, ở mức độ nào đó, khá là tùy ý Trong khi chức năng lõi nhân hệ điều hành chỉ có thể do hệ điều hành cung cấp, một số chức năng từng được các middleware độc lập cung cấp nay đã được tích hợp vào hệ điều hành Một ví dụ điển hình là chồng giao thức TCP/IP dành cho truyền thông nay đã có ở hầu hết các hệ điều hành

1.2 Khái niệm ESB

ESB là tên viết tắt của Enterprise Service Bus, thuật ngự này được biết đến lần đầu tiên bởi Roy W Schulte đến từ tập đoàn Gartner vào năm 2002 và cuốn sách The Enterprise Service Bus của David Chappell

ESB là một hệ thống giao tiếp giữa các ứng dụng để các ứng dụng giao tiếp với nhau (middleware), ESB dựa trên kiến trúc hướng dịch vụ (SOA) và phương thức truyền thông điệp, nó cung cấp một cơ sở hạ tầng tích hợp phục vụ cho các dịch vụ định tuyến, gửi và nhận phản hồi yêu cầu để tạo điều kiện thuận lợi cho việc tương tác giữa các ứng dụng một cách an toàn, tin cậy và hiệu quả cao

Trang 28

nhắn đã được định nghĩa trước đó và gửi tin nhắn đến đúng đích của dịch vụ tiêu dung

và thực hiện dịch ngược lại

1.4 Các Mô hình ESB

Mô hình ESB mở rộng các khả năng của kiến trúc hướng dịch vụ (SOA) Các thành

phần tích hợp có thể được hợp thành từ các đơn vị chức năng tiêu chuẩn và được triển khai để tạo điều kiện thuận lợi cho các tương tác giữa những bên yêu cầu dịch vụ (customer) và bên cung cấp dịch vụ (provider) không ăn khớp với nhau ESB cũng cung cấp một mô hình chung để triển khai, quản lý và quản trị các dịch vụ Các khái

niệm ESB cho phép tách biệt các mối quan tâm theo vai trò của người sử dụng, làm

giảm bớt gánh nặng thiết kế khái niệm đối với bất kỳ người sử dụng nào, cải thiện khả năng sử dụng kiến trúc Các công cụ đã thành phần hóa, mô hình lập trình toàn diện

của ESB và sự hỗ trợ cơ sở hạ tầng thúc đẩy đáng kể việc thực hiện các nguyên tắc

của SOA Các mô hình triển khai ESB cơ bản gồm:

Trang 29

27

- Global ESB: Tất cả các dịch vụ chia sẻ chung một vùng tên và mỗi bên cung cấp

dịch vụ đều được mọi bên yêu cầu dịch vụ nhìn thấy, xuyên qua một môi trường phân phối không thuần nhất, được quản lý tập trung, phân tán về địa lý Được sử

dụng bởi các bộ phận hoặc các doanh nghiệp nhỏ, nơi tất cả các dịch vụ đều có thể

được áp dụng trên toàn bộ tổ chức

Hình 2 2 Global ESB

- Directly connected ESB: Một sổ đăng ký dịch vụ chung làm cho tất cả các dịch

vụ có trong một số bản cài đặt ESB độc lập nhau đều có thể được nhìn thấy Được

sử dụng ở nơi dịch vụ được cung cấp và được quản lý bởi một dòng nghiệp vụ

nhưng đã tạo ra cho nhiều loại doanh nghiệp có sẵn

Hình 2 3 Directly connected ESB

- Brokered ESB: Các dịch vụ cầu nối, đưa ra giới thiệu một cách có chọn lọc các bên yêu cầu hoặc các bên cung cấp dịch vụ cho bên đối tác trong các miền khác, điều phối việc chia sẻ giữa nhiều bản triển khai thực hiện ESB mà mỗi bản quản

lý một vùng tên riêng của mình Các tương tác dịch vụ giữa các ESB được hậu thuẫn thông qua một trình môi giới chung, mà trình này triển khai thực hiện các

dịch vụ cầu nối Được sử dụng bởi các bộ phận để phát triển và quản lý các dịch

vụ riêng của mình, nhưng có chia sẻ một vài dịch vụ trong số đó hoặc có truy cập các dịch vụ chọn lọc, được cung cấp trong toàn doanh nghiệp

Trang 30

28

Hình 2 4 Brokered ESB

- Federated ESB: Một ESB chính mà một vài ESB phụ thuộc khác liên hiệp với nó

Những người sử dụng dịch vụ và các nhà cung cấp dịch vụ kết nối tới ESB chính hay tới một ESB phụ thuộc để truy cập vào các dịch vụ trên toàn mạng Được sử

dụng bởi các tổ chức muốn liên kết một tập hợp các bộ phận tự trị ở mức vừa phải

dưới các ô của một bộ phận giám sát

Hình 2 5 Federated ESB

1.5 Phân loại ESB

- ESB dựa trên thông điệp: Hỗ trỡ trao đổi thông điệp đồng bộ và không đồng bộ

Có khả năng hỗ trợ tích hợp mở rộng hệ thống, triển khai trên mô hình rộng, đồng

thời hỗ trợ đa nền tảng lập trình (Java, C/C++…) Tuy nhiên nó lại tốn chi phí triển

khai cài đặt, và cần cấu hình phức tạp

- ESB dựa trên máy chủ ứng dụng: Nó dựa trên công nghệ tích hợp máy chủ ứng

dụng Phù hợp với hệ thống có định dạng ngôn ngữ XML hoặc Java Ưu điểm của

Trang 31

và tích hợp các hệ thống thống lại với nhau mà vẫn sử dụng lại các hệ thống đã hiện

có Chính vì điều đó, các thành phần kiến trúc của ESB phải được cấu hình để đi theo

Trang 32

30

interface điều chuyển, các API và các cấu trúc dữ liệu được cung cấp bởi các ứng dụng nghiệp vụ, điều này giúp tái sử dụng tài nguyên nghiệp vụ và dữ liệu Hầu hết các adapter hoạt động theo cách là giảm thiểu những kỹ năng cần thiết để có thể tái sử dụng

lại những tài nguyên của hệ thống đã kết nối Sử dụng các adapter có sẵn giúp giảm các công việc cần thiết và giảm đáng kể thời gian phát triển trong quá trình tích hợp các ứng dụng vào kiến trúc hướng dịch vụ SOA

2.2 Hòa giải (Mediation)

Nhiệm vụ chính của Mediation là đề cập đến tất cả các sự chuyển đổi hoặc biên dịch

giữa các nguồn tài nguyên khác nhau, trong đó bao gồm cả các giao thức vận chuyển (transport protocol), định dạng và nội dung của thông điệp (messaging) Những chuyển đổi này rất quan trọng cho việc tích hợp bởi vì các ứng dụng thường sẽ sử dụng các

kiểu dữ liệu khác nhau

- Chuyển đổi giao thức: chuyển đổi này có khả năng chấp nhận một loại giao thức từ đầu vào như XML/HTTP và truyền tải tới các dịch vụ đầu ra thông qua các loại giao thức khác nhau

 Ví dụ: XML/HTTPS  IIOP, SOAP/JMS  SOAP/HTTP, XML/HTTP CICS/MQ, …

- Chyển đổi bản tin: có khả năng chuyển đổi cấu trúc và định dạng bản tin của dịch

vụ đầu vào thành kiểu cấu trúc và định dạng bản tin phù hợp với dịch vụ đầu ra

Để sử dụng tính năng định tuyến và một số tính năng giao tiếp khác thì các điểm đầu

cuối của thông điệp cần phải được định danh các thuộc tính tham chiếu Muốn thực

hiện được điều đó, ESB sử dụng URI (Uniform Resource Identifiers) hoặc các Addressing để mô tả và xây dựng các dịch vụ web (webservices)

WS-Việc thực hiện quyết định một thông điệp sẽ được gửi đến địa chỉ nào dựa trên một số điều kiện được xác định và điều phối bởi một số các bộ định tuyến như:

Trang 33

31

- Định tuyến dựa vào bộ lọc tin nhắn: Nó sẽ chuyển tiếp tin nhắn tới địa chỉ đích khi

nội dung có chứa một tiêu chí nhất định, nếu không thì tin nhắn sẽ bị xóa

- Định tuyến dựa trên địa chỉ đã được cấu hình sẵn bằng cách sử dụng một danh sách địa chỉ nhận đã được thiết lập từ trước

- Định tuyến dựa trên nội dung của thông điệp và chuyển tiếp chúng đến các kênh khác nhau dựa vào nội dung của thông điệp Điều này cho phép người gửi có thể

gửi tin nhắn mà không cần chỉ định đến một điểm đến chính xác Đối với thông điệp

dạng XML thì có thể sử dụng XPath để phân tích các thành phần của thông điệp để

phục vụ cho việc định tuyến

Nếu một thông điệp bao gồm nhiều phần, chức năng Spliter được sử dụng để chia một

bản tin thành nhiều bản tin thành phần, còn đối với bản tin XML, ta có thể sử dụng XPath (XML Path Language) như là một spliter, sau đó thực hiện biến đổi tin nhắn dựa trên XSL (Extensible Stylesheet Language) để tạo ra các thông điệp riêng biệt

Aggregator có chức năng hoàn toan trái ngược với Spliter đó là thu thập và lưu trữ các bản tin Nếu aggregator nhận được một bộ hoàn chỉnh các bản tin thành phần liên quan tới nhau thì nó sẽ gửi một thông điệp là tổng hợp của các bản tin thành phần đó tới điểm đích đã được cấu hình sẵn

Đi kèm với Spliter và Aggregator, ta có Resequencer là một router có nhiệm vụ thu thập những bản tin thành phần có liên quan với nhau mà không theo thứ tự, sau đó nó

sẽ thực hiện chuyển các bản tin thành phần này theo đúng thứ tự

2.4 Sự kiện phức tạp (Complex Event)

Thông thường trong các hệ thống ESB có thể có bao gồm thêm các cơ chế để giải quyết

và giải thích các sự kiện tương quan cũng như các sự kiện kết hợp với nhau khi có một thông báo trên một kênh truyền tải nào đó

2.5 Điều phối (Orchestration)

Trong hệ thống ESB có thể cung cấp các chức năng để thực thi các mô hình nghiệp vụ được mô tả bằng WS-BPEL (Web Services Business Process Execution Language) Các chức năng này được điều khiển bởi mô tả của nghiệp vụ, sau đó nó sẽ phối hợp với các bus đã được kết nối với tài nguyên để thực thi yêu cầu

2.6 Quản lý (Manager)

Trang 34

32

Trong các hệ thống tích hợp cần cung cấp các cơ chế kiểm tra và ghi log để phục vụ mục đích là theo dõi cơ sở hạ tầng, các kịch bản tích hợp và kiểm soát quá trình vận hành hệ thống đó là điều tất yêu, ESB cũng không ngoại lệ, cần phải có một cơ chế trung tâm để cấu hình và quản trị các bus, ngoài điều đó ra ESB cần hỗ trợ thêm các công cụ đo lường phục vụ việc kiểm tra và lưu log

2.7 An toàn (Security)

Bảo mật là một vất đề rất quan trong trong các bài toán tích hợp, các cơ sở hạ tầng, ứng dụng tích hợp của một hệ thống trong doanh nghiệp cần phải được bảo vệ Việc đó đồng nghĩa với việc ESB cần có khả năng mã hóa và giải mã ngược các nội dung của thông điệp, thực hiện xác thực thông điệp, kiểm soát truy cập các thiết bị đầu cuối và

sử dụng các cơ chế bảo vệ tiên tiến, an toàn được cập nhật liên tục

3 Một số nền tảng ESB hiện nay

Ở thời điểm hiện nay có rất nhiều những sản phẩm phần mềm hỗ trợ ESB với nhiều tính năng đa dạng và phong phú, tùy vào mục đích sử dụng mà chúng ta có thể chọn bản thương mại hay mã nguồn mở tùy thuộc vào mục đích và nhu cầu sử dụng, cần đánh giá sản phẩm nào là thích hợp để phát triển Để lựa chọn chúng ta có thể tham khảo và tuân thủ một số nguyên tắc sau đây:

- Kết nối: Các bộ chuyển đổi adapter có sẵn sàng theo nhu cầu nghiệp vụ hay không?

Có dễ dàng tạo ra bộ chuyển đổi riêng hay không?

- Giá thành: Giá thành sản phẩm và bảo trì

- Bản quyền: Việc nâng cấp, hạ cấp có khả thi, miễn phí hay không?

- Tính dễ sử dụng: Việc cài đặt có phức tạp hay không? Môi trường phát triển có trực quan không?

- Cộng đồng: Có cộng đồng người sử dụng hay không? Sản phẩm có được hỗ trợ bởi nhiều công ty hay không?

- Tính cơ động: Có khả năng thay đổi tùy vào nhu cầu người sử dụng hay không?

- Vấn đề bảo trì: Việc bảo trì diễn ra như nào? Có công cụ giám sát trực quan hay không?

- Hỗ trợ: Những tùy chọn hỗ trợ nào được cung cấp (hotline 24/7, email…), việc hỗ trợ có đảm bảo như chúng ta mong muốn hay không?

- Chức năng: các chức năng yêu cầu có được hỗ trợ hay không?

- Tính mở rộng: Ta có thể mở rộng sản phẩm được không?

Trang 35

33

3.1 IBM Integration Bus

IBM Integration Bus là một trong những trục tích hợp ESB thương mại thành công của IBM

- Ki ến trúc

Hình 2 7 Ki ến trúc IBM Integration Bus

IBM Integration Bus cho phép thông tin được đóng gói dưới dạng các thông điệp truyền giữa các ứng dụng khác nhau, từ các hệ thống truyền thống lớn cho đến các thiết bị cảm biến.[7]

IBM Integration Bus xử lý các thông điệp theo hai cách đó là: định tuyến thông điệp

và chuyển đổi thông điệp

Trang 36

34

o Định tuyến thông điệp: Thông điệp có thể được định tuyến từ người gửi đến

người nhận dựa trên nội dung của thông điệp đó

o Chuyển đổi thông điệp: Các thông điệp sẽ được chuyển đổi trước khi gửi đi,

có thể được chuyển đổi bằng cách sửa đổi, kết hợp, thêm hoặc xóa các trường dữ liệu Một số thông điệp sẽ có định nghĩa về cấu trúc và định dạng riêng, các thông điệp này được gọi là thông điệp tự xác định

Trang 37

o Dung lượng nhẹ, dễ dàng tùy chỉnh và mở rộng

o Có hỗ trợ công cụ thao tác dễ dàng kéo thả các thành phần tạo nên flow, subflow nên cho năng xuất phát triển rất tốt

Trang 38

36

Oracle Service Bus là trục tích hợp ESB được phát triển bởi hãng Oracle, nó là một thành phần con trong Oracle Fusion Middleware được biết đến như một bộ công cụ tích hợp mạnh mẽ [8]

- Kiến trúc

Hình 2 10 Ki ến trúc Oracle Service Bus

o Oracle Service Bus có khả năng truyền tải thông điệp với độ chính xác và tính đảm bảo cao, hỗ trợ XML như là một kiểu dữ liệu mặc định, đồng thời cung

cấp các giải pháp chuyển đổi thành các kiểu dữ liệu khác

o Oracle Service Bus là bộ phân trung gian thực hiện xử lý các yêu cầu dịch vụ đến, xác định logic định tuyến và sau đó biến đổi các thông điệp để tương thích với các bên nhận dịch vụ Ví dụ khi nhận thông điệp qua một giao thức truyền tải như SOAP hay HTTP sau đó xử lý và nó sẽ gửi laị các thông điệp qua giao thức truyền tải khác

o Oracle Service Bus thực hiện giám sát và kiểm soát bảo mật theo hướng tập trung cho phép thiết lập mối quan hệ giữa người sử dụng và nhà cung cấp

dịch vụ

- Công cụ

Công cụ dung để phát triển Oracle Service Bus có thể kể đến là: Oracle Workshop for WebLogic

Trang 39

o Thường triển khai cho các hệ thống lớn, chuyên nghiệp

o Hỗ trợ người phát triển tốt, hầu hết các sản phẩm đều có trình biên tập đồ họa

o Vì nằm trong hệ sinh thái của Oracle Fusion Middleware nên có thể kết nối được với các thành phần khác có trong Oracle Fusion Middleware như: Enterprise Messaging Service , Coherence, BEPL Process Manager, Service Registry, SOA, Complex Event Processing, …

o …

- Nhược điểm:

o Dung lượng lớn nên dẫn đến cài đặt khó khăn, chiếm nhiều tài nguyên và cần

có cơ sở hạ tầng tốt mới triển khai được

o Là phần mềm thương mại nên giá thành cao

o …

3.3 WSO2 ESB

Trang 40

38

WSO2 ESB là một bản ESB chính thức dành cho doanh nghiệp Nó được xây dựng trên nền tảng Apache Synapse và sử dụng Apache Axis2 Tất cả các thành phần được xây dựng dưới dạng gói OSGi [9]

- Kiến trúc

Hình 2 12 Ki ến trúc WSO2 ESB

o Khi một ứng dụng gửi thông điệp đến WSO2 ESB , thông điệp sẽ được chuyển tiếp đến tầng vận chuyển và việc vận chuyển dữ liệu sẽ thông qua một kênh truyền – nơi này sẽ xử lý các vấn đề chất lượng thông điệp ví dụ như về

bảo mật

o WSO2 ESB có thể hoạt động ở hai chế độ đó là: Thông điệp trung gian sử

dụng một kênh duy nhất và vận chuyển dịch vụ qua các proxy khác nhau

o Cả chuyển đổi và định tuyến tin nhắn có thể được coi là một đơn vị Như sơ

đồ trên chỉ định, không có sự tách biệt rõ ràng giữa các thành phần chuyển đổi thông báo và các thành phần định tuyến Trong WSO2 ESB, đây được

gọi là khung hòa giải

o Một số việc biến đổi xảy ra trước khi quyết định thực hiện việc định tuyến, trong khi một số khác xảy ra sau khi việc định tuyến kết thúc

o Lớp vận chuyển đảm nhiệm việc chuyển đổi giao thức vận chuyển theo yêu

cầu của ESB

- Công cụ

Công cụ dung để phát triển WSO2 ESB có thể kể đến là: Accessing Developer Studio

Ngày đăng: 28/02/2021, 00:23

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