Giới thiệu Oracle Enterpise Service Bus

I. Giới thiệu chung.

Hệ thống mạng doanh nghiệp thường triển khai các ứng dụng,các nền tảng và các quy trình nghiệp vụ khác nhau. Một yêu cầu thiết yếu là chúng cần được liên kết và trao đổi thông tin với nhau. Nhưng có một vấn đề phổ biến là chúng không sử dụng một loại định dạng dữ liệu chung cũng như không có một chuẩn giao tiếp chung. Nếu doanh nghiệp cần giao tiếp với các hệ thống bên ngoài, vấn đề tích hợp sẽ mở rộng ra khỏi phạm vi của công ty, nó bao chùm lên các hệ thống và quy trình nghiệp vụ của các doanh nghiệp khác nhau.

Trong những năm gần đây, đã có một vài công nghệ tập trung vào giải quyết những vấn đề trên như EAI(Enterprise Application Integrarion), Business to Business (B2B), SOA và Web services. Những giải pháp trên tập trung vào một vài vấn đề về tích hợp, nhưng chúng thường thuộc về một công ty nào đó, đắt và tốn thời gian để thực hiện. Những vấn đề trên xảy ra từ giải pháp của các công ty lớn (giá cao, phụ thuộc vào công ty phát triển) cho đến hệ thống nhỏ hơn của những cộng đồng phát triên(chi phí cho việc bảo trì cao). Những điểm yếu lớn nhất của những giải pháp trên là giá thành cao, không khả chuyển đi kèm với vấn đề không được chuẩn hóa.

Từ đó Enterprise Service Bus (ESB) ra đời, vậy ESB là gì?

II. ESB là gì?

ESB là một hệ thống 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 tảng do đó các ứng dụng không cần phải thi hành riêng biệt những yêu cầu trên theo một cách thức riêng biệt của chúng.

ESB tập trung vào giải quyết những điểm yếu của những giải pháp có sẵn bằng cách tạo ra một nền tảng chuẩn cho việc tích hợp. Giải pháp point to point, yêu cầu cứ n thành phần tham gia hệ thống thì phải có n-1 interface để có thể giao tiếp được với các thành phần còn lại, được thay thế bằng giải pháp bus, mỗi thành phần chỉ yêu cầu có 1 interface để 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.

III. Giới thiệu Oracle ESB

Oracle ESB là một ESB di chuyển dữ liệu giữa nhiều thiết bị đầu cuối, cả bên trong và bên ngoài của doanh nghiệp

Nó sử dụng các tiêu chuẩn mở để kết nối và chuyển đổi, và các business documents (như Extensible Markup Language (XML) tmessages), trong các ứng dụng khác nhau. Nó cho phép giám sát và quản lý business data, với sự thay đổi tối thiểu lên các ứng dụng hiện có. Một ESB là cơ sở hạ tầng cơ bản để cung cấp một kiến trúc hướng dịch vụ (service-oriented architecture - SOA) và kiến trúc hướng sự kiện ( event-driven architecture - EDA).

Oracle ESB là nền tảng cho các dịch vụ sử dụng SOA và -EDA. Cốt lõi của nó là một liên kết lỏng các application framework trong doanh nghiệp của bạn với tăng tính linh hoạt, có thể dùng lại, và các phản ứng tổng thể trong một môi trường phân phối không đồng nhất, theo định hướng thông điệp bằng cách sử dụng tiêu chuẩn công nghiệp.

IV. Kiến trúc Oracle ESB

asdasd.gif

Oracle ESB bao gồm các thành phần:

4.1 ESB Server

ESB Server là máy chủ bạn đăng ký dịch vụ ESB mà bạn đã thiết kế sử dụng JDeveloper ESB Designer và cấu hình bằng cách sử dụng ESB Console. ESB Server hỗ trợ nhiều giao thức ràng buộc bao gồm cả HTTP / SOAP, JMS, JCA, WSIF, và Java mà vẫn đảm bảo tính tin cậy bằng cách sử dụng mô hình synchronous/asynchronous, request/reply or publish/subscribe. Tuy nhiên, ESB Server không hỗ trợ Remote Method Invocation (RMI).

**4.2 ESB Console **

ESB Consolecung cấp một giao diện web để quản lý, điều hành, và debugging các dịch vụ mà bạn đã đăng ký với máy chủ ESB Server.

**4.3 ESB Metadata Server **

Là cơ sở dữ liệu lưu giữ ESB metadata của bạn như schemas, transformations, and routing rules.

4.4 Oracle JDeveloper

Oracle JDeveloper là công cụ trực quan và thân thiện để chúng ta có thể mô hình hóa, chỉnh sửa và thiết kế các dịch vụ trong một hệ thống Oracle ESB.

V. Các tính năng tích hợp của Oracle ESB

Oracle ESB cung cấp khả năng tích hợp các ứng dụng rơi vào ba loại lớn, như được mô tả trong các phần sau:

  • "Connectivity"
  • "Document Transformation"
  • "Content Based Routing" -

5.1 Connectivity

Connectivity được cung cấp thông qua Adapter services and Simple Object Access Protocol (SOAP) services, được mô tả như sau:

  • Adapter services

    Oracle Application Server adapter cung cấp hai chiều, truy cập thời gian thực cho hầu như bất kỳ nguồn dữ liệu nào trong doanh nghiệp của bạn.

    Một adapter hoặc lắng nghe hoặc thăm dò sự kiện trong các ứng dụng mã nguồn mà nó hỗ trợ.

    Bằng cách đăng ký adapters với Oracle ESB, bạn tích hợp các nguồn dữ liệu bên ngoài vớiOracle ESB, và cuối cùng, tích hơp các nguồn dữ liệu với nhau.

  • SOAP services

    SOAP services cung cấp kết nối với khách hàng SOAP bên ngoài, chẳng hạn như Oracle BPEL Process Manager, Apache Axis, và Microsoft.NET. Bạn có thể gọi Oracle ESB services từ các khách hàng trên, hoặc bạn có thể gọi những sản phẩm từ Oracle ESB.

    Ví dụ bạn có thể gọi Oracle ESB từ Oracle BPEL Process Manager, để tận dụng lợi thế của các tính năng tài liệu định tuyến mà Oracle ESSB cung cấp, hoặc bạn có thể gọi Microsoft.NET từ Oracle ESB để tích hợp một cơ sở hạ tầng của Microsoft.NET.

5.2 Document Transformation

Oracle ESSB bao gồm những tiêu chuẩn dữ liệu ánh xạ (từ bên trong Oracle JDeveloper hoặc các môi trường mô hình Eclipse Platform).

Người lập bản đồ dữ liệu xác định một tập tin .xslt để chuyển đổi dữ liệu từ một lược đồ XML khác, vì thế nó cho phép trao đổi dữ liệu giữa các ứng dụng sử dụng lược đồ khác nhau.

Nhiều chuyển đổi có thể được yêu cầu để đạt được kết quả mong muốn. Những chuyển đổi có thể được tái sử dụng khi cần thiết trong toàn bộ doanh nghiệp của bạn.

5.3 Content Based Routing (định tuyến dựa trên nội dung)

Dữ liệu chứa trong XML messages được phân phối từ các ứng dụng mã nguồn cho một mục tiêu ứng dụng sử dụng dịch vụ định tuyến.

Như tên cho thấy, một dịch vụ định tuyến xác định cách messages nhận được từ điểm này đến điểm khác trong môi trường Oracle ESB được định nghĩa bởi các quy tắc định tuyến và chuyển đổi nó được áp dụng vào các XML messages và các quy tắc khác được áp dụng.

Ngoài ra, dịch vụ định tuyến cho phép tách các điểm cuối dịch vụ bên ngoài từ các business processes trong BPEL. Như bạn có thể xác định quy tắc để định tuyến dựa vào nội dung tin nhắn, các dịch vụ định tuyến còn được gọi là dịch vụ định tuyến dựa trên nội dung.

Quy tắc định tuyến xác định tập hợp các dịch vụ (gọi tắt là dịch vụ mục tiêu) mà Oracle ESB sẽ gọi khi các dịch vụ định tuyến nhận được một tin nhắn.

Khi bạn cấu hình quy tắc định tuyến, bạn chỉ định các nội dung sau đây:

  • Cho dù một biểu thức lọc được áp dụng.

    Một biểu thức lọc xác định rằng các nội dung (payload) của một thông điệp được phân tích trước khi bất kỳ dịch vụ được gọi.

    Ví dụ, bằng cách sử dụng kịch bản được mô tả trong "Giới thiệu về các CustomerData Tutorial", bạn có thể áp dụng một biểu thức lọc xác định rằng các dịch vụ chuyển đổi cơ sở dữ liệu được gọi chỉ khi thông báo bao gồm thông tin liên lạc của khách hàng.

  • Cho dù một chuyển đổi tài liệu được áp dụng.

  • Cho dù thực hiện là đồng bộ hoặc không đồng bộ

    Nếu bạn chỉ định thực hiện đồng bộ, sau đó Oracle ESB gọi dịch vụ đích ngay lập tức. Quyền kiểm soát không được trả lại cho các dịch vụ hiện tại cho đến khi tin nhắn đã được nhận bởi dịch vụ mục tiêu để xử lý.

    Nếu bạn chỉ định thực hiện không đồng bộ, sau đó Oracle ESB sử dụng JMS để cung cấp tin nhắn tới các dịch vụ đích, mà sẽ được gọi vào một thời điểm sau đó. Quyền kiểm soát được trả lại cho các dịch vụ hiện ngay lập tức, trước khi dịch vụ mục tiêu đã nhận được tin

VI. Tính phổ biến

Hiện nay, Oracle đã có hơn 26.000 khách hàng trên toàn thế giới sử dụng giải pháp Oracle ESB, trong đó 94% khách hàng đang sử dụng Release 11i. Từ những năm 1997-1998, đã có những doanh nghiệp Việt Nam mạnh dạn đầu tư triển khai giải pháp Oracle như Vietnam Airlines hay Toyota Vietnam. Nhưng phải đến những năm gần đây thì mới ngày càng có nhiều doanh nghiệp Việt Nam đầu tư triển khai, chẳng hạn như các công ty mía đường Bourbon và Lam Sơn, tập đoàn sản xuất và kinh doanh gạch men Prime Group, tập đoàn kinh doanh ô tô, xe máy, bất động sản Gami Group, công ty nhựa Tân Tiến hay cửa sổ nhựa Euro Window…

Đặc biệt, với sự kí kết hợp đồng Xây dựng hệ thống thông tin quản lí Kho bạc và ngân sách (TABMIS – dự án do Ngân hàng thế giới tài trợ hơn 54 triệu USD) với IBM Business Consulting Services vào tháng 12/2005, Chính phủ Việt Nam đã chính thức lựa chọn triển khai giải pháp Oracle để hiện đại hóa hệ thống quản lí tài chính công của mình.

VII. Kết luận.

ESB được sử dụng rộng rãi và phổ biến do đáp ứng được:

  • Tích hợp hoàn toàn – Dữ liệu tập trung

  • Tự động hóa quy trình tác nghiệp

  • Kiến trúc và công nghệ tiên tiến

  • An toàn, bảo mật cao

Tài liệu tham khảo:

http://oracle.anilpassi.com/what-is-oracle-esb-enterprise-service-bus-2.html

http://www.oracle.com/technetwork/articles/soa/ind-soa-esb-1967705.html

https://docs.oracle.com/cd/E11036_01/integrate.1013/b28212/intro_qs.htm

https://en.wikipedia.org/wiki/Oracle_Enterprise_Service_Bus