SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
MICROSOFT .NET FRAMEWORK
   .NET Framework của Microsoft là một nền tảng lập trình tập hợp các thư viện lập trình có thể được cài thêm
   hoặc đã có sẵn trong các hệ điều hành Windows. Nó cung cấp những giải pháp thiết yếu cho những yêu cầu
   thông thường của các chương trình điện toán như lập trình giao diện người dùng, truy cập dữ liệu, kết nối cơ sở
   dữ liệu, ứng dụng web, các giải thuật số học và giao tiếp mạng. Ngoài ra, .NET Framework quản lý việc thực thi
   các chương trình được viết dựa trên .NET Framework do đó người dùng cần phải cài .NET Framework để có thể
   chạy các chương trình được viết trên nền .NET.
   Về chức năng, .NET Framework có 3 khối chức năng là: Trình diễn (Presentation); Dữ liệu (Data); Giao tiếp
   (Communication).
   Về kỹ thuật, hiện tại Microsoft giới thiệu 4 kỹ thuật mới và nổi bật nhất là: Windows CardSpace (InfoCard),
   Windows Presentation Foundation (Avalon), Windows Communication Foundation (Indigo), Windows
   Workflow Foundation (Workflow).


   Article I.CẤU TRÚC .NET FRAMEWORK
   .NET Framework bao gồm ba phần là bộ thực thi ngôn ngữ chung (Common Language Runtime), các lớp lập
   trình hợp nhất hay còn gọi là các thư viện lớp cơ sở (Base Class Libraries) và một phiên bản cấu thành của
   Microsoft Active Server Pages gọi là Microsoft ASP.NET. Trên thực tế, ASP.NET và Windows Forms là hai thành
   phần nằm trong Base Class Libraries, nên có thể xem .NET Framework bao gồm 2 phần chính là Common
   Language Runtime (CLR) và .NET Framework Class Library (FCL). Một trong các thành phần này đều có vai trò
   cực kỳ quan trọng trong việc phát triển các dịch vụ và các ứng dụng .NET.




1. COMMON LANGUAGE RUNTIME
   Như các bạn đã biết, các ngôn ngữ lập trình khác nhau đều cung cấp một runtime (bộ thực thi) và .NET
   Framework không phải là một ngoại lệ. Tuy vậy bạn sẽ thấy bộ runtime này là khá đặc biệt so với phần lớn các
   runtime chúng ta vẫn sử dụng.
   Common Language Runtime (gọi tắt là bộ thực thi – CRL) được xây dựng trên các dịch vụ hệ điều hành. CLR là
   nền tảng của .NET Framework, nó đảm nhận các công việc sau:
 Là công cụ thực thi mã trung gian (tựa JVM)
 Biên dịch (Just-in-time compiler)
 Thực thi mã nguồn
 Quản lý bộ nhớ
 Thực thi luồng (Thread execution)
 Xử lý lỗi (Error-handling)
 Xác nhận mã nguồn an toàn và các hình thức khác của việc chính xác mã nguồn (managed code).
   CLR đã được phát triển ở tầm cao hơn so với các runtime trước đây như VB-runtime chẳng hạn, bởi nó đạt
   được những khả nǎng như tích hợp các ngôn ngữ, bảo mật truy cập mã, quản lý thời gian sống của đối tượng
   và hỗ trợ gỡ lỗi.




                                                   ~1~
Mã được biên dịch và hướng tới CLR có tên "managed code". "Managed code" cung cấp siêu dữ liệu (metadata)
    cần thiết cho CLR để cung cấp các dịch vụ hỗ trợ đa ngôn ngữ, bảo mật mã, quản lý thời gian sống của đối
    tượng và quản lý bộ nhớ.
    Nếu .NET Framework tồn tại (và đã được cài đặt) trên một nền tảng, thì nền tảng đó có thể chạy bất kỳ
    chương trình .NET nào. Khả năng của một chương trình có thể chạy (không có sửa đổi) trên nhiều nền tảng
    được gọi là sự độc lập về nền tảng. Code được viết một lần có thể được sử dụng trên mọi loại máy tính mà
    không sửa đổi, tiết kiệm cả thời gian và tiền bạc.
    .NET Framework cũng cung cấp mức độ tương tác cao giữa các ngôn ngữ. Chương trình viết bằng các ngôn
    ngữ khác nhau đều được biên dịch thành các phần MSIL khác nhau có thể được kết hợp để tạo ra một chương
    trình thống nhất. MSIL cho phép .NET Framework trở thành ngôn ngữ không phụ thuộc, bởi vì các chương trình
    .NET không gắn với một ngôn ngữ lập trình cụ thể nào cả. Bất cứ ngôn ngữ nào có thể được biên dịch sang
    MSIL được gọi là ngôn ngữ tương thích với .NET. Danh sách các ngôn ngữ lập trình khả dụng với .NET được liệt
    kê trong bảng sau:
                             .NET programming languages

                             APL                        Mondrian

                             C#                         Oberon

                             COBOL                      Oz

                             Component Pascal           Pascal

                             Curriculum                 Perl

                             Eiffel                     Python

                             Forth                      RPG

                             Fortran                    Scheme

                             Haskell                    Smalltalk

                             Java                       Standard ML

                             JScript                    Visual Basic

                             Mercury                    Visual C++


   Common Language Infrastructure (CLI)
    Mục đích của Common Language Infrastructure (CLI) là cung cấp một nền tảng ngôn ngữ trung lập để phát
    triển và thực thi ứng dụng, bao gồm cả chức năng để xử lý các lỗi, thu gom rác thải (garbage collection), bảo
    mật và khả năng tương tác. Bằng cách thực hiện những khía cạnh cốt lõi của .NET Framework trong phạm vi
    của mình, CLI sẽ không được gắn với một ngôn ngữ duy nhất mà sẽ có mặt trên nhiều ngôn ngữ được hỗ trợ
    bởi .NET framework.
   Biên dịch trong .NET
    Common Language Runtime (CLR) là một phần trung tâm của .NET Frameworkit thực hiện các chương trình
    .NET. Chương trình được biên dịch vào các hướng dẫn-cụ thể (machine-specific) của máy theo hai bước. Đầu
    tiên, chương trình được dịch thành Microsoft Intermediate Language (MSIL), trong đó xác định các hướng dẫn
    cho các CLR. Code được chuyển đổi thành MSIL từ các ngôn ngữ khác và các nguồn có thể được kết hợp với
    nhau bằng CLR. Các MSIL cho các thành phần của một ứng dụng được đặt vào file thực thi của ứng dụng
    (được gọi là assembly). Khi ứng dụng thực thi, trình biên dịch (được gọi là biên dịch just-in-time hoặc biên dịch
    JIT) CLR phiên dịch MSIL trong file thực thi vào mã máy (đối với một nền tảng cụ thể), sau đó mã máy được
    thực thi trên nền tảng đó. Ghi chú: MSIL là ngôn ngữ trung gian, là một giải pháp để giúp cho các lập trình viên
    không cần quan tâm đến việc lập trình bằng ngôn ngữ nào trong bộ .NET.
    Ví dụ: thực tế, trong 1 nhóm lập trình, có người sử dụng VB.NET, có người dùng C#, có người dùng J#,…
    nhưng họ vẫn có thể hợp tác làm ra sản phẩm, dùng ngôn ngữ quen thuộc của họ để lập trình, không nhất
    thiết 1 group chỉ gồm những người lập trình duy nhất 1 ngôn ngữ xác định.
                                                     ~2~
Việc biên dịch chương trình sang MSIL giúp chương trình đó có thể chạy trên nhiều máy, nhiều nền tảng khác
    nhau.
    Tại sao phải biên dịch 2 lần:
    Độc lập với phần cứng
    .NET framewwork có thể cài đặt trên nhiều platform
    Các chương trình .NET được thực hiện mà không có thay đổi code nào (viết 1 lần, chạy mọi nơi)
    Độc lập về ngôn ngữ
    Các chương trình .NET không bị trói buộc vào một ngôn ngữ cụ thể nào cả
    Các chương trình trong .NET có thể được viết bới các ngôn ngữ trong .NET

2. .NET FRAMEWORK CLASS LIBRARY (FCL) - Thƣ viện lớp.NET Framework
   Có thể bạn đã nghe qua về MFC và JFC. Microsoft Foundation Class (MFC) là bộ thư viện mà lập trình viên
   Visual C++ sử dụng trong khi Java Foundation Class (JFC) là bộ thư viện dành cho các lập trình viên Java.
   Bạn có thể xem .NET Framework Class Library (FCL) là bộ thư viện dành cho các lập trình viên .NET.
   Với hơn 80000 lớp đối tượng (với .NET 4.0) để gọi thực hiện đủ các loại dịch vụ từ hệ điều hành, bạn có thể bắt
   đầu xây dựng ứng dụng bằng Notepad.exe. Nhiều người lầm tưởng rằng các môi trường phát triển phần mềm
   như Visual Studio 98 hay Visual Studio .NET là tất cả những gì cần để viết chương trình. Thực ra, chúng là
   những phần mềm dùng làm vỏ bọc bên ngoài. Với chúng, bạn sẽ viết được các đoạn lệnh đủ các màu xanh, đỏ;
   lỗi cú pháp báo ngay khi đang gõ lệnh; thuộc tính của các đối tượng được đặt ngay cửa sổ properties, giao diện
   được thiết kế theo phong cách trực quan…
   Hầu hết các lớp được gom vào một namespace (không gian tên) gọi là system.
3. SƠ LƢỢC VỀ NAMESPACE
   .NET Framework được tạo bởi từ hàng trǎm lớp (class). Nhiều ứng dụng mà bạn 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ột cấu trúc lớp được gọi là một namespace. Một namespace có thể là con của một namespace lớn
   hơn. Namespace lớn nhất trong .NET Framework là System. System là một Namespace cơ sở trong .NET
   Framework. Tất cả các namespace được cung cấp trong .NET framework bắt đầu với namespace cơ sở này. Ví
   dụ, những lớp phục vụ việc truy cậ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..
   Lợi điểm của namespace là phân nhóm các lớp đối tượng, giúp người dùng dễ nhận biết và sử dụng. Ngoài ra,
   namespace tránh việc các lớp đối tượng có tên trùng với nhau không sử dụng được. .NET Framework cho phép
   bạn tạo ra các lớp đối tượng và các namespace của riêng mình. Với hơn 80000 tên có sẵn, việc đặt trùng tên
   lớp của mình với một lớp đối tượng đã có là điều khó tránh khỏi. Namespace cho phép việc này xảy ra bằng
   cách sử dụng một tên đầy đủ để nói đến một lớp đối tượng. Ví dụ, nếu muốn dùng lớp WebControls, bạn có
   thể dùng tên tắt của nó là WebControls hay tên đầy đủ là System.Web.UI.WebControls.


    Article II.        CÁC PHIÊN BẢN CỦA .NET
   .NET framework 1.0 - 2002
   .NET framework 1.1 - 2003
   .NET framework 2.0 - 2005
   .NET framework 3.5 - 2008
   .NET framework 4.0 – 2010
   Ver 1.0 – phát hành năm 2002
    Ngày 12/2/2002 đánh dấu bước quan trọng đầu tiên trong “cuộc đời” của .NET Framework, khi phiên bản 1.0
    cùng với Visual Studio.NET 2002 được chính thức ra mắt. Chính .NET Framework 1.0 là điểm nhấn đáng chú ý
    nhất và làm cho Visual Studio. NET 2002 khác biệt hẳn với Visual Studio 6.0 đã phát hành năm 1998. Lần đầu
    tiên, Microsoft giới thiệu về “lập trình hợp nhất”, với việc lấy .NET Framework làm nền tảng.
   Ver 1.1 - phát hành năm 2003
    Một năm sau ngày .NET Framework 1.0 ra đời, ngày 24/4/2003, Microsoft đã có ngay bản cập nhật 1.1 ra mắt
    cùng với Visual Studio.NET 2003. Không có nhiều nâng cấp đáng chú ý trong lần ra mắt này, đáng kể nhất là
    sự ra đời của .NET Compact Framework, phiên bản thu gọn của .NET Framework cho các thiết bị di động. Điều
    đáng tiếc là mặc dù có nền tảng rất tốt, cùng với sự hỗ trợ mạnh mẽ từ Microsoft, cho đến nay, .NET Compact

                                                   ~3~
Framework vẫn chưa phát triển như “lẽ ra nó phải thế”. Hiện nay số thiết bị di động chạy Windows
    Mobile/Windows Phone khá khiêm tốn so với các hệ điều hành (HĐH) còn lại.
    .NET Framework 1.1 cũng mở ra một “truyền thống” là kể từ đây, các HĐH Windows đều được cài đặt sẵn
    phiên bản .NET Framework mới nhất. Windows Server 2003 tiên phong với phiên bản 1.1, sau đó là Windows
    Vista với .NET 3.0, và gần đây nhất là Windows 7/Server 2008 với .NET 3.5 SP1.
   Ver 2.0 phát hành năm 2005
    Microsoft mất đến hơn 2 năm để phát triển .NET Framework 2.0 và Visual Studio 2005, và thời gian bỏ ra là
    thật sự đáng giá. Tháng 11/2005, hai sản phẩm này ra mắt với hàng loạt tính năng mới, trong đó đáng kể nhất
    là việc hỗ trợ hoàn toàn cho tính toán 64-bit, .NET Micro Framework, bổ sung và nâng cấp nhiều control của
    ASP.NET và đặc biệt là hỗ trợ Generics. .NET 2.0 hoàn toàn khác biệt so với các phiên bản trước.
    Generic cho phép chúng ta định kiểu an toàn (type safety). Chúng cho phép ta tạo ra một cấu trúc dữ liệu mà
    không cần phải xác định đó là kiểu dữ liệu gì. Tuy nhiên khi cấu trúc dữ liệu này được sử dụng, trình biên dịch
    phải đảm bảo rằng kiểu dữ liệu được sử dụng với nó là kiểu an toàn. Generic cũng tương đương vơi Template
    trong C     tuy nhiên việc sử dụng Generic trong .NET dễ dàng hơn nhiều so với Template.
    Phiên bản 1.0 và 1.1 của .NET Framework không hỗ trợ generics. Thay vào đó, lập trình viên sử dụng lớp
    Object với các tham số và thành viên sẽ phải chuyển đổi tới các lớp khác dựa trên lớp Object. Generics mang
    đến hai tính năng cải tiến đáng kể đối với việc sử dụng lớp Object: Giảm bớt lỗi vận hành (Reduced run-time
    errors), Hiệu suất được cải thiện (Improved performance).
   Ver 3.0 & Ver 3.5 (phát hành năm 2008)
    Nếu như 3 phiên bản trước đó, .NET Framwork đều gắn liền với một phiên bản Visual Studio nào đó, thì.NET
    Framework 3.0 đã “phá” truyền thống này khi ra mắt cùng với hệ điều hành Windows Vista vào cuối năm 2006.
    Ba “điểm nhấn” trong lần nâng cấp này là thành phần được kỳ vọng thay thế Winform - Windows Presentation
    Foundation – WPF, Windows Communitcation Foundation – WCF, Windows Workflow Foundation - WF, và
    Windows Card Space.
    .NET Framework 3.0 không phải là một phiên bản mới hoàn toàn, thực tế là một bản nâng cấp của .NET 2.0,
    hay đúng hơn là một bản nâng cấp cho thư viện của .NET 2.0.
    Chính vì không có Visual Studio “đi kèm”, mà .NET 3.0 đành phải “ký gửi” vào Visual Studio 2005 với một bộ
    công cụ mở rộng. Người dùng phải đợi đến tháng 11 năm 2007 mới được sử dụng một phiên bản Visual Studio
    hỗ trợ đầy đủ và toàn diện cho .NET 3.0, và hơn thế nữa. Vâng, chúng ta đang nói đến VS 2008 và .NET Frame
    work 3.5. Cũng như phiên bản 3.0, .NET 3.5, là một mở rộng trên nền .NET 2.0.
    LINQ [LINQ: Language Integrated Query - đây là thư viện mở rộng cho các ngôn ngữ lập trình C# và Visual
    Basic.NET (có thể mở rộng cho các ngôn ngữ khác) cung cấp khả năng truy vấn trực tiếp dữ liệu đối tượng,
    CSDL và XML] là phần nổi bật và đáng chú ý nhất trong .NET 3.5.
   Ver 4.0 – phát hành năm 2010
    Ngày 12/4 vừa qua, Microsoft lại nâng cấp .NET Framework và Visual Studio.
    Đây là phiên bản đầu tiên sau .NET 2.0 kể từ 2005, có một CLR hoàn toàn mới: CLR 4.0. Cũng cần nhắc lại là
    cả .NET 3.0 và 3.5 đều sử dụng CLR 2.0, và không có CLR 3.0. Việc Microsoft chuyển thẳng lên 4.0 không chỉ
    để “đồng bộ” phiên bản, mà còn nhằm khẳng định đây là một bước tiến lớn.
    .NET Framework 4 giới thiệu một model an ninh được cải thiện.
    Các tính năng mới và cải tiến trong .NET Framework 4 là:
•   Application Compatibility and Deployment
    (Khả năng tương thích ứng dụng và triển khai)
•   Core New Features and Improvements
    (Các tính năng mới và cải tiến của phần nhân)
•   Managed Extensibility Framework
    (Quản lý mở rộng Framework)
•   Parallel Computing (Điện toán song song)
•   Networking
•   Web
•   Client
•   Data
•   Windows Communication Foundation (WCF)
•   Windows Workflow Foundation (WF)

                                                    ~4~
----------------------------------------
   WCF là công nghệ nền tảng nhằm thống nhất nhiều mô hình lập trình giao tiếp được hỗ trợ trong .NET 2.0
    thành một mô hình duy nhất.
   WF: Windows Workflow Foundation - workflow (luồng công việc)
    Một workflow (luồng công việc) là thứ tự các bước, tác vụ, sự kiện hoặc tương tác làm nên một quy trình để
    thực hiện một công việc nào đó. Quy trình này có thể có nhiều bộ phận, cá nhân tham gia. Nguồn gốc luồng
    công việc có lẽ bắt nguồn từ công tác xử lý văn bản: văn bản cần phải được di chuyển từ nơi này sang nơi khác
    để thực hiện các công việc khác nhau (đọc, sửa đổi, góp ý, xem lại, phê chuẩn…). Windows Workflow
    Foundation (WF) là một công nghệ của Microsoft cho phép định nghĩa, thực thi và quản lý các workflow. Công
    nghệ này được ra đời vào tháng 11 năm 2006 như là một phần của nền tảng .NET framework 3.0 (còn gọi là
    WinFX).
                                                                                          Sƣu tầm và tổng hợp
    Trần Ngọc Sơn
    TH10A1
    Email: ngocsonak@gmail.com
    Web: http://ngocsonak.net




                                                   ~5~

Más contenido relacionado

Destacado

Detection of swine hev modified
Detection of swine hev modifiedDetection of swine hev modified
Detection of swine hev modifiedkpiller
 
VCDR of 1961
VCDR of 1961VCDR of 1961
VCDR of 1961jha net
 
Proposed Changes in General-Season Deer Hunting — Dec. 2, 2010 Meeting
Proposed Changes in General-Season Deer Hunting  — Dec. 2, 2010 MeetingProposed Changes in General-Season Deer Hunting  — Dec. 2, 2010 Meeting
Proposed Changes in General-Season Deer Hunting — Dec. 2, 2010 MeetingUtah Division of Wildlife Resources
 
Tbadv492 good version
Tbadv492 good versionTbadv492 good version
Tbadv492 good versionZach Chmill
 
Summary for the first evaluation
Summary for the first evaluationSummary for the first evaluation
Summary for the first evaluationmartamiren
 
Il buzzieqa magika
Il buzzieqa magikaIl buzzieqa magika
Il buzzieqa magikaclarodgers
 
Explorative services and UIs – MEX, London 2013
Explorative services and UIs – MEX, London 2013Explorative services and UIs – MEX, London 2013
Explorative services and UIs – MEX, London 2013Ocean Observations
 
Lec5 MECH ENG STRucture
Lec5   MECH ENG  STRuctureLec5   MECH ENG  STRucture
Lec5 MECH ENG STRuctureMohamed Yaser
 
Lec2 MECH ENG STRucture
Lec2    MECH ENG  STRuctureLec2    MECH ENG  STRucture
Lec2 MECH ENG STRuctureMohamed Yaser
 
What is nanotechnology
What is nanotechnologyWhat is nanotechnology
What is nanotechnologyMohamed Yaser
 
Ilusiones ópticas
Ilusiones ópticasIlusiones ópticas
Ilusiones ópticasmilaalba
 
Uni masr.com f29d8aea7936d9edc04dafcd2ad1b027
Uni masr.com f29d8aea7936d9edc04dafcd2ad1b027Uni masr.com f29d8aea7936d9edc04dafcd2ad1b027
Uni masr.com f29d8aea7936d9edc04dafcd2ad1b027Mohamed Yaser
 

Destacado (20)

Detection of swine hev modified
Detection of swine hev modifiedDetection of swine hev modified
Detection of swine hev modified
 
VCDR of 1961
VCDR of 1961VCDR of 1961
VCDR of 1961
 
Lec5
Lec5Lec5
Lec5
 
Lec3
Lec3Lec3
Lec3
 
Proposed Changes in General-Season Deer Hunting — Dec. 2, 2010 Meeting
Proposed Changes in General-Season Deer Hunting  — Dec. 2, 2010 MeetingProposed Changes in General-Season Deer Hunting  — Dec. 2, 2010 Meeting
Proposed Changes in General-Season Deer Hunting — Dec. 2, 2010 Meeting
 
Software Series 3
Software Series 3Software Series 3
Software Series 3
 
Tbadv492 good version
Tbadv492 good versionTbadv492 good version
Tbadv492 good version
 
Summary for the first evaluation
Summary for the first evaluationSummary for the first evaluation
Summary for the first evaluation
 
Il buzzieqa magika
Il buzzieqa magikaIl buzzieqa magika
Il buzzieqa magika
 
Explorative services and UIs – MEX, London 2013
Explorative services and UIs – MEX, London 2013Explorative services and UIs – MEX, London 2013
Explorative services and UIs – MEX, London 2013
 
Bam cap mang
Bam cap mangBam cap mang
Bam cap mang
 
Lec5 MECH ENG STRucture
Lec5   MECH ENG  STRuctureLec5   MECH ENG  STRucture
Lec5 MECH ENG STRucture
 
Lec2 MECH ENG STRucture
Lec2    MECH ENG  STRuctureLec2    MECH ENG  STRucture
Lec2 MECH ENG STRucture
 
Harbor UCLA Neuro-Radiology Case #9
Harbor UCLA Neuro-Radiology Case #9Harbor UCLA Neuro-Radiology Case #9
Harbor UCLA Neuro-Radiology Case #9
 
Skl un semua mata pelajaran
Skl un semua mata pelajaranSkl un semua mata pelajaran
Skl un semua mata pelajaran
 
What is nanotechnology
What is nanotechnologyWhat is nanotechnology
What is nanotechnology
 
Neurocirugía; Marzo 2011, Volume 16
Neurocirugía; Marzo 2011, Volume 16Neurocirugía; Marzo 2011, Volume 16
Neurocirugía; Marzo 2011, Volume 16
 
Ilusiones ópticas
Ilusiones ópticasIlusiones ópticas
Ilusiones ópticas
 
Russian Neurosurgical Journal; Vol 3, No 3
Russian Neurosurgical Journal; Vol 3, No 3Russian Neurosurgical Journal; Vol 3, No 3
Russian Neurosurgical Journal; Vol 3, No 3
 
Uni masr.com f29d8aea7936d9edc04dafcd2ad1b027
Uni masr.com f29d8aea7936d9edc04dafcd2ad1b027Uni masr.com f29d8aea7936d9edc04dafcd2ad1b027
Uni masr.com f29d8aea7936d9edc04dafcd2ad1b027
 

Tong quan ve .NET framework

  • 1. MICROSOFT .NET FRAMEWORK .NET Framework của Microsoft là một nền tảng lập trình tập hợp các thư viện lập trình có thể được cài thêm hoặc đã có sẵn trong các hệ điều hành Windows. Nó cung cấp những giải pháp thiết yếu cho những yêu cầu thông thường của các chương trình điện toán như lập trình giao diện người dùng, truy cập dữ liệu, kết nối cơ sở dữ liệu, ứng dụng web, các giải thuật số học và giao tiếp mạng. Ngoài ra, .NET Framework quản lý việc thực thi các chương trình được viết dựa trên .NET Framework do đó người dùng cần phải cài .NET Framework để có thể chạy các chương trình được viết trên nền .NET. Về chức năng, .NET Framework có 3 khối chức năng là: Trình diễn (Presentation); Dữ liệu (Data); Giao tiếp (Communication). Về kỹ thuật, hiện tại Microsoft giới thiệu 4 kỹ thuật mới và nổi bật nhất là: Windows CardSpace (InfoCard), Windows Presentation Foundation (Avalon), Windows Communication Foundation (Indigo), Windows Workflow Foundation (Workflow). Article I.CẤU TRÚC .NET FRAMEWORK .NET Framework bao gồm ba phần là bộ thực thi ngôn ngữ chung (Common Language Runtime), các lớp lập trình hợp nhất hay còn gọi là các thư viện lớp cơ sở (Base Class Libraries) và một phiên bản cấu thành của Microsoft Active Server Pages gọi là Microsoft ASP.NET. Trên thực tế, ASP.NET và Windows Forms là hai thành phần nằm trong Base Class Libraries, nên có thể xem .NET Framework bao gồm 2 phần chính là Common Language Runtime (CLR) và .NET Framework Class Library (FCL). Một trong các thành phần này đều có vai trò cực kỳ quan trọng trong việc phát triển các dịch vụ và các ứng dụng .NET. 1. COMMON LANGUAGE RUNTIME Như các bạn đã biết, các ngôn ngữ lập trình khác nhau đều cung cấp một runtime (bộ thực thi) và .NET Framework không phải là một ngoại lệ. Tuy vậy bạn sẽ thấy bộ runtime này là khá đặc biệt so với phần lớn các runtime chúng ta vẫn sử dụng. Common Language Runtime (gọi tắt là bộ thực thi – CRL) được xây dựng trên các dịch vụ hệ điều hành. CLR là nền tảng của .NET Framework, nó đảm nhận các công việc sau:  Là công cụ thực thi mã trung gian (tựa JVM)  Biên dịch (Just-in-time compiler)  Thực thi mã nguồn  Quản lý bộ nhớ  Thực thi luồng (Thread execution)  Xử lý lỗi (Error-handling)  Xác nhận mã nguồn an toàn và các hình thức khác của việc chính xác mã nguồn (managed code). CLR đã được phát triển ở tầm cao hơn so với các runtime trước đây như VB-runtime chẳng hạn, bởi nó đạt được những khả nǎng như tích hợp các ngôn ngữ, bảo mật truy cập mã, quản lý thời gian sống của đối tượng và hỗ trợ gỡ lỗi. ~1~
  • 2. Mã được biên dịch và hướng tới CLR có tên "managed code". "Managed code" cung cấp siêu dữ liệu (metadata) cần thiết cho CLR để cung cấp các dịch vụ hỗ trợ đa ngôn ngữ, bảo mật mã, quản lý thời gian sống của đối tượng và quản lý bộ nhớ. Nếu .NET Framework tồn tại (và đã được cài đặt) trên một nền tảng, thì nền tảng đó có thể chạy bất kỳ chương trình .NET nào. Khả năng của một chương trình có thể chạy (không có sửa đổi) trên nhiều nền tảng được gọi là sự độc lập về nền tảng. Code được viết một lần có thể được sử dụng trên mọi loại máy tính mà không sửa đổi, tiết kiệm cả thời gian và tiền bạc. .NET Framework cũng cung cấp mức độ tương tác cao giữa các ngôn ngữ. Chương trình viết bằng các ngôn ngữ khác nhau đều được biên dịch thành các phần MSIL khác nhau có thể được kết hợp để tạo ra một chương trình thống nhất. MSIL cho phép .NET Framework trở thành ngôn ngữ không phụ thuộc, bởi vì các chương trình .NET không gắn với một ngôn ngữ lập trình cụ thể nào cả. Bất cứ ngôn ngữ nào có thể được biên dịch sang MSIL được gọi là ngôn ngữ tương thích với .NET. Danh sách các ngôn ngữ lập trình khả dụng với .NET được liệt kê trong bảng sau: .NET programming languages APL Mondrian C# Oberon COBOL Oz Component Pascal Pascal Curriculum Perl Eiffel Python Forth RPG Fortran Scheme Haskell Smalltalk Java Standard ML JScript Visual Basic Mercury Visual C++  Common Language Infrastructure (CLI) Mục đích của Common Language Infrastructure (CLI) là cung cấp một nền tảng ngôn ngữ trung lập để phát triển và thực thi ứng dụng, bao gồm cả chức năng để xử lý các lỗi, thu gom rác thải (garbage collection), bảo mật và khả năng tương tác. Bằng cách thực hiện những khía cạnh cốt lõi của .NET Framework trong phạm vi của mình, CLI sẽ không được gắn với một ngôn ngữ duy nhất mà sẽ có mặt trên nhiều ngôn ngữ được hỗ trợ bởi .NET framework.  Biên dịch trong .NET Common Language Runtime (CLR) là một phần trung tâm của .NET Frameworkit thực hiện các chương trình .NET. Chương trình được biên dịch vào các hướng dẫn-cụ thể (machine-specific) của máy theo hai bước. Đầu tiên, chương trình được dịch thành Microsoft Intermediate Language (MSIL), trong đó xác định các hướng dẫn cho các CLR. Code được chuyển đổi thành MSIL từ các ngôn ngữ khác và các nguồn có thể được kết hợp với nhau bằng CLR. Các MSIL cho các thành phần của một ứng dụng được đặt vào file thực thi của ứng dụng (được gọi là assembly). Khi ứng dụng thực thi, trình biên dịch (được gọi là biên dịch just-in-time hoặc biên dịch JIT) CLR phiên dịch MSIL trong file thực thi vào mã máy (đối với một nền tảng cụ thể), sau đó mã máy được thực thi trên nền tảng đó. Ghi chú: MSIL là ngôn ngữ trung gian, là một giải pháp để giúp cho các lập trình viên không cần quan tâm đến việc lập trình bằng ngôn ngữ nào trong bộ .NET. Ví dụ: thực tế, trong 1 nhóm lập trình, có người sử dụng VB.NET, có người dùng C#, có người dùng J#,… nhưng họ vẫn có thể hợp tác làm ra sản phẩm, dùng ngôn ngữ quen thuộc của họ để lập trình, không nhất thiết 1 group chỉ gồm những người lập trình duy nhất 1 ngôn ngữ xác định. ~2~
  • 3. Việc biên dịch chương trình sang MSIL giúp chương trình đó có thể chạy trên nhiều máy, nhiều nền tảng khác nhau. Tại sao phải biên dịch 2 lần: Độc lập với phần cứng .NET framewwork có thể cài đặt trên nhiều platform Các chương trình .NET được thực hiện mà không có thay đổi code nào (viết 1 lần, chạy mọi nơi) Độc lập về ngôn ngữ Các chương trình .NET không bị trói buộc vào một ngôn ngữ cụ thể nào cả Các chương trình trong .NET có thể được viết bới các ngôn ngữ trong .NET 2. .NET FRAMEWORK CLASS LIBRARY (FCL) - Thƣ viện lớp.NET Framework Có thể bạn đã nghe qua về MFC và JFC. Microsoft Foundation Class (MFC) là bộ thư viện mà lập trình viên Visual C++ sử dụng trong khi Java Foundation Class (JFC) là bộ thư viện dành cho các lập trình viên Java. Bạn có thể xem .NET Framework Class Library (FCL) là bộ thư viện dành cho các lập trình viên .NET. Với hơn 80000 lớp đối tượng (với .NET 4.0) để gọi thực hiện đủ các loại dịch vụ từ hệ điều hành, bạn có thể bắt đầu xây dựng ứng dụng bằng Notepad.exe. Nhiều người lầm tưởng rằng các môi trường phát triển phần mềm như Visual Studio 98 hay Visual Studio .NET là tất cả những gì cần để viết chương trình. Thực ra, chúng là những phần mềm dùng làm vỏ bọc bên ngoài. Với chúng, bạn sẽ viết được các đoạn lệnh đủ các màu xanh, đỏ; lỗi cú pháp báo ngay khi đang gõ lệnh; thuộc tính của các đối tượng được đặt ngay cửa sổ properties, giao diện được thiết kế theo phong cách trực quan… Hầu hết các lớp được gom vào một namespace (không gian tên) gọi là system. 3. SƠ LƢỢC VỀ NAMESPACE .NET Framework được tạo bởi từ hàng trǎm lớp (class). Nhiều ứng dụng mà bạn 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ột cấu trúc lớp được gọi là một namespace. Một namespace có thể là con của một namespace lớn hơn. Namespace lớn nhất trong .NET Framework là System. System là một Namespace cơ sở trong .NET Framework. Tất cả các namespace được cung cấp trong .NET framework bắt đầu với namespace cơ sở này. Ví dụ, những lớp phục vụ việc truy cậ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.. Lợi điểm của namespace là phân nhóm các lớp đối tượng, giúp người dùng dễ nhận biết và sử dụng. Ngoài ra, namespace tránh việc các lớp đối tượng có tên trùng với nhau không sử dụng được. .NET Framework cho phép bạn tạo ra các lớp đối tượng và các namespace của riêng mình. Với hơn 80000 tên có sẵn, việc đặt trùng tên lớp của mình với một lớp đối tượng đã có là điều khó tránh khỏi. Namespace cho phép việc này xảy ra bằng cách sử dụng một tên đầy đủ để nói đến một lớp đối tượng. Ví dụ, nếu muốn dùng lớp WebControls, bạn có thể dùng tên tắt của nó là WebControls hay tên đầy đủ là System.Web.UI.WebControls. Article II. CÁC PHIÊN BẢN CỦA .NET  .NET framework 1.0 - 2002  .NET framework 1.1 - 2003  .NET framework 2.0 - 2005  .NET framework 3.5 - 2008  .NET framework 4.0 – 2010  Ver 1.0 – phát hành năm 2002 Ngày 12/2/2002 đánh dấu bước quan trọng đầu tiên trong “cuộc đời” của .NET Framework, khi phiên bản 1.0 cùng với Visual Studio.NET 2002 được chính thức ra mắt. Chính .NET Framework 1.0 là điểm nhấn đáng chú ý nhất và làm cho Visual Studio. NET 2002 khác biệt hẳn với Visual Studio 6.0 đã phát hành năm 1998. Lần đầu tiên, Microsoft giới thiệu về “lập trình hợp nhất”, với việc lấy .NET Framework làm nền tảng.  Ver 1.1 - phát hành năm 2003 Một năm sau ngày .NET Framework 1.0 ra đời, ngày 24/4/2003, Microsoft đã có ngay bản cập nhật 1.1 ra mắt cùng với Visual Studio.NET 2003. Không có nhiều nâng cấp đáng chú ý trong lần ra mắt này, đáng kể nhất là sự ra đời của .NET Compact Framework, phiên bản thu gọn của .NET Framework cho các thiết bị di động. Điều đáng tiếc là mặc dù có nền tảng rất tốt, cùng với sự hỗ trợ mạnh mẽ từ Microsoft, cho đến nay, .NET Compact ~3~
  • 4. Framework vẫn chưa phát triển như “lẽ ra nó phải thế”. Hiện nay số thiết bị di động chạy Windows Mobile/Windows Phone khá khiêm tốn so với các hệ điều hành (HĐH) còn lại. .NET Framework 1.1 cũng mở ra một “truyền thống” là kể từ đây, các HĐH Windows đều được cài đặt sẵn phiên bản .NET Framework mới nhất. Windows Server 2003 tiên phong với phiên bản 1.1, sau đó là Windows Vista với .NET 3.0, và gần đây nhất là Windows 7/Server 2008 với .NET 3.5 SP1.  Ver 2.0 phát hành năm 2005 Microsoft mất đến hơn 2 năm để phát triển .NET Framework 2.0 và Visual Studio 2005, và thời gian bỏ ra là thật sự đáng giá. Tháng 11/2005, hai sản phẩm này ra mắt với hàng loạt tính năng mới, trong đó đáng kể nhất là việc hỗ trợ hoàn toàn cho tính toán 64-bit, .NET Micro Framework, bổ sung và nâng cấp nhiều control của ASP.NET và đặc biệt là hỗ trợ Generics. .NET 2.0 hoàn toàn khác biệt so với các phiên bản trước. Generic cho phép chúng ta định kiểu an toàn (type safety). Chúng cho phép ta tạo ra một cấu trúc dữ liệu mà không cần phải xác định đó là kiểu dữ liệu gì. Tuy nhiên khi cấu trúc dữ liệu này được sử dụng, trình biên dịch phải đảm bảo rằng kiểu dữ liệu được sử dụng với nó là kiểu an toàn. Generic cũng tương đương vơi Template trong C tuy nhiên việc sử dụng Generic trong .NET dễ dàng hơn nhiều so với Template. Phiên bản 1.0 và 1.1 của .NET Framework không hỗ trợ generics. Thay vào đó, lập trình viên sử dụng lớp Object với các tham số và thành viên sẽ phải chuyển đổi tới các lớp khác dựa trên lớp Object. Generics mang đến hai tính năng cải tiến đáng kể đối với việc sử dụng lớp Object: Giảm bớt lỗi vận hành (Reduced run-time errors), Hiệu suất được cải thiện (Improved performance).  Ver 3.0 & Ver 3.5 (phát hành năm 2008) Nếu như 3 phiên bản trước đó, .NET Framwork đều gắn liền với một phiên bản Visual Studio nào đó, thì.NET Framework 3.0 đã “phá” truyền thống này khi ra mắt cùng với hệ điều hành Windows Vista vào cuối năm 2006. Ba “điểm nhấn” trong lần nâng cấp này là thành phần được kỳ vọng thay thế Winform - Windows Presentation Foundation – WPF, Windows Communitcation Foundation – WCF, Windows Workflow Foundation - WF, và Windows Card Space. .NET Framework 3.0 không phải là một phiên bản mới hoàn toàn, thực tế là một bản nâng cấp của .NET 2.0, hay đúng hơn là một bản nâng cấp cho thư viện của .NET 2.0. Chính vì không có Visual Studio “đi kèm”, mà .NET 3.0 đành phải “ký gửi” vào Visual Studio 2005 với một bộ công cụ mở rộng. Người dùng phải đợi đến tháng 11 năm 2007 mới được sử dụng một phiên bản Visual Studio hỗ trợ đầy đủ và toàn diện cho .NET 3.0, và hơn thế nữa. Vâng, chúng ta đang nói đến VS 2008 và .NET Frame work 3.5. Cũng như phiên bản 3.0, .NET 3.5, là một mở rộng trên nền .NET 2.0. LINQ [LINQ: Language Integrated Query - đây là thư viện mở rộng cho các ngôn ngữ lập trình C# và Visual Basic.NET (có thể mở rộng cho các ngôn ngữ khác) cung cấp khả năng truy vấn trực tiếp dữ liệu đối tượng, CSDL và XML] là phần nổi bật và đáng chú ý nhất trong .NET 3.5.  Ver 4.0 – phát hành năm 2010 Ngày 12/4 vừa qua, Microsoft lại nâng cấp .NET Framework và Visual Studio. Đây là phiên bản đầu tiên sau .NET 2.0 kể từ 2005, có một CLR hoàn toàn mới: CLR 4.0. Cũng cần nhắc lại là cả .NET 3.0 và 3.5 đều sử dụng CLR 2.0, và không có CLR 3.0. Việc Microsoft chuyển thẳng lên 4.0 không chỉ để “đồng bộ” phiên bản, mà còn nhằm khẳng định đây là một bước tiến lớn. .NET Framework 4 giới thiệu một model an ninh được cải thiện. Các tính năng mới và cải tiến trong .NET Framework 4 là: • Application Compatibility and Deployment (Khả năng tương thích ứng dụng và triển khai) • Core New Features and Improvements (Các tính năng mới và cải tiến của phần nhân) • Managed Extensibility Framework (Quản lý mở rộng Framework) • Parallel Computing (Điện toán song song) • Networking • Web • Client • Data • Windows Communication Foundation (WCF) • Windows Workflow Foundation (WF) ~4~
  • 5. ----------------------------------------  WCF là công nghệ nền tảng nhằm thống nhất nhiều mô hình lập trình giao tiếp được hỗ trợ trong .NET 2.0 thành một mô hình duy nhất.  WF: Windows Workflow Foundation - workflow (luồng công việc) Một workflow (luồng công việc) là thứ tự các bước, tác vụ, sự kiện hoặc tương tác làm nên một quy trình để thực hiện một công việc nào đó. Quy trình này có thể có nhiều bộ phận, cá nhân tham gia. Nguồn gốc luồng công việc có lẽ bắt nguồn từ công tác xử lý văn bản: văn bản cần phải được di chuyển từ nơi này sang nơi khác để thực hiện các công việc khác nhau (đọc, sửa đổi, góp ý, xem lại, phê chuẩn…). Windows Workflow Foundation (WF) là một công nghệ của Microsoft cho phép định nghĩa, thực thi và quản lý các workflow. Công nghệ này được ra đời vào tháng 11 năm 2006 như là một phần của nền tảng .NET framework 3.0 (còn gọi là WinFX). Sƣu tầm và tổng hợp Trần Ngọc Sơn TH10A1 Email: ngocsonak@gmail.com Web: http://ngocsonak.net ~5~