1 MỤC LỤC Trang Chương 1 - TỔNG QUAN 9 1. Thực trạng hiện tại 9 1. Phân tích, đánh giá một số mô hình kiến trúc phân tán hiện tại 11 1. Các vấn đề phát sinh, nguyên nhân và biện pháp khắc phục 14 Chương 2 - GIỚI THIỆU VỀ KIẾN TRÚC HƯỚNG DỊCH VỤ (SOA - SERVICE ORIENTED ARCHITECTURE) 17 2. Giới thiệu về trúc hướng dịch vụ 17 2. Bốn nguyên tắc chính của hệ thống SOA 18 2. Sự phân định ranh giới rạch ròi giữa các dịch vụ 18 2. Các dịch vụ tự hoạt động 18 2. Các dịch vụ chia sẻ lược đồ 18 2. Tính tương thích của dịch vụ dựa trên chính sách 19 2. Các tính chất của một hệ thống 19 2. Sự liên kết lỏng lẻo (Loose coupling) 19 2. Sử dụng lại dịch vụ 20 2. Sử dụng dịch vụ bất đồng bộ 21 2. Quản lý các chính sách 21 2. Khả năng cộng tác 21 2. Tự do tìm và ràng buộc động 22 2. Tự hồi phục 22 2. Lợi ích của SOA 23 2. Một số mô hình triển khai SOA 26 2. Kiến trúc phân tầng chi tiết của SOA 29 2. Tầng kết nối 29 2. Tầng ứng dụng tổng hợp 31 Chương 3 - NGHIÊN CỨU TÌNH HUỐNG, KHUNG NHÌN NGHIỆP VỤ, XÂY DỰNG ỨNG DỤNG 33 3. Những thách thức khi xây dựng hệ thống SOA 33 3. Xây dựng hệ thống 35 LUAN VAN CHAT LUONG download : add luanvanchat@agmail. Giới thiệu bài toán 35 3. Một số khái niệm 36 3. Các bước xây dựng hệ thống SOA 39 3. Triển khai SOA trong thực tế 47 3. Các đặc trưng chính về kinh doanh 48 3. Các đặc trưng về công nghệ 48 3. Kiến trúc hướng dịch vụ và Thương mại điện tử theo yêu cầu 51 Chương 4 - SOA VÀ VẤN ĐỀ TÍCH HỢP 53 4. Giới thiệu về Enterprise Application Integration 53 4. Một số lý do khiến các tổ chức doanh nghiệp phải quan tâm đến vấn đề tích hợp (xét về mặt nghiệp vụ) 54 4. Các vấn đề tích hợp gặp phải trong tích hợp hệ thống 55 4. Các yêu cầu cho một giải pháp tích hợp 55 4. Việc tích hợp có thể được áp dụng ở nhiều tầng khác nhau 55 4. Phân tích một số kỹ thuật tích hợp sử dụng lớp giữa (Middleware) 57 4. Khái niệm lớp giữa (middleware) 57 4. Các sản phẩm lớp giữa (Middleware) sử dụng trong tích hợp hệ thống 57 4. SOA và web service giải quyết vấn đề tích hợp như thế nào 60 4. Công nghệ XML và web service 60 4. Tích hợp dịch vụ Web (Web services integration-WSI) và tích hợp hướng dịch vụ (Service-oriented integration-SOI) 61 4. Ứng dụng SOA và Web service để tích hợp các hệ thống được xây dựng trên .NET và J2EE 65 4. Ứng dụng SOA và Web service trong việc tích hợp các hệ thống cũ 67 Chương 5 - SOA VÀ QUẢN LÝ TIẾN TRÌNH NGHIỆP VỤ 72 5. Một số khái niệm cơ bản về Quản lý tiến trình nghiệp vụ 72 5. Tiến trình nghiệp vụ 72 5. Quản lý tiến trình 73 5. Hệ quản lý tiến trình 73 LUAN VAN CHAT LUONG download : add luanvanchat@agmail. Quản lý tiến trình, SOA và Web Service 75 5. Quản lý tiến trình, SOA và Web Service được kết hợp thế nào 75 5. Phân tích một ví dụ kết hợp Quản lý tiến trình, SOA và web service 78 5. Thiết kế tiến trình 83 5. Orchestration và Choreography 83 5. Các yêu cầu kỹ thuật khi thiết kế tiến trình 85 5. Giới thiệu một số ngôn ngữ đặc tả tiến trình 86 5. So sánh kiến trúc hướng mô hình (Moden Driven Architecture – MDA) với kiến trúc hướng dịch vụ (Service Oriented Architecture – SOA) [1] 90 Chương 6 - ỨNG DỤNG SOA TRONG QUẢN LÝ NGUỒN NHÂN LỰC 93 6. Thực trạng các hệ thống ứng dụng trong tập đoàn 93 6. Hệ thống quản lý nguồn nhân lực PeopleSoft 93 6. Nhu cầu thực tế 94 6. Áp dụng mô hình kiến trúc hướng dịch vụ vào phần mềm quản lý nguồn nhân lực PeopleSoft 94 6. Xây dựng ứng dụng FPT SOA 96 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 4 LỜI CẢM ƠN Luận văn này là thành quả học tập, nghiên cứu của tôi cùng sự giúp đỡ rất nhiệt tình của đồng nghiệp trong công ty hệ thống thông tin FPT. Tôi xin chân thành cảm ơn TS. Ngô Văn Hiền – thầy đã nhiệt tình hướng dẫn, giúp đỡ và động viên, cung cấp những tài liệu quý báu giúp đỡ tôi trong quá trình học tập và hoàn thiện luận văn. Hồ Tường Vinh đã cho tôi nhiều ý kiến góp ý quý báu. Xin trân trọng cảm ơn các thầy cô giáo của Khoa Công nghệ thông tin - Trường Đại học Công nghệ Hà Nội đã dạy dỗ tôi trong thời gian qua, các anh chị đồng nghiệp gia đình đã giúp đỡ tôi trong quá trình học tập và hoàn thành luận văn. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 5 DANH SÁCH CÁC THUẬT NGỮ VÀ KHÁI NIỆM Service Consumer : người sử dụng dịch vụ ở đây có thể là một ứng dụng, một dịch vụ hoặc là các module phần mềm khác yêu cầu sử dụng dịch vụ. Đây là thực thể thực thi quá trình định vị dịch vụ thông qua service registry, liên kết với dịch vụ và thực thi các chức năng của dịch vụ. Người sử dụng dịch vụ thực thi chức năng dịch vụ bằng cách một gửi yêu cầu theo đúng dịnh dạng được mô tả trong hợp đồng. Service provider : nhà cung cấp dịch vụ ở đây là một dịch vụ chấp nhận và xử lý những yêu cầu từ người sử dụng dịch vụ. Nó có thể là một hệ thống mainframe, một thành phần hoặc các dạng phần mềm khác xử lý yêu cầu dịch vụ. Nhà cung cấp gửi hợp đồng lên service registry để những người sử dụng dịch vụ có thể truy cập đến nó. Service Registry : service registry là “thư mục” trên mạng chứa tất cả các dịch vụ đăng ký. Service registry chấp nhận và lưu trữ các hợp đồng gửi đến từ nhà cung cấp dịch vụ và cung cấp các hợp đồng tùy theo yêu cầu của người sử dụng dịch vụ. Service contract : một hợp đồng (contract) là một đặc tả về cách thức bên sử dụng dịch vụ trao đổi liên lạc với bên cung cấp dịch vụ. Nó chỉ rõ ra định dạng yêu cầu và đáp trả của dịch vụ. Distributed computing : một dạng tính toán trong đó dữ liệu và ứng dụng được phần tán trên nhiều máy hoặc hệ thống tách biệt nhưng lại được liên kết và tích hợp thông qua các dịch vụ mạng và chuẩn tích hợp để mà chúng có thể thực thi chức năng như trong một môi trường thống nhất. Enterprise application : một sản phẩm phần mềm được thiết kế để tích hợp các hệ thống máy tính bên trong doanh nghiệp lại với nhau. Mục tiêu là để tích hợp các xử lý nghiệp vụ chính (ví dụ như bán lẻ, kiểm toán, tài chính, quản lý nhân sự, tồn kho và sản xuất). Enterprise application được dùng rộng rãi trong bối cảnh cần liên hệ chặt chẽ với nhà cung cấp, với đối tác kinh doanh và với khách hàng. Loose coupling: đây là một khái niệm trong tích hợp ứng dụng. Hai thành phần trao đổi thông tin không kết nối trực tiếp với nhau mà qua một thành phần trung gian được đặc tả rõ ràng từ trước. Các thành phần tham gia phải đảm bảo một cơ chế ngữ nghĩa chung để các thông điệp chứa bên trong chúng một ngữ nghĩa đủ để tự mô tả chính mình. Tight coupling : ngược lại với loose coupling. Interface : thành phần giao tiếp. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 6 Coarse-grained : mô tả mức độ gom nhóm xử lý của một thành phần xử lý thông tin. Các thành phần có tính coarse-grained thường truyền nhận và xử lý theo từng khối dữ liệu có thông tin ngữ cảnh lớn và số lần trao đổi thông tin trong một giao tác là ít. Fine-grained : ngược lại với coarse-grained. Các thành phần có tính finegrained truyền nhận và xử lý theo từng đơn vị nhỏ và có ngữ cảnh ngầm định, cần nhiều lần trao đổi thông tin trong một giao tác dẫn đến tăng băng thông sử dụng và kéo dài thời gian hồi đáp. Legacy system : các hệ thống ứng dụng được cài đặt từ trước nhưng vẫn còn được sử dụng. Thông thường đây là những hệ thống sử dụng công nghệ đã lỗi thời nhưng vẫn quan trọng và còn hoạt động tốt. Đây là thành phần nền tảng cung cấp xử lý cho các dịch vụ hoạt động ở cấp cao hơn. Granularity : khái niệm mô tả độ phức tạp của tiến trình hoặc dịch vụ. Granularity được chia làm hai loại là “fine-grained” và “coarse-grained”. Khái niệm granularity được hiểu một cách trừu tượng không phần biệt hai loại trên và tùy ngữ cảnh mà có cảnh hiểu khác nhau. Interoperability : khả năng cộng tác, trao đổi thông tin giữa các hệ thống phân tán LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 7 MỞ ĐẦU Hiện nay có rất nhiều hệ thống phần mềm được thực hiện quá phức tạp làm cho khả năng kiểm soát chúng trở nên hết sức khó khăn. Thách thức cho nhà quản trị Công nghệ Thông tin (CNTT) là phải quản lý công việc mới mà không được bổ sung nhân lực. Mặt khác vì quá phức tạp nên chi phí phát triển và bảo trì quá cao, đặc biệt với các hệ thống phần mềm cao cấp. Mục đích của việc xây dựng phần mềm không chỉ để chạy ổn định dài lâu mà còn có thể biến đổi uyển chuyển dễ dàng theo nhu cầu của người dùng trong môi trường hiện đại. Do vậy, hàng chục năm qua, các nhà kiến trúc phần mềm đã cố gắng tìm giải pháp để giải quyết vấn đề này. Thế nhưng, độ phức tạp vẫn tiếp tục tăng và dường như vấn đề này đã vượt quá khả năng xử lý của các kiến trúc truyền thống. Điều này một phần do ngày càng xuất hiện nhiều công nghệ mới tạo nên môi trường không đồng nhất, một phần do yêu cầu trao đổi tương tác giữa các hệ thống phần mềm với nhau. Với sự phát triển của internet và với xu thế hội nhập chung của toàn thế giới, các tổ chức, các cơ sở doanh nghiệp cần bắt tay, phối hợp hoạt động và chia sẻ tài nguyên với nhau để nâng cao hiệu quả hoạt động. Lúc này các sản phẩm sẽ có độ phức tạp lớn hơn, từ đó kéo theo các vấn đề liên quan như chi phí sản xuất, chi phí quản lý và bảo trì. Bên cạnh đó, ngành công nghệ phần mềm còn phải đối mặt với các khó khăn trong xu thế mới như vấn đề an ninh bảo mật, vấn đề tái sử dụng và mở rộng các hệ thống sẵn có, vấn đề về sự không tương thích giữa các hệ thống khác nhau của nhiều tổ chức.
Luận văn thạc sĩ về ứng dụng phương pháp kiến trúc và mô hình hóa hướng dịch vụ trong phát triển ...
Luận văn thạc sĩ nghiên cứu vnu uet nghiên cứu ứng dụng phương pháp kiến trúc và mô hình hóa hướng dịch vụ trong công nghệ phát, đánh giá hiện trạng, phân tích vấn đề, đề xuất
Trường đại học
Trường Đại học Công nghệ Hà NộiChuyên ngành
Công Nghệ Thông TinNgười đăng
Ẩn danhThể loại
Luận vănPhí lưu trữ
35 PointMục lục chi tiết
THÔNG TIN CHI TIẾT
Người hướng dẫn: TS. Ngô Văn Hiền
Trường học: Trường Đại học Công nghệ Hà Nội
Chuyên ngành: Công Nghệ Thông Tin
Đề tài: Nghiên cứu, ứng dụng phương pháp kiến trúc và mô hình hóa hướng dịch vụ trong công nghệ phát triển phần mềm
Loại tài liệu: Luận văn
Địa điểm: Hà Nội
Trích đoạn nội dung tài liệu
Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ