• nh hình trước khi MS.NET ra đời
    Trong lĩnh vực công nghệ thông tin của thế giới ngày nay, với sự phát triển liên tục và đa
    dạng nhất là phần mềm, các hệ điều hành, các môi trường phát triển, các ứng dụng liên tục ra
    đời. Tuy nhiên, đôi khi việc phát triển không đồng nhất và nhất là do lợi ích khác nhau của
    các công ty phần mềm lớn làm ảnh hưởng đến những người xây dựng phần mềm.
    Cách đây vài năm Java được Sun viết ra, đã có sức mạnh đáng kể, nó hướng tới việc chạy
    trên nhiều hệ điều hành khác nhau, độc lập với bộ xử lý (Intel, Risc,…). Đặc biệt là Java rất
    thích hợp cho việc viết các ứng dụng trên Internet. Tuy nhiên, Java lại có hạn chế về mặt tốc
    độ và trên thực tế vẫn chưa thịnh hành. Mặc dù Sun Corporation và IBM có đẩy mạnh Java,
    nhưng Microsoft đã dùng ASP để làm giảm khả năng ảnh hưởng của Java.
    Để lập trình trên Web, lâu nay người ta vẫn dùng CGI-Perl và gần đây nhất là PHP, một
    ngôn ngữ giống như Perl nhưng tốc độ chạy nhanh hơn. Ta có thể triển khai Perl trên
    Unix/Linux hay MS Windows. Tuy nhiên có nhiều người không thích dùng do bản thân ngôn
    ngữ hay các qui ước khác thường và Perl không được phát triển thống nhất, các công cụ được
    xây dựng cho Perl tuy rất mạnh nhưng do nhiều nhóm phát triển và người ta không đảm bảo
    rằng tương lai của nó ngày càng tốt đẹp hơn.
    Trong giới phát triển ứng dụng trên Windows ta có thể viết ứng dụng bằng Visual C++,
    Delphi hay Visual Basic, đây là một số công cụ phổ biến và mạnh. Trong đó Visual C++ là
    một ngôn ngữ rất mạnh và cũng rất khó sử dụng. Visual Basic thì đơn giản dễ học, dễ dùng
    nhất nên rất thông dụng. Lý do chính là Visual Basic giúp chúng ta có thể viết chương trình
    trên Windows dễ dàng mà không cần thiết phải biết nhiều về cách thức MS Windows hoạt
    động, ta chỉ cần biết một số kiến thức căn bản tối thiểu về MS Windows là có thể lập trình
    được. Do đó theo quan điểm của Visual Basic nên nó liên kết với Windows là điều tự nhiên
    và dễ hiểu, nhưng hạn chế là Visual Basic không phải ngôn ngữ hướng đối tượng (Object
    Oriented).
    Delphi là hậu duệ của Turbo Pascal của Borland. Nó cũng giống và tương đối dễ dùng
    như Visual Basic. Delphi là một ngôn ngữ hướng đối tượng. Các điều khiển dùng trên Form
    của Delphi đều được tự động khởi tạo mã nguồn. Tuy nhiên, chức năng khởi động mã nguồn
    này của Delphi đôi khi gặp rắc rối khi có sự can thiệp của người dùng vào. Sau này khi công
    ty Borland bị bán và các chuyên gia xây dựng nên Delphi đã chạy qua bên Microsoft, và
    Delphi không còn được phát triển tốt nữa, người ta không dám đầu tư triển khai phần mềm
    vào Delphi. Công ty sau này đã phát triển dòng sản phẩm Jbuilder (dùng Java) không còn
    quan tâm đến Delphi.
    Tuy Visual Basic bền hơn do không cần phải khởi tạo mã nguồn trong Form khi thiết kế
    nhưng Visual Basic cũng có nhiều khuyết điểm :
     Không hỗ trợ thiết kế hướng đối tượng, nhất là khả năng thừa kế (inheritance).
     Giới hạn về việc chạy nhiều tiểu trình trong một ứng dụng, ví dụ ta không thể dùng
    Visual Basic để viết một Service kiểu NT.
     Khả năng xử lý lỗi rất yếu, không thích hợp trong môi trường Multi- tier
     Khó dùng chung với ngôn ngữ khác như C++.
     Không có User Interface thích hợp cho Internet.
    Do Visual Basic không thích hợp cho viết các ứng Web Server nên Microsoft tạo ra ASP
    (Active Server Page). Các trang ASP này vừa có tag HTML vừa chứa các đoạn script
    (VBScript, JavaScript) nằm lẫn lộn nhau. Khi xử lý một trang ASP, nếu là tag HTML thì sẽ
    được gởi thẳng qua Browser, còn các script thì sẽ được chuyển thành các dòng HTML rồi gởi
    đi, ngoại trừ các function hay các sub trong ASP thì vị trí các script khác rất quan trọng.
    Khi một số chức năng nào được viết tốt người ta dịch thành ActiveX và đưa nó vào Web
    Server. Tuy nhiên vì lý do bảo mật nên các ISP (Internet Service Provider) làm máy chủ cho
    Web site thường rất dè đặt khi cài ActiveX lạ trên máy của họ. Ngoài ra việc tháo gỡ các
    phiên bản của ActiveX này là công việc rất khó, thường xuyên làm cho Administrator nhức
    đầu. Những người đã từng quản lý các version của DLL trên Windows điều than phiền tại sao
    phải đăng ký các DLL và nhất là chỉ có thể đăng ký một phiên bản của DLL mà thôi. Và từ
    DLL Hell” xuất hiện tức là địa ngục DLL…
    Sau này để giúp cho việc lập trình ASP nhanh hơn thì công cụ Visual InterDev, một IDE
    (Integrated Development Environment) ra đời. Visual InterDev tạo ra các Design Time
    Controls cho việc thiết kế các điều khiển trên web,… Tiếc thay Visual InterDev không bền
    vững lắm nên sau một thời gian thì các nhà phát triển đã rời bỏ nó.
    Tóm lại bản thân của ASP hãy còn một số khuyết điểm quan trọng, nhất là khi chạy trên
    Internet Information Server với Windows NT 4, ASP không đáng tin cậy lắm.
    Tóm lại trong giới lập trình theo Microsoft thì việc lập trình trên desktop cho đến lập trình
    hệ phân tán hay trên web là không được nhịp nhàng cho lắm. Để chuyển được từ lập trình
    client hay desktop đến lập trình web là một chặng đường dài.
    Nguồn gốc .NET
    Đầu năm 1998, sau khi hoàn tất phiên bản Version 4 của Internet Information Server
    (IIS), các đội ngũ lập trình ở Microsoft nhận thấy họ còn rất nhiều sáng kiến để kiện toàn IIS.
    Họ bắt đầu xây dựng một kiến trúc mới trên nền tảng ý tưởng đó và đặt tên là Next
    Generation Windows Services (NGWS).
    Sau khi Visual Basic được trình làng vào cuối 1998, dự án kế tiếp mang tên Visual Studio
    7 được xác nhập vào NGWS. Đội ngũ COM+/MTS góp vào một universal runtime cho tất cả
    ngôn ngữ lập trình chung trong Visual Studio, và tham vọng của họ cung cấp cho các ngôn
    ngữ lập trình của các công ty khác dùng chung luôn. Công việc này được xúc tiến một cách
    hoàn toàn bí mật mãi cho đến hội nghị Professional Developers’ Conference ở Orlado vào
    tháng 7/2000. Đến tháng 11/2000 thì Microsoft đã phát hành bản Beta 1 của .NET gồm 3 đĩa
    CD. Tính đến lúc này thì Microsoft đã làm việc với .NET gần 3 năm rồi, do đó bản Beta 1
    này tương đối vững chắc.
    .NET mang dáng dấp của những sáng kiến đã được áp dụng trước đây như p-code trong
    UCSD Pascal cho đến Java Virtual Machine. Có điều là Microsoft góp nhặt những sáng kiến
    của người khác, kết hợp với sáng kiến của chính mình để làm nên một sản phẩm hoàn chỉnh
    từ bên trong lẫn bên ngoài. Hiện tại Microsoft đã công bố phiên bản release của .NET.
    Thật sự Microsoft đã đặt cược vào .NET vì theo thông tin của công ty, đã tập trung 80%
    sức mạnh của Microsoft để nghiên cứu và triển khai .NET (bao gồm nhân lực và tài chính ?),
    tất cả các sản phẩm của Microsoft sẽ được chuyển qua .NET.
    Tổng quan
    Microsoft .NET gồm 2 phần chính : Framework và Integrated Development Environment
    (IDE). Framework cung cấp những gì cần thiết và căn bản, chữ Framework có nghĩa là khung
    hay khung cảnh trong đó ta dùng những hạ tầng cơ sở theo một qui ước nhất định để công
    việc được trôi chảy. IDE thì cung cấp một môi trường giúp chúng ta triển khai dễ dàng, và
    nhanh chóng các ứng dụng dựa trên nền tảng .NET. Nếu không có IDE chúng ta cũng có thể
    dùng một trình soạn thảo ví như Notepad hay bất cứ trình soạn thảo văn bản nào và sử dụng
    command line để biên dịch và thực thi, tuy nhiên việc này mất nhiều thời gian. Tốt nhất là
    chúng ta dùng IDE phát triển các ứng dụng, và cũng là cách dễ sử dụng nhất.
    Thành phần Framework là quan trọng nhất .NET là cốt lõi và tinh hoa của môi trường,
    còn IDE chỉ là công cụ để phát triển dựa trên nền tảng đó thôi. Trong .NET toàn bộ các ngôn
    ngữ C#, Visual C++ hay Visual Basic.NET đều dùng cùng một IDE.
    Tóm lại Microsoft .NET là nền tảng cho việc xây dựng và thực thi các ứng dụng phân tán
    thế hệ kế tiếp. Bao gồm các ứng dụng từ client đến server và các dịch vụ khác. Một số tính
    năng của Microsoft .NET cho phép những nhà phát triển sử dụng như sau:
     Một mô hình lập trình cho phép nhà phát triển xây dựng các ứng dụng dịch vụ web và
    ứng dụng client với Extensible Markup Language (XML).
     Tập hợp dịch vụ XML Web, như Microsoft .NET My Services cho phép nhà phát
    triển đơn giản và tích hợp người dùng kinh nghiệm.
     Cung cấp các server phục vụ bao gồm: Windows 2000, SQL Server, và BizTalk
    Server, tất cả điều tích hợp, hoạt động, và quản lý các dịch vụ XML Web và các ứng
    dụng.
     Các phần mềm client như Windows XP và Windows CE giúp người phát triển phân
    phối sâu và thuyết phục người dùng kinh nghiệm thông qua các dòng thiết bị.
     Nhiều công cụ hỗ trợ như Visual Studio .NET, để phát triển các dịch vụ Web XML,
    ứng dụng trên nền Windows hay nền web một cách dể dàng và hiệu quả.
    Kiến trúc .NET Framework
    .NET Framework là một platform mới làm đơn giản việc phát triển ứng dụng trong môi
    trường phân tán của Internet. .NET Framework được thiết kế đầy đủ để đáp ứng theo quan
    điểm sau:
     Để cung cấp một môi trường lập trình hướng đối tượng vững chắc, trong đó mã
    nguồn đối tượng được lưu trữ và thực thi một cách cục bộ. Thực thi cục bộ nhưng
    được phân tán trên Internet, hoặc thực thi từ xa.
     Để cung cấp một môi trường thực thi mã nguồn mà tối thiểu được việc đóng gói phần
    mềm và sự tranh chấp về phiên bản.
     Để cung cấp một môi trường thực thi mã nguồn mà đảm bảo việc thực thi an toàn mã
    nguồn, bao gồm cả việc mã nguồn được tạo bởi hãng thứ ba hay bất cứ hãng nào mà
    tuân thủ theo kiến trúc .NET.
     Để cung cấp một môi trường thực thi mã nguồn mà loại bỏ được những lỗi thực hiện
    các script hay môi trường thông dịch.
     Để làm cho những người phát triển có kinh nghiệm vững chắc có thể nắm vững nhiều
    kiểu ứng dụng khác nhau. Như là từ những ứng dụng trên nền Windows đến những
    ứng dụng dựa trên web.
     Để xây dựng tất cả các thông tin dựa triên tiêu chuẩn công nghiệp để đảm bảo rằng
    mã nguồn trên .NET có thể tích hợp với bất cứ mã nguồn khác.
    .NET Framework có hai thành phần chính: Common Language Runtime (CLR) và thư
    viện lớp .NET Framework. CLR là nền tảng của .NET Framework. Chúng ta có thể hiểu
    runtime như là một agent quản lý mã nguồn khi nó được thực thi, cung cấp các dịch vụ cốt lõi
    như: quản lý bộ nhớ, quản lý tiểu trình, và quản lý từ xa. Ngoài ra nó còn thúc đẩy việc sử
    dụng kiểu an toàn và các hình thức khác của việc chính xác mã nguồn, đảm bảo cho việc thực
    hiện được bảo mật và mạnh mẽ. Thật vậy, khái niệm quản lý mã nguồn là nguyên lý nền tảng
    của runtime. Mã nguồn mà đích tới runtime thì được biết như là mã nguồn được quản lý
    (managed code). Trong khi đó mã nguồn mà không có đích tới runtime thì được biết như mã
    nguồn không được quản lý (unmanaged code).
    Thư viện lớp, một thành phần chính khác của .NET Framework là một tập hợp hướng đối
    tượng của các kiểu dữ liệu được dùng lại, nó cho phép chúng ta có thể phát triển những ứng
    dụng từ những ứng dụng truyền thống command-line hay những ứng dụng có giao diện đồ
    họa (GUI) đến những ứng dụng mới nhất được cung cấp bởi ASP.NET, như là Web Form và
    dịch vụ XML Web.


nh 1.1: Mô tả các thành phần trong .NET Framework.

ĐỂ LẠI PHẢN HỒI CỦA BẠN TẠI ĐÂY

Phản hồi về bài viết này

NO COMMENTS

LEAVE A REPLY


*