MuleSoft - Giới thiệu về Mule ESB
ESB là viết tắt của Enterprise Service Busvề cơ bản là một công cụ phần mềm trung gian để tích hợp các ứng dụng khác nhau với nhau trên một cơ sở hạ tầng giống như bus. Về cơ bản, nó là một kiến trúc được thiết kế để cung cấp một phương tiện di chuyển công việc thống nhất giữa các ứng dụng tích hợp. Bằng cách này, với sự trợ giúp của kiến trúc ESB, chúng ta có thể kết nối các ứng dụng khác nhau thông qua một bus truyền thông và cho phép chúng giao tiếp mà không phụ thuộc vào nhau.
Triển khai ESB
Trọng tâm chính của kiến trúc ESB là tách các hệ thống khỏi nhau và cho phép chúng giao tiếp một cách ổn định và có thể kiểm soát được. Việc triển khai ESB có thể được thực hiện với sự trợ giúp của‘Bus’ và ‘Adapter’ theo cách sau -
Khái niệm “bus”, đạt được thông qua một máy chủ nhắn tin như JMS hoặc AMQP, được sử dụng để tách các ứng dụng khác nhau với nhau.
Khái niệm “bộ điều hợp”, chịu trách nhiệm giao tiếp với ứng dụng phụ trợ và chuyển đổi dữ liệu từ định dạng ứng dụng sang định dạng bus, được sử dụng giữa các ứng dụng và bus.
Dữ liệu hoặc thông điệp truyền từ ứng dụng này sang ứng dụng khác thông qua bus ở định dạng chuẩn, có nghĩa là sẽ có một định dạng thông báo nhất quán.
Bộ điều hợp cũng có thể thực hiện các hoạt động khác như bảo mật, giám sát, xử lý lỗi và quản lý định tuyến thông báo.
Nguyên tắc hướng dẫn của ESB
Chúng ta có thể gọi những nguyên tắc này là nguyên tắc tích hợp cốt lõi. Chúng như sau:
Orchestration - Tích hợp hai hoặc nhiều dịch vụ để đạt được sự đồng bộ giữa dữ liệu và quy trình.
Transformation - Chuyển đổi dữ liệu từ định dạng chuẩn sang định dạng ứng dụng cụ thể.
Transportation - Xử lý thương lượng giao thức giữa các định dạng như FTP, HTTP, JMS, v.v.
Mediation - Cung cấp nhiều giao diện để hỗ trợ nhiều phiên bản của một dịch vụ.
Non-functional consistency - Cung cấp cơ chế quản lý giao dịch và bảo mật.
Cần ESB
Kiến trúc ESB cho phép chúng tôi tích hợp các ứng dụng khác nhau mà mỗi ứng dụng có thể giao tiếp thông qua nó. Sau đây là một số hướng dẫn về thời điểm sử dụng ESB:
Integrating two or more applications - Sử dụng kiến trúc ESB có lợi khi có nhu cầu tích hợp hai hoặc nhiều dịch vụ hoặc ứng dụng.
Integration of more applications in future - Giả sử nếu chúng ta muốn thêm nhiều dịch vụ hoặc ứng dụng hơn trong tương lai, thì nó có thể dễ dàng thực hiện với sự trợ giúp của kiến trúc ESB.
Using multiple protocols - Trong trường hợp chúng ta cần sử dụng nhiều giao thức như HTTP, FTP, JMS, v.v. thì ESB là lựa chọn phù hợp.
Message routing - Chúng ta có thể sử dụng ESB trong trường hợp nếu chúng ta yêu cầu định tuyến tin nhắn dựa trên nội dung tin nhắn và các tham số tương tự khác.
Composition and consumption - ESB có thể được sử dụng nếu chúng tôi cần xuất bản các dịch vụ để sáng tác và tiêu thụ.
Tích hợp P2P so với tích hợp ESB
Với sự gia tăng số lượng ứng dụng, một câu hỏi lớn đặt ra trước mắt các nhà phát triển là làm thế nào để kết nối các ứng dụng khác nhau? Tình huống được xử lý bằng cách viết tay mã hóa kết nối giữa các ứng dụng khác nhau. Đây được gọi làpoint-to-point integration.
Rigiditylà nhược điểm rõ ràng nhất của tích hợp điểm-điểm. Độ phức tạp tăng lên khi số lượng kết nối và giao diện tăng lên. Những nhược điểm của tích hợp P-2-P dẫn chúng ta đến việc tích hợp ESB.
ESB là một cách tiếp cận linh hoạt hơn để tích hợp ứng dụng. Nó đóng gói và thể hiện mỗi chức năng ứng dụng như một tập hợp các khả năng có thể tái sử dụng rời rạc. Không có ứng dụng nào tích hợp trực tiếp với ứng dụng khác, thay vào đó chúng tích hợp thông qua một ESB như hình dưới đây -
Để quản lý tích hợp, ESB có hai thành phần sau:
Service Registry- Mule ESB có Sổ đăng ký / Kho lưu trữ Dịch vụ nơi tất cả các dịch vụ được đưa vào ESB được xuất bản và đăng ký. Nó hoạt động như một điểm khám phá từ đó người ta có thể sử dụng các dịch vụ và khả năng của các ứng dụng khác.
Centralized Administration - Như tên của nó, nó cung cấp một cái nhìn về các luồng giao dịch về hiệu suất của các tương tác xảy ra bên trong ESB.
ESB Functionality- Chữ viết tắt VETRO thường được sử dụng để tóm tắt chức năng của ESB. Nó như sau -
V(Validate) - Như tên của nó, nó xác nhận việc xác thực lược đồ. Nó yêu cầu trình phân tích cú pháp xác thực và lược đồ cập nhật. Một ví dụ là tài liệu XML xác nhận một lược đồ cập nhật.
E(Phong phú) - Nó thêm dữ liệu bổ sung vào tin nhắn. Mục đích là làm cho thông điệp có ý nghĩa và hữu ích hơn đối với dịch vụ mục tiêu.
T(Transform) - Nó chuyển đổi cấu trúc dữ liệu sang định dạng chuẩn hoặc từ định dạng chuẩn. Ví dụ như chuyển đổi ngày / giờ, tiền tệ, v.v.
R(Định tuyến) - Nó sẽ định tuyến thông điệp và hoạt động như một người gác cổng của điểm cuối của một dịch vụ.
O(Vận hành) - Công việc chính của chức năng này là gọi dịch vụ mục tiêu hoặc tương tác với ứng dụng mục tiêu. Họ chạy ở phần phụ trợ.
Mẫu VETRO cung cấp tính linh hoạt tổng thể cho việc tích hợp và đảm bảo rằng chỉ dữ liệu nhất quán và đã được xác thực mới được định tuyến trong toàn bộ ESB.
Mule ESB là gì?
Mule ESB là một nền tảng tích hợp và bus dịch vụ doanh nghiệp dựa trên Java (ESB) nhẹ và có khả năng mở rộng cao do MuleSoft cung cấp. Mule ESB cho phép nhà phát triển kết nối các ứng dụng dễ dàng và nhanh chóng. Bất kể các công nghệ khác nhau được sử dụng bởi các ứng dụng, Mule ESB cho phép dễ dàng tích hợp các ứng dụng, cho phép chúng trao đổi dữ liệu. Mule ESB có hai phiên bản sau:
- Ấn bản cộng đồng
- Phiên bản doanh nghiệp
Một lợi thế của Mule ESB là chúng ta có thể dễ dàng nâng cấp từ cộng đồng Mule ESB lên Mule ESB doanh nghiệp vì cả hai phiên bản đều được xây dựng trên cơ sở mã chung.
Tính năng & Khả năng của Mule ESB
Các tính năng sau được sở hữu bởi Mule ESB:
- Nó có thiết kế đồ họa kéo và thả đơn giản.
- Mule ESB có khả năng lập bản đồ và chuyển đổi dữ liệu trực quan.
- Người dùng có thể nhận được 100 thiết bị kết nối được chứng nhận được xây dựng sẵn.
- Giám sát và điều hành tập trung.
- Nó cung cấp khả năng thực thi bảo mật doanh nghiệp mạnh mẽ.
- Nó cung cấp cơ sở quản lý API.
- Có Cổng dữ liệu an toàn cho kết nối đám mây / tại chỗ.
- Nó cung cấp sổ đăng ký dịch vụ nơi tất cả các dịch vụ được đưa vào ESB được xuất bản và đăng ký.
- Người dùng có thể kiểm soát thông qua bảng điều khiển quản lý dựa trên web.
- Gỡ lỗi nhanh chóng có thể được thực hiện bằng cách sử dụng bộ phân tích luồng dịch vụ.