« Home « Kết quả tìm kiếm

SỬ DỤNG CÔNG NGHỆ WINDOWS COMMUNICATION FOUNDATION TRONG CÁC ỨNG DỤNG TRÊN DIỆN RỘNG


Tóm tắt Xem thử

- Dịch vụ thực thi (Runtime service).
- Quy trình dịch vụ sau bán hàng.
- Kiến trúc hướng dịch vụ WCF.
- 55 Hình 1 14: Quy trình dịch vụ sau bán hàng.
- Đó là “Kiến trúc hướng dịch vụ.
- Kiến trúc hướng dịch vụ là một hướng tiếp cận với việc thiết kế và tích hợp các phần mềm, chức năng, hệ thống theo dạng các module.
- Trong đó mỗi module đóng vai trò là một “dịch vụ”, và có khả năng được truy cập qua môi trường mạng.
- SOA tách riêng phần thực hiện dịch vụ (phần mềm) với giao tiếp gọi dịch vụ.
- Điều này tạo nên một giao tiếp nhất quán cho ứng dụng khách (client) sử dụng dịch vụ bất chấp công nghệ thực hiện dịch vụ.
- Thay vì xây dựng các ứng dụng đơn lẻ và đồ sộ, nhà phát triển sẽ xây dựng các dịch vụ tinh gọn có thể triển khai và tái sử dụng trong toàn bộ quy trình nghiệp vụ.
- Điều này cho phép tái sử dụng phần mềm tốt hơn, cũng như tăng sự linh hoạt vì nhà phát triển có thể cải tiến dịch vụ mà không làm ảnh hưởng đến ứng dụng client sử dụng dịch vụ..
- Tính linh hoạt và dễ dàng triển khai: Phía triệu gọi dịch vụ không cần quan tâm đến công nghệ nền tảng của phía Service.
- Với một hệ thống SOA thật dễ dàng khi cung cáp một loạt những dịch vụ ra bên ngoài cho một đối tác nào đó sử dụng.
- WCF là nền tảng giúp xây dựng các ứng dụng theo kiến trúc hướng dịch vụ.
- WCF thống nhất các API này thành một mô hình duy nhất nhằm đáp ứng mô hình lập trình hướng dịch vụ.
- WCF là một mô hình lập trình cho phép nhà phát triển xây dựng các giải pháp dịch vụ đảm bảo tính ổn định, và bảo mật và thậm chí là đảm bảo giao dịch.
- Hợp nhất công nghệ đã tồn tại - Tương tác đa nền - Phát triển hướng dịch vụ Hình 1 6: Khả năng hợp nhất của WCF.
- Mục tiêu 3: Phát triển hướng dịch vụ Công nghệ và nghiệp vụ thay đổi rất nhanh, doanh nghiệp phải đầu tư một lượng lớn kinh phí cho việc phát triển ứng dụng.
- Chính vì vậy các dịch vụ nghiệp vụ ra đời.
- WCF là một công cụ phát triển hướng dịch vụ.
- WCF đảm bảo các dịch vụ được xây dựng một cách tự động theo nguyên tắc SOA.
- Data Contract: Mô tả các tham số cho các bản tin mà một dịch vụ có thể tạo ra hay sử dụng.
- Policy and Bindings: Mô tả các điều kiện cần có để giao tiếp với một dịch vụ.
- Hành xử này giúp cho việc điều khiển số lượng luồng có thể truy nhập tới một thực thể của dịch vụ.
- Lớp này khác với lớp thực thi dịch vụ chủ yếu bởi sự khác nhau trong việc xử lý nội dung bản tin.
- Nhìn một cách tổng thể thì một dịch vụ thực chất là một chương trình.
- Cũng giống như các chương trình khác, một dịch vụ cần phải chạy trong một tệp thực thi.
- Dịch vụ này thường được gọi là dịch vụ tự chứa.
- Các dịch vụ còn có thể được chứa, hoặc chạy trong một tệp thực thi được quản lý bởi một agent bên ngoài như IIS hay Windows Activation Services (WAS).
- Khi bạn tạo một dịch vụ web, bạn thực sự tạo ra một dịch vụ (service).
- Dịch vụ (Service): Chứa thông tin về vị trí của dịch vụ · Liên kết (Binding): Chứa thông tin về cách liên lạc với dịch vụ, như dịch vụ sử dụng giao thức gì, vv.
- Các phương pháp lập trình Có ba phương pháp hay được sử dụng khi phát triển dịch vụ WCF như sau.
- Những thuộc tính này được sử dụng để định nghĩa các contract và xác định hành xử của dịch vụ.
- Chúng được sử dụng để xác định thêm các tham số để thay đổi các chi tiết của contract và hành xử dịch vụ.
- Thuộc tính ServiceContract dùng để quy định là giao diện này định nghĩa các chức năng của một dịch vụ.
- Thuộc tính OperationContract được sử dụng ở các hàm để quy định rằng hàm này được khai báo là một phần của dịch vụ.
- Đó là tất cả những gì cần để tạo ra một dịch vụ WCF.
- Tuy vậy ta nhất thiết phải quy định phần nào thuộc về dịch vụ.
- Ví dụ ta có một dịch vụ thực hiện phép tính cộng giữa 2 số nguyên AddInt và 2 số thực AddDouble.
- Ta khai báo dịch vụ như sau: [ServiceContract] public interface ICalcService.
- Nhưng các dịch vụ lại không cho phép đặt trùng tên hàm như thế.
- Phương pháp sử dụng tập tin cấu hình Cũng giống như phương pháp khai báo, có rất nhiều thứ mà ta có thể quy định liên quan đến hành xử của một dịch vụ thông qua tập tin cấu hình của dịch vụ.
- Điều hay trong cách tiếp cận này là những thay đổi ở tập tin cấu hình hoàn toàn không cần phải biên dịch lại dịch vụ mới sử dụng được.
- Sau đây là ví dụ sử dụng tập tin cấu hình để định nghĩa dịch vụ tính toán trong ví dụ của phần phương pháp khai báo..
- Mô hình dịch vụ WCF được cung cấp trong không gian tên System.ServiceModel.
- Là Liên kết (Binding) mà các điểm cuối dịch vụ có thể sử dụng để liên lạc với các MSMQ khách và các dịch vụ khác NetNamedPipeBinding.
- Là Liên kết (Binding) mà các điểm cuối dịch vụ có thể sử dụng để liên lạc với các ứng dụng khách/dịch vụ trên cùng một máy NetTCPBinding.
- Là Liên kết (Binding) mà các điểm cuối dịch vụ có thể sử dụng để liên lạc với các ứng dụng khách/dịch vụ ở các máy khác nhau WSHTTPBinding.
- Là Liên kết (Binding) mà các điểm cuối dịch vụ có thể sử dụng để liên lạc với các ứng dụng khách/dịch vụ sử dụng các giao dịch phân tán và các phiên làm việc bảo mật và tin cậy được.
- Lớp biểu diễn địa chỉ duy nhất được cung cấp và truy xuất được cho máy khách để liên lạc với điểm cuối dịch vụ EndpointAddressBuilding.
- Phương pháp cung cấp vật chứa cho các dịch vụ ReliableSession.
- Xác định nơi mà lời gọi dịch vụ sẽ gửi tới.
- Địa chỉ (Address) Ta phải biết địa chỉ của dịch vụ để có thể gửi được lời gọi.
- Định dạng của một địa chỉ dịch vụ có cấu trúc như sau: scheme://[:port]/path Trong đó: Thành phần.
- Giao thức của máy chủ chạy dịch vụ Machine name.
- Tên miền của máy chủ dịch vụ Port.
- Đường dẫn tới dịch vụ.
- Địa chỉ điểm cuối giống như ở ví dụ trên, một địa chỉ điểm cuối quy định địa chỉ của một điểm cuối dịch vụ cụ thể.
- Máy khách (chương trình khách) có thể truy nhật dịch vụ qua địa chỉ điểm cuối.
- Ví dụ, giả sử ta có một dịch vụ với ba điểm cuối, ta có thể gán cho dịch vụ đó một địa chỉ cơ sở như sau http://localhost:8080/HelloWorld.
- Địa chỉ MEX cho phép một máy khách thu thập các thông tin về một dịch vụ nào đó.
- MEX, nghĩa là metadata exchange (trao đổi siêu dữ liệu), là một địa chỉ điểm cuối HTTP được sử dụng để lấy thông tin về dịch vụ.
- Thông tin về dịch vụ cung cấp cho máy khách thông qua địa chỉ MEX được lấy từ siêu dữ liệu của dịch vụ.
- Siêu dữ liệu này chính là những mô tả về dịch vụ..
- Các định dạng địa chỉ Khi phát triển một dịch vụ bạn cần lưu ý các điểm sau.
- Môi trường chứa dịch vụ.
- Địa chỉ IIS đòi hỏi phải có tên thư mục ảo cũng như tên tệp dịch vụ.
- Khi lập trình với các địa chỉ trong Windows Communication Foundation bạn có thêm sự linh hoạt trong làm việc với các điểm cuối và dịch vụ bởi bạn hoàn toàn có thể lập trình để định nghĩa và xử lý các địa chỉ cơ sở.
- Riêng basicHttpBinding phù hợp với những dịch vụ ra đời trước WCF như ASMX.
- Khi định nghĩa một dịch vụ trong Windows Communication Foundation ta sử dụng ba kiểu contract cơ bản sau.
- Như đã nói ở phần trên, một contract dịch vụ định nghĩa các hành động hoặc phương thức có ở điểm cuối dịch vụ (Endpoint) và được đưa ra để máy khách có thể sử dụng.
- Contract dịch vụ đưa ra một số thông tin cho các máy khách đủ để cho máy khách có thể biết được dịch vụ này có thể cung cấp những gì.
- Thuộc tính mô tả một contract dịch vụ là ServiceContract.
- Ví dụ sau định nghĩa một giao diện như là một contract dịch vụ: [ServiceContract] public interface IStaffInformation.
- Gộp các phần lại ta sẽ được một định nghĩa hoàn chỉnh cho một contract dịch vụ: [ServiceContract] public interface IStaffInformation.
- Sau khi có được định nghĩa cho dịch vụ, ta có thể cài đặt một lớp cho giao diện trên, trong đó định nghĩa các hàm (phương thức) thực hiện theo logic của dịch vụ.
- Hai thuộc tính này có rất nhiều tham số kèm theo, tuy nhiên trong nhiều trường hợp, chúng ta hoàn toàn có thể sử dụng các giá trị mặc định của hai thuộc tính này để định nghĩa contract dịch vụ.
- Thuộc tính ServiceContract Thuộc tính ServiceContract được áp dụng cho việc mô tả các giao diện hoặc các lớp để định nghĩa một contract dịch vụ.
- Trong ví dụ trên, dịch vụ quy định callback contract phải có kiểu là IClientContract ConfigurationName.
- Thiết lập/Trả về tên được sử dụng để xác định thành phần dịch vụ trong tệp tin cấu hình.
- Và ở tệp tin cấu hình ta có phần định nghĩa thành phần dịch vụ với tên là DichVu.
- Quy định kiểu hỗ trợ cho các phiên làm việc tin cậy mà một dịch vụ đòi hỏi hoặc hỗ trợ.
- Ví dụ có thể định nghĩa đòi hỏi phải hỗ trợ phiên làm việc tin cậy cho dịch vụ như sau: [ServiceContract(SessionMode=SessionMode.Required)] public class StaffInformation : IStaffInformation.
- Chỉ các phương thức được gắn thuộc tính OperationContract mới được coi là phương thức của dịch vụ.
- Quy định tên cuối cùng của phương thức sẽ có trong dịch vụ.
- Ví dụ sau biểu diễn việc sử dụng các tham số của OperationContract để quy định thứ tự thực hiện của các phương thức khi làm việc với dịch vụ.
- Theo ví dụ này, quy trình để máy khách liên lạc với dịch vụ như sau.
- Trước khi máy khách và dịch vụ thực hiện liên lạc thì chúng phải đồng ý với nhau về kiểu dữ liệu trao đổi, đó là contract dữ liệu.
- Các máy khách (client) gọi dịch vụ WCF thông qua các điểm cuối của dịch vụ.
- Tuy nhiên, một dịch vụ thì lại có thể có nhiều điểm cuối (Endpoint).
- Định nghĩa điểm cuối bằng mã nguồn: Hai dòng đầu của đoạn mã nguồn bên dưới dùng để định nghĩa các địa chỉ mà dịch vụ sẽ sử dụng.
- Dòng tiếp tạo ra một đối tượng ServiceHost để chứa dịch vụ.
- Những quy luật về dịch vụ khách hàng.
- Phân loại Khách hàng · Phân tích Hiệu quả Bán hàng · Quản lý Hợp đồng · Quản lý Khách hàng · Dịch vụ Khách hàng Trong giai đoạn Phân loại khách hàng, doanh nghiệp thu thập thông tin nguồn khách hàng tiềm năng, phân loại những khách hàng này để đưa họ vào chiến dịch tiếp thị phù hợp, tạo ra những cơ hội bán hàng.
- Giai đoạn Dịch vụ khách hàng: doanh nghiệp cung cấp những dịch vụ tốt nhất đến khách hàng.
- Dịch vụ Web là một hướng đi đúng đắn để giải quyết vấn đề này.
- Tuy nhiên dịch vụ Web lại khó triển khai trong cả mạng LAN và Internet.
- SFA có thể giúp người bán hàng quản lý tương tác với khách hàng xuyên suốt chu trình bán hàng từ những liên hệ ban đầu đến các dịch vụ sau bán hàng.
- Quy trình dịch vụ sau bán hàng Hình 1 14: Quy trình dịch vụ sau bán hàng.
- Nhân viên bán hàng tiếp nhân các phản hồi, câu hỏi, thắc mắc của khách hàng về sản phẩm của công ty, về các chương trình khuyến mãi, các dịch vụ