Các mẫu dịch vụ thông tin Phần 2: Mẫu hợp nhất dữ liệu Tuyên bố giá trị của cách tiếp cận hợp nhất dữ liệu Tính trong suốt của tính không đồng nhất bên dưới Người dùng nhìn thấy chỉ một
Trang 1Các mẫu dịch vụ thông tin Phần 2: Mẫu hợp nhất dữ liệu
Tuyên bố giá trị của cách tiếp cận hợp nhất dữ liệu
Tính trong suốt của tính không đồng nhất bên dưới
Người dùng nhìn thấy chỉ một giao diện thống nhất Ứng dụng khách hàng của mẫu không cần biết về:
Dữ liệu nguồn ban đầu được lưu trữ ở đâu (Tính trong suốt về vị trí)
Các cơ sở dữ liệu nguồn hỗ trợ giao diện lập trình hoặc ngôn ngữ nào, ví dụ,
sử dụng XQuery hay SQL hoặc nguồn đó hỗ trợ ngôn ngữ SQL nào (Tính trong suốt về thực hiện)
Lưu trữ vật lý dữ liệu như thế nào (Tính độc lập của dữ liệu vật lý, sự phân mảnh và tính trong suốt về bản sao)
Sử dụng giao thức nối mạng nào (Tính trong suốt về mạng)
Hiệu năng và khả năng mở rộng quy mô
Mẫu hợp nhất dữ liệu tách nhiệm vụ tích hợp dữ liệu khỏi nhiệm vụ truy cập dữ liệu Việc truy cập cơ sở dữ liệu đích không đòi hỏi phải thi hành một quá trình hợp nhất dữ liệu Thông thường, theo lịch biểu quá trình hợp nhất sẽ xảy ra hàng ngày, hàng tuần và v.v độc lập với việc truy cập của người dùng dữ liệu đích Vì
dữ liệu cần thiết đã được thu gom tại một vị trí, nên có thể bảo đảm mức hiệu năng
và khả năng mở rộng quy mô cao nhất cho những người dùng dữ liệu
Một phiên bản sự thật duy nhất
Cách tiếp cận này áp dụng các khả năng mạnh mẽ để giải quyết các xung đột khi tích hợp dữ liệu từ các nguồn không đồng nhất Sau đó các dịch vụ có thể rút ra từ kho hợp nhất này và thỏa mãn các yêu cầu chất lượng dữ liệu cao
Khả năng tái sử dụng
Sau khi áp dụng mẫu hợp nhất dữ liệu cho một kịch bản tích hợp cụ thể, có thể cung cấp kết quả truy cập hợp nhất như là một dịch vụ cho nhiều người dùng dịch
Trang 2vụ Ví dụ, một kịch bản tích hợp có thể yêu cầu tích hợp thông tin tài chính từ rất nhiều vùng Khi áp dụng mẫu dữ liệu hợp nhất, dữ liệu khác nhau được hợp nhất vào một nơi duy nhất, rồi được trưng ra thông qua một bảng tài chính Sau đó có thể sử dụng chính dữ liệu hợp nhất ấy thông qua các dịch vụ thông tin cho người dùng khác, chẳng hạn như các quy trình tự động dùng cho các đơn yêu cầu bồi thường tiêu chuẩn hoặc các ứng dụng web hướng khách hàng
Việc quản trị được cải thiện
Quản trị là một nền tảng quan trọng cho vòng đời SOA Các mẫu đề cao quá trình quản trị bằng cách tăng cường các hướng dẫn thực hành tốt nhất với các kết quả dự báo Việc sử dụng lại các mẫu linh hoạt đã được kiểm chứng trong việc phát triển
và tạo ra các hệ thống có thể vừa bảo đảm tính thống nhất và chất lượng lại vừa làm giảm chi phí bảo trì nhờ có một nguồn duy nhất để cập nhật những thay đổi
Về đầu trang
Bối cảnh
Mẫu này đã được triển khai trong nhiều kịch bản theo một bối cảnh truyền thống
và không-SOA trong một khoảng thời gian dài Dựa vào việc gia tăng mối quan tâm về SOA, chúng tôi thấy có nhiều cơ hội mới để áp dụng mẫu này trong bối cảnh SOA
Bối cảnh truyền thống, không-SOA
Các kịch bản tiêu biểu nhất đã áp dụng mẫu hợp nhất dữ liệu theo truyền thống là:
Di trú ứng dụng: Di trú ứng dụng diễn ra khi một hệ thống di sản hiện có
ví dụ, một hệ thống quản lý quan hệ khách hàng (CRM) do doanh nghiệp phát triển cần được thay thế bằng một ứng dụng mới vì các lý do nghiệp
vụ hay kỹ thuật Hợp nhất dữ liệu hỗ trợ quá trình di trú ứng dụng để di chuyển dữ liệu từ môi trường di sản sang cơ sở dữ liệu của ứng dụng tương lai và áp dụng bất kỳ việc tái cơ cấu cần thiết nào với mô hình và chính bản thân dữ liệu
Hợp nhất ứng dụng: Một trong những nhiệm vụ về hợp nhất các ứng dụng
ví dụ, việc giảm số lượng các hệ thống hoạch định tài nguyên doanh nghiệp (ERP) xuống chỉ còn một hoặc rất ít hệ thống là hợp nhất các cơ sở dữ liệu bên dưới Điều đó có nghĩa là dữ liệu từ nhiều hệ thống di sản hiện có phải được sáp nhập vào (các) cơ sở dữ liệu hợp nhất
Trang 3 Hỗ trợ ra quyết định: Nhiều kịch bản hỗ trợ ra quyết định, ví dụ như những kịch bản xử lý phân tích và báo cáo tài chính, đòi hỏi phải truy cập vào dữ liệu phân tán trên nhiều nguồn Chất lượng của các quyết định tùy thuộc vào chất lượng và tính toàn diện của thông tin bên dưới Do đó, dữ liệu phân tán cần được tích hợp và tạo sẵn cho rất nhiều phân tích Trong nhiều trường hợp, cần thực hiện các ảnh chụp nhanh (bản sao) lịch sử để đánh giá xu hướng qua một khoảng thời gian Hợp nhất dữ liệu giúp cung cấp cho các công ty chỉ một phiên bản sự thật duy nhất từ nhiều nguồn Một kho dữ liệu
để hỗ trợ ra quyết định là một ví dụ điển hình về sử dụng một mẫu hợp nhất
dữ liệu
Quản lý dữ liệu chủ: Quản lý dữ liệu chủ nhằm mục đích tách thông tin chủ, theo định nghĩa là các sự thật mô tả các thực thể nghiệp vụ cốt lõi, chẳng hạn như khách hàng và sản phẩm, ra khỏi các ứng dụng riêng lẻ Việc tạo ra dữ liệu chủ này hoặc phiên bản sự thật duy nhất, được thực hiện thông qua một tập hợp các quy tắc, các công nghệ và các giải pháp thường dùng để tạo ra
và duy trì dữ liệu nghiệp vụ nhất quán, đầy đủ, theo ngữ cảnh và chính xác cho tất cả các bên liên quan đến thông tin đó Động lực phía sau việc bắt đầu quản lý dữ liệu chủ là một tình huống trong đó dữ liệu chủ lưu trú trong nhiều hệ thống cô lập, được lưu trữ và duy trì theo các định dạng khác nhau, dẫn đến không nhất quán và không đầy đủ ở một mức cao Để tạo ra tập hợp thông tin chính xác và nhất quán, có thể được quản lý trong một hệ thống quản lý dữ liệu chủ trung tâm, cần thu gom dữ liệu, chuyển đổi chúng thành
mô hình dữ liệu chủ và hợp nhất vào kho chứa dữ liệu chủ
Tất cả các kịch bản này đều chia sẻ một chủ đề chung:
Phân phối thông tin nguồn trên nhiều hệ thống tự trị và không đồng nhất
Thông tin nguồn có thể tồn tại theo các định dạng không nhất quán hoặc không đầy đủ
Áp dụng các quy tắc không nhất quán cho nguồn dữ liệu
Tính linh hoạt để thay đổi các nguồn thông tin và các định dạng khá hạn chế
Dữ liệu nguồn phải được hợp nhất thành một dữ liệu đích tồn tại lâu bền để giải quyết những thách thức trên bằng cách tích hợp dữ liệu thành một định dạng chung
và thống nhất Chức năng cốt lõi của mẫu hợp nhất dữ liệu giải quyết yêu cầu này thông qua ba hoạt động thành phần là thu gom (trích ra dữ liệu từ các nguồn), xử lý (chuyển đổi dữ liệu nguồn cho phù hợp với mô hình định nghĩa dữ liệu đích) và áp dụng (nạp dữ liệu đã hợp nhất và hòa hợp vào hệ thống hoặc kho lưu trữ dữ liệu đích) Điều này được minh họa trong Hình 1
Trang 4Hình 1 Mẫu hợp nhất dữ liệu truyền thống
Bối cảnh SOA
Bối cảnh SOA đưa ra nhiều thách thức tương tự với bối cảnh truyền thống, do đó, chúng tôi tin rằng điều quan trọng là sử dụng lại các cách tiếp cận hiện tại đã được kiểm chứng và tăng cường chúng để áp dụng chúng trong SOA
Trường hợp sử dụng SOA đầu tiên:
Trường hợp sử dụng SOA đầu tiên là một phần kịch bản mở rộng đã được mô tả trong ngữ cảnh truyền thống ở trên Trong trường hợp sử dụng này, quá trình hợp nhất với dữ liệu đích bây giờ được trưng ra như là một dịch vụ Ví dụ, một giải pháp quản lý dữ liệu chủ có thể được tập trung xoay quanh thông tin các bộ phận
xe hoặc thông tin của cả chiếc xe tại một xưởng sản xuất ô tô Do tầm quan trọng của thông tin bộ phận xe/cả chiếc xe, nên nhiều người dùng sẽ cần truy cập dữ liệu
từ một hệ thống quản lý dữ liệu chủ hợp nhất Một dịch vụ như getVehicleData sẽ tạo một cá thể của mẫu hợp nhất để thực hiện một dịch vụ có thể tái sử dụng Sau
đó, các nhân viên của doanh nghiệp hay các nhà phân phối các bộ phận xe bên ngoài doanh nghiệp chẳng hạn, có thể truy cập dịch vụ này trong toàn doanh
nghiệp hay bên ngoài doanh nghiệp
Việc trưng ra thông tin này thông qua các dịch vụ làm tăng thêm khả năng tái sử dụng cách thực hiện này và do đó có thể làm giảm chi phí vận hành và những điểm không nhất quán liên quan đến nguồn gốc, chuyển đổi và biến đổi theo các định dạng nguồn, điều này đã được giới thiệu trước đây, khi nhiều người dùng (những
Trang 5người thực hiện các hệ thống dữ liệu đích) cần thực hiện nhiệm vụ tích hợp này một cách riêng lẻ và dư thừa Theo cách tiếp cận SOA, ESB (Enterprise Service Bus) đứng trung gian xử lý các thông điệp (yêu cầu và đáp ứng của dịch vụ) giữa nhiều người tiêu dùng và nhà cung cấp dịch vụ thông tin, như minh họa trong Hình
2, do đó cho phép thực hiện dịch vụ một cách nhất quán và đúng chuẩn
Hình 2 SOA truy cập vào dữ liệu hợp nhất
Để hỗ trợ thực hiện các dịch vụ tích hợp thông tin trong một SOA đòi hỏi có chức năng bổ sung bao gọn việc truy cập thông tin trong một giao diện hướng dịch vụ Điều này được thực hiện thông qua thành phần information service enablement (hỗ trợ dịch vụ thông tin) Mục đích của thành phần này là trưng ra dữ liệu hợp nhất trong một giao diện hướng dịch vụ Ví dụ, có thể lưu trữ dữ liệu xe nguyên chiếc
đã hợp nhất trong một cơ sở dữ liệu quan hệ Qua thành phần hỗ trợ dịch vụ thông tin, có thể trưng ra dữ liệu xe nguyên chiếc theo mô hình quan hệ này như là một dịch vụ được định nghĩa bởi Service Component Architecture (SCA - Kiến trúc thành phần dịch vụ) hay Web Services Definition Language (WSDL – Ngôn ngữ định nghĩa dịch vụ Web) chẳng hạn Rồi sau đó có thể chia sẻ dịch vụ để thực hiện truy cập dữ liệu xe nguyên chiếc trong và ngoài doanh nghiệp
Trường hợp sử dụng SOA thứ hai:
Trang 6Trường hợp sử dụng SOA thứ hai minh họa một tình huống trong đó một người dùng gọi ra quá trình hợp nhất Theo truyền thống, quá trình hợp nhất chạy theo một lịch biểu thời gian tương đối cố định, thông thường nhất là trong các cửa sổ thời gian bảo trì, trên cơ sở hàng tuần hoặc hàng ngày Việc hợp nhất được tách khỏi quy trình nghiệp vụ thường chạy theo một lịch biểu thời gian ít cứng nhắc hơn Trong bối cảnh SOA, một bước nào đó trong một quy trình nghiệp vụ hoặc một ứng dụng có thể gọi trực tiếp quá trình hợp nhất Hai ví dụ về trường hợp sử dụng này là:
"Refresh my DataMart Now" có thể là một button có sẵn dành cho nhà phân tích kinh doanh, người chỉ muốn cập nhật thông tin "khi cần đến" Việc làm mới tự động sẽ gây ra nhiều vấn đề không lường trước bởi vì với dữ liệu tài chính thì cần phải thực hiện việc phân tích đúng thời điểm Các bản cập nhật
sẽ chỉ là "thời gian thực" như được ấn định bởi các chuyên gia chuyên ngành không nhất thiết phải đợi đến lúc khả thi về mặt kỹ thuật Việc gọi quá trình hợp nhất dữ liệu thông qua một button như vậy cung cấp một giải pháp cho yêu cầu này
Một công ty dược phẩm lớn sử dụng mô hình hợp nhất dữ liệu trong một bối cảnh SOA để hỗ trợ việc thu thập và xem xét các số liệu thống kê kiểm nghiệm của phòng thí nghiệm từ xa Việc tiêu chuẩn hóa thu thập dữ liệu trong phòng thí nghiệm sẽ giúp rút ngắn vòng đời vốn đã dài và tốn kém của các sản phẩm dược phẩm Trong ứng dụng về mô hình này, các phòng thí nghiệm riêng lẻ gọi một dịch vụ hợp nhất mỗi khi họ đã chèn chi tiết nghiên cứu vào một hệ thống giao dịch cô lập và đặt các dữ liệu đồ họa (các bản trình chiếu và các tệp JPG) vào một thư mục trung tâm để phê duyệt Dịch
vụ hợp nhất thu thập các số liệu thống kê từ một phòng thí nghiệm cụ thể và lưu trữ chúng trong hệ thống theo dõi tập trung của công ty Các số liệu thống kê được tạo ra bằng nhiều công cụ khác nhau, mỗi công cụ có một kho lưu trữ dữ liệu duy nhất Trước khi triển khai mô hình, nhiều hệ thống thủ công trên giấy và điện tử do công ty xây dựng, đã thu thập chẳng mấy hiệu quả các số liệu thống kê và các tư liệu hỗ trợ
Hình 3 minh họa làm thế nào mà một hoạt động theo quy trình nghiệp vụ (được gọi
là "invoke" như trong hình) gửi một yêu cầu có thể thông qua một ESB nếu muốn tới thành phần thực hiện hỗ trợ dịch vụ thông tin Thành phần này nhận yêu cầu dịch vụ và gọi ra (invoke) quá trình hợp nhất Sau đó, thu gom dữ liệu từ các nguồn, rồi xử lý chúng và áp dụng kết quả cho hệ thống đích
Trang 7Hình 3 Các quá trình hợp nhất dữ liệu có thể truy cập và có thể tái sử dụng của SOA
Trường hợp sử dụng SOA thứ ba:
Trường hợp sử dụng SOA thứ ba là một sự kết hợp của hai mẫu: hợp nhất dữ liệu
và xuất bản dữ kiện hoặc thay đổi việc bắt giữ dữ liệu, như trong Hình 4
Trang 8Hình 4 Hợp nhất dữ liệu kết hợp với việc xuất bản dữ kiện
Nhiều công ty gặp thách thức khi muốn quản lý hàng tồn kho có hiệu quả Một phần của vấn đề là thông tin liên quan đến hàng tồn kho nằm trong nhiều cơ sở dữ liệu không đồng nhất Tuy nhiên, để tối ưu hóa hàng tồn kho, thông tin này cần truy cập theo cách tích hợp và nhất quán Ví dụ, cần giải quyết vấn đề về cùng một
bộ phận phụ tùng lại có nhiều mã số khác nhau khi hợp nhất thông tin để truy cập
và phân tích hàng tồn kho Một số thông tin liên quan đến hàng tồn kho sẽ liên tục thay đổi ví dụ, với các sản phẩm có nhu cầu cao trong khi dữ liệu khác lại không thay đổi Tình trạng này đòi hỏi phải hợp nhất thông tin phân tán, không đồng nhất và liên tục thay đổi vào một kho lưu trữ duy nhất
Việc xuất bản dữ kiện và "việc cấp từ từ" dữ liệu đến một kho lưu trữ dữ liệu đích
là một bối cảnh quan trọng khác để áp dụng mẫu hợp nhất dữ liệu Có một số động lực chính để sử dụng phương pháp này là:
Các hệ thống dữ liệu đích được đồng bộ hóa với các nguồn theo cách gần thời gian thực Điều này có thể quan trọng đối với các ứng dụng hỗ trợ ra
Trang 9quyết định hoặc các hệ thống vận hành hợp tác Những người dùng hệ thống
dữ liệu đích thấy kết quả ngay lập tức
Mẫu này ngăn ngừa sự cần thiết phải có các quá trình quét lâu dài các hệ thống nguồn trong cửa sổ thời gian xử lý theo từng gói Các quá trình quét như vậy có thể làm giảm hiệu năng của nguồn, ảnh hưởng đến các ứng dụng khác
Chỉ có thông tin "thay đổi" được gửi qua mạng và trải qua các quá trình chuyển đổi toàn diện, nhờ đó làm giảm gánh nặng cho mạng và các hệ thống thực hiện thao tác
Về đầu trang
Đặt vấn đề
Những người dùng SOA yêu cầu một dịch vụ cần phải truy cập thông tin từ nhiều nguồn không đồng nhất Các nguồn đã được thiết kế, phát triển và tiến hóa độc lập,
do đó chúng có các cách biểu diễn khác nhau đáng kể với cùng một kiểu dữ liệu Tính không đồng nhất có thể xảy ra ở một mức cá thể chẳng hạn như thiếu một khóa chung (do các định dạng khác nhau) hoặc ở một mức mô hình ví dụ, mô hình hóa cùng một thực thể trong thế giới thực thành một số các thực thể cơ sở dữ liệu khác nhau Những người dùng SOA không thể thấy được tính không đồng nhất bên dưới này nhưng phải có khả năng truy cập thông tin tích hợp một cách trong suốt
Nhiều tình huống có áp dụng mẫu này đòi hỏi thông tin tích hợp phải có một mức sẵn sàng cao Thông thường, các hệ thống nguồn bị hạn chế bởi việc sử dụng tài nguyên và tính linh hoạt trong các thay đổi ứng dụng bị hạn chế Đồng thời, cần thực hiện các hoạt động xử lý dữ liệu khá phức tạp để cung cấp các dịch vụ được yêu cầu
Về đầu trang
Các mục tiêu của giải pháp
Các mục tiêu là:
Tích hợp thông tin từ các nguồn có thể có tính không đồng nhất ở một mức cao và hỗ trợ truy cập chỉ-đọc tới thông tin tích hợp này với tính sẵn dùng, khả năng mở rộng quy mô và hiệu năng của dữ liệu ở một mức cao
Trang 10 Cung cấp các khả năng chuyển đổi rộng lớn để giải quyết các xung đột giữa các nguồn và để cơ cấu lại dữ liệu nguồn thành một chế độ dữ liệu đích mong muốn
Tách truy cập vào dữ liệu đích tích hợp ra khỏi quá trình tích hợp và chuyển đổi dữ liệu từ các nguồn thành dữ liệu đích để cho phép khả năng mở rộng quy mô và hiệu năng
Cho phép các kịch bản đòi hỏi phải cập nhật dữ liệu hợp nhất, chẳng hạn như các
hệ thống quản lý dữ liệu chủ vận hành, để kết hợp mẫu này với các cách tiếp cận khác thực hiện lan truyền các thay đổi trong hệ thống dữ liệu đích trở lại các nguồn
và do đó duy trì đồng bộ các hệ thống đó
Về đầu trang
Mô tả giải pháp
Cách tiếp cận hợp nhất dữ liệu có ba giai đoạn chính Trong giai đoạn đầu tiên máy chủ hợp nhất thành phần thực hiện mẫu hợp nhất dữ liệu thu gom (hoặc "trích ra") dữ liệu từ các nguồn Tiếp theo, tích hợp và chuyển đổi dữ liệu nguồn cho phù hợp với mô hình dữ liệu đích, có thể trong nhiều hoạt động Cuối cùng, máy chủ hợp nhất áp dụng dữ liệu đã chuyển đổi cho kho lưu trữ dữ liệu đích
Quá trình này có thể chạy (lặp lại) theo một lịch biểu thời gian hoặc có thể gọi nó (nhiều lần) như là một dịch vụ từ một quy trình nghiệp vụ hay bất kỳ người dùng dịch vụ nào khác Sau khi nạp vào hoặc làm mới dữ liệu tích hợp trong mô hình dữ liệu đích, có thể trưng ra thông tin hợp nhất như là một dịch vụ cho những người dùng
Các đặc điểm thời gian thiết kế
Nhiệm vụ trọng tâm trong thời gian thiết kế là chỉ rõ luồng dữ liệu từ các nguồn tới đích đó là, làm thế nào để tái cấu trúc và sáp nhập các mô hình nguồn vào mô hình đích Giả định rằng khi áp dụng mẫu hợp nhất dữ liệu, quản trị viên hoặc nhà phát triển luồng dữ liệu đã có một sự hiểu biết chi tiết về các giao diện truy cập có sẵn tới các nguồn, ngữ nghĩa và tính đúng đắn của mô hình dữ liệu nguồn và những ràng buộc về tính toàn vẹn của nó Cũng giả định rằng mô hình dữ liệu đích đã được định nghĩa Nếu các giả định ấy không đúng, cần phải kết hợp mẫu hợp nhất với các cách tiếp cận khác, chẳng hạn như lược tả dữ liệu và mô hình hóa dữ liệu,
để giải quyết những vấn đề còn để mở này