Chương 1: Giới thiệu về cơ sở lý thuyết, các vấn đề liên quan đến tích hợp hệ thống và các công nghệ được sử dụng. Chương 2: Trình bày về ESB, các khái niệm, các thành phần và so sánh một số công cụ ESB Middleware Chương 3: Trình bày về thực trạng hệ thống công nghệ thông tin tại ngân hàng TPBank, đưa ra phương pháp giải quyết vấn đề. Xây dựng, thử nghiệm và đánh giá hệ thống. Kết luận chung: Các kết quả đạt được, các điểm còn hạn chế và hướng phát triển kế tiếp.
TỔNG QUAN VỀ TÍCH HỢP HỆ THỐNG 1. Giới thiệu Ngày nay, khi sự phát triển vươn tới những đỉnh cao mới, nhu cầu về làm chủ tri thức của con người được đặt lên hàng đầu. Do đó, thông tin dữ liệu 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ụ. Theo thời gian, sự phát triển về công nghệ và nhu cầu của con người đã xuất hiệ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à đặt ra thách thức là các kiến trúc mới này cần trao đổi dữ liệu và có thể phối hợp nhịp nhàng với những hệ thống cũ.
Do đó người ta đã đưa ra giải pháp tích hợp hệ thống để giải quyết vấn đề này. Khái niệm tích hợp hệ thống Theo Wikipedia, ta có định nghĩa về tích hợp hệ thống như sau: 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. [1] 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.
Mục tiêu và thách thức Mục tiêu Tích hợp hệ thống giúp chúng ta có thể truy xuất được đúng dữ liệu cần thiết từ đúng hệ thống cần tìm, trong đúng thời điểm mong muốn với chất lượng tuyệt đối và chi phí thấp nhất. Thách thức của tích hợp hệ thống Thực tế, khi một hệ thống ra đời, điều mà tổ chức quan tâm chủ yếu là tạo ra một hệ thống để giải quyết những vấn đề đang tồn tại hoặc theo một nhu cầu của một đơn vị 9 nào đó trong một khoảng thời gian cho phép. Chính vì thế 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 độc lập và thường theo kiểu “nghĩ đến đâu làm đến đấy”, dó đó thường rất khó để kết hợp những thành phần nhỏ để giải quyết bài toán chung. Hơn nữa, các ứng dụng như dịch vụ Web, ứng dụng cho hệ điều hành Windows, Linux… được phát triển bởi nhiều ngôn ngữ khác nhau như là: C++, Java, dotNet, … cũng như phương thức quản lý dữ liệu khác nhau: Tệp lưu trữ, Dữ liệu quan hệ, Dữ liệu có cấu trúc và phi cấu trúc.
Việc vượt qua những điểm khác biệt này để tích hợp các thành phần thành một hệ thố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. Kiểu tích hợp 1. Tích hợp mức dữ liệu Đây là kiểu tích hợp dữ liệu ở mức thấp, các ứng dụng/ hệ thống tham gia vào hệ tích hợp sẽ chia sẻ dữ liệu chung với nhau.
Ở mức độ tích hợp này, cần tiến hành các công việc sau: [1] Định danh dữ liệu: chỉ ra vị trí nguyên thủy trong hệ phân tán. Thể loại hóa dữ liệu: phân loại dữ liệu và gán nhãn thể loại Xây dựng mô hình siêu dữ liệu (metadata), mô tả dữ liệu về dữ liệu Một số phương pháp chia sẻ dữ liệu điển hình: Chia sẻ dữ liệu dạng tệp (File-base data sharing), Chia sẻ cơ sở dữ liệu (Shared Database), Đồng bộ tệp (Socket). Tích hợp mức chức năng Là phương pháp cho phép các ứng dụng chia sẻ các chức năng (tái sử dụng chức năng) lẫn nhau. Tích hợp mức dịch vụ (quy trình) Là tích hợp mức cao, cho phép khắc phục những nhược điểm của phương thức thông điệp.
Phương pháp này có 2 loại: Tích hợp hệ thống dựa vào tích hợp quy trình nghiệp vụ. Tích hợp hệ thống dựa vào kiến trúc hướng dịch vụ. Tích hợp quy trình Tích hợp mức quy trình đảm bảo mục tiêu tạo mô hình chung giữa các hệ thống liên kết qua dịch vụ và quy trình. Phương pháp này thường được sử dụng trong các hệ thống: - Dịch vụ khách hàng - Quản trị nguồn nhân lực - Giao dịch tài chính.
- Chế tạo Mô hình quy trình chung thường phải đủ bao quát hết các quy trình trong hệ thống tích hợp. Để đặc tả quy trình nghiệp vụ người ta sử dụng chuẩn ngôn ngữ Business Modeling Language (BPML). Tích hợp hướng dịch vụ ( Service-Oriented Architecture) Kiến trúc hướng dịch vụ (SOA) là mô hình xây dựng ứng dụng dựa trên các dịch vụ đã có trên mạng chuyên biệt, chẳng hạn như Web. SOA giải quyết các vấn đề còn tồn tại 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.
Các thành phần cơ bản của SOA 11 Hình 1. Các thành phần cơ bản của SOA 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. 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í. Nguyên lý cơ bản của SOA [2] 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ó rằng buộc rõ ràng, đảm bảo tính mềm dẻo của SOA 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ụ đó. 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. Đóng gói: 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ị Phi trạng thái: các dịch vụ hoạt động phi trạng thái.
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ụ đó. Kiến trúc tích hợp hệ thống Như đã trình bày ở trên, việc tích hợp hệ thống cần một kiến thức tổng thể về lĩnh vực hệ thống, vì vậy việc nắm vững kiến trúc hệ thống là điều vô cùng quan trọng. Kiến trúc của các hệ thống thông tin hiện nay là kiến trúc đa, cụ thể nó bao gồm: Client: người dùng hoặc chương trình thi hành các tác vụ, các thao tác trên hệ thống. Presentation Layer: tầng giúp client gửi yêu cầu và nhận lại kết quả phản hồi.
Application Logic: tầng này đảm bảo thực hiện các quy trình nghiệp vụ đồng thời xác lập những thao tác nào được thi hành trên hệ thống Resource manager: 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. Kiến trúc Point-to-Point Các ứng dụng công nghệ thông tin giao tiếp với nhau thông qua các giao diện (interfaces) Các giao tiếp này được hỗ trợ bởi các giao diện, nó có thể được thực hiện trong thời gian thực hoặc đồng bộ Số lượng giao diện tăng lên khi số lượng ứng dụng công nghệ thông tin tăng lên. Phù 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.
Kiến trúc Point-to-Point 13 2. Kiến trúc Hub-and-Spoke Được sử dụng trong các hệ thống tích hợp ứng dụng doanh nghiệp Enterprise Application Integration (EAI), kiến trúc hub-and-spoke được tích hợp từ bộ xử lý trung tâm của hệ thống. 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. Kiến trúc Pipeline Trong kiến trúc Pipeline, các hệ thống độc lập được tích hợp với nhau bằng một bus thông điệp.
Việc triển khai kiến trúc này tương tự với kiến trúc hub-and-spoke, việc 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. Kiến trúc Pipeline Kiến trúc linh hoạt, tốn ít chi phí theo dõi vận hành, các hệ thống độc lập có thể được tích hợp hoặc loại bỏ một cách dễ dàng Khi khối lượng truyền nhận dữ liệu lớn sẽ có nguy cơ tắc nghẽn, do đó cần thiết lập kênh truyền riêng biệt Phù hợp với hệ thống tích hợp hướng sự kiện, phân phối dữ liệu 1-n (kênh phát song), hệ thống sử dụng cơ sở dữ liệu n-1 (kho dữ liệu). Kiến trúc hướng dịch vụ SOA 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. Kiến trúc hướng dịch vụ SOA 15 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.