Đề tài Sử dụng công nghệ windows communication foundation trong các ứng dụng trên diện rộng

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ấphơ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.

pdf79 trang | Chia sẻ: nhungnt | Lượt xem: 2082 | Lượt tải: 5download
Bạn đang xem trước 20 trang tài liệu Đề tài 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 2 ĐẠ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 3 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. 4 MỤC LỤC LỜI MỞ ĐẦU ........................................................................................................................8 1. Tính cấp thiết của đề tài:.................................................................................................... 8 2. Mục tiêu của đề tài: ......................................................................................................... 10 CHƯƠNG 1: CÔNG NGHỆ WINDOWS COMMUNICATION FOUNDATION................. 13 1.1. Tổng quan về Windows Communication Foundation.................................................... 13 1.1.1. Windows Communication Foundation là gì?.......................................................... 13 1.1.2. Tại sao sử dụng WCF?.......................................................................................... 14 1.2. Kiến trúc của Windows Communication Foundation .................................................... 16 1.2.1. Hợp đồng (Contracts) ............................................................................................ 17 1.2.2. Dịch vụ thực thi (Runtime service) ........................................................................ 18 1.2.3. Bản tin (Message) .................................................................................................. 19 1.2.4. Chứa và kích hoạt (Host and activation)................................................................. 19 1.3. Các tính năng của WCF ................................................................................................ 19 1.3.1. Giao dịch (Transaction) ......................................................................................... 19 1.3.2. Chứa (Host) ........................................................................................................... 20 1.3.3. Bảo mật (Security) ................................................................................................. 20 1.4. Mô hình lập trình với WCF........................................................................................... 20 1.4.1. Các phương pháp lập trình ..................................................................................... 21 1.4.2. Nguyên lý ABCs.................................................................................................... 26 1.4.3. Địa chỉ (Address)................................................................................................... 26 1.4.4. Liên kết (Binding) ................................................................................................. 29 1.4.5. Hợp đồng (Contract) .............................................................................................. 33 CHƯƠNG 2: GIỚI THIỆU GIẢI PHÁP CRM CHO DOANH NGHIỆP............................... 45 2.1. CRM là gì? ................................................................................................................... 45 2.2. Lịch sử học thuyết CRM............................................................................................... 47 2.3. Các khái niệm liên quan trọng trong CRM .................................................................... 49 2.3.1. Tiềm năng.............................................................................................................. 49 2.3.2. Tổ chức ................................................................................................................. 49 2.3.3. Liên hệ .................................................................................................................. 49 2.3.4. Cơ hội.................................................................................................................... 49 2.3.5. Chiến dịch ............................................................................................................. 49 2.3.6. Hợp đồng............................................................................................................... 49 2.3.7. Tình huống ............................................................................................................ 49 2.3.8. Sản phẩm............................................................................................................... 50 2.3.9. Đối tác ................................................................................................................... 50 2.3.10. Đối thủ................................................................................................................. 50 2.4. Lợi ích của CRM .......................................................................................................... 50 CHƯƠNG 3: SỬ DỤNG CÔNG NGHỆ WCF ĐỂ XÂY DỰNG HỆ THỐNG CRM WCF 2010 ............................................................................................................................................. 52 3.1. Vấn đề đặt ra ................................................................................................................ 52 3.2. Tổng quan về CRM WCF 2010 .................................................................................... 54 3.3. Quy trình tác nghiệp của CRM WCF 2010 .................................................................... 56 3.3.1. Quy trình tiếp thị ................................................................................................... 56 3.3.2. Quy trình Bán hàng................................................................................................ 57 3.3.3. Quy trình dịch vụ sau bán hàng.............................................................................. 58 5 3.4. Các use case chính của hệ thống CRM WCF 2010........................................................ 59 3.4.1. Quản lý tổ chức ..................................................................................................... 59 3.4.2. Quản lý cơ hội ....................................................................................................... 60 3.4.3. Quản lý hợp đồng .................................................................................................. 61 3.4.4. Quản lý tiềm năng.................................................................................................. 62 3.4.5. Quản lý chiến dịch ................................................................................................. 64 3.4.6. Quản lý báo cáo ..................................................................................................... 65 3.5. Biểu đồ tuần tự của hệ thống ........................................................................................ 66 3.5.1. Thêm, sửa tổ chức ..................................................................................................... 66 3.5.2. Xóa tổ chức ............................................................................................................... 66 3.5.3. Thêm, sửa tiềm năng ................................................................................................... 67 3.5.4. Xóa tiềm năng ........................................................................................................... 67 3.5.5. Thêm, sửa cơ hội ....................................................................................................... 68 3.5.6. Xóa cơ hội ................................................................................................................. 68 3.5.7. Thêm, sửa hợp đồng .................................................................................................. 69 3.5.8. Xóa hợp đồng ............................................................................................................ 69 3.5.9. Thêm, sửa liên hệ ...................................................................................................... 70 3.5.10. Xóa liên hệ .............................................................................................................. 70 3.5.11. Thêm, sửa chiến dịch ............................................................................................... 71 3.5.12. Xóa chiến dịch......................................................................................................... 71 3.5. Kiến trúc và công cụ phát triển CRM WCF 2010.......................................................... 72 3.5.1. Kiến trúc của CRM WCF 2010 .............................................................................. 72 3.5.2. Môi trường phát triển CRM WCF 2010 ................................................................. 73 3.6. Giao diện minh họa các phân hệ chính của CRM WCF 2010 ........................................ 73 3.6.1. Phân hệ Tổ chức ..................................................................................................... 73 3.6.2. Phân hệ liên hệ ...................................................................................................... 75 3.6.3. Phân hệ cơ hội ....................................................................................................... 76 KẾT LUẬN .......................................................................................................................... 78 TÀI LIỆU THAM KHẢO ..................................................................................................... 78 6 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 7 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 8 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. 9 Hình 1 36: 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 37: Kiến trúc của mô hình EJB 10  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 38: 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 11 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 39: 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ã đó. 12 - 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