Đăng ký Đăng nhập
Trang chủ Xây dựng ứng dụng kiến trúc hướng dịch vụ web trên nền tảng wcf...

Tài liệu Xây dựng ứng dụng kiến trúc hướng dịch vụ web trên nền tảng wcf

.PDF
20
120
84

Mô tả:

Website: http://www.docs.vn Email : [email protected] Tel : 0918.775.368 1 Xây dựng ứng dụng kiến trúc hƣớng dịch vụ Web trên nền tảng WCF MỤC LỤC DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT ................................................... 2 LỜI MỞ ĐẦU .................................................................................................................. 3 CHƢƠNG I: TỔNG QUAN ............................................................................................ 4 I. 1 Giới thiệu đơn vị thực tập ..................................................................................... 4 I.1.1 Giới thiệu chung .............................................................................................. 4 I.1.2 Sản phẩm & Dịch vụ & Giải pháp .................................................................. 4 I.1.3 Kinh nghiệm .................................................................................................... 7 I.1.4 Các đối tác chiến lƣợc ..................................................................................... 8 I.2 Tổng quan đề tài ..................................................................................................... 8 I.2.1 Mục tiêu của đề tài .......................................................................................... 8 I.2.2 Ngôn ngữ triển khai ......................................................................................... 8 CHƢƠNG II: KIẾN TRÚC HƢỚNG DỊCH VỤ - SOA ............................................... 10 II.1. Tổng quan .......................................................................................................... 10 II.2. Các yêu cầu ........................................................................................................ 10 II.3. Các yếu tố cơ bản ............................................................................................... 11 II.4. Cách tiếp cận các dịch vụ Web .......................................................................... 12 II.4.1 Ngƣời cung cấp dịch vụ ............................................................................... 12 II.4.2. Ngƣời yêu cầu dịch vụ ................................................................................ 13 II.5 Kiến trúc hƣớng dịch vụ và Lập trình hƣớng đối tƣợng (SOA và OOP ) .......... 13 II.6. Kiến trúc hƣớng dịch vụ và các dịch vụ Web( SOA và Web Service ) ............ 14 II.7. Hợp đồng dịch vụ............................................................................................... 15 II.8. SOA và các kiến trúc cũ ................................................................................... 17 II.8.1 SOA và kiến trúc kinh doanh ....................................................................... 17 II.8.2 SOA và kiến trúc quản lý mạng ................................................................... 17 II.9 Lợi ích khi sử dụng SOA .................................................................................... 18 II.9.1 Ƣu điểm và nhƣợc điểm của SOA ............................................................... 18 II.9.2 Lợi ích .......................................................................................................... 19 TÀI LIỆU THAM KHẢO .............................................................................................. 20 GVHD: Ths. Nguyễn Thanh Hƣơng SVTH: Lê Thị Hạnh My – Lớp CNTT47 Website: http://www.docs.vn Email : [email protected] Tel : 0918.775.368 2 Xây dựng ứng dụng kiến trúc hƣớng dịch vụ Web trên nền tảng WCF DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT Kí hiệu Giải thích WCF Windows Communication Foundation SOA Service Oriented Architecture SOAP Simple Object Access Protocol OOP Object Oriented Programming HTTP Hypertext Transfer Protocol XML eXtensible Markup Language CSDL Cơ sở dữ liệu API Application Programming Interface UDDI Universal Description Discovery and Integration CNTT Công Nghệ Thông Tin WMI Windows Management Instrumentation WSDL Web Services Description Language CLIs Command Line Interfaces JMX Java Management Extensions GVHD: Ths. Nguyễn Thanh Hƣơng SVTH: Lê Thị Hạnh My – Lớp CNTT47 Website: http://www.docs.vn Email : [email protected] Tel : 0918.775.368 3 Xây dựng ứng dụng kiến trúc hƣớng dịch vụ Web trên nền tảng WCF LỜI MỞ ĐẦU Ngày nay, công nghệ thông tin đã và đang đóng vai trò quan trọng trong đời sống kinh tế, xã hội của nhiều quốc gia trên thế giới, là một phần không thể thiếu trong một xã hội ngày càng hiện đại hóa. Nói đến công nghệ thông tin, chúng ta không thể không nhắc đến công nghệ phần mềm, phần mềm đóng một vai trò cực kỳ quan trọng trong lĩnh vực công nghệ thông tin. Giờ đây, công nghệ phần mềm đã và đang tiến bộ từng ngày, hàng loạt những kỹ thuật, những công nghệ mới ra đời giúp cho việc phát triển các hệ thống phần mềm ngày càng đơn giản hơn. Và việc lựa chọn một công nghệ mới có hiệu quả và phù hợp với việc phát triển phần mềm của một công ty đóng vai trò rất quan trọng. Khi mà khối lƣợng thông tin ngày càng lớn cần sự lƣu trữ tập chung và chia sẻ có hiệu quả giữa các máy tính với nhau; có thể cập nhật tình trạng và chia sẻ một cách dễ dàng do đó việc dùng các đối tƣợng từ xa là một cách tuyệt vời để dùng lại mã nguồn ở mức ứng dụng trên một máy cục bộ. Ta cần xây dựng các ứng dụng kiến trúc hƣớng dịch vụ Web cung cấp các dịch vụ truy cập các đối tƣợng từ xa có hiệu quả và cập nhật một cách đơn giản nhanh chóng. Tuy nhiên các công nghệ trƣớc đây nhƣ COM+ và CORBA rất khó cài đặt mà chi phí bảo trì lại cao. Hơn thế nữa, đối với trƣờng hợp của CORBA thì giá rất cao để mua bản quyền hoạt động. Web Services đƣợc đƣa ra là làm cho việc tạo các đối tƣợng từ xa trở thành hiện thực. Và hiện nay, Microsoft cho ra đời công nghệ mới WCF đƣợc phát triển trên nền tảng .NET Framework 3.x, một tiện ích trong Visual studio 2008 cho phép xây dựng các ứng dụng kiến trúc hƣớng dịch vụ Web một cách dễ dàng và hiệu quả. Do vậy, em nghiên cứu về đề tài: “Xây dựng ứng dụng kiến trúc hƣớng dịch vụ web trên nền tảng WCF”. GVHD: Ths. Nguyễn Thanh Hƣơng SVTH: Lê Thị Hạnh My – Lớp CNTT47 Website: http://www.docs.vn Email : [email protected] Tel : 0918.775.368 4 Xây dựng ứng dụng kiến trúc hƣớng dịch vụ Web trên nền tảng WCF CHƢƠNG I: TỔNG QUAN I. 1 Giới thiệu đơn vị thực tập I.1.1 Giới thiệu chung Tên giao dịch: Công ty cổ phần phần mềm Quản lý Hiện Đại Tên viết tắt: HIENDAI SOFTWARE COMPANY Địa chỉ trụ sở chính: Phòng 901, nhà CT1-2, KĐT Mễ Trì Hạ, Từ Liêm, HN. Ngày thành lập: 08/09/2004, giấy phép đăng ký kinh doanh số: 0103005227 Loại hình công ty: Công ty cổ phần. Vốn điều lệ: 1 000 000 000VNĐ Giám đốc: Nguyễn Hồng Vinh Người liên lạc: Nguyễn Hồng Vinh – CEO Homepage: http://www.hiendai.com.vn Email: [email protected]; [email protected] Điện thoại: +84–(0)4–3787 5266; 04 2210 7136 Fax: +84–(0)4–3787 5266 Công ty Cổ phần Phần mềm Quản lý Hiện Đại phát triển các giải pháp dựa trên công nghệ của Microsoft ngay từ khi mới thành lập. Sự sáng tạo của công ty bắt nguồn từ tinh thần ham học hỏi, luôn chào đón những ý tƣởng mới, công nghệ mới và con ngƣời mới. Khách hàng của công ty thu đƣợc lợi ích từ những giải pháp chuyên nghiệp về công nghệ và nghiệp vụ, có đƣợc từ kinh nghiệm mà công ty đã trải qua. Công ty có hai bộ phận chính: Phòng Giải pháp Thƣ viện, chuyên nghiệp trong việc phát triển và cung cấp các sản phẩm phần mềm và dịch vụ hỗ trợ cho vấn đề quản lý thông tin tƣ liệu thƣ viện ngày nay; phòng Giải pháp Doanh nghiệp tập trung phát triển các sản phẩm phần mềm và dịch vụ hỗ trợ cho các doanh nghiệp. I.1.2 Sản phẩm & Dịch vụ & Giải pháp  Thiết kế xây dựng các giải pháp phần mềm quản lý thông tin và quản lý doanh nghiệp GVHD: Ths. Nguyễn Thanh Hƣơng SVTH: Lê Thị Hạnh My – Lớp CNTT47 Website: http://www.docs.vn Email : [email protected] Tel : 0918.775.368 5 Xây dựng ứng dụng kiến trúc hƣớng dịch vụ Web trên nền tảng WCF  Thiết kế và xây dựng Website cho các doanh nghiệp và cơ quan Nhà nƣớc  Dịch vụ xử lý dữ liệu  Các hoạt động liên quan đến cơ sở dữ liệu  SchoolLib – Phần mềm tự động hóa thƣ viện và quản lý giáo cụ trƣờng phổ thông.  VILAS – Giải pháp thƣ viện điện tử thƣ viện số với nhiều cấp độ khác nhau theo nhu cầu của thƣ viện o Small version (phiên bản nhỏ) – Giải quyết cơ bản các vấn đề tự động hóa thƣ viện Biên mục, Tra cứu, Quản lý lƣu thông với việc tích hợp công nghệ mã vạch, thẻ từ, hỗ trợ Unicode tiếng Việt. o Standard version (phiên bản chuẩn) – Giải quyết hầu hết các vấn đề tự động hóa trong các khâu nghiệp vụ của thƣ viện: Biên mục, Tra cứu, Quản lý lƣu thông, Quản lý bổ sung, Quản lý ấn phẩm định kỳ, cung cấp khả năng truy cập và tƣơng tác với các thƣ viện khác. Hỗ trợ Unicode cho hầu hết các ngôn ngữ Việt, Anh, Nga, Nhật, Trung Quốc, Hàn Quốc... Giao diện đa ngôn ngữ. Hỗ trợ công nghệ mã vạch thẻ từ. o Advanced version (phiên bản cao cấp) – Hỗ trợ đầy đủ vấn đề tự động hóa các khâu nghiệp vụ trong thƣ viện với các tính năng của phiên bản Standard, ngoài ra còn có các module hỗ trợ công nghệ nhận dạng sóng radio(RFID). Module máy tìm kiếm cung cấp khả năng tìm kiếm toàn văn các tệp tin đính kèm có khả năng thu hồi văn bản, cho phép chỉ mục và tìm kiếm toàn văn cho website mục tiêu.  EASYNOTES – Giải pháp quản lý thông tin nội bộ cho các doanh nghiệp và các tổ chức.Thông qua việc hỗ trợ thu thập, tổ chức lƣu trữ và chia sẻ thông minh các bộ sƣu tập thông tin, EASYNOTES hỗ trợ đắc lực trong việc phối hợp làm việc nhóm, quản lý công việc, quản lý quan hệ khách hàng. EASYNOTES đƣợc thiết kế đặc biệt theo phƣơng thức điều khiển hƣớng sự GVHD: Ths. Nguyễn Thanh Hƣơng SVTH: Lê Thị Hạnh My – Lớp CNTT47 Website: http://www.docs.vn Email : [email protected] Tel : 0918.775.368 6 Xây dựng ứng dụng kiến trúc hƣớng dịch vụ Web trên nền tảng WCF kiện, giúp cho việc sử dụng dễ dàng và thuận tiện hơn. EASYNOTES đƣợc tích hợp nhiều module giúp bạn có thể tối đa hóa giá trị của thông tin.  JetPotal – Công nghệ cổng thƣ viện: Ứng dụng công nghệ AJAX và công nghệ tìm kiếm đa tiến trình tốt nhất Việt nam hiện nay, JetPortal là giải pháp tổ chức thông tin phân tán cho các thƣ viện lớn với các bộ sƣu tập lên đến hàng chục triệu biểu ghi.  PowerCat 2.0 - Công cụ thu hồi biểu ghi thƣ mục tốt nhất Việt Nam, tìm kiếm trên gần 1000 CSDL thƣ viện trên thế giới, hiệu chỉnh biểu ghi bằng Marc Editor, Tra giá sách từ Amazon. Công cụ tốt nhất hỗ trợ làm hồi cố sách cho thƣ viện.  CDROM Publishing – Công nghệ xuất bản các CSDL thƣ mục và toàn văn trên CDROM. Ứng dụng các công nghệ nền tảng, giải pháp chất lƣợng cao với giá hợp lý.  KIPOS là một giải pháp tổng thể cho thƣ viện thế hệ mới o Chức năng bao trùm các hoạt động của thƣ viện hiện đại:  Tự động hóa các khâu nghiệp vụ của thƣ viện  Cung cấp dịch vụ thƣ viện số  Các công cụ xuất bản thông tin o Các nguyên tắc phát triển chính:  Hƣớng bạn đọc (Patron Oriented Architechture): Xuất phát thiết kế trên quan điểm tối đa hóa dịch vụ cho bạn đọc.  Tiêu chuẩn hóa: Tiếp tục ứng dụng những tiêu chuẩn nghiệp vụ mới nhất vào việc xây dựng hệ thống để tăng cƣờng tối đa khả năng tƣơng tác với các hệ thống khác trên toàn thế giới.  Kiến trúc công nghệ hƣớng dịch vụ (Service Oriented Architechture) - kiến trúc công nghệ tốt nhất cho hệ thống phần mềm lớn hiện nay, đem lại khả năng dễ dàng tích hợp phát triển mở rộng. GVHD: Ths. Nguyễn Thanh Hƣơng SVTH: Lê Thị Hạnh My – Lớp CNTT47 Website: http://www.docs.vn Email : [email protected] Tel : 0918.775.368 7 Xây dựng ứng dụng kiến trúc hƣớng dịch vụ Web trên nền tảng WCF  Collab ERP là một trong những giải pháp tốt nhất hỗ trợ những yêu cầu kinh doanh nền tảng, cho phép thích ứng với những thay đổi, tích hợp hoàn chỉnh, và dễ dàng phối hợp thông qua Internet. Với Collab ERP, công ty đã đƣa vào tầm nhìn về vấn đề tự động hóa các quá trình kinh doanh và lợi ích mà nó đem lại cho một doanh nghiệp bằng việc phối kết hợp chặt chẽ khách hàng, đối tác, và các nhà cung cấp. Điều này thúc đẩy sự sáng tạo và hỗ trợ sự lớn mạnh trong tƣơng lai công việc kinh doanh của bạn.  GIATỘC - Trợ giúp các gia đình, dòng họ xây dựng, lƣu trữ và truyền bá thông tin về quá trình phát triển giống nòi của dòng tộc cho muôn đời sau. Để cho anh em trong họ gần gũi nhau hơn, con cháu mỗi nhà tự hào về tổ tông, để cho sự hiện đại không làm mất đi văn hóa hƣớng cội nguồn của nhân dân ta. I.1.3 Kinh nghiệm Phân loại Cơ sở dữ liệu Công nghệ Library Automation, Digital Library: C++, C#, VB.NET. My SQL 200X Vilas, SchoolLib, KIPOS Z39.50 protocol Office Management: Easr Notes C# MSDE 2000 Enterprise Resource Planning: C++, C#, VB.NET MS SQL 2005 Collab ERP Networking Application: Easy Notes C++, C#, VB.NET, Sharp Webmail Client.JetPortal, PowerCat Webmail Yaz toolkit ePublishing Zebra, C++, C#, VB.NET, Z39.50 protocol Quản lý gia phả: Gia tộc C#, netron graphic MS Access library. GVHD: Ths. Nguyễn Thanh Hƣơng SVTH: Lê Thị Hạnh My – Lớp CNTT47 Website: http://www.docs.vn Email : [email protected] Tel : 0918.775.368 8 Xây dựng ứng dụng kiến trúc hƣớng dịch vụ Web trên nền tảng WCF I.1.4 Các đối tác chiến lƣợc  Tập đoàn IGroup (www.igroupnet.com): Công ty cung cấp dịch vụ kỹ thuật hỗ trợ triển khai và bảo hành bảo trì cho nhiều sản phẩm của IGroup tại Việt nam: ELIB, VIRTUA. Ngoài ra chúng tôi thực hiện một số các hợp đồng phát triển phần mềm theo yêu cầu cho tập đoàn này.  Công ty TNHH Nam Hoàng (www.namhoang.com.vn): Công ty cung cấp nhiều giải pháp xuất bản điện tử, dịch vụ phát triển phần mềm và hỗ trợ kỹ thuật cho Công ty Nam Hoàng.  Công ty I&COM Hàn Quốc (www.nuv.co.kr): Công ty cung cấp dịch vụ gia công phần mềm cho khách hàng của I&COM với các sản phẩm chủ yếu là các giải pháp ERP (Enterprise Resource Planning – Quản lý doanh nghiệp tổng thế) và KM (Knowledge Management – Quản lý tri thức).  Công ty Phần mềm Trí tuệ ISoftCo (www.isoftco.com): Là đối tác với Công ty, cùng nhau chia sẻ tài nguyên I.2 Tổng quan đề tài I.2.1 Mục tiêu của đề tài  Nghiên cứu tổng quan về WCF đƣa ra đƣợc cách thức ứng dụng WCF để xây dựng ứng dụng hƣớng dịnh vụ SOA  Phân tích đƣợc lợi ích của kiến trúc hƣớng dịch vụ so với các kiến trúc cũ. I.2.2 Ngôn ngữ triển khai _ Ngôn ngữ lập trình hƣớng đối tƣợng trong môi trƣờng .NET : C# _ Tính hƣớng đối tƣợng của C#  Cú pháp thừa kế trong C#, các chức năng ảo, và các tính năng liên quan.  Những phƣơng thức nạp chồng: C# cho phép bạn định nghĩa những dạng khác nhau của một phƣơng thức trong một lớp. Trình biên dịch sẽ tự động chọn phƣơng thức nào thích hợp nhất dựa vào tham số truyền vào của nó.  Construction và Destruction: Nó chỉ rõ cách mà một đối tƣợng khởi tạo sẽ có một số hành động tự động kèm theo và tự động giải phóng khi kết thúc. GVHD: Ths. Nguyễn Thanh Hƣơng SVTH: Lê Thị Hạnh My – Lớp CNTT47 Website: http://www.docs.vn Email : [email protected] Tel : 0918.775.368 9 Xây dựng ứng dụng kiến trúc hƣớng dịch vụ Web trên nền tảng WCF  Struct: là những kiểu giá trị mà cung cấp những tiện nghi khi bạn cần một số tính năng của một lớp mà không cần phải vất vả tạo ra một thực thể lớp cho phức tạp.  Nạp chồng toán hạng: sẽ kiểm tra cách để định nghĩa những toán hạng cho lớp của bạn.  Indexers: Cho phép một lớp đƣợc xử lý chỉ mục khi nó là một mảng và có thể đơn giản hoá cách sử dụng những lớp chứa các tập đối tƣợng.  Giao diện : C# hỗ trợ thừa kế giao diện tốt nhƣ thừa kế thực thi, bạn sẽ đƣợc biết rõ hơn ở phần sau. GVHD: Ths. Nguyễn Thanh Hƣơng SVTH: Lê Thị Hạnh My – Lớp CNTT47 Website: http://www.docs.vn Email : [email protected] Tel : 0918.775.368 10 Xây dựng ứng dụng kiến trúc hƣớng dịch vụ Web trên nền tảng WCF CHƢƠNG II: KIẾN TRÚC HƢỚNG DỊCH VỤ - SOA II.1. Tổng quan SOA - Service Oriented Architecture (Kiến trúc hƣớng Dịch vụ), theo định nghĩa của DotNetGuru, là 'Khái niệm về hệ thống trong đó mỗi ứng dụng đƣợc xem nhƣ một nguồn cung cấp dịch vụ'. Dịch vụ là yếu tố then chốt trong SOA. Có thể hiểu dịch vụ nhƣ là hàm chức năng (mô-đun phần mềm) thực hiện qui trình nghiệp vụ nào đó. Một cách cơ bản, SOA là tập hợp các dịch vụ kết nối 'mềm dẻo' với nhau (nghĩa là một ứng dụng có thể 'nói chuyện' với một ứng dụng khác mà không cần biết các chi tiết kỹ thuật bên trong), có giao tiếp (dùng để gọi hàm dịch vụ) đƣợc định nghĩa rõ ràng và độc lập với nền tảng hệ thống, và có thể tái sử dụng. SOA là cấp độ cao hơn của phát triển ứng dụng, chú trọng đến qui trình nghiệp vụ và dùng giao tiếp chuẩn để giúp che đi sự phức tạp kỹ thuật bên dƣới. Thiết kế 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ụ. SOA dựa trên 2 nguyên tắc thiết kế quan trọng:  Mô-đun: Tách vấn đề lớn thành nhiều vấn đề nhỏ.  Đóng gói: Che đi dữ liệu và lô-gic trong từng mô-dun (hay 'hộp đen') đối với truy cập từ ngoài. II.2. Các yêu cầu Để sử dụng hiệu quả kiến trúc hƣớng dịch vụ, điều đầu tiên phải phù hợp các yêu cầu sau đây:  Thao tác giữa các hệ thống khác nhau và các ngôn ngữ lập trình cung cấp cơ sở cho sự tích hợp giữa các ứng dụng trong các nền tảng khác nhau thông GVHD: Ths. Nguyễn Thanh Hƣơng SVTH: Lê Thị Hạnh My – Lớp CNTT47 Website: http://www.docs.vn Email : [email protected] Tel : 0918.775.368 11 Xây dựng ứng dụng kiến trúc hƣớng dịch vụ Web trên nền tảng WCF qua một giao thức giao tiếp. Một ví vụ về sự giao tiếp là dựa trên khái niệm chung của thông điệp. Sử dụng thông tiệp đƣợc định nghĩa qua các kênh thông điệp làm giảm độ phức tạp của các ứng dụng cuối do đó cho phép ngƣời phát triển ứng dụng tập trung chức năng thiết thực của ứng dụng thay vì sự phức tạp cần thiết của một giao thức giao tiếp.  Mong muốn tạo ra một tài nguyên liên hợp. Thiết lập và duy trì luồng dữ liệu vào một liên hợp kho dữ liệu. Điều này cho phép chức năng mới đƣợc phát triển để tham chiếu đến một quy cách kinh doanh chung đối với mỗi yêu tố dữ liệu. II.3. Các yếu tố cơ bản Nguyên tắc định nghĩa nguyên lý làm nền tảng cơ bản cho sự phát triển, duy trì và sử dụng kiến trúc hƣớng dịch vụ (SOA).  Dùng lại, tính có nhân, môđun, tính sáng tạo, tính hợp thành, tính di chuyển đƣợc, và thao tác các phần.  Tiêu chuẩn hoá lệnh (đồng thời cả công nghệ chung và riêng)  Xác minh và phân loại các dịch vụ, cung cấp và phân phát, kiểm tra và theo dõi. Các yếu tố kiến trúc cơ bản cho thiết kế và tập trung định nghĩa dịch vụ trong chủ đề cụ thể ảnh hƣởng cách xử lý bên trong của một hệ thống và kiểu dáng thiết kế của nó:  Đóng gói dịch vụ - Rất nhiều dịch vụ web đƣợc hợp nhất để sử dụng dƣới kiến trúc hƣớng dịch vụ. Thƣờng là các dịch vụ không có kế hoạch để sự dụng bên dƣới kiến trúc hƣớng dịch vụ (SOA).  Sự kết nối lỏng lẻo dịch vụ - Các dịch vụ duy trì mỗi quan hệ phụ thuộc nhỏ nhất và chỉ phụ thuộc vào cái họ duy trì sự nhận biết qua lại với nhau.  Hợp đồng dịch vụ - Các dịch vụ tham gia để thoả thuận các kết nối, nhƣ là nói chung đƣợc định nghĩa bằng một hay nhiều hơn các văn bản mô tả dịch vụ. GVHD: Ths. Nguyễn Thanh Hƣơng SVTH: Lê Thị Hạnh My – Lớp CNTT47 Website: http://www.docs.vn Email : [email protected] Tel : 0918.775.368 12 Xây dựng ứng dụng kiến trúc hƣớng dịch vụ Web trên nền tảng WCF  Khái niệm dịch vụ: Ngoài ra hợp đồng dịch vụ đƣợc miêu tả là gì, các dịch vụ ẩn những nguyên lý thiết kế máy tính đối với thế giới bên ngoài.  Service reusability – các thiết kế máy tính đƣợc chia ra trong các dịch vụ với mục đích tăng cấp có thể dùng lại.  Service composability – Tập hợp các dịch vụ có thể coordinates và thu thập lại từ các dịch vụ ghép lại.  Quyền tự trị của dịch vụ – Các dịch vụ có quyền điều khiển trên toàn bộ các nguyên lý thiết kế máy tính họ tóm lƣợc.  Sự tối ƣu các dịch vụ - Tất cả ngang bằng nhau, các dịch vụ chất lƣợng cao thông thƣờng thích hợp với một dịch vụ chất lƣợng thấp.  Service discoverability – Các dịch vụ đƣợc thiết kế để miêu tả hƣớng ra bên ngoài vì vậy chúng có thể đƣợc tìm thấy và đƣợc truy cập qua cơ chế tìm kiếm sẵn có.  Dịch vụ liên quan – Chức năng hiện diện tại granularity đƣợc chấp nhận bởi ngƣời sử dụng nhƣ là một dịch vụ có ý nghĩa. II.4. Cách tiếp cận các dịch vụ Web Dịch vụ Web có thể thực thi một kiến trúc hƣớng dịch vụ. Dịch vụ Web là chức năng khối làm sẵn để xây dựng có thể sử dụng đƣợc trên toàn bộ các giao thức Internet chuẩn không phụ thuộc vào các nền tảng và các ngôn ngữ lập trình. Các dịch vụ có thể là các ứng dụng mới hoặc chỉ là các hệ thống kế thừa bên trong để làm cho chúng có khả năng mạng. Mỗi SOA xây dựng một khối có thể phát một hoặc đồng thời hai vai trò: II.4.1 Ngƣời cung cấp dịch vụ Ngƣời cung cấp dịch vụ tạo một dịch vụ Web, có thể công bố giao diện của nó và truy cập thông tin để đăng ký dịch vụ. Mỗi ngƣời cung cấp phải lựa chọn dịch vụ để đƣa ra, thoả hiệp giữa bảo mật và tính sẵn có thoải mái nhƣ thế nào, giá dịch vụ nhƣ thế nào, hoặc (nếu không áp dụng trách nhiệm) khai thác chúng với giá trị khác nhau nhƣ thế nào. Ngƣời cung cấp cũng có quyền quyết định loại dịch vụ gì nên đƣợc liệt kê cho dịch vụ môi giới đƣợc đƣa ra và sắp xếp các thoả thuận đối tác GVHD: Ths. Nguyễn Thanh Hƣơng SVTH: Lê Thị Hạnh My – Lớp CNTT47 Website: http://www.docs.vn Email : [email protected] Tel : 0918.775.368 13 Xây dựng ứng dụng kiến trúc hƣớng dịch vụ Web trên nền tảng WCF kinh doanh đƣợc yêu cầu sử dụng dịch vụ là gì. Nó đăng ký dịch vụ gì là sẵn có bên trong nó, và danh sách tất cả những ngƣời tiếp nhận dịch vụ tiềm năng. Công cụ của ngƣời môi giới quyết định phạm vi của ngƣời môi giới. Công bố ngƣời môi giới là sẵn có thông qua Internet, khi ngƣời môi giới riêng là chỉ sử dụng đƣợc tới một số ngƣời xem giới hạn (Ví dụ: Ngƣời sử dụng của mạng nội bộ một công ty). II.4.2. Ngƣời yêu cầu dịch vụ Ngƣời yêu cầu dịch cụ hoặc máy khách dịch vụ Web xác định vị trí mục trong đăng ký ngƣời môi giới sử dụng hoạt động tìm kiếm khác nhau và nối kết tới ngƣời cung cấp dịch vụ trong đơn đặt hàng để yêu cầu một trong những dịch vụ Web của nó. Dịch vụ mà ngƣời yêu cầu dịch vụ cần họ mang vào trong những ngƣời môi giới tiếp đó liên kết với dịch vụ tƣơng ứng sau đó sử dụng nó. Chúng có thể truy cập đa dịch vụ nếu dịch vụ cung cấp đa dịch vụ. II.5 Kiến trúc hướng dịch vụ và Lập trình hướng đối tượng (SOA và OOP) SOA sử dụng cùng một số nguyên lý nhƣ OOP, tuy nhiên SOA có khác biệt đáng kể so với OOP. SOA có thể thực hiện với cả chƣơng trình theo hƣớng đối tƣợng (OO) và chƣơng trình không hƣớng đối tƣợng. Lớp logic nghiệp vụ Lớp thể hiện Đối tƣợng nghiệp vụ Lớp truy cập dữ liệu Đối tƣợng nghiệp vụ Đối tƣợng nghiệp vụ Đối tƣợng nghiệp vụ Đối tƣợng nghiệp vụ Hình II.5.1: Kiến trúc ba cấp tiêu biểu của mô hình đối tượng Xem hình II.5.1, ta thấy rằng sự ràng buộc giữa lớp thể hiện và các đối tƣợng của lớp nghiệp vụ. Chƣơng trình client phải tƣơng tác với mô hình đối tƣợng của lớp nghiệp vụ, điều này làm tăng sự ràng buộc và yêu cầu số lƣợng đáng kể các 'gọi hàm' giữa các hai lớp. Khi các đối tƣợng nghiệp vụ nằm ở máy tính xa thì đây sẽ là vấn đề. Tƣơng tự, số lƣợng đối tƣợng nghiệp vụ mà lớp thể hiện phải thao tác làm giảm sự độc lập giữa các lớp và làm cho khó sử dụng lớp nghiệp vụ. GVHD: Ths. Nguyễn Thanh Hƣơng SVTH: Lê Thị Hạnh My – Lớp CNTT47 Website: http://www.docs.vn Email : [email protected] Tel : 0918.775.368 14 Xây dựng ứng dụng kiến trúc hƣớng dịch vụ Web trên nền tảng WCF Lớp thể hiện Lớp dịch vụ Lớp logic nghiệp vụ Dịch vụ Đối tƣợng nghiệp vụ Dịch vụ Đối tƣợng nghiệp vụ Đối tƣợng nghiệp vụ Lớp truy cập dữ liệu Đối tƣợng nghiệp vụ Đối tƣợng nghiệp vụ Hình II.5.2: Mô hình SOA phát triển lên từ mô hình đối tượng Xem hình II.5.2, chúng ta có thể thấy sự khác biệt giữa SOA và mô hình đối tƣợng chính là lớp mới 'Services'. Lớp thể hiện giờ đây không còn thao tác trực tiếp lên các đối tƣợng nghiệp vụ nữa, mà sử dụng dịch vụ để truy cập chúng. Các đối tƣợng nghiệp vụ đƣợc đặt trong thƣ viện và đƣợc dịch vụ nạp vào bộ nhớ - lớp dịch vụ và lớp nghiệp vụ nằm trong cùng tiến trình, nhờ vậy lời gọi hàm đến đối tƣợng nghiệp vụ sẽ không hề bị quá tải. Dịch vụ đóng vai trò nhƣ 'hộp đen': cung cấp một lớp trung gian cho mô hình đối tƣợng và đƣa ra tập chức năng rút gọn, làm giảm nhu cầu trao đổi giữa các lớp. II.6. Kiến trúc hướng dịch vụ và các dịch vụ Web (SOA và Web Service) Đặc điểm chính của SOA là tách rời phần giao tiếp với phần thực hiện dịch vụ. Điều này có thể làm bạn liên tƣởng đến một công nghệ đƣợc đề cập nhiều gần đây: Dịch vụ web. Dịch vụ web cho phép truy cập thông qua định nghĩa giao thứcvà giao tiếp. SOA và dịch vụ web thoạt trông có vẻ giống nhau nhƣng chúng không phải là một. Về cơ bản, SOA là kiến trúc phần mềm phát xuất từ định nghĩa giao tiếp và xây dựng toàn bộ mô hình ứng dụng nhƣ là mô hình các giao tiếp, hiện thực giao GVHD: Ths. Nguyễn Thanh Hƣơng SVTH: Lê Thị Hạnh My – Lớp CNTT47 Website: http://www.docs.vn Email : [email protected] Tel : 0918.775.368 15 Xây dựng ứng dụng kiến trúc hƣớng dịch vụ Web trên nền tảng WCF tiếp và phƣơng thức gọi giao tiếp. Giao tiếp là trung tâm của toàn bộ triết lý kiến trúc này; thực ra, tên gọi 'kiến trúc hƣớng giao tiếp' thích hợp hơn cho SOA. Dịch vụ và module phần mềm nghiệp vụ đƣợc truy cập thông qua giao tiếp, thƣờng theo cách thức yêu cầu - trả lời. Ngay cả với yêu cầu dịch vụ một chiều thì nó vẫn là yêu cầu trực tiếp có chủ đích từ một phần mềm này đến một phần mềm khác. Một tƣơng tác định hƣớng dịch vụ luôn bao hàm một cặp đối tác: nguồn cung cấp dịch vụ và khách hàng sử dụng dịch vụ. Định nghĩa cơ bản của dịch vụ web dựa trên một nền tảng khác: Tập hợp các công nghệ WSDL, SOAP và UDDI, cho phép xây dựng các giải pháp lập trình cho vấn đề tích hợp ứng dụng và truyền thông điệp. Rõ ràng, theo định nghĩa thì dịch vụ là đặc tả công nghệ còn SOA là triết lý thiết kế phần mềm. Dịch vụ web đƣa ra giải pháp kỹ thuật để thực hiện SOA nhƣng SOA cũng có thể thực hiện với các giải pháp kỹ thuật khác không phải dịch vụ web (và không phải tất cả các dịch vụ web đều có kiến trúc SOA). Tuy vậy, SOA và dịch vụ web có mối quan hệ tƣơng hỗ: sự phổ biến của dịch vụ web thúc đẩy sự phát triển của SOA, và kiến trúc tốt của SOA sẽ giúp dịch vụ web thành công. II.7. Hợp đồng dịch vụ Một hợp đồng dịch vụ cần có những thành phần sau:  Phần tiêu đề +) Tên – Tên của dịch vụ. Nên ngắn gọn trong thuật ngữ chung nó là gì nhƣng không chỉ là định nghĩa +) Phiên bản – phiên bản của hợp đồng dịch vụ đó +) Ngƣời sở hữu – Ngƣời/ nhóm phụ trách dịch vụ. +) RACI GVHD: Ths. Nguyễn Thanh Hƣơng SVTH: Lê Thị Hạnh My – Lớp CNTT47 Website: http://www.docs.vn Email : [email protected] Tel : 0918.775.368 16 Xây dựng ứng dụng kiến trúc hƣớng dịch vụ Web trên nền tảng WCF - Trách nhiệm (Responsible) – Vai trò/ ngƣời/ nhóm có trách nhiệm đối với việc phân phát hợp đồng/ dịch vụ này. Tất cả phiên bản của hợp đồng. - Chịu trách nhiệm (Accountable) – Ngƣời đƣa ra quyết định cuối cùng trong điều khoản của hợp đồng/ dịch vụ này. - Tra cứu – Ngƣời nào đó phải đƣợc tra cứu trƣớc khi hành động là lựa chọn hợp đồng/ dịch vụ này. Đó là hai cách thức giao tiếp. Những ngƣời này có một ảnh hƣởng trong sự quyết định và/ hoặc sự thực hiện quyết định đó. - Hiểu biết – Ngƣời nào đó phải hiểu biết mà một quyết định hoặc hành động đƣợc chọn. Đó là một cách thức giao tiếp. Những ngƣời am hiểu bởi việc quyết định hoặc thi hành quyết định đó, nhƣng không có sự điều khiển trên toàn bộ hành động. +) Kiểu – Đây là kiểu dịch vụ để trợ giúp phân biệt tầng nào mà nó thuộc vào. Sự thực hiện khác nhau sẽ có các kiểu dịch vụ khác nhau. Ví dụ: Các kiểu dịch vụ bao gồm: Sự trình diễn, Xử lý, Kinh doanh, Dữ liệu, Tích hợp, Chức năng. +) Yêu cầu chức năng (từ văn bản các yêu cầu) – Trình bày ngắn gọn tính chức năng trong các mục cụ thể đƣợc đánh dấu dịch vụ này hoàn thành chính xác là gì. Ngôn ngữu nên cho phép các trƣờng hợp kiểm tra để chức minh chức năng đó đã đƣợc hoàn thành. +) Các hoạt động dịch vụ - Phƣơng thức, hành động… Phải đƣợc định nghĩa về những phần nào chức năng đó cung cấp. +) Sự dẫn chứng – chỉ ra phƣơng tiện dẫn chứng của dịch vụ. Nó bao gồm URL, giao diện …Chúng có thể nhiều đƣờng dẫn dẫn chứng cho dịch vụ giống nhau. Chúng tôi có thể có những tính năng giống nhau cho một máy khách bên trong và bên ngoài với các phƣơng tiện dẫn chứng và giao diện khác nhau. Ví dụ: SOAP, REST, Events Triggers.  Tính phi chức năng GVHD: Ths. Nguyễn Thanh Hƣơng SVTH: Lê Thị Hạnh My – Lớp CNTT47 Website: http://www.docs.vn Email : [email protected] Tel : 0918.775.368 17 Xây dựng ứng dụng kiến trúc hƣớng dịch vụ Web trên nền tảng WCF +) Các ràng buộc bảo mật – Xác định ngƣời có thể thực hiện dịch vụ này về phƣơng diện vai trò hoặc cá nhân các đối tác …và cơ chế dấn chứng mà chúng có thể dẫn chứng. +) Chất lƣợng dịch vụ - Xác định tốc độ sai cho phép +) Sự thực hiện – Năng lực của các hoạt động này nhƣ là một phần của sự thực hiện lớn hơn không và nếu vậy chúng ta điều khiển chũng nhƣ thế nào? +) Thoả thuận mức dịch vụ - Xác định số lƣợng góc trễ dịch vụ đƣợc cho phéo để có thể thực thi các hành động của nó. +) Ngữ nghĩa học – Tuyên bố hoặc xác định rõ ý nghĩa của thuật nghữ trong mô tả và giao diện của dịch vụ. +) Quá trình – Miêu tả quá trình nếu bất kỳ của hợp đồng dịch vụ. II.8. SOA và các kiến trúc cũ II.8.1 SOA và kiến trúc kinh doanh SOA đã thu đƣợc vị trí nhƣ là một cơ chế cho việc định nghĩa các dịch vụ kinh doanh và các mô hình hoạt động và do đó cung cấp một cấu trúc cho CNTT để phân phát ngƣợc lại các yêu cầu kinh doanh trên thực tế và sửa lại cho hợp trong cách thức tƣơng tự đối với kinh doanh. Mục đích của việc sử dụng SOA nhƣ một công cụ ánh xạ kinh doanh là để chắc chắn rằng dịch vụ đƣợc tạo một cách đúng đắn miêu tả tổng quan kinh doanh và không chỉ là kỹ sƣ công nghệ nghĩ các dịch vụ kinh doanh nên có gì. Tại trung tâm của kế hoạch SOA là quá trình của việc xác định các kiến trúc để sử dụng thông tin trong hỗ trợ kinh doanh và kế hoạch cho việc thi hành các kiến trúc này. Kiến trúc hoạt động kinh doanh nên luôn luôn miêu tả mức cao nhất và kiến trúc có ƣu thế nhất. Mọi dịch vụ nên đƣợc tạo với mục đích đƣa ra giá trị hƣớng tới kinh doanh trong một vài phƣơng pháp và phải vạch ra đằng sau kiến trúc kinh doanh. II.8.2 SOA và kiến trúc quản lý mạng Quản lý mạng liên quan tới các hoạt động, các phƣơng thức, các thủ tục và các công cụ mà gắn liên với tổ chức, sự quản trị, sự duy trì và sự cung cấp của các hệ thống mạng. GVHD: Ths. Nguyễn Thanh Hƣơng SVTH: Lê Thị Hạnh My – Lớp CNTT47 Website: http://www.docs.vn Email : [email protected] Tel : 0918.775.368 18 Xây dựng ứng dụng kiến trúc hƣớng dịch vụ Web trên nền tảng WCF  Tổ chức chịu trách nhiệm với việc duy trì mạng (các dịch vụ mà mạng cung cấp) và việc chạy tốt. Nó bao gồm màn hình mạng để phát hiện các vẫn đề một cách sớm nhất có thể, theo nhƣ lý tƣởng trƣớc khi ngƣời sử dụng thiếu chân thực.  Ngƣời quản trị chịu trách nhiệm với việc duy trì kiểm tra các tài nguyên trong mạng và chúng đƣợc gán nhƣ thế nào. Nó bao gồm tất cả “những việc quản gia - housekeeping” là cần thiết để giữ mạng trong sự điều khiển.  Sự duy trì liên quan tới việc thực hiện sửa chữa và nâng cấp – ví dụ khi thiết bị phải thay thế, khi router cần một đƣờng dẫn cho một ảnh hệ điều hành, khi switch mới đƣợc thêm vào một mạng. Sự duy trì cũng bao hàm các biện pháp hiệu chỉnh và ngăn ngừa để làm cho mạng đƣợc quản lý hoạt động “ tốt hơn”, nhƣ là điều chỉnh các tham số cấu hình thiết bị.  Sự cung cấp liên quan tới định cấu hình các tài nguyên trong mạng để hỗ trợ đƣa ra các dịch vụ. Ví dụ, Sự cung cấp có thể bao gồm thiết lập mạng để một khách hàng mới có thể nhận dịch vụ âm thanh. Các chức năng đƣợc thực hiện nhƣ là một phần của việc quản lý mạng do đó bao gồm kiểm soát, lập kế hoạch, định phần, triển khai, kết nối và kiểm tra tài nguyên của một mạng, lập kế hoạch mạng, tần số định phần, lộ trình lƣu lƣợng đƣợc định trƣớc để hỗ trợ cân bằng tải, quyền hạn phân phát khoá mật mã, quản lý cấu hình, quản lý lỗi, quản lý bảo mật, quản lý thực hiện, quản lý độ rộng giải tần, và quản lý tài khoản. Số lƣợng lớn các phƣơng thức truy nhập tồn tại để hỗ trợ mạng và quản lý thiết bị mạng. Các phƣơng thức truy nhập bao gồm SNMP, CLIs, XML tuỳ chỉnh, CMIP, WMI, Transaction Language 1, CORBA, netconf và JMX. Dữ liệu cho việc quản lý mạng đƣợc sƣu tập thông qua các cơ chế khác nhau. II.9 Lợi ích khi sử dụng SOA II.9.1 Ƣu điểm và nhƣợc điểm của SOA Ƣu điểm quan trọng nhất của SOA là khả năng kết nối 'mềm dẻo' (nhờ sự chuẩn hóa giao tiếp) và tái sử dụng. Các dịch vụ có thể đƣợc sử dụng với trình GVHD: Ths. Nguyễn Thanh Hƣơng SVTH: Lê Thị Hạnh My – Lớp CNTT47 Website: http://www.docs.vn Email : [email protected] Tel : 0918.775.368 19 Xây dựng ứng dụng kiến trúc hƣớng dịch vụ Web trên nền tảng WCF client chạy trên nền tảng bất kỳ và đƣợc viết với ngôn ngữ bất kỳ. (Ví dụ, ứng dụng Java có thể liên kết với dịch vụ web .NET và ngƣợc lại). Nhƣợc điểm: Hệ thống phức tạp, khó miêu tả dữ liệu không cấu trúc trong phần đầu của thông điệp. II.9.2 Lợi ích  Độc lập hệ thống: Những dịch vụ không phụ thuộc vào hệ thống và mạng cụ thể.  Có khả năng tái sử dụng.  Khả năng hồi đáp thích nghi tốt và nhanh hơn để đáp ứng với sự thay đổi về yêu cầu giao dịch.  Cho phép dễ dàng triển khai chƣơng trình, môi trƣờng chạy và quản lý dịch vụ dễ dàng hơn.  Kiến trúc kết nối lỏng lẻo cho phép dễ dàng tích hợp thành phần những chƣơng trình hay những dịch vụ phức tạp từ những dịch vụ đơn giản.  Cho phép Service Consumers tìm kiếm và kết nối với những dịch vụ động khác.  Những sự xác nhận và chứng minh của Service Consumer về những tính năng bảo mật dựa trên giao tiếp dịch vụ tốt hơn cơ chế kết nối chặt chẽ. GVHD: Ths. Nguyễn Thanh Hƣơng SVTH: Lê Thị Hạnh My – Lớp CNTT47 Website: http://www.docs.vn Email : [email protected] Tel : 0918.775.368 20 Xây dựng ứng dụng kiến trúc hƣớng dịch vụ Web trên nền tảng WCF TÀI LIỆU THAM KHẢO 1. Ebook Windows Communication Foundation Unleashed 2. Các trang Web về WCF + http://www.authorstream.com + http://www.cornerstone.se +http://greatfriends.biz/files/EnterpriseGoVista25May2006IntroductionToWCF-SuthepAtGreatFriendsDotBiz.pdf +http://rickgaribay.net/Resources/PublishedContent/Introducing%20The%20 ABCs%20of%20WCF%20AZNET.pdf + http://www.liva.com.vn/ + http://forums.congdongcviet.com + http://msdn.microsoft.com/en-us/library + http://www.htmedsoft.com/kythuat/congngheweb/congngheweb011.htm + http://www.tuyenquangonline.net/archive/index.php/t-15575.html + http://www.3cdotcom.vn/printContent.aspx?ID=4883 + http://en.wikipedia.org/wiki/Business_architecture 3. Tài liệu giới thiệu công ty cổ phần phần mềm Quản lý Hiện Đại và thông tin trên trang Web http://www.hiendai.com.vn GVHD: Ths. Nguyễn Thanh Hƣơng SVTH: Lê Thị Hạnh My – Lớp CNTT47
- Xem thêm -

Tài liệu liên quan