|
|
Số người truy cập: 3.505.599
Số người trực tuyến: 51Trong đó có 1 thành viên: Trương Tam
|
|
|
| Trang chủ .NET Việt Nam
>
Bài viết
>
Theo chủ đề
>
Nền tảng .NET/Mono | .net framwork3.0 | Dương Nguyễn .NET Việt Nam |
12:38' AM - Thứ hai, 21/04/2008 | | Mô hình lập trình trên Windows hiện nay
-
Trước
khi tìm hiểu .NET Framework 3.0, ta hãy xem lại mô hình phát triển phần
mềm trên Windows hiện tại. Có hai dạng ứng dụng là ứng dụng desktop
(WinForm) và ứng dụng web (WebForm). Khi phát triển một phần mềm, ta
phải lựa chọn một trong hai dạng ứng dụng này mà không thể nào có sự
chia sẻ hay dùng chung. Với ứng dụng desktop theo mô hình
client-server, các thành phần của chương trình được cài đặt trên máy
chủ (server) và máy khách (client). Khi có sự thay đổi bất cứ thành
phần nào ở phía client, ta đều phải cài đặt lại thành phần ấy cho từng
client. Còn với ứng dụng web, chỉ cần cài đặt ở phía server, client sẽ
truy xuất thông qua URL, tuy nhiên, trình duyệt là công cụ duy nhất mà
ta có thể dùng để truy xuất đến ứng dụng web, thật bất tiện!
Một
câu hỏi đặt ra là có cách nào chỉ viết một ứng dụng vừa có thể chạy như
ứng dụng desktop, vừa như ứng dụng web không? Vấn đề này đã được đặt ra
từ lâu nhưng đến thời gian gần đây Microsoft mới triển khai một mô hình
lập trình mới - .NET Framework 3.0 - giúp giải quyết vấn đề trên. Với
mô hình này, ta có thể viết một ứng dụng web cho phép người dùng phía
client sử dụng mà không cần thông qua trình duyệt hoặc một ứng dụng
desktop được sử dụng bởi người dùng web.
Mô hình lập trình .NET Framework 3.0
.NET
Framework 3.0 là một mô hình lập trình với "mã được kiểm soát" (managed
code), được xây dựng và mở rộng dựa trên .NET Framework 2.0, không
những giải quyết những vấn đề khó khăn trong việc phát triển phần mềm
mà còn giúp tạo ra những phần mềm, dịch vụ mà công nghệ hiện tại không
thể làm được. Nó giúp lập trình viên và người thiết kế có thể tạo ra
ứng dụng có nhiều tính năng đáng tin cậy hơn, bảo mật hơn, thông minh
hơn, thẩm mỹ hơn, dễ triển khai hơn... Ta có thể nhìn .NET Framework 3.0 qua 2 phương diện:
•
Về chức năng, .NET Framework 3.0 có 3 khối chức năng là: Trình diễn
(Presentation); Dữ liệu (Data); Giao tiếp (Communication).
•
Về kỹ thuật, hiện tại Microsoft giới thiệu 4 kỹ thuật mới và nổi bật
nhất là:Windows CardSpace (InfoCard), Windows Presentation Foundation
(Avalon), Windows Communication Foundation (Indigo), Windows Workflow
Foundation (Workflow).
Microsoft quyết định sử dụng .NET
Framework 3.0 cho Windows Vista nhưng đồng thời cũng hỗ trợ luôn cho
Windows XP (SP2) và Windows Server 2003 (SP1). Sau đây ta sẽ tìm hiểu
lần lượt từng chức năng. Windows CardSpace (InfoCard)
InfoCard
là một kỹ thuật mới trong .NET Framework 3.0, giúp sử dụng và chia sẻ
thông tin cá nhân một cách đơn giản và an toàn trên Internet. InfoCard
giúp người dùng web không còn phải lo về việc nhớ quá nhiều "username"
(tên đăng nhập) và "password" (mật khẩu) khi truy cập web. Ngoài ra,
InfoCard còn cho phép tạo ứng dụng web quản trị tài khoản người dùng an
toàn.
Hãy tưởng tượng bạn đăng ký một tài khoản trong Yahoo, một
trong Google và là thành viên của 3 diễn đàn nào đó. Mỗi nơi bạn đều
phải có username và password, vậy bạn phải nhớ đến 5 tên đăng nhập và 5
password. Chưa kể bạn còn phải nhớ tên và password sử dụng máy tính, sử
dụng một số phần mềm nào đó trong máy tính. Quả là đau đầu phải không?
Hay
bạn muốn đăng ký làm thành viên của một dịch vụ web để khai thác dữ
liệu từ website này. Thường thì bạn sẽ phải điền một số thông tin cá
nhân vào trang web mẫu đăng ký. Bây giờ bạn không cần làm thế mà chỉ
cần đưa ra một mã số (bạn có thể dùng mã số này ở bất cứ trang web nào
đòi hỏi), sau đó trang web này tự động liên kết với một trang web khác
đăng thông tin của bạn. Nếu hợp lệ, bạn có thể làm thành viên ngay mà
không cần gõ password hay khai báo thông tin gì nữa, đó chính là
InfoCard.
Như vậy, InfoCard giúp bạn có một mã số giống như là
một chứng minh nhân dân trên mạng. Khi đi đâu trên mạng bạn cứ chìa ra:
"giấy chứng minh" của tôi đây!
Windows Presentation Foundation (Avalon)
Avalon
có thể xem như là hệ thống trình diễn thống nhất dùng để thiết kế giao
diện người dùng trong .NET Framework 3.0. Hệ thống này gồm hai phần,
một là bộ máy dùng cho việc thể hiện giao diện, hai là tập công cụ giúp
cho người phát triển phần mềm tạo ra ứng dụng mang tính đồ họa và đa
truyền thông tốt nhất.
Trong .NET, ta đã có một môi trường tạo
giao diện người dùng rất tốt là WinForm cho ứng dụng desktop và WebForm
cho ứng dụng web, vậy tại sao lại có một môi trường làm giao diện người
dùng khác nữa làm gì?
Ngày nay, hẳn ai trong chúng ta đều nhận
thấy kiểu dáng, giao diện của các ứng dụng desktop đã lạc hậu hơn so
với các ứng dụng web. Ứng dụng desktop luôn phải sử dụng các công cụ
(control) chuẩn. Để các control này sinh động hơn, người lập trình phải
tốn rất nhiều công sức thiết kế lại.
Từ Win16, Win32 đã có thư
viện đồ hoạ GDI, rồi GDI+. Nếu muốn làm việc với đồ hoạ tốt hơn, lập
trình viên có thể dùng đến DirectX. Trong khi đó với Avalon, ta sẽ có
một thế hệ lập trình đồ họa tuyệt vời vừa bao gồm GDI vừa hỗ trợ đồ hoạ
3D, hình động, video, xử lý và nhận dạng âm thanh...
Trong mô
hình lập trình hiện tại, lập trình viên thường cũng là người thiết kế
giao diện, còn với Avalon, người thiết kế giao diện có thể tạo ra một
giao diện độc lập trong khi người lập trình chỉ cần viết mã lệnh bên
dưới.
Windows Communication Foundation (Indigo)
Indigo
là một trong ba phần của .NET Framework 3.0, nó bao phủ toàn bộ những
kỹ thuật lập trình phân tán và do đó rất được kỳ vọng từ phía những
người phát triển phần mềm.
Tính đến thời điểm hiện nay, có nhiều
kỹ thuật cho hệ thống phân tán như: ASP.NET Web Services (ASMX), Web
Service Enhancements (WSE), Microsoft Message Queue (MSMQ), Enterpise
Services/COM+ và .Net Remoting. Trong đó, mỗi kỹ thuật đều có những ưu
điểm và khuyết điểm riêng. Mỗi loại sẽ phù hợp với một ứng dụng phân
tán nhất định. Tuy nhiên, khi triển khai một ứng dụng phân tán, người
phát triển phần mềm không thể lựa chọn được nhiều kỹ thuật. Sự ra đời
của Indigo với việc gói gọn phần lớn những chức năng của từng kỹ thuật
trên đã giúp cho việc phát triển ứng dụng phân tán trở nên tiện lợi hơn.
Windows Workflow Foundation (WWF)
WWF
giúp người phát triển phần mềm có thể triển khai nhanh ứng dụng trên
Windows. Nó hỗ trợ đắc lực trong việc thiết kế các ứng dụng xử lý công
việc theo từng bước, theo luồng nhất định. WWF không những mô phỏng
được xử lý luồng trong hệ thống máy tính mà còn mô phỏng cả các luồng
công việc trong thực tế đời sống.
Lấy ví dụ về việc bán hàng của
một siêu thị. Một khách hàng gọi điện đến bộ phận đặt hàng, nhân viên
ghi nhận một số thông tin cần thiết. Tiếp theo, thông tin này được đưa
qua bộ phận xử lý đơn hàng rồi chuyển sang bộ phận xuất và giao hàng
nếu còn hàng. Bộ phận giao hàng khi giao xong sẽ nhận phản hồi từ khách
hàng và kết thúc quá trình mua bán.
Ta viết chương trình xử lý
quá trình bán hàng này như thế nào? Ta cần ít nhất một cửa sổ cho nhân
viên nhập thông tin khách hàng và một cửa sổ cho việc xử lý đơn hàng,
giao hàng. Trong hai cửa số này, ta phải giúp người sử dụng quản lý
theo trình tự xử lý nhất định nào đó. Chương trình không khó để thực
hiện trên các mô hình lập trình hiện tại. Tuy nhiên, với WWF, công việc
sẽ trở nên dễ dàng hơn và thực hiện nhanh hơn nhiều.
WWF cung cấp 3 tính năng chính:
•
Kỹ thuật xử lý luồng: đây là kỹ thuật cơ bản của Windows, hiện tại có
một số sản phẩm của Microsoft hỗ trợ xử lý luồng như Microsoft BizTalk
Server, Microsoft Exchange Server. Theo xu hướng phát triển, việc hỗ
trợ xử lý luồng công việc luôn là một phần của Windows.
• Mô
hình xử lý cho nhiều dạng ứng dụng khác nhau: Việc hỗ trợ xử lý luồng
công việc không giới hạn trong những công việc đơn giản mà hỗ trợ xử lý
những luồng phức tạp. Hơn nữa ta có thể chia một mô hình tổng thể thành
các mô hình con để xử lý.
• Một hệ thống thống nhất với mô hình
xử lý luồng công việc thực tế: Lấy ví dụ công việc bán hàng nêu trên,
tất cả những tình huống xảy ra trong quá trình giao dịch được định sẵn
và máy tính sẽ thực thi những gì được cài đặt. Trong khi ấy, việc giao
dịch thực tế lại luôn có sự thay đổi theo hoàn cảnh (ví dụ khách hàng
thay đổi đơn hàng, đưa thêm một số ràng buộc...) mà luồng xử lý của máy
tính không thể thực hiện được. WWF sẽ giúp chúng ta phát triển phần mềm
mà các luồng xử lý công việc có thể được can thiệp giống như trong thực
tế đời sống.
Theo
.NET Việt Nam Số lượt đọc:
347
-
Cập nhật lần cuối:
21/04/2008 12:38:16 AM | So sánh syntax c# and vb.net 23/06/2008 04:12' PM Sự khác biệt giữa VB.NET và C# được thể hiện ở ba phần chính: cú pháp,
các nguyên lý hướng đối tượng, và môi trường phát triển tích hợp Visual
Studio .NET. Sự khác biệt về cú pháp liên quan đến các câu lệnh và các
yếu tố ngôn ngữ. Sự khác biệt về hướng đối tượng thì khó thấy hơn, liên
quan đến bản hiện thực và tính năng giữa hai ngôn ngữ. Sự khác biệt về
môi trường phát triển tích hợp bao gồm những thiết lập biên dịch (là
những đặc tính được thiết lập thông qua IDE, có tác dụng khác nhau tùy
vào ngôn ngữ). Cũng có sự khác biệt thứ tư liên quan đến các tính năng
ngôn ngữ có trong ngôn ngữ này nhưng không có trong ngôn ngữ kia.
Sử dụng Singleton Pattern trong C#18/06/2008 02:10' AMMẫu thiết kế Singletonlà
một trong những mẫu thông dụng và được sử dụng rộng rãi nhất trong kĩ
thuật lập trình. Về nguyên tắc, một Singleton là một lớp chỉ cho phép
một đối tượng tương ứng được tạo, và tất nhiên nó cũng phải có một
public member để những đối tượng khác có thể truy xuất instance Singletonnày Lợi ích của .NET Framework 06/06/2008 06:58' PM Mọi chuyện ... 'trên trời dưới đất' mà ta muốn thực hiện trên nền
Windows, tỷ như data access, windowing, nối mạng hay ngay cả mọi công
dụng đa dạng của Win32 API (Application Programming Interface) đều có
thể vận dụng dễ dàng qua kiểu mẫu đối tượng (objects) rất đơn giản
(simple object model). Làm việc với các file Tài Nguyên Resource 06/06/2008 01:22' PM Trong
một ứng dụng, có rất nhiều tài nguyên như: các file hình ảnh, âm nhạc,
văn bản... Vậy bạn có biết Làm thế nào để lưu tất cả những tài nguyên
đó vào cùng một file không? Và sẽ làm như thế nào? Bài viết này, mình
sẽ giới thiệu cho các bạn cách làm việc với các file tài nguyên
Resource: lưu trữ và đọc các thông tin đó.
Kiểu dữ liệu Hashtable 10/05/2008 01:47' AM
Bài viết giúp bạn hiểu về kiểu dữ liệu HastTable trong nền tảng .NET (ngôn ngữ C#). Tạo các ứng dụng .Net trên Linux và Mac OS X 25/04/2008 03:30' PM Bài
báo này được trích dẫn từ cuốn Windows Developer Power Tools của James
Avery và Jim Holmes, theo giấy phép của O’Reilly Media Inc. Visual Studio 2008 - New Features21/04/2008 12:46' AMVisual Studio 2008 code name "Orcas" Beta 2
has just hit the road and, since it is Beta 2, this means Visual Studio
2008 is feature complete and is ready for RTM. Below, we would find a
brief introduction of some of the new features introduced with VS 2008
and .NET 3.5 Beta 2. Bài đã đăng: List of .NET 2.0 and C# 2.0 new features 21/04/2008 12:25' AM Một số đặc điểm mới trong bộ .net 2.0
Lazy Initialization 07/04/2008 10:35' PM Kỹ thuật khởi tạo trễ (dịch ra nghe chuối bỏ xừ)
Ngôn ngữ C# với kiến trúc .Net 02/04/2008 12:42' AM Các ngôn ngữ trong bộ .net (C#, VB.NET, J#, C++.NET) luôn đồng hành với "bộ khung .NET". Tất cả các mã được biên dịch đều chạy trên nền .net Serialization trong .NET 02/04/2008 12:17' AM Serialization
là một quá trình chuyển đối tượng (object) sang một hình thức khác, để
sử dụng khi lưu trữ hoặc chuyển dữ liệu qua mạng. Bài viết này đề cập
đến việc chuyển đối tượng sang dạng XML.
Khởi tạo ứng dụng Linux đầu tiên với Visual Studio .NET 2003 IDE 05/06/2005 08:12' PM Bài viết "Create your first Linux application with the Visual Studio .NET IDE in 10 minutes" của hãng Mainsoft giới thiệu tổng quan chung về công nghệ Grasshopper giúp cho các ứng dụng .NET có thể chạy trên Unix/Linux. .NET Framework - Tâm điểm của Nền tảng .NET (phần II) 02/04/2005 02:28' PM Như chúng ta đã biết, phần cốt lõi nhất trong Nền tảng .NET là .NET Framework. Đây là thành phần quan trọng nhất cho các nhà thiết kế muốn xây dựng những giải pháp cụ thể cho các ứng dụng và các dịch vụ Web XML. Trong bài viết phần I, chúng tôi đã giới thiệu với bạn những đặc trưng, những ưu điểm của .NET Framework trong việc phát triển các ứng dụng và các dịch vụ Web bên cạnh công nghệ dựa trên nền tảng Java mà chúng ta đã quen biết. Phần hai này sẽ cho giới thiệu chi tiết hơn về cơ sở hạ tầng .NET Framework. .NET Framework - Tâm điểm của Nền tảng .NET (phần I) 02/04/2005 01:25' PM Như chúng ta đã biết, phần cốt lõi nhất trong Nền tảng .NET là .NET Framework. Đây là thành phần quan trọng nhất cho các nhà thiết kế muốn xây dựng những giải pháp cụ thể cho các ứng dụng và các dịch vụ Web XML. Phần đầu bài báo nêu những đặc trưng, những ưu điểm của .NET Framework trong việc phát triển các ứng dụng và các dịch vụ Web bên cạnh công nghệ dựa trên nền tảng Java mà chúng ta đã quen biết. Phần hai nghiên cứu chi tiết cơ sở hạ tầng .NET Framework |
|
|
|