Tích hợp giữa XML Forms Generator và Data Studio,
Phần 1 : Bắt đầu tích hợp bằng cách tạo ra một ứng
dụng
Tổng quan XForms và các Biểu mẫu XML
Các từ viết tắt để sử dụng
HTML: Ngôn ngữ đánh dấu siêu văn bản
HTTP: Giao thức chuyển đổi siêu văn bản
REST: Chuyển đổi trạng thái đại diện
SOAP: Giao thức truy cập đối tượng đơn giản
UI: Giao diện người dùng
W3C: World Wide Web Consortium
WSDL: Ngôn ngữ đặc tả phục vụ Web
XHTML: Ngôn ngữ đánh dấu siêu văn bản mở rộng
XML: Ngôn ngữ đánh dấu mở rộng
W3C đã phát triển chuẩn XForms cho trình bày và tập hợp của mẫu biểu dữ liệu. Như phần giới
thiệu của W3C (xem tại Tài nguyên), XForms được mong đợi như "thế hệ mới của các biểu mẫu
cho Web". Theo như lời mô tả "Các biểu mẫu XHTML truyền thống được chia ra làm ba mô
hình XForms, dữ liệu ví dụ, giao diện người dùng là cái mô tả các nội dung riêng biệt bên trong,
tất cả ba loại này đều cho phép sử dụng lại và cho phép giảm lượng lớn thao tác lập trình dịch
vụ". Các mô hình tài liệu XForms có thể chứa một hoặc nhiều tài liệu XML.
Công cụ XML Forms Generator cung cấp nền tảng bắt đầu cho phát triển biểu mẫu. Điều đó giúp
cho nhanh chóng và tự động tạo ra các biểu mẫu có giá trị và có chức năng chứa XForms được
nhúng vào bên trong tài liệu XHTML (chúng tôi sẽ tham chiếu đến sự kết hợp này trong bài báo
này với tên là "XHTML/XForm"). Đầu vào cho các form tổng quát có thể với dữ liệu XML thay
vì không cần sự trợ giúp của XML Schema hay tài liệu WSDL.
Công cụ XML Forms Generator cho phép nhúng Eclipse Workbench vào, nó được đưa ra làm
việc đầu tiên vào tháng 4 năm 2005 tại alphaWorks. Xem tại Tài nguyên để tải Eclipse
Workbench và di chuyển tới trang alphaWorks để bạn có thể học và cài đặt công cụ cho XML
Forms Generator.
Data Studio và dịch vụ Web dữ liệu
Những bài báo khác trong loạt bài báo này
Tích hợp giữa XML Form Generator và Data Studio, Phần 2: Hỗ trợ pureXML trong
XFG
IBM Data Studio là môi trường quản lý dữ liệu tích hợp. Nó cung cấp môi trường kiểm tra và
phát triển đầy đủ để xây dựng các đối tượng cơ sở dữ liệu, các truy vấn, nguyên lý cơ sở dữ liệu
và các ứng dụng pureQuery. Với công cụ Data Studio bạn có thể phát triển ứng dụng cơ sở dữ
liệu nhanh hơn với việc tích hợp trình soạn thảo truy vấn cho SQL và XQuery, thực hiện đánh
giá các ứng dụng và các truy vấn một cách dễ dàng, xây dựng và kiểm tra các thủ tục lưu (trong
Java™ và SQL) với tích hợp bộ gỡ lỗi, và cho phép tùy chỉnh và phát triển mạnh mẽ các câu
lệnh SQL trong các ứng dụng Java.
Giải pháp IBM Data Studio bao gồm nhiều đặc trưng mới để hỗ trợ cho dịch vụ Web dữ liệu.
Dịch vụ Web dữ liệu là cung cấp dịch vụ Web thế hệ tiếp theo cho các ứng dụng cơ sở dữ liệu
của IBM. Máy chủ dữ liệu Web cung cấp đầy đủ các giao diện phục vụ Web, nó có hỗ trợ dịch
vụ kiểu REST (kết nối GET/POST của HTTP), SOAP thông qua dịch vụ Web HTTP và sinh ra
WSDL tự động. Dịch vụ Web dữ liệu cung cấp hệ quản trị IBM DB2® là một hệ quản trị cơ sở
dữ liệu, IBM Infoermix® Dynamic Server (IDS), và nhiều dịch vụ Web phổ biến giống như
Apache Tomcat v5.5, IBM WebSphere® Application Server V6.1, and IBM WebSphere
Application Server Community Edition V1.1. Bạn có thể học nhiều hơn về cách sử dụng Data
Studio để tạo dịch vụ Web dữ liệu từ các bài báo của devloperWorks đã xuất bản (xem Tài
nguyên).
Về đầu trang
Tại sao lại tích hợp XFG vào trong Data Studio
Data Studio có thể làm cho thực sự thuận tiện khi phát triển dịch vụ Web dữ liệu ở mức cơ sở dữ
liệu và các tầng giữa, trong khi XFG có thể cung cấp khả năng phát triển giao diện dựa trên
XForms từ các tệp WDSL. Vì vậy chúng tôi tích hợp Data Studio để cho phép xử lý phát triển tự
động và nhanh hơn thông qua cơ sở dữ liệu, dịch vụ Web và giao diện dựa trên XForms để tạo ra
giải pháp có thể sử dụng được các đặc trưng của cả Data Studio và XFG.
Các giá trị nhận được khi thực hiện việc tích hợp giữa XFG và Data Studio gồm:
XFG là công cụ đầu tiên hiệu quả và công cụ để hiển thị thông điệp XML cho các dự án
cơ sở dữ liệu trong Data Studio.
XFG là phần bổ sung cho Data Studio để phát triển giao diện người dùng hiệu quả.
XFG có thể hiển thị pureXML trong DB2 thành dạng XHTML/XForms.
XFG sinh ra thông tin có giá trị từ dữ liệu metadata và Sơ đồ XML.
Sự tích hợp có thể làm giảm bớt thời gian khởi động phát triển và cải tiến kinh nghiệm
người dùng tới phạm vi lớn hơn.
XFG và Data Studio đều cùng thêm Eclipse vào điều này làm cho chúng dễ dàng tích hợp với
nhau. Để tích hợp XFG dễ dàng vào Data Studio hãy tải thêm các XFG từ trang cập nhật và cài
đặt chúng trên Eclipse (xem Tài nguyên để làm việc với XML Forms Generator.)
Về đầu trang
Làm thế nào có thể làm việc XFG và Data Studio cùng với nhau
Phần này chỉ dẫn cách để làm việc với XFG và Data Studio cùng nhau để tạo ra các ứng dụng
Web. Hình 1 hiển thị kiến trúc và sự tương tác giữa XFG và Data Studio.
Hình 1. Sơ đồ của kiến trúc và tương tác giữa Data Studio và XFG
Trong dòng chảy của sự tương tác với nhau, Data Studio sinh ra dịch vụ Web dữ liệu từ dữ liệu
metadata. Sau đó XFG sử dụng dịch vụ Web dữ liệu và dữ liệu metadata để sinh ra
XHTML/XForms. Cuối cùng, XHTML/XForm được sinh ra chuyển dịch vụ Web dữ liệu thông
qua REST/SOAP.
Để minh họa chi tiết các bước làm thế nào kết hợp Data Studio và XFG cùng nhau, bạn sẽ tạo ra
ứng dụng quản lý thông tin bệnh nhân dựa trên cấu trúc theo bảng dưới đây.
Tên cột Kiểu cột
Yêu
cầu
Mô tả
ID
INTEGER Y
Yêu cầu trường ID là duy nhất cho mỗi bản ghi trong
bảng.
NAME
VARCHAR(10)Y Tên của mỗi bệnh nhân.
BIRTHDAY
DATE Y
Ngày sinh c
ủa mỗi bệnh nhân.
HEIGHT
DECIMAL Y Chiều cao của mỗi bệnh nhân.
WEIGHT
DECIMAL Y Trọng lượng của mỗi bệnh nhân.
DECRIPSTION
VARCHAR(10)Y Mô tả ngắn gọn từng bệnh nhân.
Để thử với ví dụ này, tải DB2 Express-C để thử miễn phí (xem tại Tài nguyên của trang web tải
về). Sử dụng DB2 Control Center để tạo cơ sở dữ liệu và tạo ra bảng phù hợp với mô tả trong
Hình 2. Trong ví dụ này, chúng ta tạo ra bảng có tên là "PATIENT" sử dụng sơ đồ
"DB2ADMIN".
Về đầu trang
Tạo dịch vụ Web dữ liệu
Sau khi bảng được tạo ra trong DB2, chúng tôi sử dụng Data Studio để tạo ra dịch vụ Web dữ
liệu. Để làm điều này, Data Studio sử dụng SQL để cho phép bạn tạo ra định dạng ứng dụng web
(hoặc sử dụng câu lệnh SQL hoặc sử dụng stored procedure). Khi sử dụng câu lệnh SQL tất cả
các tham biến sẽ được ánh xạ thành các tham biến đầu vào trong WSDL của dịch vụ Web dữ
liệu. Cả Data Studio và XFG đều hỗ trợ hai loại tham biến: tham biến vô danh và tham biến được
đặt tên.
Nếu bạn sử dụng tham biến vô danh, câu lệnh SQL của bạn sẽ có dạng như sau:
INSERT INTO DB2ADMIN.PATIENT (NAME, BIRTHDAY, HEIGHT, WEIGHT, DESCRIPTION)
VALUES (?,?,?,?,?)
Chú ý rằng các giá trị được thay vào các ký tự đại diện nằm trong (?,?,?,?,?).
Nếu bạn sử dụng các tham biến được đặt tên, câu lệnh SQL của bạn sẽ có dạng như biểu thức
sau, trong đó danh sách các tham biến đặt tên đều mang các giá trị được chèn vào tương ứng:
INSERT INTO DB2ADMIN.PATIENT (NAME, BIRTHDAY, HEIGHT, WEIGHT, DESCRIPTION)
VALUES (:NAME, :BIRTHDAY, :HEIGHT, :WEIGHT, :DESCRIPTION)
Với các tham biến đặt tên, mỗi nhãn trong XHTML/XForm sẽ được gán giá trị tương ứng với tên
tham biến tương ứng; còn với các tham biến vô danh mỗi nhãn sẽ được gán tên dưới dạng p1 p2,
Chúng tôi không mô tả chi tiết quá trình xử lý ở đây. Để biết làm thế nào tạo ra dịch vụ Web
dữ liệu từ tệp SQL, tham chiếu tới Tài nguyên. Trong ví dụ này chúng tôi tạo ra tệp SQL có tên
là insertPatient.sql, sau đó tương ứng với dịch vụ tạo ra tệp WSDL có tên là insertPatient.wsdl.
Về đầu trang
Tạo ra XHTML/XForms
Sau khi bạn tạo ra và triển khai các dịch vụ từ Data Studio, bạn có thể sử dụng XFG để sinh ra
XHTML/XForm và tệp XML tương ứng để liên lạc với dịch vụ.
1. Khi sử dụng XFG, lựa chọn tệp insertPatient.wsdl, bấm phải chuột vào tệp WSDL tương
ứng, và chọn Generate XHTML/XForms từ thực đơn thành phần của XForms
Generator. Hình 2 Hiển thị các bước đầu tiên thực hiện bằng thủ thuật:
Hình 2. Bước đầu tiên khi sử dụng XFG thủ thuật (wizard)
Bước này yêu cầu tên người sử dụng và mật khẩu để kết nối tới cơ sở dữ liệu cơ bản. Khi
đó có hai chọn lựa gồm: “Generate validation information” (Sinh ra thông tin hợp lệ) và
“Retrieve PureXML instance from Database” (Khôi phục pureXML từ Cơ sở dữ liệu), cả
hai chọn lựa này đều sử dụng pureXML hỗ trợ trong DB2 và chúng tôi sẽ mô tả điều này
trong bài báo số hai của loạt bài báo này; trước tiên, bây giờ bạn cứ bỏ qua các hộp chưa
được đánh dấu.
2. Chọn chế độ xử lý cho XFG để sinh ra biểu mẫu tương ứng. Chọn xử lý cho tệp
insertPatient.
Hình 3. Lựa chọn mục tiêu xử lý
3. Xác định vị trí để sinh ra tệp XHTML.
Hình 4. Biểu thị vị trí cho tệp mục tiêu
4. Thay đổi gợi ý đường dẫn mặc định trong Hình 5 chỉ đến bước cuối cùng của phát triển
dịch vụ Web. Bộ sinh XHTML/XForms có thể trao đổi với dịch vụ Web nếu bạn đặt
điểm đích (ký hiệu hình vuông tô đậm) chính xác.
Hình 5. Ghi chép tệp đầu ra
5. Cấu hình các lựa chọn tạo ra XML trong Hình 6.
Hình 6. Lựa chọn các chọn lựa cho việc tạo ra XML của bạn
6. Nhập vào hay lựa chọn vị trí để tạo ra tệp XML
Hình 7. Xác định vị trí đặt tệp XML
7. Cung cấp vị trí lưu trữ sơ đồ XML.
Hình 8. Chỉ dẫn vị trí lưu trữ cho tệp Sơ đồ
8. Cuối cùng, bấm chuột vào (Finish) để sinh ra XHTML/XForm. Tệp XHTML được sinh
ra có tên là insertPatient.xhtml.
Trong tệp insertPatient.xhtml, XFG sinh ra mô hình XForms và các thuộc tính liên quan
như các kết quả bạn có thể nhìn thấy trong Ví dụ 1 (xem tại phiên bản mở rộng của Ví dụ
1). Trong mô hình XForms, XFG sinh ra dữ liệu có ràng buộc các thuộc tính tương ứng
với dữ liệu metadata như ràng buộc về kiểu, chiều dài, yêu cầu và
Ví dụ 1. Mô hình và các thuộc tính ràng buộc của Generator XForms
Khi bạn hiểu thị tệp insertPatient.xhtml trong trình duyệt Firefox, màn hình của bạn sẽ có kết quả
như Hình 9 (xem tại phiên bản mở rộng của Hình 9):
Hình 9. Hiển thị kết quả của insertPatient kiểu XHTML/XForms trong trình duyệt Firefox
Từ diễn tả của kết quả tệp insertPatient.xhtml, chúng tôi nhận thấy rằng:
Tất cả các trường yêu cầu đều được đánh dấu hoa thị màu đỏ. Tất cả các trường được yêu
cầu ngoại trừ trường DESCRIPTION.
Nếu giá trị nhập vào không đúng, nhãn sẽ được đánh dấu màu đỏ để cảnh báo cho người
sử dụng biết giá trị bị lỗi. Như trong hình 5, trường "HEIGHT" yêu cầu nhập kiểu số thực
nhưng khi chúng tôi nhập vào lại nhập chuỗi. (Nếu bạn hiển thị kết quả này trong chế độ
màu bạn cáo thể nhìn thấy nhãn đó có màu đỏ.)
Các trường trong biểu mẫu đều có thông điệp gợi ý tương ứng. Khi đó bạn có thể nhìn
thấy thông báo "HEIGHT" có kiểu số thực, yêu cầu phải nhập tương ứng.
Đối với các trường có kiểu Date, Boolean hoặc các kiểu khác bạn có thể nhìn thấy có các
ký tự thay thế đặc biệt, các ký tự này sẽ được hiển thị trong trường giá trị khi bạn nhập
giá trị vào. Ví dụ, biểu tượng Date Picker sẽ được hiển thị biểu diễn kiểu Date, ô chọn lựa
dùng biểu diễn cho kiểu Boolean.
Khi bạn sử dụng tệp insertPatient.xhtml, bạn có thể liên lạc với dịch Web thông qua biểu mẫu
xác nhận. Dịch vụ Web sẽ gọi câu lệnh SQL INSERT mà bạn đã nhìn thấy và sử dụng các giá trị
từ biểu mẫu đề chèn một hàng vào bảng. Bạn có thể di chuyển đến phần cuối bảng cơ sở dữ liệu
để kiểm tra nội dung bên trong của bảng và thấy ngay có bản ghi đã được thêm vào thành công.
Về đầu trang
Kết luận
Trong bài báo này, chúng tôi đã mô tả ngắn gọn XForms, XForms Generator, Data Studio và
dịch vụ Web dữ liệu và cũng nói về lý do tại sao lại tích hợp XFG với Data Studio. Chúng tôi
cũng đã mô phỏng làm thế nào để XFG làm việc với Data Studio để từ đó cung cấp cho người
dùng cuối biết cách tiếp cận để xây dựng một giải pháp dịch vụ dữ liệu đầy đủ. Trong bài báo
thứ hai của loạt bài báo này, chúng tôi sẽ phác thảo XFG hỗ trợ DB2 pureXML ra sao. Chúng tôi
cũng sẽ trình bày làm thế nào chuyển từ pureXML thành XHTML/XForms thông qua thực hiện
tích hợp XFG với Data Studio bằng cách tiến hành đăng ký sơ đồ XML tương ứng của
pureXML.