Thứ Hai, 13 tháng 12, 2010

Cơ bản trong thiet ke website ASP.net

.NET là nền tảng của Microsoft cho các dịch vụ Web XML, là thế hệ phần mềm kế tiếp kết nối thế giới thông tin, các thiết bị và tất cả mọi người trong một thể thống nhất. Nền tảng .NET cho phép tạo ra và sử dụng các ứng dụng, các quá trình và các Website dựa trên XML[1] như những dịch vụ chia xẻ, kết nối thông tin và hoạt động cùng nhau, trên bất cứ nền tảng hay thiết bị thông minh nào, nhằm mục đích cung cấp những giải pháp theo yêu cầu cho các tổ chức và các cá nhân riêng biệt. Nền tảng .NET của Microsoft đưa ra các công nghệ, các công cụ và sản phẩm để tạo ra và chạy các dịch vụ thiet ke website.

Bài báo giới thiệu với các bạn cấu trúc của Nền tảng .NET, bao gồm các công cụ phát triển (Visual Studio.NET và .NET Framework[2]), cơ sở hạ tầng các HĐH máy phục vụ cho .NET (Server Infrastructure), các dịch vụ khối hợp nhất (Building Block Services) bao hàm cả các dịch vụ Web XML và các client hay các thiết bị thông minh tham gia trong Nền tảng .NET.
1. 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.


Hình 1 : Nền tảng .NET (.NET Platform)
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ựng cá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ác dị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. Visual Studio.NET là một bộ đa ngôn ngữ các công cụ lập trình. Ngoài C# (Visual C#.NET), Visual Studio.NET còn hỗ trợ Visual Basic, Visual C++, Visual J#.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, phần này sẽ được thảo luận ở mục tiếp sau.

* Visual C# .NET là một ngôn ngữ lập trình đơn giản, hiện đại, hướng đối tượng an toàn kiểu (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 ngườ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ủa Visual Basic và sức mạnh của C++. C# được Microsoft giới thiệu để xây dựng vớ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[1] và SOAP[4]. 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, các ứng dụng dựa trên Microsoft .NET và cho cả nền tảng Microsoft Windows cũng như tạo ra cá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 bạn tạo ra những ứng dụng đầy sức mạnh cho nền tảng Microsoft 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 (component) 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 (inheritance), giao diện và overloading[5] và làm cho nó trở thành một ngôn ngữ lập trình hướng đối tượng đầy tiềm nǎng. Ngoài ra, những người phát triển Visual Basic bây giờ có thể tạo đa luồng (multithreaded). Các nhà phát triển cũng sẽ tìm thấy nhiề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ên dùng chung, các 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++ 6.0. Như chúng ta thấy Microsoft Visual C++ là công cụ C++ hiệu quả nhất để tạo ra những ứng dụng hiệu nǎng cao cho Windows và cho World Wide Web. Hầu như tất cả các phần mềm tốt nhất từ những trình duyệt Web đầu bảng cho đến các ứng dụng đều được xây dựng bằng hệ thống phát triển Microsoft Visual C++. Visual C++ .NET mang đến một cấp độ mới về hiệu nǎng so với Visual C++ mà không làm ảnh hưởng đến tính mềm dẻo, hiệu suất thực hiện cũng như điều khiển.
* Visual J# .NET là một công cụ phát triển cho các nhà phát triển ngôn ngữ Java để xây dựng các ứng dụng và các dịch vụ trên nền Microsoft .NET Framework. Visual J# .NET cho phép những người phát triển ngôn ngữ Java có thể chuyển tiếp vào thế giới của các dịch vụ Web XML và cải thiện đáng kể khả nǎng vận hành của cá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 được viế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ǎng thao 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àng muốn phát triển các ứng dụng và các dịch vụ Web XML với ngôn ngữ Java trên nề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ình hướng đối tượng.

Với ý muốn luôn cải tiến các sản phẩm và công cụ của mình, Microsoft vừa ra mắt bản beta cuối cùng của công cụ phát triển ứng dụng Visual Studio .NET 2003 và .NET Compact Framework. Đây là những vũ khí chiến lược của Microsoft trong cuộc chiến giành giật lập trình viên từ các đối thủ khác. Visual Studio .NET 2003 (trước đây có tên mã là Visual Studio "Everett") có tính ổn định, an toàn và hiệu nǎng cao. Bộ công cụ lập trình này hỗ trợ nhóm ứng dụng dịch vụ Web mới nhất như WS-Attachments, WS-Routing cùng WS-Security; Windows trong Visual C++ .NET cùng các phiên bản tích hợp của Visual J# .NET; và hơn 200 thiết bị di động chạy hệ điều hành Windows CE .NET, Pocket PC và Pocket PC Phone Edition.
.NET Framework

.NET Framework là ?động cơ? tạo các dịch vụ Web XML của Microsoft. Như được đề cập ở bài ?Tổng quan về Microsoft .NET? số báo trước, .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ền tả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 Language Runtime (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ần phát triển các ứng dụng cho Windows có tên Windows Form như được mô tả trong hình 2.


Hình 2 : Các thành phần của Microsoft .NET Framework
Common Language Runtime (bộ thực thi ngôn ngữ chung)

Common Language Runtime (CLR) là trung tâm điểm của .NET Framework. Đây là một "hầm máy" để chạy các tính nǎng của .NET. Trong .NET tất cả mọi ngôn ngữ lập trình đều được biên dịch ra Microsoft Intermediate Language (IL). Do bắt buộc mọi ngôn ngữ đều phải dùng cùng các loại kiểu dữ liệu (gọi là Common Type System hay hệ thống kiểu chung) nên CLR có thể kiểm soát mọi giao diện, gọi giữa các thành phần và cho phép các ngôn ngữ có thể tích hợp với nhau một cách thông suốt.

Khi chạy một ứng dụng .NET, nó sẽ được biên dịch bằng một bộ biên dịch JIT (Just-In-Time có nghĩa chỉ phần mã cần xử lý mới được biên dịch) rất hiệu nǎng ra mã máy để chạy. Điểm này giúp ứng dụng .NET chạy nhanh hơn mã thông dịch của Java trong Java Virtual Machine (máy ảo Java). Just-In-Time cũng có nghĩa là chỉ phần mã nào cần xử lý trong lúc ấy mới được biên dịch.

Ngoài việc cung cấp và quản lý bộ nhớ, CLR còn xử lý công việc "gom rác" (garbage collection). Trước đây mỗi khi một DLL (thư viện liên kết động) được nạp vào bộ nhớ, hệ thống sẽ ghi nhận có bao nhiêu tác vụ dùng nó để khi tác vụ cuối cùng chấm dứt thì hệ thống giải phóng DLL này và trả lại phần bộ nhớ nó dùng trước đây cho hệ thống để dùng vào việc khác. Nếu chương trình cung cấp (allocate) bộ nhớ để sử dụng mà không nhớ giải phóng (dispose) thì đến một lúc nào đó bộ nhớ sẽ bị "cạn" và chúng ta sẽ phải khởi động lại hệ điều hành. Và bây giờ, .NET sử dụng một quá trình độc lập để xử lý việc "gom rác". Tác động phụ ở đây là khi ta đã "dispose" một đối tượng rồi, ta vẫn không biết chắc chắn chừng nào nó mới thực sự biến mất. Vì bộ phận "gom rác" là một quá trình ưu tiên mức thấp, chỉ khi nào bộ nhớ hệ thống gần "cạn" nó mới nâng cao độ ưu tiên l ên. Ngoài "gom rác", CLR còn thực hiện các chức nǎng khác như bảo mật. Các dịch vụ chung này đều được quản lý một cách tự động.

Như vậy là bộ thực thi ngôn ngữ chung CLR cho phép việc phát triển các ứng dụng một cách dễ dàng hơn, cung cấp một môi trường thực thi an toàn và hiệu nǎng, hỗ trợ đa ngôn ngữ và đơn giản hoá việc triển khai và quản lý các ứng dụng.
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ông qua namespace. Namespace là một cách đặt tên để giúp sắp đặt các lớp (class) ta dùng trong 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 được chứa trong một namespace. Sau đây là một số namespace thông dụng:

ASP.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ụng Web mạnh. Web Forms của ASP.NET cho phép xây dựng các giao diện người dùng Web động (UIs[6]) một cách hiệu quả. Các dịch vụ của ASP.NET cung cấp những khối hợp nhất (building blocks) cho việc xây dựng các ứng dụng trên nền Web phân tán. Những dịch vụ Web dựa trên các chuẩn Internet mở như HTTP[7] và XML[1]. Bộ thực thi ngô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 Internet mở (HTTP[7], XML[1], SOAP[4]) để nó có thể được truy cập và thông dịch bở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ùng Web (UI[6]). 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 (discovery). System.Web.UI namespace cung cấp hai lớp cho các các điều khiển (control) 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 HTML tag (thẻ) như input (đầu vào). Cũng có những điều khiển Web 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ó hai namespace là System.WinForm và System.Drawing. Bạn có thể sử dụng các lớ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 bạn thực hiện các giao diện người dùng Windows chuẩn trong các ứng dụng .NET của bạn. Bạn cũng có thể sử dụng lớp System.Drawing để truy nhập vào các đặc tính mới GDI+. Lớp này hỗ trợ cho thế hệ kế tiếp của Graphics Device Interface (GDI) là đồ hoạ hai chiều.

Tóm lại, .NET Framework thật sự quan trọng cho các nhà phát triển các ứng dụng Web và các dịch vụ Web thế hệ kế tiếp và cho cả các ứng dụng trên nền Microsoft Windows.
2. Server Infrastructure (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 .NET Enterprise Server. Đây là một bộ các ứng dụng cơ sở hạ tầng cho xây dựng, triển khai và điều hành các dịch vụ Web XML. 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) cung cấ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 đặc tính khác nữa như được mô tả dưới đây :

* Microsoft SQL Server 2000 bao gồm chức nǎng XML, hỗ trợ các chuẩn của Worldwide Web Consortium (W3C)[8], khả nǎng thao tác dữ liệu XML khi sử dụng Transact SQL (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 bạn bằng Web có sử dụng HTTP[7].
* Microsoft BizTalk Server 2000 cung cấp việc tích hợp các ứng dụng xí nghiệp (Enterprise Application Integration - EAI), hợp nhất doanh nghiệp B2B (business-to-business) và công nghệ 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ệu một số đặc tính mới quan trọng và xa 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ǎng khả nǎng tích hợp Exchange 2000 với Microsoft Windows 2000, Microsoft Office 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 ninh trên Internet và máy phục vụ gia tốc (Acceleration Server) tích hợp một tường lửa xí nghiệp nhiều lớp, có thể mở rộng và một bộ đệm (cache) Web hiệu suất cao 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ủa Windows 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ồi tinh vi và những khả nǎng phân tích.
* Mobile Information Server 2001 cho phép sử dụng các ứng dụng thông qua các thiết bị mobile như là cell-phone chẳng hạn.

3. Building Block Services (Các dịch vụ khối hợp nhất)

Các dịch vụ khối hợp nhất là một tập hợp trung-tâm-người-dùng (user-centric) của các dịch vụ Web XML, nó chuyển điều khiển dữ liệu người dùng từ các ứng dụng đến những người sử dụng và cho phép người dùng kiểm soát nhiều hơn thông qua các quy tắc xử lý dữ liệu và quyền ưu tiên do nó xác định, trong khi bảo đảm sự đồng ý của người dùng là cơ sở cho mọi giao dịch. Chúng chứa đựng Passport (cho việc nhận diện người dùng), và các dịch vụ cho việc phân tán thông điệp, cất giữ file, quản lý quyền ưu tiên người dùng, quản lý lịch làm việc và các chức nǎng khác.

Microsoft đã đưa ra một vài dịch vụ hợp nhất mà điển hình là Microsoft HailStorm. Microsoft HailStorm là một dịch vụ trung-tâm-người-dùng cung cấp cho những người-dùng-cuối khả nǎng lưu trữ thông tin cá nhân như các cuộc hẹn, lịch hay các thông tin về tài chính. Khi đǎng ký dịch vụ này thông tin được chia xẻ với các ứng dụng khác theo ý muốn của họ. Tới đây, một phạm vi rộng lớn các cộng sự và các nhà phát triển sẽ mở rộng đáng kể tập các dịch vụ khối hợp nhất này.

Các dịch vụ Web XML là những khối hợp nhất cơ bản trong sự chuyển tiếp sang tính toán phân tán trên Internet. Những chuẩn mở và sự tập trung vào truyền thông và hợp tác giữa mọi người và các ứng dụng đã tạo ra một môi trường, nơi các dịch vụ Web XML đang trở thành nền tảng cho sự hợp nhất các ứng dụng. Những ứng dụng được xây dựng khi sử dụng nhiều dịch vụ Web XML từ những nguồn khác nhau nhưng làm việc cùng nhau bất chấp chúng trú ngụ ở đâu hay chúng được thực hiện như thế nào. Các dịch vụ Web XML đưa ra chức nǎng hoạt động hữu ích tới những người dùng Web thông qua một giao thức Web chuẩn. Trong đa số các trường hợp, giao thức được sử dụng là SOAP[4]. Các dịch vụ Web XML cung cấp một cách để mô tả những giao diện của chúng để cho phép một người dùng xây dựng một ứng dụng khách (client) để có thể "nói chuyện" với chúng. Sự mô tả này thông thường được cung cấp trong một tài liệu XML gọi là một tài liệu Web Services Description Language (WSDL). Những dịch vụ Web XML được đǎng ký để những người sử dụng có khả nǎng có thể tìm thấy họ một cách dễ dàng. Những tài liệu này được hoàn thành với Universal Discovery Description and Integration (UDDI[9]).
4. Các Client hay các thiết bị thông minh

.NET sử dụng phần mềm cho các thiết bị thông minh để cho phép các máy vi tính (PC), máy tính xách tay (laptop), máy trạm (workstation), điện thoại thông minh (smart phone), máy tính cầm tay (handheld computer), máy tính bảng (Tablet PC), trạm trò chơi (game console) và các thiết bị thông minh khác để điều khiển và hoạt động trong .NET.

Một thiết bị thông minh thường có khả nǎng nhận biết :

* Về bạn: thiết bị sử dụng sự nhận diện .NET, hiện trạng và dữ liệu của bạn để đơn giản hoá quá trình sử dụng của bạn; và nó có thể nhận biết về sự có mặt của bạn và cho phép biến đổi những khai báo khi đáp lại sự hiển diện hoặc khi thiếu một thông tin nào đó.
* Trên mạng: phản ứng lại những sự ràng buộc về giải tần; cung cấp sự hỗ trợ cho cả hai kiểu sử dụng các trình ứng dụng trực tuyến (online) và ngoại tuyến (offline); hiểu và đoán biết được những dịch vụ nào có thể dùng được (có sẵn).
* Về thông tin: truy nhập, phân tích và xử lý dữ liệu ở bất cứ đâu và tại bất cứ thời điểm nào.
* Về các thiết bị khác: phát hiện ra và thông tin cho các máy vi tính (PC), các thiết bị thông minh, các máy phục vụ (server) và Internet; biết phải cung cấp các dịch vụ tới các thiết bị khác như thế nào; thông minh khi truy cập thông tin từ PC.
* Về phần mềm và các dịch vụ: giới thiệu các ứng dụng và dữ liệu được tối ưu cho form factor; nhập vào các phương pháp và khả nǎng kết nối thích hợp cho tương tác người dùng cuối; dùng các dịch vụ Web có sử dụng XML[1], SOAP[3], và UDDI[9]; có thể chương trình hoá và dễ mở rộng bởi các nhà phát triển.

Một số phần mềm của Microsoft đang làm việc cho các thiết bị thông minh bao gồm Microsoft Windows XP, Windows Me, Windows CE, Windows Embedded, .NET Framework và .NET Compact Framework.
Lời kết

Microsoft .NET là nền tảng cho các dịch vụ Web XML của Microsoft. Đây là thế hệ tiếp theo của công việc tính toán trên Internet, có sử dụng XML để truyền thông giữa các dịch vụ Web XML ghép nối lỏng (loosely coupled[12]) mà chúng đang cộng tác để thực hiện một tác vụ đặc biệt. Chiến lược .NET của Microsoft đã đưa ra một nền tảng phần mềm để xây dựng các mô hình lập trình và những công cụ để tạo và tích hợp các dịch vụ Web XML và một tập các giao diện Web có khả nǎng chương trình hoá.

Sự chuyển tiếp sang .NET hiện đang xảy ra. Microsoft đã và đang công bố những phiên bản mới nhất của Nền tảng .NET - .NET Framework, Visual Studio.NET và một vài dịch vụ khối hợp nhất. Microsoft sẽ phát triển nhiều công cụ và dịch vụ hơn trong nǎm nay và các nǎm tiếp theo để thực hiện chiến lược .NET của mình.

Chú thích:

* [5] Overloading : Một trong những chức nǎng đa hình (Polymorphism) mạnh nhất của VB.NET là overload (quá tải, có rồi mà còn cho thêm) một method (phương thức hay hàm). Overloading có nghĩa có thể dùng cùng một tên cho nhiều method - miễn là chúng có danh sách các tham số khác nhau, hoặc là tham số dùng kiểu dữ liệu khác nhau (method này dùng Integer, method kia dùng String), hoặc là số các tham số khác nhau (method này có 2 tham số, method kia có 3 tham số).
* [6] UI : User Interface, Giao diện người dùng.
* [9] UDDI (Universal Discovery Description and Integration) : là một nơi đǎng ký công cộng được thiết kế để lưu trữ thông tin về các doanh nghiệp và các dịch vụ của họ theo một cách có cấu trúc.
Nguồn : niitangiang.edu.vn

Không có nhận xét nào:

Đăng nhận xét