Tổng Quan Về Kiến Trúc Hướng Dịch Vụ (SOA) và Ứng Dụng Trong Doanh Nghiệp

Luận văn thạc sĩ nghiên cứu 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, đánh giá hiện trạng, phân tích vấn đề, đề xuất biện

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

luận văn
106
1
0

Phí lưu trữ

35 Point

Tóm tắt

I. Tổng Quan Về Kiến Trúc Hướng Dịch Vụ SOA Giải Pháp

Kiến trúc hướng dịch vụ (SOA) nổi lên như một giải pháp tiềm năng cho những thách thức mà các doanh nghiệp hiện đại phải đối mặt. Với sự phức tạp ngày càng tăng của các hệ thống phần mềm, khả năng tích hợp hệ thống, tái sử dụng dịch vụkhả năng mở rộng (Scalability) trở nên quan trọng hơn bao giờ hết. SOA, hay Service-Oriented Architecture, là một phong cách thiết kế phần mềm, nơi các thành phần ứng dụng cung cấp dịch vụ cho các thành phần khác thông qua một giao thức truyền thông qua mạng. Điều này cho phép các dịch vụ được sử dụng lại và tích hợp dễ dàng hơn, giảm sự phụ thuộc và tăng tính linh hoạt. Theo tài liệu gốc, SOA được coi là một kiến trúc dễ dàng tích hợp và mở rộng, bao gồm các services được kết nối lỏng lẻo, dễ dàng sử dụng lại, có thể tương tác và không phụ thuộc vào kỹ thuật thực hiện.

1.1. Bản Chất Của Kiến Trúc Hướng Dịch Vụ Service Oriented Architecture

Kiến trúc hướng dịch vụ (SOA) là một phong cách thiết kế phần mềm, nơi các thành phần ứng dụng cung cấp dịch vụ cho các thành phần khác thông qua một giao thức truyền thông qua mạng. SOA tập trung vào việc xây dựng các ứng dụng từ các dịch vụ rời rạc, có thể tái sử dụng và kết hợp lại. Dịch vụ được định nghĩa rõ ràng với các giao diện chuẩn, cho phép các ứng dụng khác nhau tương tác với nhau một cách dễ dàng, bất kể công nghệ nền tảng. Tính tái sử dụng dịch vụ là yếu tố then chốt của SOA, giúp giảm thiểu sự trùng lặp và tiết kiệm chi phí phát triển.

1.2. Tại Sao Doanh Nghiệp Cần Kiến Trúc SOA Bài Toán Tích Hợp Hệ Thống

Trong môi trường kinh doanh ngày nay, các doanh nghiệp thường phải đối mặt với bài toán tích hợp hệ thống phức tạp. Các hệ thống cũ (Legacy systems) cần được tích hợp với các hệ thống mới, các ứng dụng khác nhau cần phải chia sẻ dữ liệu và chức năng. SOA cung cấp một giải pháp cho bài toán này bằng cách cho phép các ứng dụng khác nhau tương tác với nhau thông qua các dịch vụ được định nghĩa rõ ràng. Điều này giúp giảm sự phụ thuộc và tăng tính linh hoạt, cho phép các doanh nghiệp thích ứng nhanh chóng với các thay đổi của thị trường.

1.3. Các Thành Phần Chính Của Mô Hình SOA Bạn Cần Biết

Một mô hình SOA điển hình bao gồm ba thành phần chính: Service Provider (nhà cung cấp dịch vụ), Service Consumer (người sử dụng dịch vụ), và Service Registry (nơi đăng ký dịch vụ). Nhà cung cấp dịch vụ tạo ra và cung cấp dịch vụ, đăng ký thông tin về dịch vụ đó lên Service Registry. Người sử dụng dịch vụ tìm kiếm dịch vụ trên Service Registry và sử dụng dịch vụ thông qua giao diện được định nghĩa. Service Contract là hợp đồng quy định cách thức trao đổi thông tin giữa người sử dụng và nhà cung cấp dịch vụ.

II. Thách Thức Triển Khai SOA Cách Vượt Qua Khó Khăn Hiệu Quả

Mặc dù SOA mang lại nhiều lợi ích, việc triển khai SOA cũng đặt ra nhiều thách thức. Một trong những thách thức lớn nhất là việc thay đổi tư duy và quy trình làm việc của các nhà phát triển. Việc thiết kế các dịch vụ có tính tái sử dụng cao đòi hỏi sự cẩn trọng và kinh nghiệm. Bên cạnh đó, việc quản lý các dịch vụ cũng trở nên phức tạp hơn, đòi hỏi các công cụ và quy trình quản lý phù hợp. Theo chương 3 tài liệu gốc, việc xây dựng hệ thống SOA đòi hỏi giải quyết nhiều thách thức và cần một quá trình xây dựng hệ thống bài bản.

2.1. Khó Khăn Trong Việc Thiết Kế Dịch Vụ Tái Sử Dụng Cao Giải Pháp

Thiết kế các dịch vụ có tính tái sử dụng cao là một trong những thách thức lớn nhất khi triển khai SOA. Các dịch vụ cần được thiết kế sao cho có thể được sử dụng bởi nhiều ứng dụng khác nhau, trong nhiều ngữ cảnh khác nhau. Điều này đòi hỏi sự cẩn trọng trong việc xác định các chức năng và giao diện của dịch vụ. Một giải pháp là sử dụng các mẫu thiết kế SOA đã được chứng minh, chẳng hạn như mẫu service façade hoặc mẫu composite service.

2.2. Quản Lý Dịch Vụ Trong Môi Trường SOA Phức Tạp Hướng Dẫn Chi Tiết

Trong môi trường SOA, số lượng dịch vụ có thể rất lớn, gây khó khăn cho việc quản lý. Các dịch vụ cần được theo dõi, giám sát và quản lý phiên bản một cách chặt chẽ. Các công cụ quản lý SOA (SOA Governance) có thể giúp tự động hóa các quy trình quản lý và đảm bảo chất lượng của các dịch vụ. SOA Governance đảm bảo tuân thủ các chính sách và tiêu chuẩn SOA.

2.3. An Ninh và Bảo Mật SOA Phương Pháp Bảo Vệ Dữ Liệu Nhạy Cảm

An ninh và bảo mật là một mối quan tâm lớn trong môi trường SOA. Các dịch vụ có thể được truy cập từ nhiều nguồn khác nhau, bao gồm cả các nguồn không đáng tin cậy. Cần có các biện pháp bảo mật để bảo vệ dữ liệu nhạy cảm và ngăn chặn các cuộc tấn công. Các kỹ thuật bảo mật SOA bao gồm xác thực, ủy quyền, mã hóa và kiểm tra.

III. Phương Pháp Triển Khai SOA RESTful và SOAP Chọn Lựa Nào

Có nhiều phương pháp triển khai SOA khác nhau, trong đó phổ biến nhất là sử dụng Web services. Hai loại Web services chính là Dịch vụ RESTfulDịch vụ SOAP. Dịch vụ RESTful sử dụng giao thức HTTP để truyền tải dữ liệu, trong khi Dịch vụ SOAP sử dụng giao thức SOAP. Lựa chọn phương pháp triển khai nào phụ thuộc vào yêu cầu cụ thể của ứng dụng. Theo tài liệu gốc, SOAWeb service giải quyết vấn đề tích hợp như thế nào sẽ được trình bày chi tiết.

3.1. Dịch Vụ RESTful Ưu Điểm Nhược Điểm và Cách Ứng Dụng Thực Tế

Dịch vụ RESTful đơn giản, dễ triển khai và có hiệu suất cao. REST sử dụng các phương thức HTTP chuẩn như GET, POST, PUT và DELETE để thao tác với tài nguyên. Dịch vụ RESTful phù hợp cho các ứng dụng web và di động, nơi hiệu suất là yếu tố quan trọng. Ưu điểm của Dịch vụ RESTful bao gồm khả năng mở rộng, tính linh hoạt và dễ dàng tích hợp với các công nghệ web khác.

3.2. Dịch Vụ SOAP Tiêu Chuẩn Mạnh Mẽ Cho Các Ứng Dụng Doanh Nghiệp Lớn

Dịch vụ SOAP là một tiêu chuẩn phức tạp hơn REST, cung cấp nhiều tính năng bảo mật và độ tin cậy hơn. SOAP sử dụng giao thức SOAP để truyền tải dữ liệu, cho phép truyền tải dữ liệu phức tạp và hỗ trợ các giao dịch ACID. Dịch vụ SOAP phù hợp cho các ứng dụng doanh nghiệp lớn, nơi bảo mật và độ tin cậy là yếu tố quan trọng.

3.3. So Sánh RESTful và SOAP Lựa Chọn Phù Hợp Cho Dự Án SOA Của Bạn

Việc lựa chọn giữa RESTfulSOAP phụ thuộc vào yêu cầu cụ thể của dự án. Nếu dự án yêu cầu hiệu suất cao, tính linh hoạt và dễ dàng tích hợp với các công nghệ web khác, RESTful là một lựa chọn tốt. Nếu dự án yêu cầu bảo mật cao, độ tin cậy và hỗ trợ các giao dịch ACID, SOAP là một lựa chọn tốt. Ngoài ra, cần xem xét các yếu tố như kinh nghiệm của đội ngũ phát triển và các yêu cầu về khả năng tương tác với các hệ thống khác.

IV. Ứng Dụng SOA Trong Doanh Nghiệp Ví Dụ Thực Tế Thành Công

SOA đã được ứng dụng thành công trong nhiều doanh nghiệp khác nhau, từ các doanh nghiệp nhỏ đến các tập đoàn lớn. Các ứng dụng SOA bao gồm tích hợp hệ thống, tự động hóa quy trình nghiệp vụ, và cung cấp dịch vụ cho khách hàng. Ví dụ, một ngân hàng có thể sử dụng SOA để tích hợp các hệ thống khác nhau, chẳng hạn như hệ thống quản lý tài khoản, hệ thống thanh toán và hệ thống quản lý khách hàng. Theo chương 6 tài liệu gốc, tập đoàn FPT đã ứng 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.

4.1. Tích Hợp Hệ Thống Với SOA Giải Pháp Cho Các Hệ Thống Phân Tán

SOA là một giải pháp hiệu quả cho việc tích hợp hệ thống trong các doanh nghiệp có nhiều hệ thống phân tán. SOA cho phép các hệ thống khác nhau tương tác với nhau thông qua các dịch vụ được định nghĩa rõ ràng. Điều này giúp giảm sự phụ thuộc và tăng tính linh hoạt, cho phép các doanh nghiệp dễ dàng thêm hoặc loại bỏ các hệ thống mới.

4.2. Tự Động Hóa Quy Trình Nghiệp Vụ Với SOA Tăng Hiệu Quả Hoạt Động

SOA có thể được sử dụng để tự động hóa các quy trình nghiệp vụ, giúp tăng hiệu quả hoạt động và giảm chi phí. Ví dụ, một công ty có thể sử dụng SOA để tự động hóa quy trình đặt hàng, từ việc nhận đơn hàng đến việc giao hàng cho khách hàng. Bằng cách sử dụng SOA, công ty có thể đảm bảo rằng quy trình được thực hiện một cách nhất quán và hiệu quả.

4.3. Cung Cấp Dịch Vụ Cho Khách Hàng Với SOA Nâng Cao Trải Nghiệm Người Dùng

SOA có thể được sử dụng để cung cấp dịch vụ cho khách hàng thông qua các kênh khác nhau, chẳng hạn như web, di động và trung tâm cuộc gọi. Bằng cách sử dụng SOA, doanh nghiệp có thể cung cấp cho khách hàng một trải nghiệm nhất quán trên tất cả các kênh. Ví dụ, một công ty bán lẻ có thể sử dụng SOA để cung cấp cho khách hàng thông tin về sản phẩm, giá cả và tình trạng hàng tồn kho trên trang web, ứng dụng di động và trung tâm cuộc gọi.

V. Tương Lai của SOA Microservices và Điện Toán Đám Mây Cloud

Tương lai của SOA gắn liền với các xu hướng công nghệ mới như MicroservicesĐiện toán đám mây. Microservices là một kiến trúc phần mềm, nơi ứng dụng được xây dựng từ các dịch vụ nhỏ, độc lập, có thể được triển khai và mở rộng một cách độc lập. Điện toán đám mây cung cấp một nền tảng linh hoạt và có thể mở rộng cho việc triển khai và quản lý các ứng dụng SOA. Theo tài liệu gốc, kiến trúc hướng dịch vụ so sánh với kiến trúc hướng mô hình (MDA).

5.1. Microservices Sự Tiến Hóa Của Kiến Trúc Hướng Dịch Vụ SOA

Microservices được coi là một sự tiến hóa của SOA, giải quyết một số hạn chế của SOA truyền thống. Microservices cho phép các dịch vụ được triển khai và mở rộng một cách độc lập, giúp tăng tính linh hoạt và khả năng phục hồi của ứng dụng. Tuy nhiên, Microservices cũng đặt ra những thách thức mới, chẳng hạn như việc quản lý sự phức tạp của hệ thống phân tán và đảm bảo tính nhất quán của dữ liệu.

5.2. Điện Toán Đám Mây Cloud Nền Tảng Cho Các Ứng Dụng SOA Hiện Đại

Điện toán đám mây cung cấp một nền tảng lý tưởng cho việc triển khai và quản lý các ứng dụng SOA. Điện toán đám mây cung cấp khả năng mở rộng, tính linh hoạt và chi phí thấp, cho phép các doanh nghiệp tập trung vào việc phát triển các ứng dụng sáng tạo thay vì quản lý cơ sở hạ tầng. Các dịch vụ Điện toán đám mây như API GatewayESB (Enterprise Service Bus) hỗ trợ việc xây dựng và tích hợp các ứng dụng SOA trên đám mây.

5.3. SOA Trong Chuyển Đổi Số Digital Transformation Vai Trò Then Chốt

SOA đóng một vai trò then chốt trong quá trình Chuyển đổi số của các doanh nghiệp. SOA cho phép các doanh nghiệp tích hợp các hệ thống khác nhau, tự động hóa các quy trình nghiệp vụ và cung cấp dịch vụ cho khách hàng thông qua các kênh khác nhau. Bằng cách sử dụng SOA, các doanh nghiệp có thể tăng tốc độ đổi mới, cải thiện hiệu quả hoạt động và nâng cao trải nghiệm khách hàng.

VI. Kết Luận SOA Lựa Chọn Chiến Lược Cho Doanh Nghiệp

Kiến trúc hướng dịch vụ (SOA) là một lựa chọn chiến lược cho các doanh nghiệp muốn tăng tính linh hoạt, khả năng mở rộng và khả năng tích hợp hệ thống. Mặc dù việc triển khai SOA có thể đặt ra nhiều thách thức, những lợi ích mà nó mang lại là rất lớn. Với sự phát triển của các xu hướng công nghệ mới như MicroservicesĐiện toán đám mây, tương lai của SOA hứa hẹn sẽ còn nhiều điều thú vị. Việc hiểu rõ về SOA, lợi ích, thách thức và các phương pháp triển khai sẽ giúp các doanh nghiệp đưa ra quyết định sáng suốt về việc áp dụng SOA.

6.1. Tổng Kết Lợi Ích và Nhược Điểm của SOA Đối Với Doanh Nghiệp

Lợi ích của SOA bao gồm tăng tính linh hoạt, khả năng tái sử dụng, khả năng mở rộng và khả năng tích hợp hệ thống. Nhược điểm của SOA bao gồm sự phức tạp trong thiết kế và quản lý, các vấn đề về an ninh và hiệu suất. Tuy nhiên, những lợi ích mà SOA mang lại thường lớn hơn những nhược điểm, đặc biệt là trong các doanh nghiệp lớn và phức tạp.

6.2. Lời Khuyên Cho Doanh Nghiệp Khi Bắt Đầu Triển Khai Kiến Trúc SOA

Khi bắt đầu triển khai SOA, các doanh nghiệp nên bắt đầu với một dự án nhỏ, có phạm vi rõ ràng và mục tiêu cụ thể. Cần có một đội ngũ phát triển có kinh nghiệm và hiểu rõ về các nguyên tắc và phương pháp thiết kế SOA. Cần có các công cụ và quy trình quản lý SOA phù hợp để đảm bảo chất lượng và an ninh của các dịch vụ.

6.3. SOA Tiếp Tục Phát Triển và Đóng Góp Trong Kỷ Nguyên Số

SOA sẽ tiếp tục phát triển và đóng góp quan trọng trong kỷ nguyên số. Với sự phát triển của các công nghệ mới như MicroservicesĐiện toán đám mây, SOA sẽ trở nên linh hoạt, hiệu quả và dễ dàng triển khai hơn. SOA sẽ tiếp tục là một lựa chọn chiến lược cho các doanh nghiệp muốn chuyển đổi số và cạnh tranh trong thị trường toàn cầu.

04/06/2025

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.mem TIEU LUAN MOI download : skknchat@gmail.mem 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.mem TIEU LUAN MOI download : skknchat@gmail.

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.mem TIEU LUAN MOI download : skknchat@gmail.mem 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.mem TIEU LUAN MOI download : skknchat@gmail.mem 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.mem TIEU LUAN MOI download : skknchat@gmail.mem 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 đủ