Tổng quan về Microsoft .NET

Trong thế giới điện toán, những cải tiến và thay đổi vẫn thường xuyên xảy ra. Đây là những biến đổi tất yếu và có tác động thúc đẩy sự phát triển. Một thách thức đối với bất kì nhà lập trình hay những công việc chuyên về CNTT [1] nào là theo kịp những biến đổi liên tục và những sự phát triển trong công nghệ.

Như một nhà quản lí doanh nghiệp hay người đưa ra các quyết định, sự am hiểu về công nghệ và tác động của nó đối với công việc kinh doanh nhiều lúc làm cho bạn cảm thấy nản lòng. Tuy nhiên, những thay đổi thường xuyên nhất trong công nghệ luôn đem lại cho bạn thành quả tốt nhất. Ngày nay, do công nghệ thông tin liên tục phát triển, cho nên những nền tảng của công nghệ đó có thể thay đổi để điều tiết những sự phát triển mới và những nhu cầu mới trên thương trường. Thậm chí một vài nǎm trở lại đây, chỉ có một số ít người biết đến Internet. Ngày nay, Internet đã thâm nhập hầu như mọi nơi mọi chỗ trong cuộc sống của chúng ta.

Sự khởi xướng ý tưởng .NET là một bước đột phá mới của Microsoft. Nó bao hàm nhiều quan niệm hiện hữu và những triết lý. Microsoft đưa ra công nghệ mà nó cho phép ý tưởng .NET trở thành hiện thực. Bài báo này sẽ cung cấp cho bạn một cái nhìn tổng thể về .NET, nó rất có ý nghĩa cho thế giới CNTT và nhất là cho Internet.

Định nghĩa .NET

Để bắt đầu công việc khảo sát .NET, chúng ta phải xác định rõ ranh giới công việc cần thực hiện. Vì .NET có nghĩa một nền tảng hơn là một sản phẩm đơn lẻ, cho nên cách định nghĩa nó có thể đa dạng, có phần hơi khó hiểu và mơ hồ. Một cách đơn giản .NET được định nghĩa dưới dạng một khung ứng dụng (application framework). .NET cung cấp một khung cho những ứng dụng nào được xây dựng; nó xác định những ứng dụng truy nhập các hàm như thế nào qua các hệ thống và các mạng. .Net cung cấp một nền tảng mà trên đó các giải pháp và các dịch vụ Web có thể được xây dựng, một nền tảng giải phóng những sự ràng buộc và tự bản thân nó giải phóng khỏi Microsoft Windows (về mặt kĩ thuật). Nói cách khác, .NET là một cách để xây dựng các ứng dụng và các dịch vụ mà nó hoạt động không phụ thuộc vào một nền tảng (platform) nào. Đây là một cách để tạo ra các trao đổi thông tin (truyền thông) giữa những hệ thống đa dạng và các ứng dụng cũng như tích hợp nhiều thiết bị vào trong việc trao đổi thông tin này.

Với cái nhìn tổng thể, bạn có thể đặt câu hỏi “Ai quan tâm đến vấn đề này?“. Xét cho cùng, Internet là một phương tiện truyền thông không thể tin nổi cho phép thực hiện thương mại điện tử. Trong khi đây là thực tế, thì một cái nhìn khác về Internet và thương mại điện tử là điều cần thiết. Ngày nay Internet cung cấp những giải pháp thương mại điện tử thực sự hiệu quả, nhưng trước hết chúng ta hãy khảo sát mô hình của Internet. Internet hoạt động trên mô hình khách/chủ (client/server) mà ở đó những khách hàng (client) phải tương tác với các máy phục vụ (server) để xem dữ liệu. Những trình duyệt đã được phát triển để thông dịch mã HTML[2] và trả lại trang Web cho người dùng. Về cơ bản việc sử dụng trình duyệt và Internet là công việc không thể thay đổi. Bạn có thể nhập thông tin vào trong các CSDL[3] thông qua trình duyệt của bạn, nhưng phần lớn bạn không thể điều khiển việc sử dụng hay thao tác thông tin. Bạn phải tương tác với các máy phục vụ Web và các CSDL của chúng, và nhiều ứng dụng Web thường không tương thích. Nếu bạn sử dụng những thiết bị truy nhập Internet khác nhau như PC hay cell phone thì cách sử dụng những thiết bị đó là rất khác nhau. Những thiết bị này không tích hợp tốt với nhau, thậm chí ngay cả trên Internet. Từ một viễn cảnh công việc kinh doanh, nhiều công nghệ thương mại điện tử để lại những hệ thống đang tồn tại đằng sau chúng, đây quả là một vấn đề tốn kém và khó khǎn.

Ý tưởng .NET được thiết kế để hỗ trợ chúng ta tiến tới một Web thân thiện hơn, tích hợp tốt hơn, một nơi mà ở đó các ứng dụng và các quá trình giao dịch có thể tương tác với nhau một cách tự do không phụ thuộc vào chương trình và nền tảng. Tóm lại, .NET làm cho thông tin trên Web có thể được tiếp cận một cách dễ dàng: bạn có thể sử dụng bất kì thiết bị nào, trên bất kì nền tảng nào. .NET còn có thể hỗ trợ các hệ thống máy phục vụ và ứng dụng liên lạc với nhau một cách thông suốt (seamlessly) và xây dựng hệ thống tính toán phân tán trên Web, làm cho Web trở thành một nơi tương tác nǎng động hơn giữa các dịch vụ Web, các ứng dụng và khách hàng.

Làm thế nào Microsoft có thể hoàn thành mục tiêu này? Chúng ta có thể thấy ngay được kết quả thông qua các sản phẩm và các dịch vụ mà khách hàng mua hàng nǎm. Mục tiêu của .NET có trở thành hiện thực hay không vẫn còn bỏ ngỏ, nhưng hiện tại thì Microsoft đang bận bịu với công việc phát triển các công cụ và những chiến lược để làm cho .NET trở thành hiện thực. .NET được thực thi thông qua .NET framework và các công cụ, hoặc thông qua các các khối (block) hợp nhất và các dịch vụ như Microsoft Visual Studio .NET. Hiện Microsoft đang tǎng số lượng các cộng sự và các nhà phát triển và họ đang tạo ra các sản phẩm bổ xung hữu ích cho việc thực thi .NET (.NET Implementation). Microsoft Windows XP là một trong những hệ điều hành đầu tiên được thiết kế để bắt đầu giới thiệu ý tưởng .NET.

Mục tiêu của .NET

Microsoft .NET trợ giúp loại bỏ các thành phần riêng biệt khỏi một nền tảng và ứng dụng và như vậy nó cho phép thông tin được trao đổi và xây dựng trên một nền tảng chung hơn. Bạn có thể nghĩ “Microsoft được lợi gì từ ý tưởng này?“. Xét cho cùng, việc tạo ra một nền tảng (platform) độc lập và nó không cần các sản phẩm của Microsoft để thực thi (implement) xem ra đã tự phá huỷ. Trên thực tế Microsoft đang ôm một ý tưởng ở đâu đó và tại một lúc nào đó, các nhà phát triển công nghệ phải đua tranh với nhau ở mức ứng dụng và dịch vụ chứ không phải là mức nền tảng (platform level).

Hãy xem một ví dụ: Nếu bạn vào một cửa hàng bách hoá để mua bóng đèn, bạn sẽ nhìn thấy nhiều loại bóng đèn khác nhau được làm bởi các nhà sản xuất khác nhau. Song, bóng đèn bạn mua hoàn toàn phù hợp với những tiêu chuẩn nhất định. Nói cách khác, bất chấp nhãn hiệu, độ bền của bóng đèn và khả nǎng tương thích của bóng với đui đèn là tương đương nhau. Vì đây là ngành công nghiệp bóng đèn cạnh tranh với nhau ở mức sản phẩm, chứ không phải ở mức các chuẩn. Nếu mỗi một công ty đua tranh ở mức các chuẩn, bạn sẽ có các sản phẩm bóng đèn khác nhau mà chúng chỉ được sản xuất độc quyền cho các kiểu đui đèn riêng biệt, và đây là một kế hoạch chắc chắn làm cho việc mua hàng trở thành một sự thách đố cho khách hàng.

Ngành công nghiệp điện toán từ xưa đã cạch tranh với nhau ở mức nền tảng (platform level). Những sản phẩm của Microsoft không làm việc được với các sản phẩm của Apple Computer Microsystem và chúng cũng không làm việc được với các sản phẩm của Sun và cứ tiếp tục như thế. Mỗi một công ty tự xây dựng nền tảng tính toán của riêng mình và quyết định cái gì có thể chạy trên nền tảng đó và chạy như thế nào. Dẫu cho những công nghệ và những sự phát triển phải tiếp tục được sở hữu độc quyền như chúng vẫn thế, .NET giúp những người sử dụng có quan niệm rằng sự cạnh tranh phải dựa trên những sản phẩm, chứ không phải các chuẩn. .NET cung cấp một cách để thoát khỏi phạm vi các chuẩn có quyền sở hữu bởi việc cung cấp một kiểu tiếp cận các chuẩn trên Web một cách hợp lí từ các dịch vụ ứng dụng nào được xây dựng ngay cả trên các sản phẩm không phải của Microsoft. Một trong những mục tiêu của .NET là thoát khỏi sự cạnh tranh các chuẩn. Cách tiếp cận này là một tin tức tốt lành cho mọi khách hàng và cho thương mại điện tử.

Mục tiêu thứ hai của nền tảng .NET (.NET platform) là truyền thông thương mại điện tử (TMĐT). Điều đó có nghĩa .NET cung cấp một cách cho các ứng dụng khác nhau sử dụng phần mềm khác nhau trong những môi trường Web khác nhau để trao đổi và sử dụng thông tin. Thành quả này được hoàn tất khi sử dụng XML[4]. XML đem lại một số lượng lớn những người ủng hộ và có thể được sử dụng để làm tiêu chuẩn hoá các máy phục vụ truyền thông, nơi những ứng dụng khác nhau và các dịch vụ chạy trên các ứng dụng này có thể dễ dàng liên lạc với một ứng dụng khác và trao đổi thông tin một cách tự nhiên.

Các dịch vụ .NET

Để thực thi mô hình .NET, một vài khối hợp nhất (building block) cơ sở phải được đặt đúng chỗ (các block này định rõ các dịch vụ Web được xây dựng như thế nào). Các dịch vụ này cố gắng để trợ giúp các nhà phát triển xây dựng các ứng dụng .NET. Microsoft định nghĩa các dịch vụ khối hợp nhất .NET sau đây:

  • Authentication: Khi sử dụng các công nghệ Authentication (chứng thực) cũng như Passport (hộ chiếu) của Microsoft các nhà phát triển tạo ra các dịch vụ cho riêng mình và bảo vệ các dịch vụ như mong muốn.
  • Messaging: Các đặc tính Messaging (truyền thông điệp) của .NET được xây dựng trên MSN Hotmail Web ã dựa vào dịch e-mail, Microsoft Exchange Server 2000, và Instant Messaging (truyền thông điệp tức thì). Những hệ thống truyền thông điệp này và những đặc tính có thể được phân tán đến bất kì thiết bị nào do tính không phụ thuộc nền tảng của chúng.
  • Personalized Experience (kinh nghiệm cá nhân): .NET cho người dùng nhiều kiểm soát hơn thông qua các qui tắc xử lý dữ liệu và quyền ưu tiên mà nó xác định rõ dữ liệu phải được di chuyển và quản lý như thế nào.
  • XML (Extensible Markup Language): XML được xem như một ngôn ngữ chung mà nó cho phép dữ liệu được di chuyển từ dạng này sang dạng khác trong khi bảo trì tính toàn vẹn của nó. Cùng với SOAP[5], XML có thể cung cấp một dịch vụ linh hoạt để quản lý và điều khiển dữ liệu.

Một trong những thực thi (implementation) đầu tiên được đề nghị của dịch vụ .NET là Microsoft HailStorm. HailStorm là một dịch vụ trung tâm-người dùng (user-centric), nó 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 tài chính. Kết quả việc một người dùng đǎng kí dịch vụ này là thông tin được chia sẻ với các ứng dụng khác (thông tin dùng chung) theo ý muốn của họ, và nó trở thành một phần của người dùng khi điều khiển các hoạt động trên Web. Trong thời gian tới bạn sẽ được tiếp cận các dịch vụ tương tự được đề xuất trên Web bởi các công ty bán cho bạn thông qua việc đǎng kí vào dịch vụ của họ. Như chúng ta đã thấy .NET đã chuẩn bị cho việc sử dụng một số công nghệ của Microsoft mà nó bắt đầu thích nghi và được sự chấp nhận bởi cộng đồng tin học và Internet.

Tác động của .NET đối với chuyên gia CNTT

Chiến lược .NET có thể tác động đến các chuyên gia CNTT theo một số cách. Trước hết chúng ta hãy xem xét .NET có thể tác động như thế nào đến các nhà phát triển và sau đó đánh giá tác động của nó đối với những nhà quản trị hệ thống và các chuyên gia CNTT khác.

Những nhà phát triển cảm thấy có một tác động mạnh mẽ từ ý tưởng .NET. Để hiểu tác động này, đầu tiên chúng ta phải biết công việc phát triển ứng dụng đã thay đổi như thế nào. Trước đây các nhà phát triển xây dựng các ứng dụng trên các dịch vụ hệ thống cục bộ. Một ứng dụng riêng biệt được xây dựng để chạy trên các dịch vụ được cung cấp bởi một hệ điều hành riêng biệt. Trong hệ thống này những nhà phát triển đã có thể kiểm soát một cách cụ thể ứng dụng hoạt động như thế nào trên nền tảng đó. Những ứng dụng cho những nền tảng riêng biệt thì không liên lạc (truyền thông) tốt được với nhau. Giai đoạn thứ hai của sự thay đổi xuất hiện có nghĩa các nhà phát triển phải chuyển sang một mức độ khác, gọi là mức thứ n (n-tier). Điều đó cho phép các nhà phát triển tạo ra các ứng dụng mà nó hoạt động trên một mức mạng. Nói cách khác, sự phát triển xuất hiện liên tục từ các dịch vụ hệ thống cục bộ cho đến các dịch vụ mạng toàn cầu. Sự phát triển này đã tạo ra khả nǎng phát triển các phần mềm doanh nghiệp mà thực chất tập chung hơn vào công việc kinh doanh mà nó tạo ra nǎng suất làm việc cao hơn.

Chúng ta hiện đang ở vào giai đoạn tiếp theo của công cuộc thay đổi thông qua XML và SOAP, dịch vụ Web. Dịch vụ Web cho phép các ứng dụng tương tác với nhau thông qua Internet và cung cấp các dịch vụ tới người dùng hay các ứng dụng khác. Đây là một sự thay đổi cơ bản theo cách các ứng dụng đã được mô tả trước đây khi mà chúng ta nghĩ về những ứng dụng như một sản phẩm: bạn mua CD-ROM và cài đặt sản phẩm trên một máy tính. Một dịch vụ Web hoàn tất một vài kiểu giao dịch và trao đổi thông tin. Khi xây dựng trên XML, các dịch vụ Web có thể được sử dụng bởi bất kỳ người nào với bất kỳ thiết bị đơn lẻ nào tại bất kỳ thời điểm đã cho nào. Đặc tính này cho phép bất cứ số lượng tiến trình chuyên biệt (đặc trưng riêng biệt cho từng ứng dụng) nào xuất hiện liên tục (seamlessly) trên Internet không có sự can thiệp của người dùng.

Quy trình dịch vụ Web được hoàn thành bởi việc sử dụng cả hai đặc tính chương trình ghép nối lỏng và ghép nối chặt. Qui trình nghiệp vụ của việc tính toán n-tier (ghép nối chặt) được kết hợp với các chuẩn truyền thông điệp ghép nối lỏng và các phương pháp truy nhập dữ liệu trên Internet. Do ý tưởng .NET được tìm thấy trên cơ sở của XML và khái niệm dịch vụ Web, các nhà phát triển có một cách mới để tạo ra các ứng dụng mà nó hoạt động và tích hợp dễ dàng hơn. Sự thách thức của các nhà phát triển là tích hợp những khái niệm đó với cái mà nền tảng .NET được xây dựng trên nó.

Để cho các chuyên gia CNTT khác, ý tưởng .NET sẽ không thay đổi hoàn toàn công việc quản lý máy phục vụ CNTT. Các chuyên gia CNTT phải nhìn thấy sự giải toả chung trong việc quản trị bởi vì mô hình tính toán phân tán .NET đã được sẵn sàng, nhưng việc quản lý các máy phục vụ xí nghiệp (Enterprise server) .NET và các máy trạm sẽ hoạt động phần lớn theo cùng một cách.

Tác động của .NET đối với người dùng

Nền tảng .NET có thể có tác động sâu sắc đến kinh nghiệm người dùng (theo hướng tích cực). Trước khi khảo sát khả nǎng này, chúng ta hãy xem xét mô hình tính toán hiện thời. Hiện tại, việc tính toán người dùng chủ yếu là nằm ở phần cứng và hệ điều hành. Những người dùng sở hữu những thiết bị phần cứng như PC, laptop hay PDA và họ cài đặt phần mềm và cấu hình các hệ thống đó. Dữ liệu chủ yếu được quản lý và thao tác (và cả dữ liệu đã mất) cũng trên các hệ thống đó. Do sự tǎng trưởng của công nghệ, số lượng PC tại gia và vǎn phòng ngày càng tǎng lên nhanh chóng. Có ai đã từng nghĩ rằng một người dùng có thể cần đến 13 Gbyte ổ cứng? Mô hình tính toán hiện thời gây ra nhiều vấn đề do số lượng người sử dụng máy tính của họ ngày càng nhiều. Người dùng phải chú ý đến dữ liệu và thiết bị của chính họ và Internet được coi không gì hơn là một thứ đồ chơi tô vẽ.

.NET có khả nǎng thay đổi cách tiếp cận. Do sức mạnh của Internet, người dùng không còn thấy cần thiết phải lưu giữ tất cả dữ liệu và phần mềm trên máy tính cá nhân của họ. Thay vào đó, dữ liệu và ngay cả việc sử dụng các ứng dụng có thể được lưu trữ trên các máy phục vụ trên Internet (thông thường chi phí ở đây là không đáng kể). Đặc tính này đã xoá bỏ trách nhiệm người dùng về mặt quản lý. Người dùng truy nhập và thao tác dữ liệu, nhưng người quản trị trên máy phục vụ quản lí công việc lưu giữ, sự chấp nhận lỗi và lập kế hoạch cấu hình. Người dùng không còn phải lưu giữ dữ liệu cục bộ. Một khi dữ liệu được đưa lên Internet, chiến lược .NET sẽ bắt đầu vận hành. Hãy nhớ rằng .NET cho ta một cách để truyền dữ liệu một cách thông suốt thông qua XML và SOAP.

Hãy xem một ví dụ. Bạn đang làm việc trên một máy PC vǎn phòng và bạn quyết định mua một số cổ phiếu. Bạn truy nhập vào Website, sử dụng thông tin cá nhân của chính mình, có thể là với Microsoft HailStorm, và mua cổ phiếu. Vào một thời điểm muộn hơn, bạn đang đi trên đường trong giờ cao điểm. Bạn sử dụng cell-phone của bạn để kiểm tra giá cổ phiếu của bạn và quyết định bây giờ là thời điểm để bán. Bạn sử dụng cell-phone để hoàn tất giao dịch. Như bạn có thể thấy, dữ liệu đang được thao tác trên chương trình máy phục vụ và bạn hoàn toàn không phải lo lắng gì về các trình ứng dụng hay tính tương thích nền tảng, và thông tin cá nhân của bạn đi theo bạn đến mọi nơi mọi chỗ mà bạn đến. Nhìn tổng thể, .NET làm cho Internet trở thành một nguồn dữ liệu tương tác thật sự, nơi mà người dùng quản lý tất cả các khía cạnh cuộc sống của họ từ công việc, vốn liếng cá nhân cho đến giải trí.

“Ghép nối lỏng” các dịch vụ Web

Vừa rồi chúng ta đã khảo sát các mục tiêu của .NET và tác động của nó đối với các nhà phát triển và cộng đồng CNTT. Bây giờ chúng ta chuyển sang một ý khác đã được nhắc đến ở phần trên, ghép nối lỏng. Tại mức cơ sở, quan điểm ghép nối lỏng có nghĩa các ứng dụng hay các dịch vụ không bị liên kết chặt với các hàm chức nǎng. Điều đó có nghĩa các dịch vụ Web có thể thực hiện nhiều công việc khác nhau với những ngôn ngữ khác nhau qua các ứng dụng khác nhau trên các nền tảng khác nhau.

Ý tưởng ghép nối lỏng không phải là mới. Các nhà lập trình và các nhà phát triển đã tiêu phí thời gian để làm việc với ý tưởng này dưới dạng nối mạng phân tán thông qua DCOM[6] cũng như các mô hình ứng dụng phân tán khác như CORBA[7] và RMI[8]. Các mô hình này cho phép các mạng chạy các dịch vụ trên các hệ thống ở xa và đem lại nhiều tiềm nǎng cho mạng cục bộ.

Tuy nhiên, ý tưởng các giao dịch phân tán trên Web vẫn còn là mới. DCOM và các mô hình ứng dụng khác không thể sánh được với Internet bởi vì chúng được xây dựng đặc thù trên hạ tầng cơ sở tương tự. Nói cách khác, bạn không thể thay đổi giao diện trên máy phục vụ (server interface) lẫn giao diện khách hàng (client interface). Mô hình này rõ ràng là không làm việc được trên Internet.

Thông qua ghép nối lỏng, tiến trình và các dịch vụ không bị ràng buộc vào một hạ tầng cơ sở riêng biệt nào. Đặc tính này cho phép các ứng dụng thích ứng với nhu cầu hiện tại mà không cần phải trông chờ vào một giao diện chính xác. Để đạt được mục tiêu này, XML được sử dụng để đưa ra dữ liệu theo cách không chuyên biệt ứng dụng (non-application-specific). Trong cách này ghép nối lỏng đã được thực hiện hoàn tất do dữ liệu không bị ràng buộc vào một nguồn hay một cấu trúc riêng biệt nào. Cùng với XML, HTTP[9] hoặc ngay cả SMTP[10] được sử dụng sao cho các ứng dụng và các giao diện truyền thông với nhau thông qua thông điệp (messages) hơn là bằng một giao diện thành phần (component interface). Sử dụng cách tiếp cận này, nơi gửi thông điệp không thừa nhận về việc nơi nhận sẽ tiếp nhận và xử lý thông điệp như thế nào như đã từng xuất hiện trong mô hình giao dịch đặc thù. Nơi gửi không quan tâm đến những sự khác biệt giữa những nơi nhận do sự trao đổi dữ liệu được dựa trên cơ sở thông điệp.

Cơ sở hạ tầng .NET

Việc tạo nên một khung (framework) mà những hàm theo cách được mô tả trong mục này chắc chắn không phải là một nhiệm vụ dễ dàng. Để nó có thể làm việc được, chiến lược .NET phải cung cấp một cơ sở hạ tầng mà trên đó các dịch vụ Web có thể được xây dựng. May thay, .NET đã cung cấp cơ sở hạ tầng này để giải phóng các nhà lập trình tập trung hơn vào việc xử lí các tác vụ kinh doanh hơn là chú trọng đến việc lập trình bản thân nó. Tại mức cơ sở cơ sở hạ tầng .NET xem những thành phần chương trình như những dịch vụ Web, nó lấy ra những đặc tính tốt nhất của COM[11] của Microsoft và trộn lẫn chúng với ý tưởng truyền thông điệp ghép nối lỏng. Do những đặc tính này mà cơ sở hạ tầng tồn tại cho người lập trình và như vậy họ có thể tập trung vào công việc xử lý các tác vụ kinh doanh cần sự phát triển mà không cần phải tạo ra các thành phần (component) riêng biệt hoạt động với nhau.

Cơ sở hạ tầng .NET tạo ra framework (khung) trên đó các dịch vụ Web được xây dựng. Ba thành phần cho.NET framework này được giới thiệu sơ lược dưới đây.

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ộ thi hành ngôn ngữ chung) là một thành phần cốt lõi (cơ bản nhất) của .NET. Nó cung cấp nền cơ sở mà trên đó các ứng dụng cho. NET được xây dựng. CLR quả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át triển. Chẳng hạn, khi làm việc với COM, các nhà phát triển phải lưu tâm đến vấn đề quản lí bộ nhớ, những sự khởi tạo luồng (thread) 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ịch logic. CLR cung cấp một runtime chung mà nó được sử dụng với tất cả các ngôn ngữ. 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. Các lớp lập trình hợp nhất (Unified Progrgamming Classes)

Những thư viện lớp lập trình hay các giao diện lập trình ứng dụng (API) được sử dụng bởi nhiều ngôn ngữ khác nhau. Để sử dụng những ngôn ngữ lập trình khác nhau, các nhà phát triển nghiên cứu các bộ thư viện lớp khác nhau để làm việc với các ngôn ngữ lập trình khác nhau. Vấn đề này đã làm chậm quá trình phát triển ứng dụng và làm cho công việc phát triển trở nên tẻ ngắt và lãng phí khá nhiều thời gian. .NET cung cấp các lớp lập trình hợp nhất với một bộ API dùng chung cho mọi ngôn ngữ lập trình. Các ngôn ngữ có thể tương tác với một ngôn ngữ khác và các lớp lập trình hợp nhất này cho phép các nhà phát triển lựa chọn bất cứ ngôn ngữ nào mà họ muốn trong khi chỉ cần duy nhất một bộ API mà thôi.

3. ASP.NET (Active Server Pages .NET)

ASP.NET được sử dụng chung với các lớp lập trình mà nó có thể tạo các ứng dụng Web một cách dễ dàng cho người lập trình. ASP.NET cung cấp cách truy cập giao diện HTML chung và nó chạy trên chương trình máy phục vụ nhưng thể hiện kết quả thông qua HTML (ví dụ như text box chẳng hạn). Giao diện ASP.NET làm cho việc phát triển các ứng dụng Web trở nên nhanh hơn do bởi các đối tượng điều khiển chung này. Như một kết quả (của) các lớp lập trình chung và những đặc tính chuẩn của ASP.NET, các nhà phát triển tiêu tốn ít thời gian hơn khi viết các mã mới và cần nhiều thời gian hơn khi sử dụng các mã đã có. ASP.NET được sử dụng ở phần trên của hai thành phần thực thi ngôn ngữ chung CLR và các ngôn ngữ lập trình hợp nhất để tạo ra các dịch vụ Web, như được mô tả ở Hình 3.

Kết luận

Microsoft .NET đã đưa ra một tập các dịch vụ đầy tiềm nǎng, nó trợ giúp người sử dụng đang ở vào giai đoạn 3 của Internet : các dịch vụ Web hay Web có thể chương trình hoá (programmable Web). Nền tảng .NET cho phép các nhà phát triển tạo ra các ứng dụng và các dịch vụ Web mà nó hoạt động không phụ thuộc vào các ngôn ngữ lập trình và nền tảng. Kết quả là một giải pháp phát triển Web ghép nối lỏng, đầy sức mạnh và nó có thể hợp nhất Internet, các ngôn ngữ lập trình và cả những gì phức tạp trong việc chuyển dịch dữ liệu như chúng ta đã thấy. Dựa vào Common Language Runtime (thực thi ngôn ngữ chung), unified programming classes (các lớp lập trình hợp nhất), và ASP.NET, .NET thúc đẩy tiềm nǎng của XML và SOAP để cho quá trình Web và dữ liệu luôn sẵn có ở bất cứ đâu, tại bất cứ thời điểm nào và với bất cứ nền tảng nào.

Chiến lược .NET của Microsoft là một giai đoạn phát triển tiếp theo về mặt công nghệ trong thế giới điện toán. Với bài báo này, các bạn đã có một khái niệm ban đầu về ý tưởng .NET. Chúng tôi hy vọng sẽ gặp lại các bạn trong các chủ đề tiếp theo có liên quan đến .NET và chúng ta sẽ thảo luận chi tiết hơn về các vấn đề như XML, ASP.NET, các dịch vụ Web, chuyển từ COM sang .NET, .NET và thương mại điện tử…

Ghi chú:

[1] CNTT: Công nghệ thông tin.

[2] HTML (HyperText Markup Language – Ngôn ngữ Đánh dấu Siêu vǎn bản): Ngôn ngữ được sử dụng để tạo ra các trang World Wide Web với các siêu liên kết và đánh dấu cho khuôn dạng vǎn bản.

[3] CSDL: Cơ sở dữ liệu.

[4] XML (Extensible Markup Language – Ngôn ngữ Đánh dấu Mở rộng): Một ngôn ngữ lập trình được phát triển bởi World Wide Web Consortium (W3C-một tổ chức đưa ra các chuẩn cho World Wide Web), thực chất là một phiên bản đơn giản hoá của Ngôn ngữ Đánh dấu Tổng quát Tiêu chuẩn SGML (Standard Generalized Markup Language) mà nó cho phép các nhà phát triển Web tạo ra các thẻ tuỳ biến để tổ chức và phân tán nội dung một cách hiệu quả hơn. XML là một siêu ngôn ngữ (metalanguage) chứa đựng một tập các quy tắc để xây dựng các ngôn ngữ đánh dấu khác. Thông qua việc cho phép mọi người đánh dấu các thẻ của riêng họ, nó mở rộng số lượng và những loại thông tin mà nó được cung cấp về dữ liệu lưu giữ trong các tài liệu. Một số ưu điểm của XML: bộ tìm kiếm có khả nǎng phóng to một nghĩa đặc biệt của một từ; các ngôn ngữ mới có thể được dùng để cho phép các nốt nhạc, các kí hiệu toán học và hoá học được sử dụng dễ dàng như trong vǎn bản; thương mại điện tử trở thành hiện thực hơn. W3C đưa ra XML 1.0 vào tháng 12/1997 (http://www.w3c.org/XML). Microsoft là một nhà đề xướng XML khổng lồ, luôn đòi hỏi nó phải thay thế HTML và trở thành chuẩn công nghiệp kế tiếp.

[5] SOAP (Simple Object Access Protocol – Giao thức Truy nhập Đối tượng Đơn giản): Đây là một cách để chạy chương trình trên một loại hệ điều hành (HĐH) (như Windows 2000) để trao đổi số liệu với một chương trình chạy trên một HĐH cùng loại hoặc trên một HĐH khác loại (như Linux) qua việc sử dụng HTTP của World Wide Web và XML như những cơ chế trao đổi thông tin. SOAP định rõ chính xác làm sao để mã hoá một HTTP-header (đầu mục HTTP) và một file XML sao cho một chương trình trong một máy tính có thể gọi một chương trình trong một máy tính khác và chuyển cho nó thông tin. Nó cũng chỉ rõ chương trình được gọi có thể trả lại lời đáp như thế nào.

[6] DCOM (Distributed Component Object Model – Mô hình Đối tượng Thành phần phân tán): Đây là một sự mở rộng của COM (Component Object Model). DCOM được phát triển bởi Microsoft cho những hệ điều hành Windows. Nó hỗ trợ những đối tượng được phân tán qua một mạng gần giống như giao thức DSCOM của IBM (là một thực thi của CORBA).

[7] CORBA (Common Object Request Broker Architecture): Cấu trúc trung gian yêu cầu đối tượng chung – Một chương trình hỗ trợ truyền thông điệp đến và đi từ những đối tượng giữa các nền tảng khác nhau trong một môi trường phân tán.

[8] RMI (Remote Method Invocation): Gọi phương thức từ xa – Được sử dụng trong Java. Khi sử dụng RMI, các đối tượng trong Java có thể gọi các phương thức của các đối tượng ở xa (remote object) chạy dưới một JVM hoàn toàn khác như là chúng đã có sẵn ở máy cục bộ.

[9] HTTP (HyperText Transfer Protocol (Giao thức Truyền Siêu vǎn bản): Giao thức thường được sử dụng để truyền thông tin từ các máy phục vụ World Wide Web đến các trình duyệt và là lí do các địa chỉ Web được bắt đầu với http://.

[10] SMTP (Simple Mail Transfer Protocol): Giao thức chuyển giao thư đơn giản Một giao thức từ -máy-phục-vụ-đến-máy-phục-vụ hỗ trợ phân tán thư điện tử. Đây là giao thức chuẩn được sử dụng trên Internet và cũng được sử dụng trong các mạng TCP/IP khác.

[11] COM : Xem DCOM[6]

ThS. Nguyễn Hoàng Linh (Trung tâm VTQT KV 1)  –  Nguồn:  VDC Internet

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: