Tuy nhiên, bên cạnh những ưu điểm SOA vẫn tồn tại một số yếu điểm như sau:
1.6.1. Những công nghệ được sử dụng trước đây bởi .NET Framework
Hai công nghệ mà Microsoft cung cấp cho việc triển khai các dịch vụ trên .Net FrameWork là Webservice và Windows Communication Foundation.
Web Services được coi là một công nghệ mang đến cuộc cách mạng trong cách thức hoạt động của các dịch vụ thương mại điện tử. Tuy nhiên, công nghệ xây dựng Web Services không phải là các công nghệ mới, nó có thể kết hợp với các công nghệ đã có như XML, SOAP, WSDL, UDDI… Với sự phát triển và lớn mạnh của Internet, Web Services thật sự là một công nghệ đáng được quan tâm để giảm chi phí và độ phức tạp trong tích hợp và phát triển hệ thống.
Web Services là một hệ thống phần mềm được thiết kế để hỗ trợ khả năng tương tác giữa các ứng dụng trên các máy tính khác nhau thông qua mạng Internet, giao diện chung và sự gắn kết của nó được mô tả bằng XML. Web Services là tài nguyên phần mềm có thể xác định bằng địa chỉ URL, thực hiện các chức năng và đưa ra các thông tin người dùng yêu cầu. Web Services là những thành phần thực thi một số xử lý nghiệp vụ thông qua những dịch vụ và cung cấp những dịch vụ qua mạng, những dịch vụ này có thể được triệu gọi bởi các dịch vụ client bằng cách sử dụng giao thức SOAP trên HTTP. Web Services độc lập về ngôn ngữ và độc lập về nền tảng bởi vì nó tách biệt đặc tả ra khỏi cài đặt. Web Services dựa trên kiến trúc phân tán trong đó không có bất kì dịch vụ xử lý trung tâm nào và tất cả dạng truyền thông đều sử dụng các giao thức chuẩn. Các giao thức không được có bất kì ý nghĩa ngầm định nào bên trong mà phải được mô tả rõ ràng.
Self-Contained (Độc lập)
Web Services độc lập vì nó không đòi hỏi các tiến trình ở phía client phải cài đặt bất cứ một thành phần nào. Ở phía server, yêu cầu để triển khai Web Services chỉ là Servlet Engine, EJB container hoặc .NET runtime. Khi Web Services đã được triển khai thì phía client có thể tiêu thụ các dịch vụ mà không cần đòi hỏi phải cài đặt bất cứ một thành phần nào.
Tự mô tả
Giao diện của Web Services được xuất bản thông qua tài liệu WSDL. Tài liệu WSDL định nghĩa cấu trúc thông điệp trao đổi và cấu trúc dữ liệu sử dụng trong thông điệp đó. Để triệu gọi dịch vụ, client chỉ cần biết cấu trúc và nội dung của thông điệp yêu cầu và đáp ứng của Web Services.
Truy cập thông qua Web
Web được xuất bản, xác định và triệu gọi thông qua Web. Web Services sử dụng giao thức chuẩn của web. Mô tả dịch vụ được xuất bản bằng cách sử dụng WSDL, các dịch vụ được xác định với sự giúp đỡ của UDDI registry và triệu gọi thông qua SOAP. Tất cả những giao thức này đều dựa trên web.
Độc lập về ngôn ngữ, nền tảng, giao thức
Web Services có cơ sở là tiêu chuẩn mở XML. Một Client được viết bằng bất cứ ngôn ngữ cũng nào có thể truy cập một trang Web Service được viết bằng bất cứ ngôn ngữ nào khác. Web Services độc lập nền tảng, client và Web Services có thể chạy trên hai nền tảng độc lập khác nhau.
Dựa trên chuẩn Mở
Những chuẩn này là XML, SOAP, WSDL và UDDI.
- Web Services cho phép client và server tương tác được với nhau mặc dù trong những môi trường khác nhau.
- Web Services thì có dạng mở và dựa vào các tiêu chuẩn. XML và HTTP là nền tảng kỹ thuật cho Web Services. Phần lớn kỹ thuật của Web Services được xây dựng là những dự án nguồn mở. Bởi vậy, chúng độc lập và vận hành được với nhau.
- Web Services thì rất linh động: Vì với UDDI và WSDL, thì việc mô tả và phát triển Web Services có thể được tự động hóa.
- Web Services được xây dựng trên nền tảng những công nghệ đã được chấp nhận .
- Web Services có dạng mô đun.
- Web Services có thể công bố (publish) và gọi thực hiện qua mạng.
Web Services về cơ bản gồm có 3 chuẩn chính: SOAP (Simple Object Access Protocol), WSDL (Web Service Description Language) và UDDI (Universal Description, Discovery, and Integration).
Hình 1.6: Chồng giao thức trong Web Services
Web Services là tập hợp các giao thức mạng máy tính được sử dụng để định nghĩa, xác định vị trí, thi hành và tạo nên Web Services tương tác với những ứng dụng hay dịch vụ khác.
Tập hợp giao thức này có 4 thành phần chính:
- Dịch vụ vận chuyển (Service Transport): có nhiệm vụ truyền thông điệp giữa các ứng dụng mạng, bao gồm những giao thức như HTTP, SMTP, FTP và gần đây nhất là giao thức thay đổi khối mở rộng (Blocks Extensible Exchange Protocol- BEEP).
- Thông điệp XML: có nhiệm vụ giải mã các thông điệp theo định dạng XML để có thể hiểu được ở mức ứng dụng tương tác với người dùng. Hiện tại, những giao thức thực hiện nhiệm vụ này là XML-RPC, SOAP và REST.
- Mô tả dịch vụ: được sử dụng để miêu tả các giao diện chung cho một dịch vụ Web cụ thể. WSDL thường được sử dụng cho mục đích này, nó là một ngôn ngữ mô tả giao tiếp và thực thi dựa trên XML. Dịch vụ Web sẽ sử dụng ngôn ngữ này để truyền tham số và các loại dữ liệu cho các thao tác và chức năng mà dịch vụ Web cung cấp.
- Khám phá dịch vụ: tập trung dịch vụ vào trong một nơi được đăng ký, từ đó giúp một dịch vụ Web có thể dễ dàng khám phá ra những dịch vụ nào đã có trên mạng, tốt hơn trong việc tìm kiếm những dịch vụ khác để tương tác. Một dịch vụ Web cũng phải tiến hành đăng ký để các dịch vụ khác có thể truy cập và giao tiếp. Hiện tại, UDDI API thường được sử dụng để thực hiện công việc này.
Có 4 giai đoạn chính để xây dựng một Web Services là xây dựng, triển khai, tiến hành và quản lý, trong đó:
- Giai đoạn xây dựng bao gồm phát triển và chạy thử ứng dụng Web Services, xây dựng các chức năng và định nghĩa dịch vụ. Có hai cách khác nhau để tiến hành trong giai đoạn này, đó là Red-path- solod và Blue-path-dashed. Với Red- path-solod, chúng ta sẽ xây dựng một Web Services mới từ trạng thái ban đầu hoặc với một dịch vụ đã có sẵn. Từ đó, xây dựng định nghĩa service (WSDL) với các đối tượng, hàm chức năng mà chúng ta mong muốn. Nếu theo cách Blue-path-dashed, Web Services sẽ được xây dựng từ đầu hoặc từ một định nghĩa dịch vụ WSDL. Sử dụng WSDL này, xây dựng hoặc sửa đổi lại mã để thực hiện các yêu cầu mong muốn trong Web Services.
- Giai đoạn triển khai: công bố định nghĩa dịch vụ, xây dựng WSDL và triển khai mã thực thi của Web Services. Triển khai Web Services tới một ứng dụng phía server, sau đó sẽ công bố Web Services trên mạng Internet để các client có thể nhìn thấy. Sử dụng UDDI registry để công bố lên mạng.
- Giai đoạn tiến hành: tìm kiếm và gọi thực thi Web Services bởi những người dùng muốn sử dụng dịch vụ.
- Quản lý: Quản lý và quản trị dịch vụ, duy trì sự ổn định của dịch vụ, cập nhật thông tin mới, sửa lỗi khi nó xảy ra…
Để xây dựng một Web Services, chúng ta cần hiểu được những việc phải làm và nên bắt đầu từ đâu. Có 3 cách tiếp cận chủ yếu để xây dựng nên một Web Services, có thể từ một ứng dụng đã có (bottom-up); từ một định nghĩa dịch vụ, WSDL để phát sinh một ứng dụng mới (top-down) hoặc có thể từ một nhóm các Web Services hiện có, kết hợp lại với nhau để tạo nên các chức năng mới hoặc mở rộng thêm chức năng.
Qui trình xây dựng một Web Services bao gồm các bước sau:
Bước 1: Định nghĩa và xây dựng các chức năng, các dịch vụ mà dịch vụ sẽ cung cấp (sử dụng ngôn ngữ Java chẳng hạn).
Bước 2: Tạo WSDL cho dịch vụ
Bước 3: Xây dựng SOAP server
Bước 4: Đăng ký WSDL với UDDI registry để cho phép các client có thể tìm thấy và truy xuất.
Bước 5: Client nhận file WSDL và từ đó xây dựng SOAP client để có thể kết nối với SOAP server
Bước 6: Xây dựng ứng dụng phía client (chẳng hạn sử dụng Java) và sau đó gọi thực hiện dịch vụ thông qua việc kết nối tới SOAP server.
Lựa chọn một ngôn ngữ, xây dựng các tiến trình nghiệp vụ và chúng ta bắt đầu tạo nên một dịch vụ web như ý muốn. Sau đó là cung cấp Web Services này trên Internet.
Web Service là công nghệ rất hiểu quả mà Microsoft cung cấp trên nền .NET để xây dựng các ứng dụng doanh nghiệp phức tạp, các hệ thống phân tán. Chương tiếp theo sẽ đề cập tới một một môi trường phát triển mạnh mẽ hơn là Windows Communication Foundation. WCF Một môi trường phát triển hợp nhất các công nghệ phổ biến như DCOM, Web Service… và tương thích với các công nghê cũ.
» Tin mới nhất:
» Các tin khác: