CHƯƠNG 1. TỔNG QUAN VỀ TÍCH HỢP HỆ THỐNG 1. Tổng quan về tích hợp hệ thống 1. Khái niệm Ngày nay nhu cầu về thông tin ngày càng lớn với yêu cầu chất lượng thông tin ngày càng cao như độ chính xác tin cậy của thông tin, tốc độ truy xuất nhanh, mức độ sẵn sàng cao.
Các tổ chức, doanh nghiệp nói chung, NHNN nói riêng thường đã có sẵn các hệ thống nghiệp vụ riêng biệt, sử dụng nền tảng công nghệ khác nhau. Cùng với sự phát triển của tổ chức, nhu cầu cần có một hệ thống tổng thể phục vụ nhu cầu thông tin là cần thiết. Từ đó người ta nghiên cứu đưa ra những phương pháp, kỹ thuật, mẫu và công nghệ để có thể nối ghép, tương tác các hệ thống riêng biệt này với nhau. 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 hệ thống thống nhất [9].
Nói cách khác, hệ thống tích hợp là tập hợp các hệ thống rời rạc sử dụng một loạt các kỹ thuật như mạng máy tính, tích hợp ứng dụng doanh nghiệp, quy trình quản lý kinh doanh hoặc chương trình. Mục tiêu của tích hợp hệ thống Tích hợp hệ thống nhằm tạo ra hệ thống tổng thể mà từ đó người dùng có thể truy xuất được đúng thông tin, đúng thời điểm, đạt chất lượng với chi phí rẻ nhất. Thách thức của tích hợp hệ thống Khi một ứng dụng mới ra đời nó thường không được tính toán trước để tích hợp, thiết kế của nó thường độc lập, khó có thể dễ dàng kết hợp với những thành phần đã có hoặc những thành phần mới khác nhằm giải quyết các bài toán cụ thể. Điều này bắt nguồn từ thực tế các tổ chức chưa quan tâm đến vấn đề tích hợp một cách nghiêm túc, họ thường chỉ tập trung tạo ra sản phẩm mới để giải quyết ngay lập tức vấn đề đang tồn tại.
Bên cạnh đó các ứng dụng đôi khi được viết trên những nền tảng khác nhau như ứng dụng Web, ứng dụng cho hệ điều hành Windows, Linux.; với những ngôn ngữ khác nhau: C++, Java, dotNet,. cũng như phương thức quản lý dữ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 4 liệu khác nhau: Tệp lưu trữ, Dữ liệu quan hệ, Dữ liệu phi cấu trúc, dữ liệu có cấu trúc. Việc vượt qua những khác biệt này để tích hợp chúng là khó khăn. Với những khó khăn, thách thức trên, các tổ chức, chuyên gia cần có kiến thức tổng thể lớn về hệ thống cùng với kinh phí rất cao để có thể thực hiện tốt việc tích hợp.
Kiến trúc đa tầng trong tích hợp hệ thống Hệ thống thông tin được chia thành nhiều tầng (tier), mỗi tầng có thể là một thực thể quan niệm hoặc một thực thể thực. Việc phân biệt các tầng phụ thuộc vào tổ chức đơn vị, chức năng nghiệp vụ, công nghệ sử dụng,. Mô hình hóa hệ thống thông tin theo tầng cho phép trừu tượng hóa được những hệ thống phức tạp, hiện đại.1 Kiến trúc tầng trong hệ thống thông tin Kiến trúc đa tầng bao gồm các tầng: - Client: người dùng hoặc chương trình thực hiện tác vụ trên hệ thống. - Presentation layer: tầng giúp client gửi yêu cầu và nhận kết quả phản hồi.
- Application logic: tầng đả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ó thể được thực hiện bởi client. - Resource manager: tầng tương tác mức thấp với tài nguyên dữ liệu. Tầng này có thể là hệ quản trị cơ sở dữ liệu hoặc hệ thống quản lý dữ liệu khác có khả năng bảo quản dữ liệu và xử lý truy vấn. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.2 Mô hình kiến trúc đa tầng 1.
Kiến trúc 1-tier: Cả ba tầng presentation, application logic và resource manager được xây dựng trong cùng thực thể nguyên khối. Người dùng/ chương trình truy cập hệ thống thông qua thiết bị cuối. Phù hợp để triển khai với các ứng dụng trên mainframe. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.3 Kiến trúc 1-tier 1.
Kiến trúc 2-tier Tầng Presentation được chuyển về phía client LUAN VAN CHAT LUONG download : add luanvanchat@agmail.4 Kiến trúc 2-tier Ưu điểm: - Clients độc lập với nhau: mỗi client có thể có nhiều tầng Presentation tùy theo yêu cầu. - Có thể xây dựng tầng Presentations phức tạp hơn dựa vào năng lực tính toán của máy tính tại client, giảm bớt gánh nặng sử dụng tài nguyên tại máy chủ. - Đưa ra khái niệm API (Application Program Interface) – giao diện tương tác với hệ thống từ bên ngoài. Từ đó cho phép tích hợp hệ thống phức tạp thông qua liên kết nhiều hệ thống khác nhau.
- Tầng Resource Manager chỉ quản lý duy nhất một application logic, giúp nâng cao hiệu năng quản lý kết nối trong nội tại máy chủ. Nhược điểm: - Hệ thống phải xử lý tất cả các kết nối, số lượng client tối đa phụ thuộc vào số kết nối được hỗ trợ ở phía máy chủ. - Client gắn chặt với hệ thống do không có tầng Presentation chuẩn. Nếu client muốn kết nối đến hai hệ thống, client phải có hai tầng Presentation khác nhau.
- Không có đóng gói tải và lỗi. Nếu hệ thống lỗi, không một client nào có thể hoạt động. Bên cạnh đó việc thi hành thao tác của một client sẽ ảnh hưởng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 8 trực tiếp đến các client khác do tất cả các thao tác được thi hành trên cùng tài nguyên máy chủ. - Việc thiết kế tầng Application Logic và tầng Resource Mananger gắn liền với nhau một cách chặt chẽ, gây khó khăn khi thay đổi hay tách biệt chúng để cải thiện hiệu năng.
- Thiết kế theo mô hình này phức tạp và khó để chuyển sang môi trường khác. - Khi client muốn truy cập đến hai hay nhiều hệ thống, kiến trúc này gây ra nhiều vấn đề: + Các hệ thống cơ bản không biết về nhau, không có logic nghiệp vụ chung nên business logic đôi khi phải đặt ở phía client. + Các hệ thống cơ bản khác nhau. Sự phức tạp đối phó với hai hệ thống không đồng nhất cần phải được giải quyết ở client.
+ Client chịu trách nhiệm phải biết mọi thứ ở đâu, làm thế nào để có được chúng và làm thế nào để đảm bảo tính nhất quán. Middleware Các nhược điểm về phía client khó có thể giải quyết được ở mô hình 2-tier. Khi đó cần thêm mức gián tiếp Middleware giữa clients và các tầng khác trong hệ thống. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.5 Kiến trúc Middleware Ưu điểm: - Đơn giản hóa thiết kế client thông qua việc giảm số giao diện.
- Cho phép truy cập trong suốt đối với các hệ thống cơ bản. - Đóng vai trò nền tảng cho các chức năng và tầng logic ứng dụng mức cao. - Chú trọng hơn đến việc phân bố tài nguyên, truy cập và thu nhận kết quả. Kiến trúc 3-tier Trong kiến trúc 3-tier, ba tầng Presentation, Application và Resource Manager được tách biệt rõ ràng.
Với một số nhà nghiên cứu, kiến trúc Middleware cũng được coi là kiến trúc 3-tier. Điều này đúng về khái niệm do các hệ thống có thể xem là các hộp đen. Thực tế kiến trúc 3-tier cũng chỉ có ý nghĩa trong hệ thống Middleware. Kiến trúc 3-tier có cùng ưu điểm với kiến trúc Middleware [1].
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.6 Kiến trúc 3-tier 1. Một số phương pháp tích hợp Tích hợp hệ thống có thể được thực hiện với hai hướng tiếp cận: từ dưới lên và từ trên xuống. - Từ dưới lên (Bottom – Up): + Đánh giá hiện trạng và phân loại các hệ thống đã có. + Phân tích những vấn đề cụ thể phát sinh do thiếu sự tích hợp giữa các hệ thống.
+ Giải quyết những vấn đề đó thông qua những dự án tích hợp không có điều phối, không cần xây dựng kiến trúc tích hợp tổng thể. - Từ trên xuống (Top – Down): + Đánh giá hiện trạng và phân loại các hệ thống đã có. + Xây dựng kiến trúc tích hợp tổng thể sớm nhất có thể, đảm bảo cả những khía cạnh về quy trình nghiệp vụ lẫn công nghệ. Hiện nay người ta thường sử dụng phương pháp từ trên xuống kết hợp với từ dưới lên[1].
Tích hợp mức dữ liệu Đây là kiểu tích hợp ở mức thấp, các ứng dụng/hệ thống tham gia vào hệ tích hợp chia sẻ dữ liệu chung với nhau. Một số phương pháp chia sẻ dữ liệu LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 11 điển hình: Chia sẻ dữ liệu dạng tệp (File-based data sharing), Chia sẻ cơ sở dữ liệu (Shared Database), Đồng bộ tệp (Socket). Chia sẻ dữ liệu dạng tệp Đây là phương pháp phổ biến nhất trong chia sẻ dữ liệu. Phương pháp này phụ thuộc vào hạ tầng phần cứng và hệ điều hành.
Với kiểu tích hợp này, một ứng dụng ghi dữ liệu vào tệp trong khi ứng dụng khác đọc dữ liệu từ những tệp tương tự. Nếu hai ứng dụng đều chạy trên một máy chủ, chúng sẽ sử dụng đĩa vật lý để ghi và đọc như hình minh họa 1.7 Hai ứng dụng A, B cùng được cài đặt trên một máy chủ Nếu hai ứng dụng được cài đặt trên hai máy chủ khác nhau thì sẽ sử dụng các kỹ thuật truyền tệp để truyền tệp dữ liệu giữa hai đĩa vật lý điển hình là sử dụng giao thức fpt (file transfer protocol).8 Hai ứng dụng A và B được cài trên hai máy chủ khác nhau Tệp dữ liệu sử dụng chủ yếu với kiểu tích hợp này là text vì một ký tự được biểu diễn một byte trong phần lớn hệ điều hành, ngôn ngữ. Ưu điểm: - Đơn giản, dễ xây dựng. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 12 Nhược điểm: - Dữ liệu không được chia sẻ trong thời gian thực.
Tồn tại độ trễ đáng kể giữa thời điểm một ứng dụng ghi tệp và ứng dụng khác đọc tệp. Độ trễ này có thể được tính bằng giờ, ngày thậm chí cả tuần. - Phương pháp này không đáng tin cậy nếu có số lượng lớn tệp dữ liệu được chia sẻ. - Việc truyền tệp dữ liệu yêu cầu về cơ chế quản lý việc đọc ghi tệp dữ liệu tại một thời điểm.
Nếu đọc ghi đồng thời lên tệp dữ liệu có thể gây ra tranh chấp, dữ liệu không nhất quán. - Không phù hợp khi tích hợp nhiều ứng dụng. Với n ứng dụng cần tích hợp sẽ cần n*(n-1)/2 phương thức chia sẻ tệp dữ liệu. Chia sẻ cơ sở dữ liệu Phương pháp này gần giống với phương pháp chia sẻ dữ liệu dạng tệp, tuy nhiên ở phương pháp này một ứng dụng ghi dữ liệu vào cơ sở dữ liệu, ứng dụng khác đọc dữ liệu từ cơ sở dữ liệu.