Kiếntrúc.NETtrongmôhình ứng dụngthươngmạiđiệntử
Trong bài viết trước, chúng ta đã tìm hiểu kiếntrúc J2EE và môhình áp dụng của
nó trong ứng dụngthươngmạiđiện tử. Bài viết này sẽ trình bày một kiếntrúc
khác được xem là đối thủ cạnh tranh của J2EE - kiếntrúc .NET. Bài viết cũng sẽ
tổng kết những điểm tương đồng và khác biệt giữa kiếntrúc.NET và kiếntrúc
J2EE. Trong bài viết trước, chúng ta đã tìm hiểu kiếntrúc J2EE và môhình áp
dụng của nó trong ứng dụngthươngmạiđiện tử. Bài viết này sẽ trình bày một kiến
trúc khác được xem là đối thủ cạnh tranh của J2EE - kiếntrúc .NET. Bài viết cũng
sẽ tổng kết những điểm tương đồng và khác biệt giữa kiếntrúc.NET và kiếntrúc
J2EE. 1. Tổng quan về kiếntrúc.NET Như đã đề cập, J2EE không phải là một sản
phẩm cụ thể mà chỉ là các đặc tả đưa ra bởi hãng Sun. Ngược lại, .NET là tập hợp
các đặc tả, công nghệ, sản phẩm do Microsoft phát triển phục vụ cho việc phát
triển các ứngdụng trên môi trường Internet, thươngmạiđiện tử. Kiếntrúc.NET
bao gồm các thành phần chính sau: Hạ tầng và các công cụ phát triển của .NET
Nền tảng và các công cụ phát triển ứngdụng của .NET bao gồm - Visual Studio
.NET: bộ công cụ phát triển ứng dụng. Bạn có thể sử dụng các công cụ phát triển
quen thuộc như Visual Basic, Visual C++ hoặc các công cụ lập trình mới như
Visual C#. Các ngôn ngữ lập trình khác cũng được hỗ trợ dựa trên sự hợp tác với
các hang thứ ba: COBOL từ Fujitsu, Eiffel từ Interactive Software Engineering, ?
Điểm mạnh của kiếntrúc.NET là hỗ trợ phát triển đa ngôn ngữ (multi language).
Các chương trình viết bởi các ngôn ngữ khác nhau sẽ được chuyển đổi sang một
ngôn ngữ trung gian thống nhất (Intermediary Language - IL). Các file IL này
được đóng gói (packaging) thành các đơn thể phân phối, sau đó được biên dịch bởi
bộ biên dịch tức thời (Just in time IL compiler) và thực thi trong môi trường có tên
gọi môi trường thực thi chung (Common Language Runtime - CLR). - ASP.NET:
là một thiết kế mới cho việc lập tình ở lớp hiển thị (presentation tier). ASP .NET
được thiết kế nhằm đơn giản hoá việc lập trình trước thực trạng gia tǎng của các hệ
thống máy khách (client) và các thiết bị đầu cuốI (device). Người lập trình không
phải quan tâm nhiều đến việc phát triển giao diện cho nhiều loại máy khách thay
vào đó họ chỉ phát triển một giao diện duy nhất ở mức hiển thị (trên cơ sở các đối
tượng điều khiên GUI của ASP .NET), phần còn lại sẽ được điều phối và thực
hiện bởi ASP .NET và môi trường thực thi chung CLR trên mỗi thiết bị, máy
khách. - ADO.NET: trongmôhìnhkiếntrúc .NET, lớp cơ sở dữ liệu (database
tier) được mặc định là SQL Server. Tuy nhiên, để đảm bảo tính mở, ADO.NET
được đưa ra như là giao diện giữa lớp xử lý nghiệp vụ (business tier) và lớp cơ sở
dữ liệu. ADO.NET giữ vai trò tương tự như JDBC trongmôhìnhkiếntrúc J2EE.
Với giao diện này, các ưngdụng.NET có thể truy nhập đến các cơ sở dữ liệu khác
như Oracle, DB2, ? - .NET Enterprise Server: tập hợp các sản phẩm dành cho máy
chủ như: SQL Server, Application Server Center, Internet Security Acceleration
Server (ISA Server), BizTalk Server, và Commerce Server. - .NET Framework:
đây là phần cốt lõi của kiếntrúc.NET hoạt động gắn chặt với hệ điều hành. Nó
cung cấp môi trường để thực thi các ứngdụng .NET. Bạn có thể hìnhdung.NET
Framework tương tự như môhình máy ảo Java (Java Virtual Machine - JVM và
Java Runtime Environment - JRE) trongkiếntrúc J2EE. Các thành phần cơ bản
của .NET Framework bao gồm: * Môi trường thực thi chung cho các mã chương
trình .NET: CLR. * Bộ biên dịch tức thời: Just in time IL compiler. * Các thư viện
chuẩn của hệ điều hành: Base Classes. * Các giao diện đối tượng thành phần
COM+. Các dịch vụ cộng thêm của .NET Bao gồm các dịch vụ chia sẻ thông tin
dùng chung cho các ứngdụngtrong môi trường Internet: - .NET Passsport: có thể
sử dụng cho việc xác thực người dùng (user authentication). - Các dịch vụ lưu trữ,
quản lý file. - Dịch vụ quản lý thông tin người dùng. - Dịch vụ quản lý lịch làm
việc (Calendar service). Các dịch vụ này có thể được cung cấp bởi Microsoft hoặc
các đối tác của Microsoft. Ư'ng dụng của kiếntrúc.NETtrongmôhình thương
mại điệntử 2. So sánh hai kiếntrúc.NET và J2EE 2.1. Những điểm tương đồng
giữa hai kiếntrúc.NET và J2EE 2.2. Sự khác biệt giữa hai kiếntrúc Khả nǎng hỗ
trợ framework Điều quan tâm đầu tiên khi xây dựng một ứng dụngthươngmại
điện tử đó là lựa chọn môhình phát triển (framework). Nó quyết định tới sự thành
công của ứngdụng đặc biệt là đối với các ứngdụng có quy mô lớn. Một môhình
phát triển tốt có thể giảm thời gian, chi phí xây dựngứngdụng ít nhất là 10 lần so
với việc sử dụng chắp vá các công cụ khác nhau. Trongkiếntrúc.NETmôhình
phát triển này dựa trên thành phần có tên gọi Commerce Server. Với kiếntrúc
J2EE, bạn phải lựa chọn, kết nối các thành phần khác nhau để hình thành nên mô
hình phát triển ứng dụng. Bản thân Sun không đưa ra môhình phát triển ở dạng
đóng gói nhưng có khá nhiểu sản phẩm từ các hãng thứ ba như: IBM WebSphere,
và BEA WebLogic, ? Ngôn ngữ J2EE chỉ hỗ trợ ngôn ngữ lập trình Java và trong
tương lai có lẽ cũng không có ngôn ngữ lập trình nào được hỗ trợ thêm bởi kiến
trúc này. Trong khi đó .NET của Microsoft lại tiếp cận theo hướng hỗ trợ đa ngôn
ngữ. Một nhóm phát triển ứngdụng.NET có thể sử dụng nhiều ngôn ngữ lập trình
khác nhau tuỳ thuộc thế mạnh của từng cá nhân. Tuy nhiên, J2EE có đưa ra 2 cách
tiếp cận để cho phép phát triển ứngdụng bởi nhiều ngôn ngữ lập trình khác nhau.
Một là thông qua Java Native Interface, hai là tiếp cận sử dụng công nghệ
CORBA. Sự lựa chọn ngôn ngữ lập trình không phải là yếu tố quyết định sự lựa
chọn của bạn giữa kiếntrúc J2EE hay .NET. Tất nhiên, nếu bạn muốn sử dụng
một hoặc nhiều ngôn ngữ lập trình trong một dự án thì J2EE rõ ràng không phải là
sự lựa chọn của bạn. Kiếntrúc.NET có hỗ trợ một ngôn ngữ lập trình C# (đọc là
C sharp). Đây là ngôn ngữ có cú pháp và phong cách lập trình gần giống với Java.
Người lập trình Java có thể chuyển sang lập trình với C# chỉ trong vài giờ. Nếu
bạn lựa chọn Java không phải bởi vấn đề ngôn ngữ mà bởi đặc tính khả chuyển thì
J2EE là lựa chọn tốt hơn so với .NET. Chúng ta sẽ bàn thêm về tính khả chuyển
trong phần dưới. Tính khả chuyển Tính khả chuyển là một đặc tính nổi bật của
J2EE và ngôn ngữ lập trình Java. Một chương trình viết bởi Java được thực thi
trên máy ảo Java (Java Virtual Machine) thay vì trực tiếp trên hệ điều hành cụ thể.
. Kiến trúc .NET trong mô hình ứng dụng thương mại điện tử
Trong bài viết trước, chúng ta đã tìm hiểu kiến trúc J2EE và mô hình áp dụng của
nó trong ứng. giữa kiến trúc .NET và kiến trúc
J2EE. Trong bài viết trước, chúng ta đã tìm hiểu kiến trúc J2EE và mô hình áp
dụng của nó trong ứng dụng thương mại điện