Welcome to rocktonam

Thursday, November 17, 2005

Welcome to rocktonam

Welcome to rocktonam

Trái tim vàng của vợ chồng Bill Gates

Trái tim vàng của vợ chồng Bill Gates

11 năm sau ngày cưới, cặp vợ chồng giàu nhất thế giới này quyết định tặng 95% gia tài của họ (43,7 tỉ USD) để tận diệt bệnh sốt rét ngã nước và bệnh HIV. Nhờ quỹ tài trợ của họ mà 43 triệu trẻ em thuộc thế giới thứ 3 đã được chích ngừa bệnh viêm gan siêu vi B.

Cứu 670.000 sinh mạng

Vợ chồng Bill Gates cùng trẻ em nghèochâu Phi.

Tháng 1/2005, vợ chồng Gates đã chuyển 750 triệu USD cho Liên minh toàn cầu dành cho việc chích ngừa và miễn dịch. Một trong những đóng góp tư nhân lớn nhất trong lịch sử. Tuy được Tổ chức Y tế thế giới (WHO) ca ngợi vì đã cứu được 670.000 sinh mạng, Melinda Gates không vì thế mà tỏ ra khoe khoang. Bà tiếp phóng viên tạp chí Marie Claire tại văn phòng, trong trang phục đồng màu, giày cao gót, và cười lớn khi họ hỏi bà có quen mặc thời trang cao cấp không: “Tôi xin lỗi là đã ăn mặc chải chuốt như thế này vào sáng sớm, vì tiếp theo, tôi phải đến dự một buổi lễ do Microsoft tổ chức”.

Bà hẳn có thể giống bất cứ người đàn bà tỉ phú nào, trừ ra 2 chi tiết: bà không thích mua sắm, và đằng sau tính tình vui vẻ ẩn giấu một tài năng kinh doanh sắc sảo. Đậu bằng MBA về tin học tại Đại học Duke (Bắc Caroline), người phụ nữ tóc nâu xinh đẹp gia nhập Công ty Microsoft năm 1987, đã phát triển những hệ điều hành trong công ty như Encarta, Expedia và Cinnemania, và quản lý hàng trăm triệu USD.

Người ta kể rằng, trong khi tất cả cô gái trong các văn phòng của Microsoft đều mặc áo pull có in dòng chữ “Anh Bill ơi, cưới em đi!”, thì ông lại kết hôn với Melinda tại một nơi riêng tư nhất, trên một sân golf ở Hawaii vào năm 1994. Ngược lại với chồng vốn có cha mẹ xuất thân từ tầng lớp ưu tú của Seattle, Melinda French lớn lên trong một gia đình trung lưu tại Dallas. Là con gái của một kỹ sư ngành hàng không, cô thiếu nữ theo đạo Công giáo mở những lớp xóa mù chữ cho các em bé Mexico nhập cư. Khi đó mục tiêu của Melinda là được nhận vào học một trường đại học có uy tín, trước khi gia nhập Microsoft.

Công tác nhân đạo mà bà thực hiện với sự thành tâm và vẻ tự nhiên đã làm câm bặt những lời đàm tiếu vô liêm sỉ nhất vốn cho rằng quỹ tài trợ này chủ yếu dùng để phá vỡ hình ảnh “Sát thủ Bill” của ông Microsoft.

Bill Gates và Melinda, vốn tâm niệm châm ngôn của Andrew Carnegie: “Kẻ nào chết trong giàu sang, kẻ đó cũng chết trong sỉ nhục”, và bắt đầu giúp các thư viện kết nối với Internet. Nhưng họ nhanh chóng nhận thấy sự không đúng chỗ của những chiếc máy tính xách tay trong các ngôi làng ở miền Nam Sahara, một nơi thiếu thực phẩm, thuốc men và đường xá hơn là các hệ điều hành. Do đó, Melinda nghĩ phải làm điều gì đó thiết thực hơn và ông bà đã lập ra Quỹ ủng hộ người nghèo.

Là những doanh nhân của lòng nhân ái, vợ chồng Gates đang quản lý một ngân sách 28,8 tỉ USD, và chỉ trong vài năm, họ đã đóng góp nhiều hơn cả ngân sách mà Australia dành cho trợ cấp quốc tế. Quả là điều tuyệt vời vì họ là những người có năng khiếu đặc biệt về tài chính, nên họ có thể làm sinh lời và phân phối lại số tiền đó. Nhờ vào các chương trình mà họ tài trợ, 43 triệu trẻ em đã được chích ngừa viêm gan siêu vi B, và mục tiêu của họ là chích ngừa cho 60% dân số của những nước đang phát triển từ đây cho đến năm 2010.

Người bạn lớn của châu Phi

Châu Phi tuy xa vời đối với sự quan tâm của một nước Mỹ siêu cường và biệt lập, nhưng lại rất gần với trái tim vàng của cặp vợ chồng giàu nhất thế giới này. Những đầm lầy của Botswana cách cơ ngơi của họ ở Seattles hàng ngàn cây số, nhưng hoạt động được tiến hành tại quốc gia nhỏ bé này của châu Phi là thành công lớn nhất của Melinda. Bà đã chọn quốc gia này một phần là vì ở đó có một chính phủ tiến bộ được điều hành bởi Festus Mogae, người đang thử nghiệm một chương trình thực nghiệm phương pháp mới: 34.000 người bị nhiễm HIV đã nhận được những cách điều trị chống virus HIV nhờ có 50 triệu USD do vợ chồng Gates tài trợ, và nhờ 50 triệu USD bổ sung do phòng thí nghiệm y khoa Merck cung cấp.

Tình hình của châu Phi khiến vợ chồng Gates bức xúc. Nhưng ông bà cương quyết cho rằng khoa học sẽ biến đổi cuộc sống của hàng triệu người nghèo khổ. Tại Mozambique, người ta đang thử nghiệm 1 loại vắcxin ngừa bệnh sốt rét ngã nước, là căn bệnh mà cứ 30 giây lại làm chết 1 đứa trẻ ở châu Phi. Tháng 5 vừa qua, bà đã thành lập một nhóm cùng với Chính phủ Zambie với một ngân sách 35 triệu USD để làm cuộc thực nghiệm đó. Mục đích là đạt đến 85% dân số và giảm 75% số tử vong do bệnh sốt rét ngã nước từ đây cho đến 3 năm nữa.

Vợ chồng Gates muốn gây ảnh hưởng sâu rộng của khoa học trong một thế giới đang chịu những tai họa mới. Họ giúp đỡ để tìm ra những loại vắcxin tạo ra những thị trường để khuyến khích các công ty dược phẩm sản xuất vắcxin và bán thật rẻ. Họ liên kết những nhà bán thuốc lại và bảo đảm trợ cấp tài chính cho việc nghiên cứu để đổi lấy sự hạ giá thuốc cho những nước nghèo. Qua đó, họ tạo đà mới cho ngành y học ngừa bệnh của thế giới thứ 3 vốn đã bị chững lại từ những năm 90. Và rõ nét nhất là việc sáng lập Công ty Vắcxin HIV, là công ty liên kết các nhà nghiên cứu với một ngân sách 400 triệu USD.

Không chỉ là một tài năng kinh doanh, ông bà rất chú tâm đến việc nuôi dạy con cái. Melinda cho biết: “Ở trong nhà, khi chúng tôi nhắc đến gia tài là nhắc đến bổn phận về sự rộng lượng của chúng tôi. Và như trong bất cứ gia đình nào, nếu chúng muốn có một cái gì, chúng phải kiên nhẫn đợi đến ngày sinh nhật, hoặc phải tiết kiệm tiền để mua”.

Gia đình Gates sống trong một cơ ngơi trị giá 75 triệu USD. Với gia tài của mình, ông bà có thể đưa một phụ nữ lên sao Hỏa, nhưng bà thích làm giảm 39% số tử vong ở trẻ em do bệnh sởi hơn. Trong khi có cuộc tranh cãi gay gắt giữa những người muốn dành ưu tiên cho việc giúp đỡ và những người dựa vào kinh doanh để đưa châu Phi ra khỏi sự ngưng trệ, thì ông bà Gates vẫn tiếp tục đặt gia tài và niềm hy vọng của mình vào công cuộc nghiên cứu khoa học. Có một điều chắc chắn: nếu có một loại vắcxin ngừa HIV hoặc ngừa sốt rét ngã nước sớm được tìm thấy, thì đó là nhờ có họ. Và họ xứng đáng để nhận giải Nobel Hòa bình!

Nền tảng của .NET

Nền tảng .NET (.NET Framework)

Để thực hiện chiến lược .NET của mình, Microsoft đã cung cấp các công nghệ (cơ sở hạ tầng) để xây dựng nền tảng .NET (.NET Platform) - nền tảng chủ yếu giành cho dịch vụ W

eb XML. Bài viết này sẽ khảo sát các công nghệ, những công cụ và sản phẩm mà Microsoft cung cấp để xây dựng nên nền tảng này.

.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ụ Web.

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ụ ch

o 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.

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 V
    isual 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, k
    hả 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ữ c

hung), 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.

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][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. và XML

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.WinFormSystem.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.

Như vậy là

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:

  • [1], [2], [3], [4], [7], [8]: xin xem bài "Tổng quan về Microsoft .NET"
  • [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.

Sưu tầm và gửi bởi rocktonam.

Tổng quan về .NET

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.

Tóm lại là

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]

Sưu tầm và gửi bởi rocktonam.

Wednesday, November 16, 2005

Một vài vấn đề cần quan tâm khi sử dụng mật khẩu.


Một vài vấn đề cần quan tâm khi sử dụng mật khẩu
Bước 1: Tạo mật khẩu mạnh
Bạn tưởng tượng xem mật khẩu dài sử dụng sự kết hợp ngẫu nhiên cả chữ, các số và biểu tượng, có thể không thực tế lắm. Làm cách nào để có thể nhớ được dễ dàng ? Bạn phải ghi mật khẩu "khủng khiếp" đó vào giấy hoặc để đâu đó trên bàn làm việc. Mật khẩu như vậy rốt cuộc cũng không phải là giải pháp an toàn bởi rất có thể ai đó sẽ đọc được chúng. Vì vậy, không những tạo mật khẩu phải an toàn mà còn phải dễ nhớ nữa.
Để có một mật khẩu mạnh, bạn cần:
  1. Đừng sử dụng bất cứ thông tin nào về bạn như tên người dùng, tên thật, địa chỉ, ngày tháng năm sinh,... Những mật khẩu như vậy có thể bị những kẻ xâm nhập đoán được dễ dàng.

  2. Đừng sử dụng mật khẩu là các từ tiếng Anh hoặc ngoại ngữ khác.

  3. Hãy đảm bảo mật khẩu của bạn phải có độ dài tối thiểu là 6 tới 8 kí tự. Thực tế, mật khẩu càng dài càng tốt.

  4. Sử dụng các kiểu kí tự khác nhau trong mật khẩu của bạn. Tối thiểu mật khẩu đảm bảo bao gồm: kí tự hoa, kí tự thường, và số. Nếu như cảm thấy "thoải mái" với các kí tự không phải chữ số như ( #@!&) hoặc các kí tự ASCII (nhấn Alt + các phím số).

  5. Hãy thay đổi mật khẩu trong khoảng thời gian từ 4 tuần cho tới 6 tuần.

  6. Đừng ghi mật khẩu trên giấy hoặc đính trên màn hình máy tính.

  7. Nếu bạn cần lưu giữ mật khẩu, hãy sử dụng tiện ích như RoboForm (www.roboform.com). Tiện ích này cho phép mã hóa toàn bộ các mật khẩu và bạn chỉ cần nhớ một mật khẩu duy nhất để đăng nhập chương trình. Chương trình này cũng sẽ tự sinh ra các mật khẩu mạnh cho bạn.

  8. Đừng tái sử dụng mật khẩu cũ, hoặc sử dụng cùng một mật khẩu cho vài ứng dụng đồng thời.

  9. Đừng sử dụng những từ mà bạn biết, nhưng hãy thay thế các kí tự bằng chữ số hoặc biểu tượng như Cooffe sẽ thành C0ff33 và Indiana_Jones sẽ thành 1nd1@n@_j0n3s. Tuy nhiên, đây cũng không phải là biện pháp an toàn. Hacker đều biết rõ điều này.

  10. Hãy sử dụng gợi nhớ - một tổ hợp các từ cho phép bạn dễ dàng nhớ được mật khẩu lúc trước.
Bước 2: Đừng tiết lộ mật khẩu
Giữ mật khẩu an toàn có nghĩa là đã giữ chúng bí mật. Đừng tiết lộ mật khẩu với người khác nghĩa đừng viết chúng ra giấy hoặc giữ chúng trong bàn, để chúng trong một tập tin không được bảo vệ trong máy bạn... Nhà của bạn có thể bị đột nhập vào, trẻ con có thể nghịch ngợm trên bàn, trong ngăn bàn, trong máy tính.... nên mật khẩu rất dễ bị lộ.
Thậm chí, bạn không viết mật khẩu trên giấy, gửi chúng cho bất kì ai,.. bạn cũng phải rất cẩn thận khi bạn nhập chúng vào một trang Web nào đó đòi hỏi phải tạo mật khẩu. Đây là mánh khóe mà hacker có thể ăn trộm mật khẩu và các thông tin cá nhân, được gọi là "phising". Phising có nghĩa là các trang Web lừa đảo, chúng sao chép toàn bộ nội dung trang Web thực của các công ty khác từ logo, đồ họa, nội dung, form dữ liệu...bạn sẽ không thể nhận ra đó là trang Web giả mạo, ngoại trừ các liên kết và URL khác. Khi đó, bạn điền thông tin của mình vào trang Web này,chúng sẽ nhanh chóng ăn trộm được các thông tin.
Không những thế, Phising cũng có thể gửi hàng triệu các bức thư giả mạo từ các trang Web nổi tiếng như eBay và Amazon. Những bức thư này có nội dung giống thật tới mức người nhận có thể hồi đáp lại tên truy cập và mật khẩu của họ. Microsoft, eBay, Amazon, PayPal và các công ty danh tiếng khác chẳng bao giờ đề nghị bạn gửi lại mật khẩu qua thư cả. Nếu bạn nhận được các email đòi hỏi những thông tin cá nhân như vậy thì cần liên hệ qua điện thoại, gửi thư khác hoặc truy cập trực tiếp vào trang chủ của họ.
Bước 3: Quản lý mật khẩu
Một kĩ thuật an toàn khác cho mật khẩu của bạn là tạo mới mật khẩu cho từng trang Web. Điều này cũng không thực tế lắm, cũng như là phải nhớ một mật khẩu dài với đủ loại kí tự. Một giải pháp dễ hơn và hữu ích hơn là: Bạn hãy tạo mật khẩu bảo mật cao nhất cho tất cả những trang Web như ngân hàng, cổ phiếu, thanh toán hóa đơn qua mạng... Còn những trang Web khác, bạn chỉ cần tạo mật khẩu đơn giản hơn để không những dễ nhớ mà còn có thể sử dụng được bất cứ nơi nào.
Một mật khẩu mạnh là mật khẩu không những thiết lập phải bảo mật mà còn phải thay đổi sau vài tháng sử dụng. Cũng giống như cập nhật phần mềm máy tính, sao lưu dữ liệu,... bạn cũng cần phải thay đổi mật khẩu.
Bước 4: Quản lý tài khoản
Tạo mật khẩu mạnh có thể bảo vệ dữ liệu không bị phát hiện. Tuy nhiên, điều này không đảm bảo chắc chắn bạn sẽ được an toàn. Nếu một ai đó ăn trộm được mật khẩu, càng nhanh càng tốt bạn hãy báo cho nhà quản lý. Điều đó đảm bảo tài khoản của bạn vẫn được an toàn.
Bước 5: Tự bảo vệ
Bạn có thể nâng cao tính bảo mật trong máy của bạn bằng cách luôn luôn cập nhật phần mềm, sử dụng các chương trình diệt virus, tường lửa...


 

   Copyright © 2005 rocktonam. Contact me at rocktonam@yahoo.com or rocktonam@gmail.com

   Or now you can send your massages to me [rocktonam] -->

   Ghi rõ nguồn rocktonam.blogspot.com khi phát hành lại thông tin từ trang blog này.