FOTECH: ViePortal - Developer Documentation - FOTECH

Jump to content

Trang 1 / 1
  • Bạn không thể gửi chủ đề mới
  • Bạn không thể gửi trả lời cho chủ đề này
  • Chia sẻ

ViePortal - Developer Documentation Giới thiệu, hướng dẫn xây dựng dịch vụ với ViePortal

#1 User is offline   QuynhNguyen 

  • Mới gia nhập
  • Pip
  • Danh tiếng: 0 (Bình thường)
  • Nhóm: Thành viên
  • Bài viết: 20
  • Gia Nhập: 15-July 04

Biểu tượng  Gửi lúc 06 Sep 2004 - 04:04 PM

Xin chào,

Trước hết xin giới thiệu một chút về sản phẩm và dự án.

Sản phẩm "Cổng thông tin điện tử tích hợp ViePortal" do tôi lead dự định sẽ phát triển theo mô hình "free software" theo giấy phép GNU GPL. Đồng thời, kết quả của dự án sẽ được sử dụng trực tiếp cho website tương lai của nhóm. Do đó tôi lập topic này ra để giới thiệu các góc cạnh kỹ thuật để các nhóm/thành viên có thể tham gia xây dựng portal hoặc các dịch vụ cho portal.

ViePortal sẽ được xây dựng trên nền tảng công nghệ .NET và Mono để có thể chạy tốt trên HĐH Windows và Linux. Chính vì vậy, trong quá trình xây dựng portal và các dịch vụ, cần lưu ý điều đó để không sử dụng các components/classes chỉ chạy trên Windows hoặc chỉ chạy trên Linux (ví dụ: namespace System.Enterprise trong .NET không được Mono hỗ trợ vì đây là đặc thù của Windows).

Posted Image
Mô hình triển khai của ViePortal.

Về máy chủ web:
- Microsoft IIS 5.x/6 nếu sử dụng hệ điều hành Windows 2K/2K3
- Apache 2.0 (với mod_mono) nếu sử dụng hệ điều hành Linux

Về máy chủ CSDL:
- Microsoft SQL Server 2000 Enterprise
- MySQL InnoDB 4.1.x (MySQL chỉ hỗ trợ tốt Unicode từ version 4.1 trở lên)
- Oracle 9i
- DB2/Sybase/PostgresSQL

Tuy vậy, 2 loại CSDL chính sẽ được chọn là SQL Server và MySQL. Lý do: nếu dùng đồng bộ giải pháp của MS thì tốc độ sẽ rất tốt, còn nếu không thì MySQL là lựa chọn hàng đầu vì: tốc độ cao, miễn phí, ...

Về client:
- Sử dụng các web browsers như: Internet Explorer, Mozilla Firefox, Opera
- Đối với các client dùng để quản trị và cập nhật nội dung thì sẽ sử dụng Internet Explorer 5.5 trở lên vì DHTML của MS rất mạnh, nên bộ editor sẽ có nhiều tính năng, giúp cho người cập nhật thông tin có nhiều khả năng hơn.


Các bài viết sau tôi sẽ trình bày sang các vấn đề khác: tại sao dùng C#, các lưu ý khi làm việc với CSDL, các thành phần quan trọng của hệ thống, các sơ đồ luân chuyển...

Và nếu ai có ý kiến hoặc hỏi đáp, thì cũng có thể post trực tiếp trong topic này.

Bài viết này được chỉnh sửa bởi QuynhNguyen: 21 Sep 2004 - 11:01 AM

0

#2 User is offline   dearfriend 

  • Mới gia nhập
  • Pip
  • Danh tiếng: 0 (Bình thường)
  • Nhóm: Thành viên
  • Bài viết: 5
  • Gia Nhập: 06-August 04

Gửi lúc 06 Sep 2004 - 05:05 PM

Theo tôi hiểu thì nhiều module trong vieportal sẽ có target browser là IE 5.5+, vậy browser này có thể cài trên Linux được không(Tôi không có điều kiện thử)?
0

#3 User is offline   QuynhNguyen 

  • Mới gia nhập
  • Pip
  • Danh tiếng: 0 (Bình thường)
  • Nhóm: Thành viên
  • Bài viết: 20
  • Gia Nhập: 15-July 04

Biểu tượng  Gửi lúc 06 Sep 2004 - 05:36 PM

Tại phần này, tôi sẽ tập trung vào trả lời các câu hỏi sau:

- Tại sao ngôn ngữ C# đựa lựa chọn chứ không phải VB.NET?
- Công nghệ Mono là gì? Tại sao cần xây dựng hệ thống trên Mono?

Thông qua đây, chúng ta làm rõ được các vấn đề và từ đó đặt ra một số quy ước/quy tắc xây dựng hệ thống.

Thứ nhất: tại sao chọn ngôn ngữ là C# mà không chọn các ngôn ngữ khác (VB.NET, J#, C++.NET, ...)

Ngôn ngữ C# được lựa chọn vì các lý do sau:

- Cú pháp của C# chặn chẽ, đẹp. Những người mới bắt đầu có thể học C# một cách dễ dàng, còn những ai đã từng viết C, C++, Java thì có thế chuyển sang một cách nhanh chóng.
- .NET được xây dựng chính trên nền tảng ngôn ngữ C#. Do đó, sử dụng C# sẽ dễ dàng làm việc với .NET nhất.
- Chỉ có C# mới có cơ chế tạo các document trực tiếp ngay trong code (qua cơ chế sử dụng 3 dấu slash ///)
- Khi Microsoft đưa ra khái niệm Common Language Infrastructure và ngôn ngữ C#, những thành phần này được đưa lên hiệp hội ECMA để thành tiêu chuẩn (tham khảo về CLIC# tại ECMA). Điều đó có nghĩa là các hãng khác ngoài Microsoft có thể phát triển các trình biên dịch cho ngôn ngữ C#, còn các ngôn ngữ khác như VB.NET thì không có được điều này, nghĩa là có thể viết/xây dựng các ứng dụng bằng C# mà không phụ thuộc vào MS.
Hiện tại đã có một số hãng phát triển trình biên dịch cho C# như:
+ Borland C# Builder - http://www.borland.c...arpbuilder.html
+ Dreamweaver MX - http://www.macromedi.../devnet/dotnet/
+ MonoDevelop - http://www.monodevelop.org (Open Source)
+ Gtk# - http://gtk-sharp.sourceforge.net/ (Open Source)
+ SharpDevelop - http://www.icsharpco...SD/Default.aspx (Open Source)

Với những lý do trên, C# được chọn để phát triển hệ thống là hoàn toàn hợp lý.


Thứ 2: Công nghệ Mono là gì? Tại sao cần xây dựng hệ thống trên Mono?

- Công nghệ Mono là "công nghệ .NET chạy trên Linux". Hiện tại Mono đã được phát hành với phiên bản 1.0. Chi tiết về Mono có thể tham khảo tại địa chỉ http://www.mono-project.com/

- Hiện tại Mono có thể chạy trên các hệ điều hành: Windows, Linux, MacOS, HP-UX, Solaris, FreeBSD. Nghĩa là nếu ứng dụng của chúng ta chạy tốt trên Mono thì có nghĩa là sẽ chạy tốt trên các hệ điều hành nói trên. Vậy lý do xây dựng hệ thống trên Mono là "để có thể chạy trên nhiều hệ điều hành khác nhau".


Trên đây là một số giới thiệu về công nghệ mà hệ thống sẽ sử dụng. Ngoài ra, mô hình trong tại các tài liệu sẽ được xây dựng trên UML.

Để tìm hiểu về UML và OOAD (Object Oriented Analysis & Design) thì có thể đọc quyển sách Visual Modeling with Rational Rose 2002 and UML (download tại đây). Nếu muốn đọc bản tiếng Việt của quyển sách này, xin tìm đọc cuốn "Thiết kế trực quan với UML & Rational Rose" của tác giả Lê Minh Trung

Bài viết này được chỉnh sửa bởi QuynhNguyen: 21 Sep 2004 - 11:03 AM

0

#4 User is offline   QuynhNguyen 

  • Mới gia nhập
  • Pip
  • Danh tiếng: 0 (Bình thường)
  • Nhóm: Thành viên
  • Bài viết: 20
  • Gia Nhập: 15-July 04

Gửi lúc 06 Sep 2004 - 05:44 PM

dearfriend, on Sep 6 2004, 05:05 PM, said:

Theo tôi hiểu thì nhiều module trong vieportal sẽ có target browser là IE 5.5+, vậy browser này có thể cài trên Linux được không(Tôi không có điều kiện thử)?

Chỗ này có chỗ nhầm lẫn tý. Target của portal là các web browser, không hẳn chỉ là IE 5.5.

Trong một số module cần yêu cầu phần DHTML tốt (ví dụ: soạn thảo nội dung của bài viết chẳng hạn) nếu muốn sử dụng các tính năng cao cấp của trình soạn thảo như: làm việc với table, undu/redo, ... thì máy client của người cập nhật nội dung cần dùng IE 5.5 trở lên, còn nếu dùng các browser khác như Firefox, Opera, Netscape thì vẫn được, nhưng sẽ không tiện dụng bằng IE.
0

#5 User is offline   J.W SulivanDinh 

  • Thành viên sơ cấp
  • PipPip
  • Danh tiếng: 0 (Bình thường)
  • Nhóm: Thành viên
  • Bài viết: 54
  • Gia Nhập: 11-June 03
  • Location:Ha Noi

Gửi lúc 14 Sep 2004 - 03:41 PM

hichic, sao không tiếp tục đi các bác. mà sao các thư của group trao đổi, cứ bay thẳng vào ngăn bulk của tôi thế nhỉ, chẳng cập nhật được thông tin gì cả :((
Tiện đây xin hỏi luôn, đã có sẵn 1 bản code phát triển 1 ứng dụng mạng = asp.net rồi , nhưng bây giờ, tất cả những chố nào có chèn ảnh giới thiệu sản phẩm dạng <img ... src= ... /> muốn thay nó với file được format dưới dạng vrml để sử dụng tính năng 3D nhưng mà chưa bit bắt đầu như thế nào cả. Có bác nào biết thì chỉ bảo cho em với , cám ơn nhiều
0

#6 User is offline   dearfriend 

  • Mới gia nhập
  • Pip
  • Danh tiếng: 0 (Bình thường)
  • Nhóm: Thành viên
  • Bài viết: 5
  • Gia Nhập: 06-August 04

Gửi lúc 19 Sep 2004 - 10:47 PM

QuynhNguyen, on Sep 6 2004, 10:44 AM, said:

dearfriend, on Sep 6 2004, 05:05 PM, said:

Theo tôi hiểu thì nhiều module trong vieportal sẽ có target browser là IE 5.5+, vậy browser này có thể cài trên Linux được không(Tôi không có điều kiện thử)?

Chỗ này có chỗ nhầm lẫn tý. Target của portal là các web browser, không hẳn chỉ là IE 5.5.

Trong một số module cần yêu cầu phần DHTML tốt (ví dụ: soạn thảo nội dung của bài viết chẳng hạn) nếu muốn sử dụng các tính năng cao cấp của trình soạn thảo như: làm việc với table, undu/redo, ... thì máy client của người cập nhật nội dung cần dùng IE 5.5 trở lên, còn nếu dùng các browser khác như Firefox, Opera, Netscape thì vẫn được, nhưng sẽ không tiện dụng bằng IE.

QuynhNguyen có vẻ hơi lạc đề. Tất nhiên ai cũng hiểu là chương trình hiển thị là nhằm tới tất cả các browser, ý tôi muốn nói là nếu như việc cập nhật cần tới IE 5.5+, vậy thì IE 5.5+ có thể cài trên linux được không, nếu không thì có giải pháp nào cho vấn đề này hay không?

đơn giản hóa:

public bool CanInstallIE5.5+()
{
if(IE5.5+.canInstall||IE5.5+.haveOtherAlternative)
{
return true;
}
else
{
return false;
}
}
0

#7 User is offline   QuynhNguyen 

  • Mới gia nhập
  • Pip
  • Danh tiếng: 0 (Bình thường)
  • Nhóm: Thành viên
  • Bài viết: 20
  • Gia Nhập: 15-July 04

Gửi lúc 20 Sep 2004 - 01:58 PM

OK, đồng ý là như vậy.

Nhưng ở đây cần chú ý là ứng dụng này là một ứng dụng dạng Web-based và phần server sẽ là Microsoft IIS/.NET hoặc Linux/Apache/Mono.

Riêng về phần cập nhật dữ liệu, thì thông thường những người cập nhật chủ yếu sử dụng Windows do đó việc sử dụng IE 5.5 trở lên là chuyện bình thường. Còn người quản trị hệ thống thì dùng cái gì cũng được. Do đó không đáng lo lắm về vấn đề này.

Phần dưới tôi xin tiếp tục giới thiệu tiếp về hệ thống để mọi người tiếp tục theo dõi
0

#8 User is offline   QuynhNguyen 

  • Mới gia nhập
  • Pip
  • Danh tiếng: 0 (Bình thường)
  • Nhóm: Thành viên
  • Bài viết: 20
  • Gia Nhập: 15-July 04

Biểu tượng  Gửi lúc 21 Sep 2004 - 02:20 PM

Trong phần này, tôi sẽ lần lượt giới thiệu về portal: khái niệm, các tính năng bắt buộc, ... và các thành phần này sẽ được thể hiện trong ViePortal như thế nào.

Trước hết về khái niệm portal

Có nhiều khái niệm về cổng thông tin điện tử tích hợp khác nhau, và cho đến nay chưa có khái niệm nào được coi là chuẩn xác. Trong phạm vi dự án này, chúng ta tạm sử dụng khái niệm sau cho cổng thông tin điện tử tích hợp (portal).

“Cổng thông tin điện tử tích hợp là điểm truy cập tập trung và duy nhất, tích hợp các kênh thông tin, các dịch vụ và ứng dụng, phân phối tới người sử dụng thông qua một phương thức thống nhất và đơn giản trên nền tảng Web”


Phân loại portal

Cổng thông tin điện tử cung cấp cho người dùng cuối nhiều loại dịch vụ khác nhau với nhiều nhu cầu khác nhau, có thể phân loại các portal như sau:

- Cổng thông tin công cộng (Public portals): ví dụ như Yahoo, loại cổng thông tin này thường được sử dụng để ghép nối các thông tin lại với nhau từ nhiều nguồn, nhiều ứng dụng và từ nhiều người, cho phép cá nhân hoá (personalization) các Web site theo tuỳ từng đối tượng sử dụng.

- Cổng thông tin doanh nghiệp (“Enterprise portals” hoặc “Corporate Desktops”): được xây dựng để cho phép các thành viên của doanh nghiệp sử dụng và tương tác trên các thông tin và ứng dụng nghiệp vụ tác nghiệp của doanh nghiệp.

- Cổng giao dịch điện tử (Marketplace portals): ví dụ như eBay và ChemWeb, cổng thông tin này là nơi liên kết giữa người bán và người mua.

- Cổng thông tin ứng dụng chuyên biệt (Specialized portals): ví dụ như SAP portal, cổng thông tin loại này cung cấp các ứng dụng chuyên biệt khác nhau.
0

#9 User is offline   QuynhNguyen 

  • Mới gia nhập
  • Pip
  • Danh tiếng: 0 (Bình thường)
  • Nhóm: Thành viên
  • Bài viết: 20
  • Gia Nhập: 15-July 04

Gửi lúc 21 Sep 2004 - 02:21 PM

Các tính năng cơ bản của portal

Tuy có nhiều loại cổng thông tin tích hợp, cung cấp nhiều loại dịch vụ và ứng dụng khác nhau, nhưng tất cả các loại cổng thông tin tích hợp đều có chung một số tính năng. Các tính năng này là được sử dụng như một tiêu chuẩn để phân biệt giữa cổng thông tin điện tử tích hợp với một Web site hoặc một ứng dụng chạy trên nền tảng Web. Các tính năng đó bao gồm:

- Khả năng cá nhân hoá (Customization hay Personalization): cho phép thiết đặt các thông tin khác nhau cho các loại đối tượng sử dụng khác nhau theo yêu cầu. Tính năng này dựa trên hoạt động thu thập thông tin về người dùng và cộng đồng người dùng, từ đó cung cấp các thông tin chính xác tại thời điểm được yêu cầu.

- Tích hợp và liên kết nhiều loại thông tin (Content aggregation): cho phép xây dựng nội dung thông tin từ nhiều nguồn khác nhau cho nhiều đối tượng sử dụng. Sự khác biệt giữa các nội dung thông tin sẽ được xác định qua các ngữ cảnh hoạt động của người dùng (user-specific context), ví dụ như đối với từng đối tượng sử dụng sau khi thông qua quá trình xác thực thì sẽ được cung cấp các thông tin khác nhau, hoặc nội dung thông tin sẽ được cung cấp khác nhau trong quá trình cá nhân hoá thông tin.

- Xuất bản thông tin (Content syndication): thu thập thông tin từ nhiều nguồn khác nhau, cung cấp cho người dùng thông qua các phương pháp hoặc giao thức (protocol) một cách thích hợp. Một hệ thống xuất bản thông tin chuyên nghiệp phải có khả năng xuất bản thông tin với các định dạng đã được quy chuẩn, ví dụ như RDF (Resource Description Format), RSS (Rich Site Summary), NITF (News Industry Text Format) và NewsXML. Ngoài ra, các tiêu chuẩn dựa trên XML cũng phải được áp dụng để quản trị và hiển thị nội dung một cách thống nhất, xuyên suốt trong quá trình xuất bản thông tin. Các tiêu chuẩn dựa trên XML này cho phép đưa ra giải pháp nhanh nhất để khai thác và sử dụng thông tin trên các Web site khác nhau thông qua quá trình thu thập và bóc tách thông tin với các định dạng đã được quy chuẩn.

- Hỗ trợ nhiều môi trường hiển thị thông tin (Multidevice support): cho phép hiển thị cùng một nội dung thông tin trên nhiều loại thiết bị khác nhau như: màn hình máy tính (PC), thiết bị di động (Mobile phone, Wireless phone, PDA), sử dụng để in hay cho bản fax…. một cách tự động bằng cách xác định thiết bị hiển thị thông qua các thuộc tính khác nhau. Ví dụ: cùng một nội dung đó, khi hiển thị trên màn hình máy tính thì sử dụng HTML, nhưng khi hệ thống xác định được thiết hiển thị là PDA hay mobile phone, hệ thống sẽ loại bỏ các ảnh có trong nội dung và tự động chuyển nội dung đó sang định dạng WML (Wireless Markup Language) để phù hợp cho việc hiển thị trên màn hình của thiết bị di động.

- Khả năng đăng nhập một lần (Single Sign On): cho phép dịch vụ xuất bản thông tin hoặc các dịch vụ khác của portal lấy thông tin về người dùng khi hoạt động mà không phải yêu cầu người dùng phải đăng nhập lại mỗi khi có yêu cầu. Đây là một tính năng rất quan trọng vì các ứng dụng và dịch vụ trong portal sẽ phát triển một cách nhanh chóng khi xuất hiện nhu cầu, mà các ứng dụng và dịch vụ này tất yếu sẽ có các nhu cầu về xác thực hoặc truy xuất thông tin người dùng.

- Quản trị portal (Portal administration): xác định cách thức hiển thị thông tin cho người dùng cuối. Tính năng này không chỉ đơn giản là thiết lập các giao diện người dùng với các chi tiết đồ hoạ (look-and-feel), với tính năng này, người quản trị phải định nghĩa được các thành phần thông tin, các kênh tương tác với người sử dụng cuối, định nghĩa nhóm người dùng cùng với các quyền truy cập và sử dụng thông tin khác nhau.

- Quản trị người dùng (Portal user management): cung cấp các khả năng quản trị người dùng cuối, tuỳ thuộc vào đối tượng sử dụng của portal. Tại đây, người sử dụng có thể tự đăng ký trở thành thành viên tại một công thông tin công cộng (như Yahoo, MSN…) hoặc được người quản trị tạo lập và gán quyền sử dụng tương ứng đối với các công thông tin doanh nghiệp. Mặt khác, tuỳ vào từng kiểu portal mà số lượng thành viên có thể từ vài nghìn tới hàng triệu. Hiện tại phương pháp phân quyền sử dụng dựa trên vai trò (Role-based security) được sử dụng như một tiêu chuẩn trong các hoạt động xác định quyền truy cập và cung cấp thông tin cho các đối tượng khác nhau trong các portal cũng như các ứng dụng Web.
0

#10 User is offline   QuynhNguyen 

  • Mới gia nhập
  • Pip
  • Danh tiếng: 0 (Bình thường)
  • Nhóm: Thành viên
  • Bài viết: 20
  • Gia Nhập: 15-July 04

Biểu tượng  Gửi lúc 21 Sep 2004 - 02:35 PM

Tại đây, tính năng Single Sign-On sẽ kế thừa trực tiếp từ mô hình security của .NET, khi đó chỉ cần xây dựng các components và classes một cách khéo léo theo mô hình mà .NET đã cung cấp (IPrincipal và IIdentity) là vấn đề Single Sign-On có thể giải quyết được. Ngoài ra, nếu muốn xây dựng dịch vụ Authentication theo dạng như Passport thì cần giải quyết thêm vấn đề lưu trữ/gửi và lấy thông tin từ các cookies xuyên qua nhiều site khác nhau.

Phần sau chúng ta sẽ dựa trên một mô hình đã hoạt động tốt để tìm hiểu từng bước về portal.

Chúng ta sẽ sử dụng một public portal là My Yahoo để tìm hiểu về mô hình portal và các thức tương tác giữa các thành phần thông tin trong portal.

Để tìm hiểu thêm các khái niệm về portal của các hãng khác nhau, các bạn có thể sử dụng 2 tài liệu sau:

- Bài viết Portal Server Technology đăng trên tạp chí IEEE Internet Computing.

- Giới thiệu về IBM WebSphere Portalvà kiến trúc tổng thể.


Ngoài ra, một số khái niệm liên quan mật thiết đến portal như Portlet API và Web Services for Remote Portals cũng cần tìm hiểu đề hiểu rõ về portal.
0

#11 Guest_maika_*

  • Danh tiếng:
  • Nhóm: Khách

Gửi lúc 15 Oct 2004 - 08:42 AM

Hiện nay trên trang web Koobe.org cũng đăng tải một cuốn ebook về web portal. Trong đó giới thiệu khá chi tiết về web portal, các bạn có thể vào đó download về để tham khảo. Chúc vui.

#12 User is offline   QuynhNguyen 

  • Mới gia nhập
  • Pip
  • Danh tiếng: 0 (Bình thường)
  • Nhóm: Thành viên
  • Bài viết: 20
  • Gia Nhập: 15-July 04

Gửi lúc 15 Oct 2004 - 09:22 AM

Vào Koobe.org để download được thì phải là hyper member đã, vả lại tôi download mãi rồi.

Trên đó có 3 quyển về portal chứ không phải 1, vả lại đọc mãi rồi, thì lúc đó mới viết ra được vài dòng giới thiệu như ở trên.
0

#13 User is offline   jambon 

  • Dân FOTECH
  • PipPipPipPipPip
  • Danh tiếng: 1 (Bình thường)
  • Nhóm: Thành viên
  • Bài viết: 552
  • Gia Nhập: 09-May 03
  • Location:Hà Nội

Gửi lúc 15 Oct 2004 - 10:37 AM

Các chuyên gia đánh giá thì C# .NET với VB .NET là tương đương. Không có chuyện VB .NET kém hơn đâu.
0

#14 User is offline   ppp 

  • Mới gia nhập
  • Pip
  • Danh tiếng: 0 (Bình thường)
  • Nhóm: Thành viên mới
  • Bài viết: 1
  • Gia Nhập: 11-December 08

Gửi lúc 11 Dec 2008 - 05:09 PM

Vieportal cũng khá dễ sử dụng như các sản phẩm Portal khác như(OraclePortal, Uportal, Liferay..) Nhưng để phát triển nó thì mình chưa được biết. Bạn có thể cho mình source của Vieportal không?
0

Trang 1 / 1
  • Bạn không thể gửi chủ đề mới
  • Bạn không thể gửi trả lời cho chủ đề này
  • Chia sẻ

1 người đang đọc chủ đề này
0 thành viên, 1 khách, 0 thành viên ẩn