Hiện tại đã có rất nhiều phần mềmdànhcho các doanh nghiệpra đờinhằ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ệnnay 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ếpgiữ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ấtnhiề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ạnchế và chưa đáp ứng được nhu cầu của
khách hàng.
79 trang |
Chia sẻ: lvbuiluyen | Lượt xem: 2143 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Khóa luậ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
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