Hiện nay đã có rất nhiều phần mềm dành cho doanh nghiệp. Tuy nhiên một số các phần mềm này lại có giá quá cao khiến doanh nghiệp không đủ kinh phí để triển khai. Còn đối các sản phẩm giá thấp hơn thì lại không thể đáp ứng được nhu cầu sử dụng dữ liệu tập trung và tổng hợp dữ liệu một cách thường xuyên của các doanh nghiệp có nhiều chi nhánh tại nhiều vị trí địa lý khác nhau.
79 trang |
Chia sẻ: vietpd | Lượt xem: 1757 | Lượt tải: 4
Bạn đang xem trước 20 trang tài liệu Luận văn Sử dụng công nghệ windows communication foundation trong các ứng dụng trên diện rộng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN QUANG HÙNG
SỬ DỤNG CÔNG NGHỆ WINDOWS COMMUNICATION FOUNDATION TRONG CÁC ỨNG DỤNG TRÊN DIỆN RỘNG
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
HÀ NỘI - 2009
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN QUANG HÙNG
SỬ DỤNG CÔNG NGHỆ WINDOWS COMMUNICATION FOUNDATION TRONG CÁC ỨNG DỤNG TRÊN DIỆN RỘNG
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bộ hướng dẫn: ThS. Đào Kiến Quốc
Cán bộ đồng hướng dẫn: ThS.Nguyễn Xuân Hoàng
HÀ NỘI - 2009
TÓM TẮT KHÓA LUẬN
Hiện nay đã có rất nhiều phần mềm dành cho doanh nghiệp. Tuy nhiên một số các phần mềm này lại có giá quá cao khiến doanh nghiệp không đủ kinh phí để triển khai. Còn đối các sản phẩm giá thấp hơn thì lại không thể đáp ứng được nhu cầu sử dụng dữ liệu tập trung và tổng hợp dữ liệu một cách thường xuyên của các doanh nghiệp có nhiều chi nhánh tại nhiều vị trí địa lý khác nhau.
Nội dung của khóa luận này sẽ trình bày về một công nghệ mới nằm trong .NET 3.0 của Microsoft, đó là công nghệ Windows Communication Foundation (WCF). Đây là một công nghệ được Microsoft đưa ra để xây dựng các ứng dụng theo kiến trúc hướng đối tượng (SOA). Đó là chìa khóa để giải quyết các vấn đề trên. Đồng thời, khóa luận cũng nói đến việc áp dụng WCF để xây dựng phần mềm Quản lý quan hệ khách hàng (CRM) – một giải pháp đang được áp dụng ở khá nhiều doanh nghiệp.
MỤC LỤC
BẢNG CÁC KÝ HIỆU VIẾT TẮT
Ký hiệu
Từ viết tắt
Ý nghía
SOA
Service-oriented architecture
Kiến trúc hướng dịch vụ
WCF
Windows Communication Foundation
Công nghệ mới của Microsoft trong .NET 3.0
CRM
Customer relationship management
Quản lý quan hệ khách hàng
BẢNG DANH SÁCH CÁC HÌNH VẼ
Hình vẽ
Trang
Hình 1 1: Kiến trúc của mô hình CORBA
7
Hình 1 2: Kiến trúc của mô hình EJB
7
Hình 1 3: Kiến trúc của mô hình DCOM
8
Hình 1 4: Kiến trúc cơ bản của SOA
9
Hình 1 5: Kiến trúc .NET 3.0
11
Hình 1 6: Khả năng hợp nhất của WCF
13
Hình 1 7: Kiến trúc của WCF (microsoft.com)
15
Hình 1 8: Mô hình lập trình WCF
24
Hình 1 9: Sơ đồ lựa chọn Binding
31
Hình 1 10: “Khách hàng là trung tâm của mọi hoạt động”
45
Hình 1 11: Quy trình chung của hệ thống CRM
51
Hình 1 12: Quy trình tiếp thị
54
Hình 1 13: Quy trình bán hàng
55
Hình 1 14: Quy trình dịch vụ sau bán hàng
56
Hình 1 15: Sơ đồ use case quản lý tổ chức
57
Hình 1 16: Sơ đồ use case quản lý cơ hội
58
Hình 1 17: Sơ đồ use case quản lý hợp đồng
59
Hình 1 18: Sơ đồ use case quản lý tiềm năng
60
Hình 1 19: Sơ đồ use case quản lý chiến dịch
62
Hình 1 20: Sơ đồ use case quản lý báo cáo
63
Hình 1 21: Biểu đồ tuần tự thêm ,sửa tổ chức
64
Hình 1 22: Biểu đồ tuần tự xóa tổ chức
64
Hình 1 23: Biểu đồ tuần tự thêm, sửa tiềm năng
65
Hình 1 24: Biểu đồ tuần tự xóa tiềm năng
65
Hình 1 25: Biểu đồ tuần tự thêm, sửa cơ hội
66
Hình 1 26: Biểu đồ tuần tự xóa cơ hội
66
Hình 1 27: Biểu đồ tuần tự thêm, sửa hợp đồng
67
Hình 1 28: Biểu đồ tuần tự xóa hợp đồng
67
Hình 1 29: Biểu đồ tuần tự thêm, sửa liên hệ
68
Hình 1 30: Biểu đồ tuần tự xóa liên hệ
68
Hình 1 31: Biểu đồ tuần tự thêm, sửa chiến dịch
69
Hình 1 32: Biểu đồ tuần tự xóa chiến dịch
69
Hình 1 33: Kiến trúc CRM WCF 2010
70
Hình 1 34: Giao diện phân hệ Tổ chức
71
Hình 1 35: Giao diện phân hệ Liên hệ
73
Hình 1 36: Giao diện phân hệ Cơ hội
74
LỜI MỞ ĐẦU
1. Tính cấp thiết của đề tài:
Hiện tại đã có rất nhiều phần mềm dành cho các doanh nghiệp ra đời nhằm nâng cao hiệu quả kinh doanh. Tuy nhiên do tính phức tạp và không đồng nhất của các nền tảng công nghệ hiện nay nên việc các doanh nghiệp tái sử dụng các hệ thống cũ và vấn đề giao tiếp giữa các hệ thống khác nhau chưa thể đáp ứng được. Đồng thời với các doanh nghiệp muốn triển khai các hệ thống ứng dụng của mình trên diện rộng với nhiều chi nhánh thì vẫn gặp nhiều khó khăn do các phần mềm chưa đáp ứng được vấn đề bảo mật khi trao đổi thông tin qua môi trường Internet cũng như khó khăn trong việc triển khai và quản lý hệ thống. Điều này dẫn đến doanh nghiệp nói chung và nhà quản lý doanh nghiệp nói riêng gặp rất nhiều khó khăn và không thể tập trung thời gian cho việc quản lý và hoạch định chiến lược kinh doanh cho doanh nghiệp. Ví dụ, với các doanh nghiệp đa chi nhánh thì hiện tại việc thống kê, hạch toán sẽ phải thực hiện riêng rẽ trên từng chi nhánh rồi mới được người quản lý tổng hợp lại, điều này gây lãng phí thời gian và công sức, đồng thời có thể gây thiếu đồng bộ về thông tin giữa các chi nhánh.
Các kiến trúc phân tán đã ra đời để giải quyết vấn đề này như CORBA, EJB, DCOM. Tuy nhiên chúng vẫn còn khá hạn chế và chưa đáp ứng được nhu cầu của khách hàng.
CORBA - Common Object Requesting 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ữ. Với CORBA các thành phần của hệ thống có thể được viết trên nhiều ngôn ngữ và chạy trên các nền tảng khác nhau vẫn có thể làm việc được với nhau.
- Ưu nhược đ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 tiếp mạng và các công nghệ để phát triển mà vẫn thỏa mãn các tính chất của CORBA. Tuy nhiên, CORBA có một số nhược điểm là: nó là ngôn ngữ lập trình bậc 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ó tái sử dụng.
Hình 1 1: Kiến trúc của mô hình CORBA
EJB - Enterprise JavaBeans
- 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
- EJB là một kiến trúc tốt cho việc tích hợp các hệ thống vì nó là độc lập nền tảng nhưng nó cũng gặp vấn đề là: nó không phải 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ế.
Hình 1 2: Kiến trúc của mô hình EJB
DCOM - Distributed Component Object Model
- DCOM là một mô hình phân tán dễ triển khai với chi phí thấp. Mô hình Component Object Model (COM) định nghĩa cách thức các thành phần và Client liên lạc trao đổi với nhau trong 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à các kết nối này có thể thay đổi khi ứng dụng đang chạy.
- 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ệ trên 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, đặc biệt các hệ thống DCOM khó tái sử dụng và bị chặn bởi Firewall khi giao tiếp qua Internet.
Hình 1 3: Kiến trúc của mô hình DCOM
2. Mục tiêu của đề tài:
Trước các khó khăn trên thì các doanh nghiệp cần có một cách tiếp cận mới để giải quyết vấn môi trường không đồng nhất và tốc độ thay đổi đến chóng mặt của thực tế trong khi phải xoay sở với nguồn ngân sách hạn hẹp và nền kinh tế khó khăn. May thay, đã có một hướng tiếp cận giải quyết khá toàn diện các vấn đề trên và đã được triển khai trong thực tế. Đó là “Kiến trúc hướng dịch vụ” – Service Oriented Architecture (SOA).
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. Hiểu một cách đơn giản thì một hệ thống SOA là một tập các dịch vụ được chuẩn hóa trên môi trường mạng và trao đổi với nhau trong ngữ cảnh một tiến trình nghiệp vụ..
Hình 1 4: Kiến trúc cơ bản của SOA
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ụ.
Ưu điểm của kiến trúc hướng dịch vụ
- Tái sử dụng phần mềm: Nếu gói mã mà tạo thành một dịch vụ có quy mô và kích thước phù hợp sau đó nó có thể được tái sử dụng cho lần kế tiếp, một đội phát triển cần chức năng cụ thể đó cho một ứng dụng phần mềm mới mà nó mong muốn xây dựng. Họ không cần biết bất cứ thứ gì về việc mã được gói chặt như thế nào hay nó có nguồn gốc từ đâu. Tất cả những thứ mà họ cần làm đó là xây dựng một sự kết nối đến mã đó.
- 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. Nó mang đến khả năng linh hoạt cao và nhiều lợi ích khác. Trong một hệ thống SOA ta gọi dịch vụ thông qua các interface theo một dạng thức chuẩn nên khi cần kết nối với các đối tác thương mại thì những interface chuẩn càng đem lại nhiều lợi ích hơn. 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. Tương tự cho điều ngược lại, nếu các đối tác đã xây dựng một hệ thống SOA thì việc đem sử dụng chức năng một số dịch vụ của họ vào sử dụng bên trong hệ thống của mình cũng thật dễ dàng và nhanh chóng.
- Khả năng thích ứng cao với những thay đổi trong tương lai: Các phương pháp tiếp cận truyền thống trong quy trình phát triển phần mềm có thể mô tả ngắn gọn là người dùng mô tả họ cần gì và công ty phát triển phần mềm sẽ triển khai theo yêu cầu. Quy trình này đôi khi gặp khó khăn khi gặp những tình huống thay đổi không định trước. Với SOA, công ty phát triển phần mềm có thể tạo nên những quy trình nghiệp vụ uyển chuyển , phức tạp có khả năng biến đổi tuy theo yêu cầu của khách hàng.
WCF là một công nghệ được Microsoft đưa ra trong bản .NET 3.0. 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 không phải là công nghệ để hỗ trợ việc xử lý các nghiệp vụ cho ứng dụng mà nó giúp xây dựng các dịch vụ mà việc xử lý nghiệp vụ được thực hiện bởi các ngôn ngữ lập trình quen thuộc trong .NET như C# hay VB.NET. WCF sẽ giúp các tầng của ứng dụng có thể gọi nhau qua môi trường Internet hay LAN. Điều này giải quyết được vấn đề mở rộng phạm vi hoạt động đa chi nhánh của doanh nghiệp và giúp doanh nghiệp cũng như nhà phát triển phần mềm có thể tái sử dụng các hệ thống đang có. Luận văn này sẽ giới thiệu về công nghệ WCF cùng việc sử dụng nó để xây dựng hệ thống CRM, là một hệ thống quan trọng trong việc nâng cao hiệu quả kinh doanh trong doanh nghiệp.
CHƯƠNG 1: CÔNG NGHỆ WINDOWS COMMUNICATION FOUNDATION
1.1. Tổng quan về Windows Communication Foundation
1.1.1. Windows Communication Foundation là gì?
Windows Communication Foundation (WCF) là một công nghệ được Microsoft giới thiệu tại Hội nghị các nhà phát triển sản phẩm Microsoft (Microsoft Product Developers Conference 2003) ở Los Angeles, California năm 2003. WCF được biết đến với cái tên quen thuộc hơn là Indigo trong công cụ phát triển Visual Studio 2005.
WCF là một bộ các thư viện lớp được xậy dựng trên nền tảng .NET Framework 2.0 CLR và tích hợp trong .NET Framework 3.0 cùng với WF, WPF và Windows Cardspace.
Hình 1 5: Kiến trúc .NET 3.0
WCF là công nghệ nền tảng nhằm thống nhất nhiều mô hình lập trình giao tiếp được hỗ trợ trong .NET 2.0 thành một mô hình duy nhất. Vào tháng 11 năm 2005, .NET 2.0 được Microsoft phát hành trong đó có cung cấp các hàm API riêng biệt cho các liên lạc dựa trên SOAP để tối đa hoá sự làm việc giữa các nền tảng sử dụng Web Services, đồng thời .NET 2.0 còn cung cấp các API để tối ưu việc liên lạc dựa trên mã nhị phân giữa các ứng dụng chạy trên hệ thống Windows gọi là .NET Remoting, các API cho các giao dịch phân tán, và API cho liên lạc dị bộ. 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 có thể sử dụng các bản tin SOAP giữa hai tiến trình, do đó làm cho các ứng dụng dựa trên WCF có thể làm việc với các tiến trình khác thông qua việc giao tiếp sử dụng bản tin SOAP. Khi một tiến trình WCF liên lạc với một tiến trình không là WCF, các bản tin SOAP được mã hoá trên cơ sở XML, nhưng khi nó liên lạc với một tiến trình WCF khác, bản tin SOAP có thể được tối ưu hoá dựa trên mã hoá nhị phân.
WCF không chỉ là một phương pháp khác để xây dựng hệ thống phân tán mà còn đem đến nhiều tính năng mới hơn so với các công nghệ trước đó.
1.1.2. Tại sao sử dụng WCF?
Như phần trên đã trình bày, .NET 2.0 hỗ trợ rất nhiều phương pháp liên lạc giữa các ứng dụng khác nhau nhằm vào các mục tiêu khác nhau. Các phương pháp liên lạc này khá phức tạp và phải mất nhiều thời gian để làm chủ được công nghệ. Tuy nhiên kiến thức thu được từ việc triển khai một phương pháp ít có khả năng dùng được khi làm việc với phương pháp khác.
Với việc ra đời của WCF, mọi phương pháp liên lạc trước kia đều có thể thực hiện trên WCF. Do vậy nhà phát triển chỉ cần làm chủ được công nghệ WCF là có thể xây dựng các ứng dụng một cách nhanh chóng.
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. Nó làm đơn giản hoá việc phát triển các ứng dụng kết nối và đưa ra cho nhà phát triển những giá trị mà có thể họ chưa nhận ra ngay, đó là cách tiếp cận phát triển hệ thống phân tán thống nhất, đơn giản, và quản lý được.
Do WCF được xây dựng trên cơ sở của .NET Framework 2.0 CLR, nó là tập các lớp cho phép các nhà phát triển xây dựng các ứng dụng hướng dịch vụ bằng môi trường lập trình quen thuộc của họ như VB.NET hay C#.
Microsoft đưa ra WCF với kỳ vọng WCF sẽ giải quyết được ba mục tiêu:
- 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 1: Hợp nhất công nghệ
Bài toán xử lý với các ứng dụng phân tán luôn là một bài toán khó với các nhà phát triển. Sự cạnh tranh của các công nghệ phân tán đầu những năm 1990 đã dẫn đến sự tranh cãi: Sẽ chọn công nghệ nào là công nghệ tốt nhất, phù hợp nhất để phát triển hệ thống phân tán trong thời gian dài. Nếu như một hệ thống được phát triển dựa trên môi trường HTTP thì chắc chắn phải thay đổi mô hình lập trình nếu muốn triển khai trên môi trường TCP. Hoặc như ta có một hệ thống xây dựng theo mô hình Web Services, hệ thống này không thể hỗ trợ các giao dịch hướng Message nếu như không thay đổi mô hình lập trình. Vậy tại sao lại không có một công nghệ tập hợp tất cả những ưu điểm của các công nghệ trước đó.
Microsoft đưa ra giải pháp WCF giúp giải quyết điều đó. WCF tránh được việc thay đổi mô hình giao tiếp khi làm việc với nhiều công nghệ phân tán, cho phép sử dụng một API đơn giản và trong sáng.
WCF tổng hợp được những gì tốt nhất của các công nghệ phân tán hiện có. WCF mang đến sự hiệu quả của ASMX, xử lý giao dịch của Enterprise Service, linh hoạt của .NET Remoting, ưu điểm trong hướng message của MSMQ, bảo mật của WSE. Microsoft đã mang tất cả những điều đó để xây dựng một nền cơ sở công nghệ độc lập và vững chắc.
Mục tiêu 2: Tương tác đa nền
Hầu hết các công ty phần mềm lớn đều sử dụng những giao thức riêng gắn liền với một nền tảng nhất định nào đó. Mặt khác một doanh nghiệp lớn thường có các hệ thống riêng rẽ, mua ở những thời điểm khác nhau, của những công ty khác nhau. Và tất nhiên chúng sẽ không tương thích tốt với nhau. Việc liên kết các hệ thống lại thành một thể thống nhất và làm việc hiệu quả là một yêu cầu cần thiết.
WCF sẽ làm điều đó thay vì chúng ta. Thế giới công nghệ sẽ không nói chuyện với nhau bằng các ngôn ngữ khác nhau nữa, các hệ thống có thể tồn tại một cách hòa bình với nhau.
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. Trong nhiều năm, các lập trình viên và các tổ chức cố gắng xây dựng phần mềm trên mô hình hướng đối tượng (OOP) để phù hợp với thực tế. Nhưng thiết kế hệ thống cần phải linh hoạt và chuẩn mực để việc phát triển nghiệp vụ sau này không gặp khó khăn. 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. Điều đó đảm bảo giảm giá thành bảo trì, cho phép thay đổi và tương tác đa nền.
1.2. Kiến trúc của Windows Communication Foundation
Windows Communication Foundation là một Framework trong .NET 3.0. Nó gồm rất nhiều các thư viện, không gian tên (namespace) cho việc lập trình ứng dụng WCF. Dưới đây là hình ảnh mô tả kiến trúc WCF và các tầng chính của nó.
Hình 1 7: Kiến trúc của WCF (microsoft.com)
1.2.1. Hợp đồng (Contracts)
Khái niệm contract trong WCF cũng giống như các hợp đồng mà ta ký trong đời sống thật. Một hợp đồng ta ký có thể chứa các thông tin như kiểu công việc ta sẽ làm, và những thông tin mà ta muốn đưa ra cho các bên khác. WCF contract cũng chứa các thông tin tương tự như vậy. Contract định nghĩa các đặc tả trong hệ thống bản tin.Thông thường có các loại contract sau:
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. Các tham số bản tin được định nghĩa bằng các tài liệu sử dụng ngôn ngữ đặc tả XML Schema (XSD), điều này cho phép các hệ thống hiểu XML có thể xử lý tài liệu dễ dàng. Các dịch vụ khi liên lạc với nhau có thể không cần đồng ý với nhau về các kiểu, nhưng cần đồng ý về contract dữ liệu, nghĩa là đồng ý về các tham số và các kiểu trả về.
Message Contract: Định nghĩa các phần có trong bản tin sử dụng các giao thức SOAP, và nó cho phép điều khiển sâu hơn tới các phần trong bản tin khi có yêu cầu sự chính xác như vậy.
Services Contract: Đặc tả chi tiết các phương thức của dịch vụ, và được phân phối như là một giao diện trong các ngôn ngữ lập trình như Visual Basic hay Visual C#. Có thể hình dung về contract dịch vụ một cách gián tiếp như sau: “Đây là các kiểu dữ liệu của các bản tin của tôi, đây là nơi tôi cung cấp, và đây là các giao thức mà tôi có thể liên lạc”.
Policy and Bindings: Mô tả các điều kiện cần có để giao tiếp với một dịch vụ. Các chính sách sẽ bao gồm cả các yêu cầu về bảo mật và các điều kiện khác cần phải có khi kết nối với một dịch vụ.
1.2.2. Dịch vụ thực thi (Runtime service)
Lớp dịch vụ thực thi chứa các hành xử sẽ xảy ra trong quá trình thực hiện của dịch vụ, nghĩa là các hành xử thực thi của dịch vụ. Ta sẽ thấy một số các hành xử như sau:
Throttling behavior: Điều khiển luồng nhằm quy định xem có bao nhiêu bản tin được xử lý.
Error behavior: Hành xử lỗi quy định những hành động khi lỗi xảy ra trong hệ thống.
Metadata behavior: Hành xử với các siêu dữ liệu quy định xem làm thế nào và khi nào thì các siêu dữ liệu được đưa ra bên ngoài dịch vụ.
Instance behavior: Hành xử thực thể quy định xem có bao nhiêu thực thể của dịch vụ đó được chạy.
Transaction behavior: Hành xử giao dịch cho phép việc rollback các giao dịch nếu xảy ra lỗi.
Message inspection: Kiểm tra bản tin đem lại cho dịch vụ khả năng kiểm tra tất cả hay một số phần của bản tin.
Dispatch behavior: Khi một bản tin được xử lý bởi nền tảng WCF, dịch vụ Dispatch behavior xác định xem bản tin được xử lý như thế nào.
Concurrency behavior: Hành xử đồng thời xác định xem việc xử lý thế nào với việc đa luồng của mỗi dịch vụ hay mỗi thực thể của 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ụ.
Parameter filtering: Khi một bản tin được đưa tới một dịch vụ, sẽ xảy ra một số hành động dựa trên nội dung phần đầu đề của bản tin. Phần lọc tham số sẽ thực hiện lọc các đầu đề bản tin và thực hiện các hành động đặt sẵn dựa trên việc lọc đầu đề bản tin.
1.2.3. Bản tin (Message)
Lớp bản tin là tập hợp các kênh. Mỗi kênh là một thành phần xử lý bản tin theo một cách nào đó. Một tập các kênh thường được gọi là ngăn xếp kênh. Các kênh làm việc trên bản tin và trên đầu đề của bản tin. 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 ti