Nó cung cấp một môi trường đa ngôn ngữ, dựa trên nền các chuẩnvới hiệu nǎng cao, cho phép tích hợp những đầu tư ban đầu với các ứng dụng vàdịch vụ thế hệ kế tiếp và giải quyết những thác
Trang 1PHẦN 1: CƠ SỞ LÝ THUYẾT
Chương 1: TÌM HIỂU VỀ CMS1.1.Định nghĩa CMS
CMS là một hệ thống quản lý các thành phần làm nên nội dung của mộtwebsite Nói cụ thể hơn, CMS là một hệ thống quản lý việc khởi tạo nội dung,quá trình xử lý nội dung đó cho đến khi nó được xuất bản, phân phối cho ngườidùng cuối
Nội dung được quản lý bao gồm computer files, images, media, audiofiles.electronic documents và nội dung web
Ý nghĩa chính của CMS là làm tăng tính tương tác của các file thông quaweb CMS thông thường là sự tương tác giữa hai chiều, mọi người dùng đều cóthể thao tác trên cùng một loại tài liệu Nhiều công ty sử dụng CMS để lưu filedùng chung, bên cạnh đó CMS còn dùng để lưu file, chia sẽ các ứng dụng dùngchung chạy trên server, bao gồm cả việc mở rộng thêm tài liệu Như ví dụ ở trênnhiều hệ thống CMS bao gồm những tính năng cho Web content, và một số tínhnăng cho “WorkFlow process”
Ví dụ như phần mềm cho Wikipedia phát triển chính yếu trên wiki, là một hệthống quản lý nội dung trên website, một website thế hệ thứ 3 mà nội dung trên
đó được xây dựng bởi sự đóng góp kiến thức của nhiều người Tài liệu mà ngườidùng đưa lên có thể là nhiều loại như document, media, …
1.2.Các loại hệ thống CMS
1.2.1 Web Content Management Systems (WCMS)
Là một trong những ứng dụng của hệ thống CMS thiên về việc quản lý nộidung trên web
1.2.2 Enterprise Content Management Systems (ECMS)
ECMS là một hệ thống CMS trên nghĩa toàn diện Nó được sử dụng để quản
lý nội dung trên nhiều phương diện, bao hàm cả Web, in ấn hay bất kỳ một ứng
Trang 2dụng nào ECMS cung cấp nhiều chức năng tốt, phức tạp, và ứng dụng được trênnhiều mục đích khác nhau.
1.2.3 Document Management Systems (DMS)
Về mặt kỹ thuật nó tương đương với CMS, nhưng nó chủ yếu phục vụ choviệc quản lý tài liệu( như là tài liệu Microsoftt Word), nó hữu ích trong việc quản
lý nội dung trong lĩnh vực xuất bản Nó cũng có nhiều chức năng tương tự nhưmọi hệ thống CMS khác
1.2.4 Digital Rights Management Systems (DRMS)
DRMS có thể xem như tương đương hay bổ trợ cho CMS Hệ thống này thiên
về việc quản lý các nội dung trong lĩnh vực Digital như là music hay video
1.2.5 Asset Management Systems (AMS)
Hệ thống này cũng tương đương với một hệ thống CMS thông thường Hệthống này thường dùng trong việc quản lý những nội dung mang tính chất thuộc
đã sẵn sàng, CMS sẽ giúp lấy nội dung và xuất bản chúng Kết thúc của tiến trình
Trang 3xuất bản là bắt đầu của tiến trình hiễn thị nội dung cho người xem Tất cả các tiếntrình đó được quản lý bởi CMS workflow
1.3.2 Tiện ích của CMS
Cho phép những người đóng góp nội dung cho chúng ta có thể tạo nội dung
và lưu trữ chúng trên nơi lưu trữ (Content Authoring)
Cho phép chúng ta theo dõi, điều chỉnh và truy cập vào các tiến trình tạohay xuất bản trong hệ thống của chúng ta Hệ thống sẽ được sắp xếp từ một cách
phức tạp đến đơn giản(Workflow Management).
Thuộc tính này giữ nội dung tổ chức một cách hợp lý và dễ dàng truy cập
Hầu hết CMS sử dụng các cơ sở dữ liệu có sự liên kết với nhau (Content
Storage)
Cho phép chúng ta tổ chức nội dung của chúng ta với metadata và kiểu địnhdạng CMS có những cách khác nhau để tiến hành việc đó, có nhiều cách chophép chúng ta định nghĩa và quản lý metadata và template của chúng ta
(Publication Management)
Cho phép chúng ta trộn nội dung dữ liệu và nội dung format và di chuyển
chúng từ nơi lưu trữ tới nơi được xuất bản (Publishing)
Khả năng thay đổi nội dung tuỳ biến, linh hoạt, dễ dàng
Tiết kiệm chi phí, nhân lực cho đội ngữ biên tập viên mà vẫn mang lại hiệuquả cao
Linh hoạt trong việc nâng cấp từ phiên bản, hệ thống cũ
Trang 4Cơ chế quản lý workflow giúp cho việc quản lý trở nên dễ dàng hơn, các tiếntrình theo dấu nhanh hơn, và nội dung được chuyển tải một cách đồng bộ hơn.Tùy thuộc loại hệ thống của chúng ta là đơn giản hay phức tạp thì các tính năng
sẽ nhiều hay ít
- CMS hỗ trợ mạnh chúng ta trong việc xuất bản nội dung, ví dụ chúng tamuốn nội dung của mình có thể xuất hiện với nhiều dạng thức khác nhau mà chỉvới một thao tác đơn giản, CMS sẽ giúp chúng ta Hay trong trường hợp chúng tamuốn tổng hợp nội dung từ nhiều nguồn thì CMS là lựa chọn tốt nhất Vì CMSkhông giới hạn kiểu người dùng, một người dù không biết gì về kỹ thuật thì cũng
có thể thực hiện đóng góp xây dựng nội dung, việc đó giờ đây không chỉ giới hạncho những người am tường kỹ thuật
1.5.Ứng dụng hệ thống CMS trên web (Web Content Manager System)
1.5.1 Nhu cầu thực tế:
Hiện nay, cơ chế thị trường mở cửa, công nghệ thông tin phát triển mạnh trêntoàn thế giới Nhiều tổ chức, doanh nghiệp ngày nay đều có trang web để quảng
bá thương hiệu, cập nhật thông tin mới của mình cho mọi người truy cập
Để một hệ thống Website hoạt động được, theo cách cũ trước đây, đầu tiênphải xây dựng tập hợp các trang web, mỗi trang web được phát triển từ một công
cụ lập trình như HTML, ASP, PHP, Dreamware đây là công việc của các kỹthuật viên tin học chuyên nghiệp và thời gian đáng kể cho một hệ thống website,Tuy nhiên nó lại không tạo điều kiện thuận lợi cho người dùng, vì tính mở vàtính thân thiện trong quản trị không cao
Hiện nay trên thế giới đã phổ biến công nghệ có thể giải quyết vấn đề nàymột cách nhanh gọn, đó là hệ quản trị nội dung CMS
CMS rất dễ để tạo mới một trang web, hay phát triển từ một trang có sẵn.Hầu hết các website dựa chủ yếu trên ngôn ngữ HTML và đòi hỏi hiểu biết một
số kỹ thuật để update (kỹ năng về HTML, kiến thức về Dreamweaver, FontPage
….)
Trang 51.5.2 Nội dung quản lý của trang web:
Nội dung của website bao gồm nhiều thứ như hình ảnh, tài liệu (bao gồm cácbáo cáo…) âm thanh và cả video clip
CMS là một công cụ đã được công nhận là có hiệu quả trong việc quản lý nộidung của website Bởi vì những trang Web và links có thể tự động phát sinh từnhững dữ liệu lưu giữ trong cơ sở dữ liệu
Bằng cách sử dụng các kỹ thuật như XML, CMS có thể cho phép nội dunglưu trữ trong cơ sở dữ liệu nhưng có thể cung cấp cho nhiều thiết bị khác nhaunhư mobile pjone, handle computer và Web TV
1.5.3 Đối với người Thiết Kế
Với CMS, người phát triển website có thể tập trung vào cấu trúc của website,navigation, giao diện mà không phải quan tâm nhiều và việc tạo và biên tập nộidung
Toàn bộ website có thể tương thích với thông tin mà nó được cung cấp từ cơ
sở dữ liệu và templates nó được thiết kế phù hợp với mỗi loại website khác nhau.Các template khác nhau có thể được thiết kế cho từng vùng khác nhau nếu cầnthiết Ví dụ như trang tin tức có thể thiết kế khác trang tổng kết
CMS còn có thể cho phép thay đổi toàn cục website một cách dễ dàng nếuthấy cần thiết Việc thiết kế template có thể thay đổi thường xuyên hơn là việcsoạn thảo mỗi trang
1.5.4 Đối với người cập nhật nội dung
Người viết nội dung có thể tập trung vào việc viết nội dung mà không cầnquan tâm tới việc thiết kế nội dung có thể dễ dàng thêm vào cơ sở dữ liệu vàhiển thị lên trang web chỉ bởi việc gõ hay cắt dán text vào form được định nghĩasẵn bởi người quản trị hệ thống Thông tin về nội dung như tiêu đề, mô tả , từkhóa, tác giả, ngày xuất bản ,ngày xem v v có thể được thêm vào Do đó nộidung có thể dễ dàng update hay dễ dàng tìm kiếm khi cần thiết
Trang 6CMS còn có thể giúp đỡ quản lý workflow và chú trọng và chất lượng củacontrol bằng cách cho phép cấp quyền cho user Ví dụ một số user có thể đượcphép upload tài nguyên cho CMS bất cứ lúc nào Trình biên tập có thể thông báokhi nội dung mới được thêm vào hệ thống Tài nguyên mới có thể được truy xuấtlên website ngay chỉ bằng một nút nhấn.
CMS có thể dễ dàng cho phép một người dùng dù không biết nhiều về kỹthuật cũng có thể dễ dàng thao tác với nội dung website
1.5.5 Những tính năng quan trọng của hệ thống CMS được tích hợp trên website
Những template web (với những khả năng update templates nếu cần) : Lànhững mẫu website phù hợp với những tiêu chuẩn kỹ thuật web thông thường và
có tính tương tác cao với các browsers và nền tảng khác nhau
Bảo mật và sự khả năng tác động đúng của từng loại user: ví dụ Tươngthích với những hệ thống có sẵn: ví dụ nếu chúng ta đã có một cơ sở dữ liệu phùhợp và sẵn sàng sử dụng chúng Ví dụ trong trường hợp chúng ta muốn chuyểnđổi những tài liệu word sẵn có sang HTML?
Không yêu cầu thông hiểu nội dung những kỹ thuật xuất bản hay pháthành vì có thể không cần đòi hỏi người viết phải có kỹ năng sử dụng HTML haycác kỹ năng sáng tạo web khác
Dễ dàng lưu trữ, soạn thảo hay định dạng text, và dễ dàng thêm các nộidung khác như images, audio hay video tới trang web một cách dễ dàng
Có khả năng ghi nhận lại thông tin về nội dung(siêu văn bản :metadata)như là tác giả, khi tài liệu được cập nhật, hay khi nó được xem xét…
Nếu hệ thống CMS có nhiều user cùng lúc, thì những tính năng ghi nhận
sẽ tránh những sự va chạm không cần thiết
Khả năng như thêm, xóa và lưu trữ nội dung; CMS còn có thể cung cấpnhiều tính năng đặc biệt hơn với một trang trực tuyến
Trang 7 Quản lý các liên kết: Khi một trang mới được thêm hay xóa thì liên kếttương ứng cũng được cập nhật theo.
Công cụ cho phép CMS admin quản trị online một cách dễ dàng
Có khả năng chạy trên những thiết bị có sẵn
CMS có thể sắp xếp workflow từ một cách đơn giản tới phức tạp Một vài
hệ thống đòi hỏi người dùng biết một số kỹ năng HTML để format text trong khimột số hệ thống khác chỉ đòi hỏi những kỹ năng xử lý văn bản thông thường
chỉ những tác giả chính thức của tài nguyên mới có thể thay đổi nội dungcủa website
1.6. Tính năng cơ bản của một trang web CMS:
Một trang web CMS tối thiểu cần phải có những tính năng cơ bản sau:
Cung cấp công cụ phục vụ quá trình soạn thảo, biên tập, chỉnh lý nộidung
Có hệ thống lưu giữ nội dung chung
Quản lý phiên bản tài liệu, giám sát sự thay đổi, cho phép tìm lại nội dungcủa tài liệu trước và sau khi thay đổi, biên tập
Cung cấp hệ thống thông tin quản lý quy trình xử lý nội dung thông tin
Cung cấp khả năng cá nhân hoá thông tin cho người dùng
Cung cấp cho người dùng những công cụ tìm kiếm theo thuộc tính, tìmkiếm trong văn bản giúp nhanh chóng định vị được nội dung thông tin
Trang 8 Java Script: CMS master, Complete site Manager,Contenligent, eazyCMS…
PHP: Acuity CMS, AGPCMS, BackEnd CMS,CathcCMS, Complete Site Manager…
Cold Fusion: Asset Now, EasyConsole CMS…
ASP.NET: AxCMS.Net, Composite CMS, ContentXXL – ASPNet, CMSDotnetNuke
Trang 9CHƯƠNG 2: TÌM HIỂU VỀ NET FRAMEWORK
2.1 Định nghĩa
NET Framework là một tập những giao diện lập trình và là tâm điểm của nềntảng .NET Nó cung cấp cơ sở hạ tầng để xây dựng và chạy các dịch vụWeb .NET Framework bao gồm ba thành phần chính là Common LanguageRuntime (bộ thực thi ngôn ngữ chung), The Base Classes (các lớp thư viện cơ sở)
và ASP.NET (các ứng dụng Web) Thực chất ở phần này còn bao gồm cả phầnphát triển các ứng dụng cho Windows có tên Windows Form như được mô tảtrong hình Nó cung cấp một môi trường đa ngôn ngữ, dựa trên nền các chuẩnvới hiệu nǎng cao, cho phép tích hợp những đầu tư ban đầu với các ứng dụng vàdịch vụ thế hệ kế tiếp và giải quyết những thách thức của việc triển khai và vậnhành các ứng dụng trên quy mô Internet
2.2 Các thành phần chính của Net framework
2.2.1 Thực thi ngôn ngữ chung CLR (Common Language Runtime)
Tất cả các ngôn ngữ lập trình đều có một runtime (thi hành), một dịch vụhoạt động cùng với ngôn ngữ lập trình Common Language Runtime (CLR là bộthực thi ngôn ngữ chung) là một thành phần cốt lõi (cơ bản nhất) của NET Nó
Các thành phần của Microsoft NET Framework
Trang 10cung cấp nền cơ sở mà trên đó các ứng dụng cho NET được xây dựng CLRquản lý nhiều khía cạnh của chu trình phát triển theo quan điểm của người pháttriển Chẳng hạn, khi làm việc với COM (Mô hình đối tượng ), các nhà phát triểnphải lưu tâm đến vấn đề quản lý bộ nhớ, những sự khởi tạo luồng và loại bỏ nó,các thành phần bảo mật và những vấn đề tương tự Điều đó gây ra một số khókhǎn do các nhà phát triển phải tiêu tốn quá nhiều thời gian vào các vấn đề này.
Bộ thi hành ngôn ngữ chung CLR quản lý tất cả các vấn đề nảy sinh đó một cách
tự động và giải phóng cho các nhà phát triển tập trung vào việc xử lý giao dịchlogic CLR cung cấp một runtime chung mà nó được sử dụng với tất cả các ngônngữ Thành phần này làm cho NET có một khả nǎng "hỗ trợ mọi ngôn ngữ"(language-free)
2.2.2 The Base Classes (các lớp cơ sở)
Các lớp cơ sở cho cho chúng ta những đặc tính của runtime (thực hiện) vàcung cấp những dịch vụ cấp cao khác mà những người lập trình đòi hỏi thôngqua namespace Namespace là một cách đặt tên để giúp sắp đặt các lớp ta dùngtrong chương trình một cách thứ tự để dễ tìm kiếm chúng Tất cả các mã (code)trong NET, được viết bằng VB.NET, C# hay một ngôn ngữ nào khác đều đượcchứa trong một namespace Ví dụ: System.Web.
2.2.3 ASP.NET (Active Server Pages NET)
ASP.NET là một "khung" lập trình được xây dựng trên bộ thực thi ngôn ngữ
chung (CLR) và được sử dụng trên một máy chủ phục vụ để tạo ra các ứng dụngWeb mạnh Web Forms của ASP.NET cho phép xây dựng các giao diện ngườidùng Web động một cách hiệu quả Các dịch vụ của ASP.NET cung cấp nhữngkhối hợp nhất cho việc xây dựng các ứng dụng trên nền Web phân tán Nhữngdịch vụ Web dựa trên các chuẩn Internet mở như HTTP(1) và XML(2) Bộ thực thingôn ngữ chung CLR cung cấp sự hỗ trợ dựng sẵn để tạo và đưa ra những dịch
vụ Web thông qua việc sử dụng một khái niệm trừu tượng hoá lập trình phù hợp
và thân thiện với các nhà phát triển cho cả ASP Web Forms và Visual Basic Môhình thu được vừa dễ biến đổi, vừa dễ mở rộng Mô hình này dựa trên các chuẩn
Trang 11Internet mở (HTTP(1), XML(2), SOAP(3)) để nó có thể được truy cập và thông dịchbởi bất cứ một Client hay thiết bị hỗ trợ Internet nào
Một trong các lớp của ASP.NET là System.Web Trong System.Web
namespace có các dịch vụ mức thấp như lưu giữ (caching), bảo mật, cấu hình vànhững dịch vụ khác được chia xẻ giữa các dịch vụ Web và giao diện người dùngWeb Các lớp System.Web.Services xử lý các dịch vụ Web như các giao thức vàphát hiện System.Web.UI namespace cung cấp hai lớp cho các điều khiển là cácđiều khiển HTML và các điều khiển Web Điều khiển HTML cho chúng ta ánh
xạ trực tiếp vào các thẻ HTML như input (đầu vào) Cũng có những điều khiểnWeb cho phép chúng ta cấu trúc lại các điều khiển với những khuôn mẫu(template), ví dụ như một grid control (đối tượng điều khiển lưới)
Ngoài ASP.NET, NET Framework còn cung cấp một bộ thư viện lớp thiết
kế giao diện cho các nhà phát triển các ứng dụng trên nền Windows Có hainamespace là System.WinForm và System.Drawing Chúng ta có thể sử dụng cáclớp trong System.WinForm để xây dựng giao diện người dùng khách (Client).Các lớp này cho phép chúng ta thực hiện các giao diện người dùng Windowschuẩn trong các ứng dụng NET của chúng ta Chúng ta cũng có thể sử dụng lớp
này hỗ trợ cho thế hệ kế tiếp của giao diện đồ hoạ là đồ hoạ hai chiều
.NET Framework được tạo bởi từ hàng trǎm lớp Nhiều ứng dụng mà chúng
ta xây dựng trong NET đang tận dụng các lớp này theo cách này hay cách khác
Vì số lượng các lớp là quá lớn, NET Framework tổ chức các lớp này vào mộtcấu trúc lớp được gọi là một namespace Có một số lượng lớn các namespace vàchúng được tổ chức theo cách dễ hiểu và minh bạch System là một Namespace
cơ sở trong NET Framework Tất cả các Namespace được cung cấp trong NETframework bắt đầu với Namespace cơ sở này Ví dụ, những lớp phục vụ việc truycập và thao tác dữ liệu được tìm thấy trong Namespace System.data Những ví dụkhác bao gồm System.IO, System.XML, System.Collections, System.Drawing
và v.v Trong quy tắc đặt tên của Namespace, System.XML.XMLReader đại diệncho kiểu XMLReader, nó thuộc Namespace System.XML
Trang 12Sau đây là hai đoạn mã ví dụ có sử dụng Namespace trong VB.NET và C#
2.3 Hoàn cảnh ra đời
2.3.1 Lịch sử phát triển Web
Khi Web mới bắt đầu được tạo ra, về cơ bản nó là một hệ thống tập tin chỉ cóthể đọc, với ưu điểm là nó sử dụng những chuẩn và giao thức công nghiệp, chophép truy cập dễ dàng đến nội dung các tập tin
Vào buổi ban đầu, Web được phát triển bởi ngôn ngữ lập trình C và CGI(Giao thức Internet trước đây được sử dụng để tạo ra nội dung tương tác quaWeb) Thêm vào đó, phần lớn các ứng dụng Web được xây dựng trên những kiếntrúc hai lớp (two-tier), gây ra những thách thức xung quanh khả nǎng biến đổi vàtích hợp ứng dụng Lấy một ví dụ cho vấn đề này là một Website kinh doanh các
Trang 13thanh rèm cửa nhưng lại không bán các rèm cửa, bắt buộc khách hàng phải tìmhiểu ít nhất là hai site khác nhau để có thể mua một bộ rèm cửa (bao gồm thanh
và rèm của) cho cửa sổ của họ
Từ những ưu thế của COM (Mô hình Đối tượng Thành phần )và sự ra đờicác công nghệ như (ASP) của Microsoft nǎm 1996, các Website cho ra nhiềutương tác người dùng hơn ASP thực hiện điều đó một cách dễ dàng để gọi cáclôgic doanh nghiệp(14) và các dịch vụ nền tảng mà người phát triển cần thiết thôngqua các ngôn ngữ script đơn giản Với sự hỗ trợ cho COM, các ứng dụng được
viết một cách dễ dàng thông qua khả nǎng "đóng gói" lôgic doanh nghiệp(16) nàyvào trong các khối mô-đun được viết trong một phạm vi rộng các ngôn ngữ lậptrình phổ biến như Microsoft Visual Basic, C++ hay COBOL Mặc dù vậy, nhữngchiến lược này cho công việc hợp nhất các ứng dụng vẫn còn có thiếu sót
Những tiến bộ trong việc phát triển Web nhanh chóng chuyển từ kiến trúchai lớp (two-tier) sang một thiết kế N lớp (N-tier(6)) mà cho phép một chiến lượchợp nhất đa dạng hơn qua việc đưa ra các đối tượng doanh nghiệp hay lôgic tầnggiữa (middle-tier) tới việc hợp nhất Web với đối tác Những thách thức trongviệc thử sử dụng lôgic doanh nghiệp(16) được "đóng gói" theo kiểu này là phầnlớn các ứng dụng được thiết kế trên nền các giao thức độc quyền, "ghép nốichặt"(17)
2.3.2 Giải pháp: Các dịch vụ Web XML
Để giải quyết những thách thức trong việc phát triển Internet hiện tại vàtương lai, chúng ta phải có khả nǎng viết các ứng dụng trên bất cứ ngôn ngữ lậptrình nào, truy nhập vào bất cứ nền tảng nào Chiến lược phát triển ứng dụng rấthấp dẫn này cho phép các công ty tận dụng các hệ thống phần cứng, các ứngdụng hiện hành và thuê các nhà phát triển có sẵn, mà không cần "bắt" họ phảichuyển sang một ngôn ngữ lập trình mới
Giải pháp này gọi là các dịch vụ Web XML và nó đại diện cho việc pháttriển ứng dụng cho thế hệ kế tiếp Một dịch vụ Web XML là một ứng dụng chokhả nǎng hoạt động của nó theo chương trình qua Internet hay intranet khi sửdụng những giao thức và những chuẩn Internet như HTTP và XML
Trang 142.3.3 Mục đích thiết kế NET Framework
.NET Framework là thành quả tối ưu của sự kết hợp công sức và trí tuệ củaMicrosoft, nhằm tạo ra một nền tảng cho việc xây dựng và triển khai nhanhchóng các dịch vụ và ứng dụng Web XML(2) Tầm nhìn của nền tảng NETFramework kết hợp một mô hình lập trình đơn giản, dễ sử dụng với các giao thức
mở và biến đổi được của Internet Để đạt được tầm nhìn này, việc thiết kế NETFramework nhằm một số mục đích:
Sự hợp nhất thông qua các chuẩn Internet công cộng: Để giao tiếp với
những đối tác kinh doanh, những khách hàng phụ thuộc vào các khu vực theo vịtrí địa lý, thậm trí cả những ứng dụng cho tương lai, những giải pháp phát triểncần được đề nghị hỗ trợ cho các chuẩn Internet mở và tích hợp chặt chẽ với cácgiao thức mà không bắt buộc người phát triển phải thông hiểu cơ sở hạ tầng bêndưới nó
Khả nǎng biến đổi được thông qua một kiến trúc "ghép nối lỏng (5) ": Đa số các
hệ thống lớn, biến đổi được trên thế giới được xây dựng trên những kiến trúckhông đồng bộ dựa trên nền thông điệp (message-based) Nhưng công việc xâydựng các ứng dụng trên một kiến trúc như vậy thường phức tạp và có ít các công
cụ hơn so với những môi trường phát triển ứng dụng N lớp (N-tier(6)) .NETFramework được xây dựng để đem lại những lợi thế về nǎng suất của kiến trúc
với khả nǎng biến đổi được và vận hành với nhau của kiến trúc "ghép nối lỏng"(5)
Hỗ trợ nhiều ngôn ngữ: Các nhà phát triển sử dụng những ngôn ngữ khác
nhau do mỗi ngôn ngữ riêng có những ưu thế đặc thù : một số ngôn ngữ đặc biệtthích hợp với thao tác toán học; một số khác lại đa dạng ở các hàm tính toán tàichính v.v .NET Framework cho phép các ứng dụng được viết trong nhiều ngônngữ lập trình khác nhau và chúng có khả nǎng tích hợp với nhau một cách chặtchẽ Ngoài ra, với NET Framework, các công ty còn có thể tận dụng những lợithế của kỹ nǎng phát triển sẵn có mà không cần phải đào tạo lại và cho phépnhững người phát triển sử dụng ngôn ngữ mà họ ưa thích
Nâng cao nǎng suất cho các nhà phát triển: Với số lượng các nhà phát triển
ứng dụng không nhiều nên mỗi giờ làm việc họ phải cho ra kết quả công việc cụ
Trang 15thể Các nhóm phát triển với NET Framework có thể loại bỏ những công việclập trình không cần thiết và tập trung vào viết các lôgic doanh nghiệp Chẳng hạnnhư NET Framework có ưu điểm tiết kiệm thời gian như thực hiện các giao dịch
tự động và dễ sử dụng, quản lý bộ nhớ một cách tự động và có chứa một tập cácđối tượng điều khiển đa dạng bao hàm nhiều tác vụ phát triển chung
Bảo vệ những sự đầu tư thông qua việc bảo mật đã được cải tiến: Một trong
những vấn đề liên quan lớn nhất đến Internet hiện nay là bảo mật Kiến trúc bảomật của NET Framework được thiết kế từ dưới lên để đảm bảo các ứng dụng và
dữ liệu được bảo vệ thông qua một mô hình bảo mật dựa-trên-bằng-chứng(evidence-based) và tinh vi
Tận dụng những dịch vụ của hệ điều hành: Windows cung cấp một số lượng
đa dạng các dịch vụ có sẵn với bất kỳ nền tảng nào; như truy cập dữ liệu mộtcách toàn diện, bảo mật tích hợp, các giao diện người dùng tương tác, mô hìnhđối tượng thành phần đáng tin cậy và các giám sát quá trình giao dịch .NETFramework đã tận dụng lợi thế đa dạng và phong phú này để đưa ra cho mọingười theo cách dễ sử dụng nhất
2.4 Những đặc tính của NET Framework
2.4.1 Hỗ trợ các chuẩn dịch vụ Web XML
Sự sử dụng ngôn ngữ đánh dấu mở rộng XML(2) ở khắp mọi nơi: XML(2) làmột định dạng dữ liệu cho việc trao đổi tài liệu lẫn nhau có cấu trúc trênWeb .NET Framework sử dụng XML(2) ở khắp mọi nơi từ việc mô tả các đốitượng cho đến bảo mật các tập tin cấu hình
Khả nǎng vận hành với nhau qua việc hỗ trợ SOAP (3):
.NET Framework cho phép những người phát triển đưa ra và sử dụng cácdịch vụ Web XML một cách trong suốt thông qua SOAP(3), một vǎn phạm XMLchuẩn tạo khả nǎng thao tác giữa các phần trong ứng dụng
Mô tả dễ dàng các dịch vụ Web XML với WSDL:
Trang 16.NET Framework tạo ra những mô tả WSDL (Ngôn ngữ Mô tả các Dịch vụWeb) cho các dịch vụ Web XML
Đưa ra những dịch vụ Web với SOAP Discovery (viết tắt Disco):
SOAP Discovery cung cấp cơ chế bởi những dịch vụ Web XML nào đượctìm thấy trên một máy phục vụ Web (Web server) .NET Framework cung cấpmột cách thức để công bố các dịch vụ Web XML thông qua SOAP Discovery
Triển khai theo kiểu "No-touch" (không can thiệp):
NET Framework bao hàm những đặc tính được cải tiến cho việc triển khaicác ứng dụng Việc cài đặt một ứng dụng vào trong hệ thống cũng đơn giản nhưviệc sao chép nó vào trong một thư mục đích và cho nó chạy mà không cần đǎng
ký như Windows Registry
Quản lý bộ nhớ tự động:
Trang 17.NET Framework là một môi trường "gom rác" (garbage-ollected) Côngviệc "gom rác" giải phóng các ứng dụng sử dụng các đối tượng NET Framework
từ sự cần thiết loại bỏ dứt khoát các đối tượng này và làm giảm đi những lỗi lậptrình chung không đáng có
Các thành phần tự-mô-tả:
Siêu dữ liệu mà mỗi đối tượng trong NET Framework chứa đựng cho phép
bộ thực hiện (runtime) "chất vấn" các đối tượng về những kiểu dữ liệu, chứcnǎng hoạt động, v.v để xác định các đối tượng đã được gọi đúng cách chưa hơn
là để cho lời gọi xảy ra và nhận lấy thất bại Đặc tính này được gọi là
"reflection"(9)
Mô hình điều khiển giao diện người dùng:
ASP.NET và các đối tượng điều khiển được cải thiện làm tǎng thêm nǎngsuất và hiệu quả do việc "đóng gói" những tương tác phức tạp trong các thànhphần (component) trên máy phục vụ
Sự tách biệt giữa mã và nội dung:
Cho phép người phát triển và người tạo ra nội dung làm việc song song vớinhau do việc lưu giữ nội dụng trong một file tách biệt khỏi các mã của ứng dụng
Tích hợp nền tảng chặt chẽ:
NET Framework cho phép những nhà phát triển sử dụng tất cả các ứngdụng Windows và các dịch vụ hiện hữu Với ưu thế đó, người phát triển có thể sửdụng mã đang tồn tại trong khi tận dụng những lợi điểm, thế mạnh trong NETFramework
Viết ít mã hơn:
Do NET Framework sử dụng thiết kế "thành phần hóa" cao, những nhà pháttriển có thể tập trung vào việc viết lôgic doanh nghiệp hơn là những công việcnhư quản lý bộ nhớ, quản lý trạng thái hay xác định khả nǎng của một trình duỵệtClient?
Trang 182.4.3 Sự nhạy cảm khi giải quyết các thách thức đối với doanh nghiệp thời nay
Hỗ trợ những chuẩn Internet công cộng:
Những chuẩn được xem là phần lõi để chuyển giao phần mềm như là mộtdịch vụ Microsoft trình bày những đặc tả cho ngôn ngữ lập trình C# và cơ sở hạtầng ngôn ngữ chung CLI(10) (Common Language Infrastructure) và chuyển tớiECMA(11) cho việc chuẩn hóa
Truy nhập dữ liệu toàn bộ với ADO.NET:
.NET Framework có chứa ADO.NET, một giao diện hiệu nǎng truy nhập tới
bất kỳ một CSDL nào được thiết kế riêng cho kiểu "ghép nối lỏng (5)" ADO.NETcung cấp các dịch vụ truy cập dữ liệu cho các ứng dụng trên nền Web biến đổi
Trang 19được và các dịch vụ Web XML, bao gồm cả sự hỗ trợ mô hình dữ liệu đang kếtnối (connected) cũng như ngừng kết nối (disconnected).
2.4.4 Cải thiện các thao tác
An ninh bảo mật dựa trên nền tảng bằng chứng (evidence-based):
Hệ thống bảo mật truy cập mã của NET Framework cho phép các nhà pháttriển định ra những "giấy phép" được yêu cầu rằng mã của họ cần để hoàn thànhsản phẩm Bộ thực thi ngôn ngữ chung (common language runtime) chịu tráchnhiệm bảo đảm rằng những "giấy phép" này là phù hợp hay bị loại bỏ, phụ thuộcvào chứng cớ bao gồm nhận diện người dùng, nhận diện mã, mã nào thực sựđang được sử dụng, mã được bắt nguồn từ nơi nào?
Windows Authentication tích hợp:
.NET Framework cũng tích hợp với Windows Authentication (Chứng thựcWindows) Windows Authentication tích hợp trước đây được biết như chứngthực NT LAN Manager và Windows NT Challenge/Response Trong WindowsAuthentication tích hợp, trình duyệt cố gắng sử dụng những (giấy) ủy nhiệm củangười dùng hiện hành từ một đǎng nhập tên miền Nếu những ủy nhiệm nàykhông được chấp nhận thi Windows Authentication tích hợp sẽ nhắc người dùngcho một tên và mật khẩu người dùng thông qua một hộp thoại Khi WindowsAuthentication tích hợp đang được sử dụng thì mật khẩu người dùng không quađược từ máy khách đến máy phục vụ nếu một người dùng đã đǎng nhập như làmột người sử dụng tên miền trên một máy tính cục bộ, người dùng sẽ không bịchứng thực lần nữa khi truy nhập một máy tính mạng trong miền đó
Chứng thực Internet:
Người dùng Internet thường cần những cơ chế chứng thực khác nhau Cácứng dụng dùng NET Framework có thể nắm lấy lợi thế và được cấu hình chochứng thực sử dụng một sự kết hợp của máy phục vụ Web (Web server) và cácnhà cung cấp chứng thực NET Framework
Hiệu suất được cải thiện:
Trang 20Nền tảng NET (.NET Platform)
.NET Framework cải thiện hiệu suất các ứng dụng Web đặc thù ASP.NET
sử dụng khả nǎng tối ưu hoá cho những bộ xử lý nào đó và với việc cất giữ mộtcách linh động ASP.NET có thể cải thiện hiệu suất hơn hai đến ba lần so với cácứng dụng ASP hiện hành
Sự tin cậy vững chắc:
Giành được sự tin cậy mức xí nghiệp với NET Framework, thông qua việcquản lý bộ nhớ một cách tự động, tính tương thích phiên bản có bảo hành, vònglặp chu kỳ ứng dụng động và các dịch vụ xí nghiệp đã được cung cấp bởiCOM+(12)
2.5 Các công cụ phát triển
.NET Framework và Visual
Studio.NET là các công cụ cho những
người phát triển để tạo ra các dịch vụ
Web XML .NET Framework là một tập
hợp những giao diện lập trình và là tâm
điểm của nền tảng NET của Microsoft
Nó cung cấp cơ sở hạ tầng để xây dựng và chạy các dịch vụ Web
Visual Studio.NET:
Visual Studio.NET cung cấp một môi trường phát triển mức cao để xây dựngcác ứng dụng trên NET Framework Với bộ Visual Studio.NET chúng ta có thểđơn giản hoá việc tạo, triển khai và tiếp tục phát triển các ứng dụng Web và cácdịch vụ Web có sẵn một cách an toàn, bảo mật và khả nǎng biến đổi được VisualStudio.NET là một bộ đa ngôn ngữ các công cụ lập trình Ngoài C# (VisualC#.NET), Visual Studio.NET còn hỗ trợ Visual Basic, Visual C++, VisualJ#.NET và các ngôn ngữ script như VBScript và JScript Tất cả các ngôn ngữ nàyđều cho phép truy cập vào NET Framework
Visual C# NET :
là một ngôn ngữ lập trình đơn giản, hiện đại, hướng đối tượng (type-safe) và
có nguồn gốc từ các ngôn ngữ C và C++ C# là một ngôn ngữ rất thân thiện với
Trang 21người lập trình C và C++ C# là kết quả của việc kết hợp hiệu nǎng cao củaVisual Basic và sức mạnh của C++ C# được Microsoft giới thiệu để xây dựngvới Web và đòi hỏi quyền được cung cấp một môi trường đồng bộ với HTML(3),XML(2) và SOAP(3) Tóm lại C# là một ngôn ngữ lập trình hiện đại và là một môi
trường phát triển đầy tiềm nǎng để tạo ra các dịch vụ Web XML (2), các ứng dụngdựa trên Microsoft NET và cho cả nền tảng Microsoft Windows cũng như tạo racác ứng dụng Internet thế hệ kế tiếp một cách nhanh chóng và hiệu quả
Visual Basic NET (VB.NET):
Cho phép chúng ta tạo ra những ứng dụng đầy sức mạnh cho nền tảngMicrosoft Windows với thời gian ngắn nhất, kết hợp chặt chẽ việc truy cập dữliệu từ một phạm vi rộng của các kịch bản dữ liệu, tạo ra những thành phần với
mã nhỏ nhất và xây dựng các ứng dụng trên cơ sở Web khi sử dụng những kỹnǎng hiện tại VB.NET có nhiều đặc tính ngôn ngữ mới và được cải tiến như sự
kế thừa, giao diện và những chức nǎng đa hình, làm cho nó trở thành một ngônngữ lập trình hướng đối tượng đầy tiềm nǎng Ngoài ra, những người phát triểnVisual Basic bây giờ có thể tạo đa luồng Các nhà phát triển cũng sẽ tìm thấynhiều đặc tính mới và được cải tiến, ví dụ như các giao diện, những thành viêndùng chung, các người thiết kế (constructor) cùng với một số kiểu dữ liệu mới,
xử lý ngoại lệ có cấu trúc và uỷ quyền
Visual C ++ NET:
Là phiên bản kế tiếp của Microsoft Visual C++ 5.0 Như chúng ta thấyMicrosoft Visual C++ là công cụ C++ hiệu quả nhất để tạo ra những ứng dụng hiệunǎng cao cho Windows và cho World Wide Web Hầu như tất cả các phần mềmtốt nhất từ những trình duyệt Web đầu bảng cho đến các ứng dụng đều được xâydựng bằng hệ thống phát triển Microsoft Visual C++ Visual C++ NET mang đếnmột cấp độ mới về hiệu nǎng so với Visual C++ mà không làm ảnh hưởng đếntính mềm dẻo, hiệu suất thực hiện cũng như điều khiển
Visual J# NET :
Trang 22Là một công cụ phát triển cho các nhà phát triển ngôn ngữ Java để xây dựngcác ứng dụng và các dịch vụ trên nền Microsoft .NET Framework VisualJ# NET cho phép những người phát triển ngôn ngữ Java có thể chuyển tiếp vàothế giới của các dịch vụ Web XML(2) và cải thiện đáng kể khả nǎng vận hành củacác chương trình viết bằng ngôn ngữ Java với những phần mềm hiện tại đượcviết bằng nhiều ngôn ngữ lập trình khác nhau Việc tích hợp dễ dàng, khả nǎngthao tác vận hành với nhau và sự chuyển giao các kỹ nǎng hiện tại và những đầu
tư mà Visual J# NET cho phép có thể tạo ra một cơ hội lớn cho khách hàngmuốn phát triển các ứng dụng và các dịch vụ Web XML(2) với ngôn ngữ Java trênnền NET Framework
JScript NET :
Là bộ thực hiện của Microsoft cho JavaScript Jscript.NET thêm rất nhiềuđặc tính mới vào Jscript, bao gồm cả việc hỗ trợ trực tiếp các kỹ thuật lập trìnhhướng đối tượng
2.6 Cơ sở hạ tầng HĐH máy phục vụ
Cơ sở hạ tầng HĐH máy phục vụ cho NET bao gồm Windows và các NETEnterprise Server Đây là một bộ các ứng dụng cơ sở hạ tầng cho xây dựng, triểnkhai và điều hành các dịch vụ Web XML(2) Các công nghệ then chốt bao gồm cảviệc hỗ trợ XML và những quy trình nghiệp vụ thông qua các ứng dụng và dịch
vụ Các NET Enterprise Server (hệ điều hành máy chủ phục vụ xí nghiệp) cungcấp khả nǎng biến đổi, tính tin cậy, quản lý và tích hợp bên trong và nhiều đặctính khác nữa như được mô tả dưới đây :
Microsoft SQL Server 2000:
Bao gồm chức nǎng XML(2), hỗ trợ các chuẩn của Worldwide WebConsortium (W3C)(15), khả nǎng thao tác dữ liệu XML(2) khi sử dụng TransactSQL (T-SQL), sự phân tích trên nền Web một cách linh hoạt, mạnh và truy cập
an toàn dữ liệu của chúng ta bằng Web có sử dụng HTTP(1)
Microsoft BizTalk Server 2000:
Trang 23Cung cấp việc tích hợp các ứng dụng xí nghiệp (Enterprise ApplicationIntegration - EAI), hợp nhất doanh nghiệp B2B (business-to-business) và côngnghệ BizTalk Orchestration tiên tiến để xây dựng và quản lý các quy trình nghiệp
vụ thông qua các ứng dụng và dịch vụ
Microsoft Host Integration Server 2000:
Cung cấp biện pháp tốt nhất để quản trị Internet, intranet và các công nghệkhách/chủ (Client/server) trong khi giữ gìn (bảo toàn) những đầu tư cho các hệthống tồn tại ban đầu
Microsoft Exchange 2000 Enterprise Server:
Xây dựng trên công nghệ cộng tác và trao đối thông điệp bằng việc giới thiệumột số đặc tính mới quan trọng và XA(13) hơn nữa là tǎng thêm độ tin cậy, khảnǎng biến đổi được và hiệu nǎng kiến trúc lõi của nó Những đặc tính khác tǎngkhả nǎng tích hợp Exchange 2000 với Microsoft Windows 2000, MicrosoftOffice 2000 và Internet
Microsoft Application Center 2000:
Cho phép tạo ra các giải pháp và cung cấp một sự triển khai và công cụ quản
lý cho các ứng dụng Web có tính sẵn sàng cao
Microsoft Internet Security và Acceleration Server 2000:
Cung cấp việc kết nối Internet bảo mật, nhanh và khả nǎng quản lý An ninhtrên Internet và máy phục vụ gia tốc (Acceleration Server) tích hợp một tườnglửa xí nghiệp nhiều lớp, có thể mở rộng và một bộ đệm (cache) Web hiệu suấtcao và có khả nǎng biến đổi được Nó xây dựng trên sự bảo mật và thư mục củaWindows 2000 cho an ninh trên nền chính sách, gia tốc và quản lý trên mạng
Microsoft Commerce Server 2000
Cung cấp một khung ứng dụng (application framework), các cơ chế phản hồitinh vi và những khả nǎng phân tích
Mobile Information Server 2001: