Bài 2: Kiến trúc và kỹ thuật tích hợp hệ thống

Hiểu được các kiến trúc tích hợp hệ thống Biết được những kỹ thuật và công cụ được dùng trong tích hợp hệ thống

ppt55 trang | Chia sẻ: lylyngoc | Lượt xem: 2944 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài 2: Kiến trúc và kỹ thuật tích hợp hệ thống, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐH KINH TẾ TP HỒ CHÍ MINH Bài giảng môn TÍCH HỢP HỆ THỐNG BÀI 2: KIẾN TRÚC VÀ KỸ THUẬT TÍCH HỢP HỆ THỐNG KHOA HỆ THỐNG THÔNG TIN KINH DOANH Mục tiêu Sau khi học xong bài này sinh viên có thể: Hiểu được các kiến trúc tích hợp hệ thống Biết được những kỹ thuật và công cụ được dùng trong tích hợp hệ thống Tham khảo Waseem Roshen, SOA-Based Enterprise Integration, 2009 Wing Lam, Enterprise Architecture and Integration: Methods, Implementation, and Technologies, 2007 Judith M. Myerson, Enterprise Systems Integration, Second Edition, 2002 Bucuresti, System for Enterprise Application Integration, 2008. Nội dung Kiến trúc tích hợp hệ thống (integration architectures) Kỹ thuật và công cụ dùng trong tích hợp hệ thống Kiến trúc tích hợp hệ thống Mô hình kiến trúc BPBB Có 4 kiểu cơ bản trong kiến trúc tích hợp: Batch integration, Point-to-Point integration, Broker-based integration, Business-process integration. Kiến trúc tích hợp hệ thống Kiến trúc tích hợp hệ thống Batch integration: Kiến trúc tích hợp hệ thống Batch integration: Các ứng dụng IT giao tiếp với nhau không đồng bộ Kiến trúc ETL được sử dụng để chuyển dữ liệu từ ứng dụng IT này đến ứng dụng IT khác (ETL: Information from one IT system is exported, transferred, and loaded into another IT system) Không có yêu cầu nghiệp vụ cho xử lý thời gian thực  Kiểu tích hợp này thường phù hợp cho các tổ chức có khối lượng xử lý bên trong (back-end) lớn, có thể thực hiện hàng ngày, hàng tuần hoặc theo một lịch trình định trước Kiến trúc tích hợp hệ thống Point-to-Point integration: Kiến trúc tích hợp hệ thống Point-to-Point integration: Các ứng dụng IT giao tiếp với nhau thông qua các giao diện (interfaces) Giao tiếp được hỗ trợ bởi các giao diện có thể thực hiện thời gian thực hoặc đồng bộ. Số lượng giao diện tăng khi số lượng ứng dụng IT tăng lên.  Kiểu tích hợp này phù hợp khi số lượng các ứng dụng IT được tích hợp không nhiều Kiến trúc tích hợp hệ thống Broker-based integration: Kiến trúc tích hợp hệ thống Broker-based integration: Broker đóng vai trò như một trung tâm (hub) kết nối các hệ thống IT. Broker cho phép xử lý thời gian thực. Broker có chức năng định tuyến thông điệp (messaging routing) và chuyển đổi dữ liệu (data transformation).  Kiểu tích hợp này phù hợp cho các tích hợp cần xử lý thời gian thực Kiến trúc tích hợp hệ thống Business process integration: Kiến trúc tích hợp hệ thống Business process integration: Là một kiểu tích hợp broker mở rộng bằng cách thêm vào các quy trình nghiệp vụ (kích hoạt các message thích hợp được gửi đến một hệ thống IT nào đó) Theo dõi dòng công việc (workflow) giữa các ứng dụng IT với con người, và chia sẻ thông tin. Cho phép các quy trình nghiệp vụ được thực thi, theo dõi và quản lý.  Mỗi bước trong quy trình nghiệp vụ liên quan đến giao tiếp với các hệ thống IT khác nhau Kiến trúc tích hợp hệ thống Mô hình kiến trúc PHEE Có 4 kiểu trong kiến trúc tích hợp PHEE: Point-to-Point Hub and Spoke Enterprise Message Bus Enterprise Service Bus. Kiến trúc tích hợp hệ thống Point-to-Point Kiến trúc tích hợp hệ thống Hub and Spoke Kiến trúc tích hợp hệ thống Enterprise Message Bus Kiến trúc tích hợp hệ thống Enterprise Service Bus Công cụ và kỹ thuật tích hợp Các công cụ tích hợp hệ thống có 3 thành phần chính: Công cụ và kỹ thuật tích hợp Các công cụ tích hợp hệ thống có 3 thành phần chính: Broker: đóng vai trò trung tâm kết nối (thực hiện các chức năng như chuyển đổi dữ liệu nhiều định dạng, quản lý giao dịch,…) Adapter: đóng vai trò như cửa ngõ, cho phép các hệ thống khác nhau giao tiếp với broker. Communications infrastructure: hạ tầng network cho phép các hệ thống giao tiếp sử dụng các giao thức khác nhau Công cụ và kỹ thuật tích hợp Công nghệ tích hợp hệ thống: Sockets and Data Sharing Remote Procedure Call (RPC) Distributed Objects Application Servers Messaging Web services Enterprise Service Bus Sockets and Data Sharing Có 3 phương pháp chia sẻ dữ liệu giữa các ứng dụng: Chia sẻ dữ liệu dạng tập tin (file-based data) Sử dụng cơ sở dữ liệu chung (common database) Cơ chế socket Phương pháp sử dụng tập tin và cơ sở dữ liệu chung thích hợp khi các ứng dụng không cần chia sẻ dữ liệu thời gian thực. Phương pháp socket cho phép kết nối thời gian thực giữa các ứng dụng Sockets and Data Sharing Chia sẻ dữ liệu dạng tập tin Trong phương pháp này, một ứng dụng ghi dữ liệu vào một file, ứng dụng khác đọc dữ liệu từ file đó. Nếu 2 ứng dụng cùng trên một máy tính, chúng có thể sử dụng đĩa cứng để ghi và đọc dữ liệu Sockets and Data Sharing Chia sẻ dữ liệu dạng tập tin Trong trường hợp 2 ứng dụng chạy trên 2 máy tính khác nhau, cơ chế truyền file được sử dụng. Thường dùng giao thức FTP (File Transfer Protocol) Sockets and Data Sharing Cơ sở dữ liệu dùng chung Một ứng dụng ghi dữ liệu xuống database và các ứng dụng khác đọc dữ liệu từ database đó Sockets and Data Sharing Sockets Socket cho phép kết nối thời gian thực giữa các ứng dụng. Sockets cho phép một ứng dụng lắng nghe (listen) dữ liệu theo các port, trong khi một ứng dụng khác ghi dữ liệu vào socket đó bằng cách sử dụng địa chỉ IP và port của ứng dụng thứ nhất. Trong lập trình, Socket là một API (Application Programming Interface) cung cấp các phương thức để giao tiếp thông qua mạng. Sockets and Data Sharing Sockets Server-side code flow for sharing data Sockets and Data Sharing Sockets Client-side code flow for sharing data Sockets and Data Sharing Sockets Lập trình Socket giao tiếp TCP client/server Remote Procedure Call (RPC) RPC còn được biết đến như kiến trúc “client/server” và “two-tier” dựa trên lập trình socket. RPC được sử dụng giữa 2 ứng dụng bất kỳ để chia sẻ chức năng Remote Procedure Call (RPC) The complete remote procedure call process Distributed Objects (Phân tán) Có 3 mô hình: Common Object Request Broker Architecture (CORBA) Microsoft’s Distributed Component Object Model (DCOM) Java’s Remote Method Invocation (RMI) CORBA phổ biến nhất, DCOM chỉ dành cho Windows OS, RMI không giới hạn platform tuy nhiên chỉ được sử dụng với ngôn ngữ Java. Distributed Objects ORBs allow applications running on the same machine and on different machines to communicate Distributed Objects The major steps in applications communicating through ORBs Application Servers Các sản phẩm thương mại hỗ trợ cơ chế Distributed Objects được biết đến như các Application server. Một số sản phẩm hiện có: IBM’s WebSphere Application Server BEA WebLogic Server Jboss VisiBroker for Java VisiBroker for C++, Orbix for Java Orbix for C++ Application Servers Application server Messaging Trong cơ chế messaging, ứng dụng không giao tiếp trực tiếp với ứng dụng khác, và không cần thiết lập một kết nối riêng giữa chúng. Các ứng dụng giao tiếp thông qua các hàng đợi (queues). Hàng đợi (còn được gọi là channel) là một tập hợp các message được chia sẻ giữa các hệ thống máy tính. Messaging Asynchronous messaging through the use of queues/channels Messaging Basic steps involved in exchanging an asynchronous message (*) MOM: Message oriented middleware Messaging Có 3 thành phần cơ bản của một hệ thống messaging: Channels/queues Messages End points Messaging Point-to-point messaging Messaging Publish-and-subscribe model Web Services Web services là một hệ thống phần mềm được thiết kế để hỗ trợ giao tiếp hoạt động giữa các hệ thống IT thông qua mạng Internet Các ứng dụng thuộc những hệ thống khác nhau có thể giao tiếp và chia sẻ dữ liệu. Web services sử dụng mô hình three-tier: service provider, service consumer, service broker. Các chuẩn giao tiếp: XML, HTTP, SOAP(Simple Object Access Protocol),WSDL (Web Services Description Langueage) Web Services Tích hợp sử dụng Web Services Enterprise Service Bus ESB cung cấp cách kết nối một lượng lớn các ứng dụng mà không phải kết nối theo từng cặp (point to point) Enterprise Service Bus Some of the logical components of an ESB Enterprise Service Bus Các đặt tính của một hệ thống nền tảng tích hợp ESB: Phân tán – loại bỏ những ràng buộc về triển khai hệ thống Dựa trên việc trao đổi message Dựa trên các chuẩn mở – để không bị phụ thuộc vào một công ty nào và khuyến khích các thành phần khác nhau tham gia xây dựng. Ổn định – để thỏa mãn những yêu cầu về thực thi nghiệp vụ Levels of integration (Enterprise Architecture and Integration: Methods, Implementation, and Technologies, 2007) Presentation integration Presentation integration: Tích hợp dữ liệu từ các hệ thống IT trong một khung nhìn duy nhất Solution: Portal,… Data integration Data integration: Cho phép phối hợp, tích hợp và báo cáo trên dữ liệu từ các nguồn dữ liệu khác nhau Solution: Data sharing, Database, Data Warehouse (XML, EDI,..là chuẩn định dạng dữ liệu dùng chung, không gọi là giải pháp tích hợp) Application Integration Khi các ứng dụng được tích hợp, mỗi ứng dụng có thể gọi các chức năng của các ứng dụng khác. Solution: RPC, Application servers, Distributed objects (CORBA, RMI, DCOM,…), packaged applications (SAP,ERP, PeopleSoft,…) Service Integration Cung cấp một tập hợp các dịch vụ dùng chung cho các ứng dụng khác. Solution: ESB, Web services, SOAs,… Business Process Integration Tích hợp giữa mức business process và application diễn ra bất cứ khi nào một ứng dụng được sử dụng trong quy trình nghiệp vụ Solution: Messaging, RPC, Workflow Management Systems Categories of integration Intra-organizational: application to application (A2A) integration Intra-organizational: business to business (B2B) integration Hỏi và Đáp