Chắc hẳn với các bạn bắt đầu tìm hiểu các viết một ứng dụng trên nền
Domino đều đặt ra câu hỏi “Cần những thứ gì để tạo một ứng dụng domino?”
và “dữ liệu của nó được lưu trữ ở đâu?”
Với các bạn đã phát triển ứng dụng trên nền công nghệ khác (.net hay
php….) thì thành phần design và dữ liệu được tách biệt riêng, như các
trang web của asp hay của php đều đặt design… trên một web server (IIS,
apache…), còn database thì đặt trên một server DBMS riêng (SQL, MySQL).
Domino thì không giống thế, tất cả design, dữ liệu các ứng dụng Domino
đều lưu vào file nsf hoặc ntf.
Các ngôn ngữ lập trình được sử dụng khi phát triển ứng dụng
- HTML (client)
- Javascript (client)
- Cascading Style Sheets (CSS) (client)
- Formula (Server).
- LotusScript (Server – Ngôn ngữ này có rất nhiều điểm giống MS Visual Basic).
- Java (Server).
- Simple action
Như vậy để viết một ứng dụng Domino chạy trên nền web ta phải biết ít nhất 5/6 ngôn ngữ này (Theo tôi, có thể chọn LotusScript hoặc Java).
Các thành phần design trong ứng dụng
- Page: là thành phần design được sử dụng để hiển thị thông tin. Bạn có thể sử dụng page để viết một trang như trạng about, có thể sử dụng để viết các tài nguyên css, javascript, nhược điểm của page là khả năng truy vấn dữ liệu kém.
- Form: Mọi thứ bạn làm với page được thì đều có thể làm với form được, ngoài ra, form có khả năng truy vấn dữ liệu tốt. khi các bạn đã quen rồi các bạn sẽ thấy khi cần hiển thị các thông tin liên quan đến dữ liệu ta thường sẽ đều sử dụng form. Form cung cấp một cấu trúc để tạo và hiển thị các document (ở đây mình không dịch từ document để tránh nhầm lẫn với các tài liệu thông thường, mình sẽ giải thích kỹ hơn về trong khi nói về cấu trúc dữ liệu của domino).
- View: sử dụng để hiển thị các document theo một truy vấn nào đó. với các bạn đã làm việc với một MS SQL hoặc MySQL thì view của domino cũng thế
- Folder: giống view, xong các document không được lấy theo một truy vấn mà thực hiện bằng code.
- Frameset: Là tập hợp các HTML frame, nó chia một trang web của bạn thành các phần (session) khác nhau.
- Subform: Thành phần design giúp bạn chia nhỏ cấu trúc của một form
- Agent: là một chương trình độc lập (stand-alone programs)
thực hiện một nhiệm vụ nào đó. Theo tôi có thể chia ra làm 2 loại
agent:* Agent chạy tự động: là các agent chạy khi sảy ra một action của
hệ thống. không được điều khiển bởi người dùng. như:
* Agent bình thường: là các agent chạy khi sảy ra một action của người dùng, như sau khi load document, người dùng click một button…. - Resources: Các tài nguyên khác
- Imagess
- Files
- Applets
- Style Sheets
- Ngoài ra còn một số thành phần khác nhưng ít dụng sau này các bạn tự tìm hiểu.
Chắc hẳn lâu nay các bạn lập trình đều quen với kiểu dữ liệu quan hệ. Dữ liệu của các ứng dụng Domino là kiểu dữ liệu phi quan hệ. Dữ liệu của domino được lưu trữ thành các document, trong document có các field.
Để các bạn dễ tưởng tượng, mình xin mạo muộn đưa ra một phép so sánh như sau: các field của domino giống như các trường trong một bảng của MS SQL, như vậy document sẽ giống như một bản ghi (record). Domino hoàn toàn không có khái niện table, chỉ có document là thực thể thể hiện cho một định dạng dữ liệu. ví dụ:
Trong một document lưu trữ thông tin của nhân sự Nguyễn Văn A ta có thể đưa ra một mô tả cấu trúc dữ liệu như sau:
Document:
Field | Type | Value |
HoVaTen | Text | Nguyen Van A |
NgaySinh | DateTime | 1/1/1970 |
QueQuan | Text | Ha Noi |
DiaChi | Text | Ha Noi |
SoCMTND | Text | 123456789 |
Các thành phần thường dùng của một form
Ta thấy rằng form là một thành phần design rất quan trọng trong một ứng dụng domino, sau này khi làm việc với xpage thì form giống như thành phần khai báo các trường được sử dụng trong một document. Trong một form thường có các thành phần sau:
- Text
- Field
- Hotspot (Buttons…)
- Resource
- Computed text
- HTML text
- Embeded elements (view, folder)
Ngoài ra còn các thành phần khác, bạn tham khảo thêm trong bộ help của Domino Designer (Lotus Domino Designer Basic User Guide and Reference > Application Design > Designing forms) .
URL Command
URL command là sự kết hợp của các đặc điểm của URL với một câu lệnh điều khiển các item như là một document hay view. cấu trúc của URL command có dạng
http://Host/DominoObject?Action&Arguments
Phần này trong tài liệu Help của Domino Designer nói rất kỹ, các bạn đọc trong này nhé (Lotus Domino Designer Basic User Guide and Reference > Application Design > URL commands for Web applications).
Mình xin cung cấp một số các command hay dùng
OpenForm: mở một form
OpenView: Mở một view hoặc folder
OpenAgent: Chạy một agent (cho phép chạy trên web).
OpenDocument: Mở document (dạng readonly)
EditDocument: Mở document (dạng editable)
DeleteDocument: Xóa document
OpenPage: Mở một trang
/?Login: đăng nhập
/?Logout: Đăng xuất
Với các thành phần như trên các bạn đã có thể phát triển được các ứng dụng Domino đơn giản rồi đấy. Trong một khuôn khổ một bài viết mình không thể đi hết và chi tiết các thành phần design của một Domino Application được, các bạn nên đọc kỹ hơn trong tài liệu help của Domino Designer.
Sau đây mình sẽ demo cách dụng một số thành phần trên để viết ứng dụng cho phép nhập, hiển thị thông tin nhân sự của một cơ quan.
Download vi du: http://www.mediafire.com/?br4zc4r2ge4fscc
Video:
0 nhận xét:
Post a Comment