Trước khi bắt đầu Bài hướng dẫn này chủ yếu dành cho các nhà phát triển ứng dụng cơ sở dữ liệu và Java muốn lợi dụng việc sử dụng Data Studio cho các khả năng pureQuery của nó và Ration
Trang 1Tạo các ứng dụng bảo mật Java một cách hiệu quả, Phần 1
Sử dụng Rational Application Developer và Data Studio
Tyler Anderson, Kỹ sư, Backstop Media
Tóm tắt: Đây là phần đầu tiên trong loạt bài hướng dẫn gồm hai phần viết về việc
tạo các ứng dụng Web bảo mật dựa trên Java sử dụng Rational® Application Developer, Data Studio và Rational AppScan Bài hướng dẫn đầu tiên này mở đầu bằng việc trình bày cách thức Data Studio với pureQuery có thể tăng hiệu quả phát triển Web hướng theo cơ sở dữ liệu của bạn Bạn sẽ phát triển một ứng dụng Web Java™ với Rational Application Developer, và sau đó bạn triển khai ứng dụng đó trên WebSphere với Java Server Pages (JSP)® Application Server
Trước khi bắt đầu
Bài hướng dẫn này chủ yếu dành cho các nhà phát triển ứng dụng cơ sở dữ liệu và Java muốn lợi dụng việc sử dụng Data Studio cho các khả năng pureQuery của nó
và Rational Application Developer để tạo thuận lợi cho việc phát triển một ứng dụng dựa trên Java Đối với bài hướng dẫn này, có kiến thức về phát triển Web và JSP nói chung cũng rất hữu ích, tuy nhiên không nhất thiết phải có
Về loạt bài này
Mục tiêu của loạt bài gồm hai phần này là mở rộng các kỹ năng phát triển ứng dụng Web của bạn thông qua việc sử dụng Rational Application Developer, Data Studio và Rational AppScan
Phần 1 sử dụng các khả năng IDE của Rational Application Developer và các tính năng pureQuery của Data Studio để tạo ra một ứng dụng Web quản
lý tài sản dựa trên Java một cách có hiệu quả
Trang 2 Phần 2 lợi dụng rất nhiều tính năng Rational AppScan sẵn có để củng
cố/bảo mật ứng dụng Java bằng cách tìm ra các khiếm khuyết và sửa chúng
để bạn có thể tự tin triển khai ứng dụng Web của mình
Về bài hướng dẫn này
Bài hướng dẫn này chỉ cho bạn cách sử dụng Data Studio để phát triển các ứng dụng một cách hiệu quả hơn bằng cách tự động tạo ra các lớp kết nối cơ sở dữ liệu đáng tin cậy Các hiệu quả mà Data Studio mang lại được thể hiện bằng cách tạo
ra ứng dụng Web dựa trên Java sử dụng Rational Application Developer và Data Studio được triển khai cho WebSphere Application Server Bạn cũng sẽ học cách tạo ra và cài đặt một ứng dụng sử dụng Rational Application Developer và Data Studio, bao gồm:
Tạo một kết nối cơ sở sữ liệu DB2
Tạo một ứng dụng Web động được kích hoạt pureQuery
Tạo ra mã trình pureQuery từ các bảng cơ sở dữ liệu
Bổ sung mã trình pureQuery với các truy vấn tùy thích
Tạo ra các JSP sử dụng các lớp pureQuery
Triển khai và kiểm tra trên WebSphere Application Server
Bạn sẽ học và thực hiện các khái niệm trên bằng cách tạo một ứng dụng Web quản
lý tài sản mà những người dùng có thể đăng nhập và xem các tài sản khác nhau của họ Giá trị bị trì hoãn của cổ phiếu và quyền chọn cổ phần sẽ được lấy từ
Trang 3Yahoo! Finance API Bạn cũng sẽ tạo thủ công một biểu mẫu để bổ sung các tài sản bất động sản mới
Các yêu cầu về hệ thống
Đối với bài hướng dẫn này, bạn sẽ chỉ cần ba sản phẩm:
Rational Application Developer
Lấy phiên bản chạy thử của Rational Application Developer 7.0.0.6 từ IBM
(nhấn liên kết Tải xuống sử dụng IBM Installation Manager mới (được khuyến khích) Bạn sẽ sử dụng Rational Application Developer như một
IDE dựa trên Eclipse có đầy đủ tính năng giúp cho việc phát triển ứng dụng Web Java của bạn
Data Studio
Trình bổ sung miễn phí này chứa các khả năng pureQuery mà bạn sẽ sử dụng cho việc phát triển hiệu quả Web hướng theo cơ sở dữ liệu Bài hướng dẫn này đòi hỏi phiên bản 1.1.2 (phiên bản duy nhất có thể tương thích với Rational Application Developer 7.0.0.6)
DB2 Express-C
Data Studio đòi hỏi một kết nối cơ sở dữ liệu trực tiếp để sinh ra mã trình pureQuery Bài hướng dẫn này sử dụng DB2 Express-C cho cơ sở dữ liệu
Hãy chú ý rằng bài viết này nên đi kèm với các ấn bản sau này của Rational
Application Developer và Data Studio mà có khả năng tương thích (ví dụ, Rational Apsauplication Developer 7.0.0.7 và Data Studio 1.1.3, nếu đã có các phiên bản này) Hãy tham khảo thêm IBM về những phiên bản trong các phiên bản tương lai
Trang 4sẽ có thể tương thích với nhau Trong khi chờ đợi, Rational Application Developer 7.0.0.6 và Data Studio 1.1.2 được biết đến là tương thích với nhau
Cài đặt Rational Application Developer và Data Studio cho nhóm cùng gói
Trước khi bạn có thể bắt đầu sử dụng Rational Application Developer và Data Studio cùng nhau, bạn sẽ cần cài đặt chúng vào nhóm cùng gói Hãy làm theo đây
để chắc chắn rằng bạn nhận được đúng phiên bản của từng sản phẩm
Bạn cũng sẽ phải cài đặt DB2 Express-C, mặc dù chúng tôi không đề cập điều đó trong bài hướng dẫn này Đối với phần hỗ trợ cài đặt DB2 Express-C và tạo ra các
cơ sở dữ liệu và các bảng cơ sở dữ liệu, hãy xem phần Tài nguyên Sau khi bạn tạo một cơ sở dữ liệu mới và một bảng cơ sở dữ liệu, hãy chèn thủ công các dòng mới trong cơ sở dữ liệu bằng cách nhấn chuột hai lần vào biểu tượng của bảng bạn mới tạo trong khung nhìn chính của trung tâm điều khiển
Cài đặt Rational Application Developer
Xem liên kết trong Các yêu cầu về hệ thống để sử dụng IBM Installation Manager
mà nó sẽ tải xuống và cài đặt chỉ các tệp tin mà các lựa chọn cài đặt của bạn yêu cầu
1 Khi bạn nhấn chuột vào tệp tin bạn tải xuống ở trên, bạn sẽ nhìn thấy màn hình sau:
Trang 5Hình 1 Các gói cài đặt
2 Nếu phiên bản 7.0.0.6 của IBM Rational Application Developer không hiện
ra, hãy kiểm tra Show all versions (Hiện tất cả các phiên bản) để buộc nó
hiện ra Đánh dấu vào Version 7.0.0.6 và tiếp tục
3 Trang "accept license terms (chấp nhận các điều khoản cấp phép)" mở ra
Chọn I accept the terms in the license agreements (Tôi chấp nhận các điều khoản trong các thỏa thuận cấp phép), và nhấn Next
4 Màn hình tiếp theo hỏi bạn vị trí để cài đặt thư mục các tài nguyên được chia sẻ
Trang 6Hình 2 Vị trí để cài đặt các tài nguyên được chia sẻ
5 Mặc định, được hiện ra dưới đây Nhấn Next Xác định vị trí để tạo ra một nhóm gói mới Chọn Creat a new package group (Tạo một nhóm gói mới)
Trang 7Hình 3 Tạo một nhóm gói mới
6 Bạn sẽ cài đặt Data Studio vào nhóm gói này sau, vì vậy hãy nhớ tên mà nó được đặt (IBM Software Development Platform là tên trong Hình 4) Thư
mục mặc định sẽ làm điều đó, vì vậy hãy nhấn Next
7 Màn hình tiếp theo hỏi bạn có muốn mở rộng một phiên bản hiện tại của Eclipse hay không Bạn sẽ thực hiện việc đó ở đây, vì thế hãy chắc chắn
rằng Mở rộng một Eclipse hiện có không được kiểm tra Nhấn Next
8 Chọn cài đặt những tính năng Rational Application Developer mà bạn
muốn Để mặc định và nhấn Next
9 Chọn ngôn ngữ bạn sẽ sử dụng và nhấn Next
10 Việc này sẽ dẫn bạn đến một bản điều tra ba câu hỏi ngắn Chọn một câu
trả lời cho cả ba câu hỏi, và nhấn Next
Trang 811 Cuối cùng, bạn sẽ nhìn thấy một trang tóm tắt cài đặt
Hình 4 Tóm tắt cài đặt Rational Application Developer
12 Nếu mọi thứ có vẻ tốt rồi, hãy nhấn Install (Cài đặt) Việc này có thể mất
một lúc vì mọi thứ cần phải tải xuống (1.6GB trong trường hợp của Hình 4), và sau đó mới được mở gói và cài đặt Khi cài đặt hoàn tất, bạn sẽ nhìn thấy một cửa sổ cuối cùng có phần tóm tắt những cái đã được cài đặt, như trong Hình 5
Trang 9Hình 5 Cài đặt Rational Application Developer thành công
Thật tuyệt vời! Bây giờ bạn đã có một phiên bản dùng thử đã được cài đặt của Rational Application Developer rồi Tiếp theo, bạn sẽ cài đặt Data Studio! Để biết thêm thông tin trên về Rational Application Developer, hãy xem phần Tài nguyên
Cài đặt Data Studio cho nhóm gói hiện có của bạn
Vì bạn đã tải Data Studio, nên cần phải thực hiện một vài bước để cài đặt gói
1 Nhấn chuột hai lần vào tệp tin setup.exe Trang cài đặt hiện ra
Trang 10Hình 6 Trang cài đặt Data Studio
2 Nhấn Cài đặt IBM Data Studio Trang Installation Packages (Các gói Cài
đặt) hiện ra
Hình 7 Các gói cài đặt Data Studio
Trang 113 Hãy chắc chắn là chọn Phiên bản 1.1.2; nếu nó không được liệt kê, hãy
nhấn Check for Other Versions and Extensions (Kiểm tra cho Các Phiên bản Khác và Các mở rộng)
4 Nếu Bước 3 không làm việc, hãy kiểm tra Show all versions (Hiện tất cả các phiên bản) Hãy chắc chắn là phiên bản 1.1.2 được kiểm tra và nhấn Next
5 Chọn Sử dụng nhóm gói hiện có, và chắc chắn là chọn nhóm cùng gói mà
bạn đã cài đặt Rational Application Developer vào, như trong Hình 8
Hình 8 Sử dụng một nhóm gói hiện có
6 Nhấn Next Bạn sẽ được hỏi cần gói nào, như trong Hình 9
Trang 12Hình 9 Các tính năng
7 Để mặc định và nhấn Next Trang tóm tắt cài đặt hiện ra
Trang 13Hình 10 Trang tóm tắt cài đặt Data Studio
8 Nhấn Next Cài đặt sẽ nhanh hơn nhiều so với cài đặt Rational Application
Developer Khi việc cài đặt hoàn tất, một cửa sổ cuối cùng sẽ cho bạn thấy một bản tóm tắt cài đặt
Trang 14Hình 11 Cài đặt Data Studio thành công
Đó bạn có nó rồi đấy một cài đặt nhanh chóng và đơn giản Tiếp đến bạn sẽ bắt đầu sử dụng bộ đôi sản phẩm mới Rational Application Developer và Data Studio!
Để biết thêm thông tin về Data Studio, hãy xem phần Tài nguyên
Tạo một dự án Web động được kích hoạt pureQuery
Vì bạn đã có một cài đặt Rational Application Developer và Data Studio hoạt động được, nên bạn có thể sử dụng ngay rồi! Trong phần này, bạn sẽ tạo một kết nối tới
cơ sở dữ liệu của bạn, và tạo một dự án Web động được kích hoạt pureQuery mới Tạo một kết nối cơ sở dữ liệu
Bài hướng dẫn này sử dụng DB2 như cơ sở dữ liệu, mặc dù có thể sử dụng bất kỳ
cơ sở dữ liệu nào cũng được, bao gồm cả Derby Sample Connection mặc định
Trang 15Việc đầu tiên phải làm là mở Rational Application Developer và di chuyển đến hình phối cảnh dữ liệu
1 Nhấn Window > Show Perspective > Other và chọn Data từ danh sách
Bạn nên xem hình phối cảnh dữ liệu
Hình 12 Hình phối cảnh dữ liệu
2 Hãy lưu ý khung nhìn Data Explorer ở góc dưới bên trái Để tạo một kết nối
cơ sở dữ liệu mới, nhấn chuột phải vào danh mục Connections (các kết nối)
rồi nhấn chuột vào New Connection (Kết nối Mới)
Trang 16Hình 13 Tạo một kết nối mới
3 Trang New Connection (Kết nối Mới) hiện ra Hãy xác định kiểu cơ sở dữ liệu (DB2) và tên cơ sở dữ liệu (WEALTH)
Trang 17Hình 14 Cấu hình một kết nối cơ sở dữ liệu mới
4 Giờ thì bạn có thể thoái mái kiểm tra kết nối trước khi hoàn tất Nhấn
Finish (Hoàn thành) sau khi mọi thứ có vẻ ổn thỏa
5 Kết nối cơ sở dữ liệu mới xuất hiện trong Database Explorer
Trang 18Hình 15 Kết nối mới tới cơ sở dữ liệu tài sản
Bây giờ bạn được thiết lập để tạo ra một dự án Web động mới
Tạo ra một dự án Web động
Với kết nối bạn sẽ sử dụng tại chỗ, hãy tạo một dự án Web động
1 Nhấn File > New > Project, và chọn Dynamic Web Project Cửa sổ New
Dynamic Web Project mở ra
Trang 19Hình 16 Tạo một dự án Web động mới
2 Đặt tên cho nó là wealth, chọn WebSphere Application Server V6.1 làm thời gian chạy mục tiêu của bạn, một Configurations custom (tùy biến), và đánh dấu Add project to an EAR (Thêm dự án cho một EAR) Nhấn Next
3 Cấu hình Project Facets nằm trong ứng dụng Web của bạn
Hình 17 Project Facets
Trang 20Nhấn Next
4 Xác định gốc ngữ cảnh của ứng dụng Web của bạn, như trong Hình 18
Trang 21Hình 18 Cấu hình môđun Web
5 Nhấn Finish (Hoàn thành) để tạo một dự án Web động
Đó là việc phải làm để tạo ra dự án mới của bạn! Tiếp theo bạn sẽ thêm hỗ trợ pureQuery cho nó
Trang 22
Thêm hỗ trợ pureQuery
Việc thêm hỗ trợ cho phép bạn sử dụng các tính năng pureQuery sau này trong bài hướng dẫn này (xem Tài nguyên để lấy thêm một số bài viết về pureQuery)
1 Nhấn chuột phải vào dự án tài sản trong khung hình Project Explorer, và
chọn Add pureQuery Support (Thêm Hỗ trợ pureQuery)
Trang 23Hình 19 Thêm hỗ trợ pureQuery
2 Chọn tất cả các lựa chọn hiện ra trong Hình 20 và nhấn Next
Trang 24Hình 20 Cấu hình hỗ trợ pureQuery
3 Chọn kết nối cơ sở dữ liệu mà bạn muốn để bao hàm cả hỗ trợ pureQuery (xem Hình 21)
Trang 25Hình 21 Chọn một kết nối cơ sở dữ liệu
4 Chọn Use an existing connect (Sử dụng một kết nối hiện có) và chọn kết
nối WEALTH
Tiếp đến bạn sẽ thực hiện một vài thao tác bố trí lại JAR để chuẩn bị dự án của bạn trong thời gian chính
Chuẩn bị dự án của bạn để thực hiện
Sự kích hoạt pureQuery trong dự án của bạn đã bổ sung một vài tệp jar cho dự án của bạn, tuy nhiên, bạn vẫn cần phải bố trí lại chúng sao cho mọi thứ hoạt động trơn tru
Trang 26Bố trí lại các tệp jar:
1 Di chuyển đến thư mục dự án tài sản của bạn trên hệ thống tệp tin
(C:\Users\Tyler\IBM\rationalsdp7.0\workspace\wealth on my machine)
2 Di chuyển pdq.jar đến WebContent\WEB-INF\lib\
3 Chép lại db2cc_license_cisuz.jar và db2jcc.jar từ c:\Program Files
(x86)_IBM\SDP70Shared\plugins\com.ibm.datatools.db2_1.0.200.V200803071234\driver\* (trong phạm vi thư mục cài đặt được chia sẻ của gói bạn
đã tạo ra trong quá trình cài đặt Rational Application Developer) sang WebContent\WEB-INF\lib
4 Quay trở lại Rational Application Developer và nhấn chuột phải vào thư mục WebContent\WEB-INF\lib trong cửa sổ Project Explorer và nhấn
Refresh Các tệp ba lớp này nên xuất hiện dưới biểu tượng Libraries/Web
App Libraries dưới biểu tượng "Tài nguyên Java: src"
5 Nhấn chuột phải vào db2jcc_license_cisuz.jar và db2jcc.jar và chọn Build Path > Remove from Build Path
Cái mà về cơ bản bạn vừa làm được bổ sung các trình điều khiển kết nối DB2 và các tệp JAR thời gian chạy pureQuery vào tệp EAR mà về cơ bản triển khai cho WebSphere Application Server Nếu không thực hiện việc này ứng dụng của bạn trên WebSphere Application Server sẽ không biết được vị trí để lấy các lớp được chứa trong các JAR này và sẽ không chạy được
Thật xuất sắc! Dự án Web động của bạn giờ đã có đầy đủ sẵn sàng cho bạn bắt đầu phát trển Trước tiên bạn sẽ bắt đầu bằng việc tạo mã trình pureQuery từ các bảng
cơ sở dữ liệu
Trang 27Tạo ra mã trình pureQuery từ các bảng cơ sở dữ liệu của bạn
Với dự án đã sẵn sàng để thực hiện của mình, bạn sẽ tạo mã trình pureQuery từ các bảng cơ sở dữ liệu Nhưng trước khi bạn có thể thực hiện việc đó, bạn sẽ tìm hiểu lược đồ cơ sở dữ liệu và thêm một vài dòng mẫu
Xem phần tải xuống cho các bảng mẫu và phần còn lại của mã nguồn để đi kèm Lược đồ cơ sở dữ liệu
Cho dù bạn chọn bất kỳ cơ sở dữ liệu nào để sử dụng, bạn đều cần phải tạo ra các bảng và chèn một vài dữ liệu kiểm tra cho các trình khởi động Trong phạm vi cơ
sở dữ liệu WEALTH, hãy tạo ra ba bảng:
Chứa tài sản bất động sản cho từng người dùng
Về phần lược đồ của mỗi bảng, đây là lược đồ cho bảng USERS:
userid varchar(50) NOT NULL PRIMARY KEY
password varchar(50) NOT NULL
Ví dụ 1 trình bày dữ liệu mẫu cho bảng USERS
Trang 28Ví dụ 1 Dữ liệu mẫu cho bảng USERS
"tyler","tyler"
"hilbilly","pass"
Đây là lược đồ cho bảng SECURITIES:
autoid integer NOT NULL PRIMARY KEY AUTO_INCREMENT
userid varchar(50) NOT NULL FOREIGN KEY on users.userid
symbol varchar(20) NOT NULL
quantity integer NOT NULL
securitytype decimal (5,2) NOT NULL
Ví dụ 2 trình bày một vài dữ liệu mẫu cho bảng SECURITIES
Ví dụ 2 Dữ liệu mẫu cho bảng SECURITIES
"tyler","IBM",100,"stock"
Trang 29Và đây là lược đồ cho bảng REALESTATE:
autoid integer NOT NULL PRIMARY KEY AUTO_INCREMENT
userid varchar(50) NOT NULL FOREIGN KEY on users.userid
propertyvalue decimal(8,2) NOT NULL
address varchar(255) NOT NULL
city varchar(100) NOT NULL
zip varchar(10) NOT NULL
state varchar(100) NOT NULL
Ví dụ 3 trình bày dữ liệu mẫu cho bảng REALESTATE
Ví dụ 3 Dữ liệu mẫu cho bảng REALESTATE