intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

ASP.NET Web Service hay .NET Remoting

Chia sẻ: Bi Bo | Ngày: | Loại File: PDF | Số trang:4

86
lượt xem
15
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Qua thời gian, việc xây dựng ứng dụng như là một tập hợp thành phần phân phối vào mạng chung và làm việc với nhau như là một phần trong chương trình tổng thể ngày càng trở nên phổ biến. Hình thức này thường được gọi là kỹ thuật "đối tượng-thành phần", như Distributed Component Object Model (DCOM) của Microsoft, Common Object Request Broker Architecture (CORBA) của Object Management Group, Remote Method Invocation (RMI) của Sun. Chúng cung cấp cấu trúc mềm dẻo, tin cậy để nắm bắt kịp thời sự phát triển cần thiết của các ứng dụng. Mặc dù...

Chủ đề:
Lưu

Nội dung Text: ASP.NET Web Service hay .NET Remoting

  1. ASP.NET Web Service hay .NET Remoting Qua thời gian, việc xây dựng ứng dụng như là một tập hợp thành phần phân phối vào mạng chung và làm việc với nhau như là một phần trong chương trình tổng thể ngày càng trở nên phổ biến. Hình thức này thường được gọi là kỹ thuật "đối tượng-thành phần", như Distributed Component Object Model (DCOM) của Microsoft, Common Object Request Broker Architecture (CORBA) của Object Management Group, Remote Method Invocation (RMI) của Sun. Chúng cung cấp cấu trúc mềm dẻo, tin cậy để nắm bắt kịp thời sự phát triển cần thiết của các ứng dụng. Mặc dù công nghệ dựa trên kiểu thành phần này hoạt động tốt trong môi trường Intranet, nhưng với Internet lại xuất hiện hai vấn đề đáng kể. Đầu tiên là chúng không thực hiện theo phương thức từng phần. Tất cả hoạt động xử lý dựa trên các đối tượng (object) nhưng lại không đưa ra từng chi tiết cụ thể như quản lý chu kỳ hoạt động, hỗ trợ xây dựng và hỗ trợ mức kế thừa. Thứ hai, quan trọng hơn là quá tập trung vào hình thức truyền thông kiểu RPC điển hình dẫn đến việc xây dựng các hệ thống kết hợp chặt chẽ quanh các viện dẫn mở của phương thức đối tượng. Trái lại, các ứng dụng Web dựa trên cơ sở trình duyệt lại được kết hợp lỏng và thực hiện theo từng thành phần rõ rệt. Chúng liên lạc bằng cách dùng giao thức HTTP để chuyển đổi dữ liệu kiểu MIME sang nhiều kiểu định dạng khác nhau. Các Web service thích ứng với mô hình lập trình Web truyền thống để dùng được cho tất cả các loại ứng dụng, không chỉ kiểu cơ sở trình duyệt. Chúng trao đổi thông điệp SOAP bằng cách dùng HTTP và nhiều giao thức Internet khác. Do các Web service được xây dựng dựa trên tiêu chuẩn công nghệ như HTTP, XML, SOAP và WSDL nên khi muốn đưa tính năng ứng dụng lên Internet, chúng còn phải phụ thuộc vào ngôn ngữ, platform và thiết bị lập trình.
  2. Cấu trúc cơ sở Web service ASP.NET cung cấp một API đơn giản cho các dịch vụ Web dựa trên cách thức ánh xạ thông tin SOAP vào các viện dẫn phương thức. Quá trình hoàn thiện bằng cách cung cấp mô hình lập trình rất đơn giản dựa trên hình thức ánh xạ các trao đổi thông tin SOAP vào từng viện dẫn phương thức riêng. Các client của ASP.NET Web services không cần phải biết đến platform, mô hình đối tượng hay ngôn ngữ lập trình dùng để xây dựng chúng. Chính các service cũng không cần biết gì về client đang gửi thông tin đến cho mình. Chỉ có một đòi hỏi duy nhất là cả hai bên phải thống nhất kiểu định dạng thông tin SOAP được tạo ra và sử dụng, như định nghĩa biểu thức rút gọn của Web service kiểu WSDL và XML Schema (XSD). .NET Framework hỗ trợ hai mô hình lập trình phân phối riêng biệt: Web service và các đối tượng phân phối, là nguyên nhân thường gây ra nhầm lẫn cho các nhà phát triển. Khi nào nên để hệ thống sử dụng ASP.NET Web service và khi nào nên dùng .NET Remoting? Muốn có câu trả lời cho câu hỏi này, trước hết bạn cần phải hiểu cơ chế hoạt động của cả hai công nghệ này như thế nào. Nối tiếp và Metadata Tất cả hoạt động phân phối truyền thông suy cho cùng cũng chỉ thực hiện hai nhiệm vụ: sắp xếp các phiên của kiểu dữ liệu lập trình vào phần thông tin có thể sẽ được gửi qua mạng và cung cấp bản bản mô tả thông tin đó. Trước đây, quá trình này được thực hiện bằng cách dùng một số dạng thức nối tiếp hoặc sắp xếp theo thứ tự, sau này sử dụng các dạng metadata. Điểm khác nhau cơ bản giữa ASP.NET Web services và .NET Remoting là cách thức chúng sắp xếp thứ tự dữ liệu vào phần thông tin như thế nào và kiểu định dạng chúng chọn cho metadata ra sao.
  3. ASP.NET Web Services, XmlSerializer và XSD ASP.NET Web Services dựa trên lớp System.Xml.Serialization.XmlSerializer để sắp xếp dữ liệu vào phần thông tin SOAP hoặc lấy dữ liệu từ đó ra trong thời gian chạy. Với metadata, chúng tạo các định nghĩa WSDL và XSD mô tả phần thông tin chứa những gì. Dựa trên các WSDL và XSD thuần nhất giúp metadata của ASP.NET Web Services có khả năng di động. Chúng mô tả cấu trúc dữ liệu theo cách khiến các toolkit Web service trên nhiều platform khác và nhiều mô hình lập trình khác vẫn có thể hiểu được. Trong một số trường hợp còn liên quan ràng buộc tới nhiều kiểu lấy ra từ một Web service. XmlSerializer chỉ sắp xếp thứ tự những thứ được mô tả trong XSD. XmlSerializer không sắp xếp phần đồ hoạ đối tượng và hỗ trợ hạn chế cho các kiểu lưu trữ. Mặc dù các giới hạn này dường như không đáng kể trước đối tượng phân phối theo lớp, nhưng chúng giúp đảm bảo thống nhất thao tác giữa các phần với framework Web service khác - mục đích cơ bản của mô hình Web service kết hợp lỏng. Phần hỗ trợ cho thao tác giữa các phần được tăng cường với tập hợp phong phú các thuộc tính tuỳ chọn, cho phép bạn chú thích kiểu dữ liệu để điều khiển cách thức XmlSerializer sắp xếp thứ tự. Kết quả, bạn có quyền điều khiển rất hữu ích qua hình thức của XML tạo ra khi một đối tượng được sắp xếp thứ tự. Thêm vào đó, một Web service trên nền ASP.NET có thể được biến đổi để mô tả các thông tin của nó theo thuật ngữ XSD literal (nguyên bản) hoặc các nguyên tắc mã hoá SOAP. XSD literal được đặt mặc định và sau này sẽ được tiêu chuẩn hoá. Chức năng hỗ trợ mã hoá SOAP được sắp xếp cho tất cả các phần với toolkit đang sẵn có. Điều này rất có lợi, nhất là khi bạn cần phải liên lạc với một Web service hoặc client tồn tại, sử dụng kiểu tin tức xác định trước. .NET Remoting, IFormatter và Common Language Runtime (Bộ thực thi
  4. ngôn ngữ chung) .NET Remoting dựa trên các hình thức thực thi kiểu kín của giao diện IFormatter dùng theo cơ chế System.Runtime.Serialization để sắp xếp thứ tự dữ liệu đến và đi từ các phần thông tin trao đổi. Có hai bộ định dạng tiêu chuẩn: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter và System.Runtime.Serialization.Formatters.Soap.SoapFormatter. BinaryForm atter và SoapFormatter, giống như tên gọi, sắp xếp thứ tự các kiểu lần lượt theo định dạng mã nhị phân và SOAP. Với metadata, .NET Remoting dựa trên các bộ phận của Bộ thực thi ngôn ngữ chung (Common Language Runtime), bao gồm tất cả thông tin liên quan đến kiểu dữ liệu thực thi và cách xuất nó ra qua hình thức ánh xạ lại. Dựa trên các bộ phận ghép của metadata, việc duy trì độ tin cậy của toàn bộ thời gian chạy kiểu hệ thống trở nên dễ dàng hơn. Kết quả là khi .NET Remoting sắp xếp thứ tự dữ liệu xong, nó sẽ có toàn bộ thành viên, kể cả public (thành viên chung) và private (thành viên riêng) của một lớp; điều khiển các phần đồ hoạ đối tượng một cách chính xác và hỗ trợ tất cả các kiểu lưu trữ (như System.Collections.Hashtable). Tuy nhiên, dựa trên metadata thời gian chạy cũng giới hạn khả năng của hệ thống .NET Remoting. Một client phải hiểu cấu trúc .NET để liên lạc với điểm cuối .NET Remoting. Thêm vào đó, với các bộ định dạng kín, tầng .NET Remoting hỗ trợ các kênh kín sẽ trìu trượng hoá chi tiết mô tả phần thông tin được gửi như thế nào. Có hai kênh tiêu chuẩn, một cho TCP thô và một cho HTTP. Thông tin có thể được gửi qua một trong hai kênh, phụ thuộc vào kiểu định dạng.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2