Cong ty Cong Nghe Tin hoc Nha truong http://www.schoolnet.vn
Sử dụng DotNetNuke như một mô hình phát triển ứng dụng Desktop (Phần I)
31/01/2007

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.
URL của bài viết này::http://www.schoolnet.vn/modules.php?name=News&file=article&sid=709
© Cong ty Cong Nghe Tin hoc Nha truong contact: sales@schoolnet.vn