1. Khái quát về mô hình triển khai và phát triển ứng dụng
1.1. Sơ lược về DotNetNuke
Nếu
là một người phát triển ứng dụng web với công nghệ .NET chắc hẳn bạn đã
từng nghe nói đến DotNetNuke (DNN) như là một trong những mô hình phát
triển Portal đầy triển vọng. Tuy nhiên, đã bao giờ bạn nghĩ rằng có thể
sử dụng các “components” trong DNN để xây dựng một mô hình dành cho phát
triển các ứng dụng trên Desktop?
Trong bài viết
này, tôi xin đề cử một giải pháp mà có thể bạn sẽ thấy rằng những quy
trình và mô hình ứng dụng để phát triển một Portal trên web có thể triển
khai một quy trình xây dựng ứng dụng đa người dùng trên nền desktop có
cơ sở dữ liệu tập trung.
Tôi xin dẫn ra đây mô hình xây dựng ứng dụng portal của DNN
1.2. Mô hình thực tế mô tả phát triển ứng dụng cụ thể
Áp
dụng những gì DNN đã cung cấp và mô hình hóa, chúng ta sẽ xây dựng một
hệt thống trên phát triển ứng dụng Desktop với C# và hệ quản trị CSDL
tập trung trên MS SQL server. Mô hình triển khai khi áp dụng trên ứng
dụng windows sẽ vẫn gồm các đặc trưng trên nhưng được áp dụng cho một hệ
thống cụ thể với CSDL MSSQL server.
1.3. Mô hình các thực thể khi triển khai trên hệ thống đa người dùng
Vậy ở đây chúng ta phải quan tâm đến các vấn đề:
* Ứng dụng sẽ cung cấp những gì cho người dùng cuối (lớp UI – User Interface).
* Làm sao để xây dựng các lớp (classes) mô tả thông tin trên BLL (Business Logic Layer).
*
Bằng cách nào người phát triển có thể duy trì BLL và không phải lập
trình lại khi mà DAL của chúng ta dựa trên các thực thể CSDL khác nhau
như SQL, Access, Oracle... (DAL – Data Access Layer).
*
Đặc trưng nào của BLL và DAL cho phép chúng ta giảm bớt công việc lập
trình bằng việc sử dụng những công cụ sinh mã (code generator)
Xin
có một mách nước nhỏ: chúng ta sẽ sử dụng và tùy biến những công cụ cho
phép sản sinh hàng loạt các đối tượng (tại BLL và DAL). Và hiển nhiên
chúng ta tiết kiệm được thời gian và công sức (tới 40%) dành cho công
việc phát triển ứng dụng.
2. Những người phát triển ứng dụng và công việc của họ
2.1. Tổng quan về ứng dụng sử dụng cho việc trình diến (demo application)
Như
vậy công việc của người phát triển (developer) là gì. Chúng ta hãy xem
DNN đã cung cấp cho nhà phát triển những gì. Có lẽ nhiều hơn những gì
tôi và các bạn có thể tưởng tượng ra. Tôi xin đi vào việc xây dựng một
ứng dụng cụ thể nhỏ với CSDL và tìm hiểu các công cụ mà tôi đã áp dụng.
Chúng ta hãy xem xét một mô hình CSDL nhỏ (tạm gọi là SmallStore) mô tả việc quản lý đơn giản thông tin về việc bán hàng cho một cửa hàng.
Mô hình CSDL của SmallStore
Hệ
thống bao gồm thông tin về các nhân viên, khách hàng, và hóa đơn trong
việc bán các sản phẩm của một cửa hàng. Các thông tin có thể được truy
xuất theo từng bảng, với các điều kiện lọc theo từng quan hệ (Foreign
key Contraints).
2.2. Tìm hiểu sơ qua về các thành phần có thể sử dụng của DNN
DotNetNuke.dll
Thư viện các thành phần Framework của DotNetNuke
Microsoft.ApplicationBlocks.Data.dll
Thư việc các hàm làm việc trực tiếp với CSDL
DotNetNuke.SqlDataProvider.dll
Thư viện các sqlHelper dành cho việc truy nhập cơ sở dữ liệu trên MS
SQL server
DotNetNuke.Caching.BroadcastPollingCachingProvider.SQLDataProvider.dll
Thư viện các phương thức quản lý bộ lưu đệm (cache) dùng cho tối ưu hóa truy nhập CSDL vợi MS SQL server
Với
các nhân tố trên, chúng ta bước đầu có thể bắt tay vào việc xây dựng
các thành phần của ứng dụng. Tôi xin trình bày về quá trình triển khai
các components theo thứ tự từ dưới lên (từ lớp truy nhập dữ liệu DAL)
trong mô hình đã đưa ra.
2.3. Công cụ sinh mã (codesmith explorer) và các tùy biến
Codesmith
là một phần mềm, hay đúng hơn là một môi trường phát triển mẫu
(template) dành cho việc sản sinh các đoạn mã dựa trên những tham số đưa
vào và CSDL đã xây dựng. Có thể tìm thấy Codesmith và tải về theo liên
kết http://www.ericjsmith.net/codesmith/ CodeSmith Explorer là một ứng
dụng nhỏ và miễn phí trong bộ CodeSmith Studio (bản thương mại – không
miễn phí). CodeSmith Explorer khi được cài đặt sẽ có thể tích hợp sẵn
trong môi trường lập trình của Visual Studio .NET dưới dạng một Add-on.
CodeSmith Explorer sử dụng các templates để sinh mã cho việc lập trình.
Các mẫu dành cho phát triển module trong DNN có thể download miễn phí
tại liên kết
http://lucaslabs.net/blogs/mccullochs/archive/2004/02/15/487.aspx.
2.4. Xây dựng các Projects phục vụ cho công việc
Chúng
ta sẽ sử dụng các DNN Template đã được cài đặt tích hợp với VS.NET 2003
để tạo ra các Projects mới phục vụ cho phát triển modules trên DNN.
