Thiết lập một vùng SQL với DB2
lượt xem 8
download
Express-C, WTP Eclipse, và Máy chủ Ứng dụng WebSphere, Bản Cộng đồng V1.1 Thực hiện bảo mật cơ sở dữ liệu với gói khởi công Java (Java kick-start) Krishnakumar Balachandar, Kỹ sư phần mềm, IBM Tóm tắt: Hướng dẫn này chỉ cho bạn biết cách lập ra một vùng SQL (SQL realm) để thực hiện bảo mật cơ sở dữ liệu cho một ứng dụng Web bằng cách sử dụng gói phần mềm miễn phí để khởi công Java ™ (Java kick-start package). Trước khi bạn bắt đầu Khi triển khai thực hiện bảo mật trong một ứng dụng Web,...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Thiết lập một vùng SQL với DB2
- Thiết lập một vùng SQL với DB2 Express-C, WTP Eclipse, và Máy chủ Ứng dụng WebSphere, Bản Cộng đồng V1.1 Thực hiện bảo mật cơ sở dữ liệu với gói khởi công Java (Java kick-start) Krishnakumar Balachandar, Kỹ sư phần mềm, IBM Tóm tắt: Hướng dẫn này chỉ cho bạn biết cách lập ra một vùng SQL (SQL realm) để thực hiện bảo mật cơ sở dữ liệu cho một ứng dụng Web bằng cách sử dụng gói phần mềm miễn phí để khởi công Java ™ (Java kick-start package). Trước khi bạn bắt đầu Khi triển khai thực hiện bảo mật trong một ứng dụng Web, cần phải có một mô- đun JAAS dành riêng để xử lý việc xác thực và cấp quyền cho người dùng. Máy chủ Ứng dụng WebSphere Bản Cộng đồng (WebSphere Application Server Community Edition) cung cấp một vùng SQL, có thể kết nối đến một cơ sở dữ liệu để thu thập các quyền hạn của người sử dụng. Trong hướng dẫn này bạn sẽ thấy cách thiết lập các bảng để tạo một vùng SQL trong DB2 Express-C, cách thiết lập một môi trường phát triển bằng cách sử dụng nền công cụ Web của Eclipse (Eclipse Web Tooling Platform) để tạo một ứng dụng Web, và cách triển khai ứng dụng Web từ Eclipse lên Máy chủ Ứng dụng WebSphere Bản Cộng đồng. Tất cả các ứng dụng Web sẽ áp dụng một mức độ bảo mật nào đó đối với việc xác thực và cấp quyền người sử dụng để xác minh nhận dạng của người sử dụng và cho phép truy cập các chức năng của ứng dụng, áp dụng được đối với vai trò của người sử dụng này. Các ứng dụng Web có thể sử dụng LDAP, cơ sở dữ liệu, hệ thống tệp tin, Kerberos, hoặc các hệ thống tương tự như vậy, để cung cấp việc xác thực và cấp quyền. Để truy cập dữ liệu bảo mật từ phương thức hoặc hệ thống được chọn, một
- vùng SQL được thiết lập ra bằng cách tạo các bảng trong một cơ sở dữ liệu và xác lập cấu hình cho một mô đun dịch vụ xác thực và cấp quyền trong Java (Java Authentication and Authorization Service - JAAS) để truy cập vào các bảng ấy từ một máy chủ ứng dụng. Hình 1 cho thấy các thành phần khác nhau trong Máy chủ Ứng dụng WebSphere Bản Cộng đồng (sau đây gọi tắt là Bản Cộng đồng) được sử dụng để cung cấp một vùng SQL. Các ứng dụng Web sử dụng một vùng SQL kết nối vào cơ sở dữ liệu bằng cách sử dụng một pool hoặc trình điều khiển cơ sở dữ liệu. Quyền hạn của người sử dụng được lưu trong bảng trong cơ sở dữ liệu và được chuyển tải về khi thực hiện các lời gọi, bằng cách sử dụng vùng SQL JAAS. Hình 1. Các thành phần của một vùng SQL Dịch vụ xác thực và cấp quyền trong Java (Java Authentication and Authorization Service - JAAS) là một bộ các API cho phép các ứng dụng Java truy cập vào các dịch vụ xác thực và dịch vụ kiểm soát truy cập mà không bị buộc vào dịch vụ mà nó sử dụng. Thiết lập một vùng cơ sở dữ liệu
- Thiết lập một vùng cơ sở dữ liệu bao gồm việc thực hiện các bước chung sau đây: Tạo các bảng cho người sử dụng và các nhóm trong DB2 Express-C. Triển khai một pool cơ sở dữ liệu trong máy chủ Bản Cộng đồng, nếu vùng đó định sử dụng một pool để kết nối với cơ sở dữ liệu. Triển khai sơ đồ vùng SQL trong máy chủ Bản cộng đồng. Lập cấu hình và triển khai ứng dụng Web mà sử dụng vùng SQL này. Phần còn lại của hướng dẫn này giải thích chi tiết các nhiệm vụ ấy. Thiết lập một cơ sở dữ liệu Trong phần này, bạn sẽ thấy cách thiết lập cơ sở dữ liệu và các bảng cơ sở dữ liệu cần có cho vùng SQL. Bạn có thể tạo cơ sở dữ liệu và các bảng hoặc bằng cách sử dụng Trung tâm điều khiển (Control Center) hoặc thông qua việc chạy một kịch bản lệnh SQL. Sử dụng Trung tâm điều khiển Tạo cơ sở dữ liệu 1. Trong DB2 Express-C, mở Trung tâm điều khiển. 2. Nhấn chuột phải vào All Databases, sau đó chọn Create Database => Standard. 3. Gõ nhập WASCE làm tên cơ sở dữ liệu. 4. Nhấn Finish.
- Bạn vừa tạo ra một cơ sở dữ liệu mới có tên WASCE và sẽ thấy nó được liệt kê dưới mục All Databases (Hình 2). Hình 2. Cơ sở dữ liệu mới được tạo Tạo các bảng Bây giờ, hãy tạo các bảng cho người dùng (USERS) và cho các nhóm (GROUP) trong cơ sở dữ liệu mới WASCE: 1. Dưới mục WASCE trong liệt kê thư mục, nhấn chuột phải vào Tables, sau đó chọn Create.
- 2. Gõ nhập làm tên bảng USERS, sau đó nhấn Next. 3. Thêm một cột: a. Chọn Add để thêm một cột mới vào bảng. b. Gõ nhập USERNAME làm tên cột. c. Chọn kiểu dữ liệu của cột là VARCHAR. d. Đối với mục Nullable or not, chọn No. e. Nhấn Apply. 4. Lặp lại bước 3 để thêm một cột EMAIL và một cột PASSWORD vào bảng USERS, với các giá trị như thấy trong Hình 3. Khi hoàn tất, nhấn OK. 5. Lặp lại các bước từ 1 đến 4 để tạo ra một bảng GROUPS mới với hai cột: GROUPNAME và USERNAME. 6. Nhấn Next => Next => Next để đến các phím Define trên ô hình bảng mới. 7. Chọn Add Primary. Từ các cột có sẵn, chọn cột nào định làm khoá chính cho mỗi bảng: a. Đối với bảng USERS, chọn USERNAME và đối với bảng chọn USERNAME/GROUPNAME làm khóa chính. b. Đối với bảng GROUPS, chọn Add foreign => USERNAME. Nhấn nút > để chuyển nó vào khoá ngoại. Chọn USERNAME làm khóa chính trong bảng Cha (Schema/Name - ADMINISTRATOR/USERS).
- 8. Nhấn Finish và bảng được tạo ra. Áp dụng các bước trên đây và các định nghĩa lược đồ như thấy trong Hình 3 và Hình 4 để tạo ra các bảng USERS và GROUPS. Đối với bảng USERNAME thì USERNAME là khóa chính. Đối với bảng GROUPS thì GROUPNAME và USERNAME là các khóa chính, và USERNAME là một khoá ngoại (tham chiếu đến USERNAME trong bảng USERS). Lược đồ USERS
- Hình 4. Lược đồ GROUPS Trong các bước nói trên đây, các bảng USERS và GROUPS được tạo ra dưới lược đồ ADMINISTRATOR. Nếu bạn đã đăng nhập dưới tên db2admin, các bảng sẽ được tạo ra dưới lược đồ DB2ADMIN. Điền giá trị vào các bảng 1. Chọn WASCE => Tables => USERS. 2. Nhấn chuột phải vào bảng USERS, sau đó chọn Open => Add row. 3. Gõ nhập các giá trị thử vào từng trường trong bản ghi cơ sở dữ liệu, sau đó chọn Commit. 4. Lặp lại các bước 2 và 3 đối với từng bản ghi thử mà bạn muốn tạo ra, sau đó nhấn Close.
- 5. Lặp lại các bước từ 1 đến 4 đối với bảng GROUPS (Hình 5). Hình 5. Tạo các bản ghi dữ liệu thử Sử dụng các kịch bản lệnh Thay vì sử dụng Trung tâm điều khiển DB2, bạn có thể tạo cơ sở dữ liệu, bảng, và dữ liệu thử bằng cách sử dụng một kịch bản lệnh SQL. Tệp tin tải về kèm trong hướng dẫn này chứa một tệp tin kịch bản lệnh mẫu, db2_realm.sql. Hãy thực hiện kịch bản lệnh này từ dòng lệnh DB2 để tạo ra cơ sở dữ liệu và bảng: 1. Mở một cửa sổ lệnh Windows hoặc chạy tệp tin bó (batch file) DB2 /bin/db2cw.bat.
- 2. Thực hiện tệp tin kịch bản lệnh mẫu bằng lệnh này: db2 -tvfdb2-realm.sql. Nếu không gặp lỗi, các thông báo thực hiện thành công sẽ được tạo ra cho SQL này (Hình 6). Hình 6. Tạo cơ sở dữ liệu, bảng, và dữ liệu thử thông qua sử dụng kịch bản lệnh Tạo ứng dụng Web
- Trong phần này, bạn sẽ sử dụng Nền Công cụ Web của Eclipse (Eclipse Web Tools Platform - WTP) để tạo ra một ứng dụng Web đơn giản. Tuy nhiên trước khi bắt đầu với ứng dụng, bạn cần phải định nghĩa một máy chủ mới trong Eclipse (mà các ứng dụng mới sẽ được triển khai lên nó) và tạo một Môi trường Java Runtime (JRE). Sau đó, bạn có thể sử dụng WTP Eclipse để tạo ra các thành phần ứng dụng (như các tệp tin WAR và EAR). Tệp tin tải về kèm hướng dẫn này chứa một tệp tin EAR nguồn của một ứng dụng mẫu mà bạn có thể nhập khẩu vào WTP Eclipse. Xác định một máy chủ mới Để triển khai một ứng dụng, bạn cần định nghĩa một máy chủ trong Eclipse: 1. Trong Eclipse, nhấn chuột phải vào phiếu Server và chọn New Server để mở thủ thuật New Server (Hình 7).
- Hình 7. Xác định máy chủ mới 2. Chọn WebSphere Application Server Community v1.1 Server, sau đó nhấn Next. 3. Gõ nhập các giá trị vào tất cả các trường, như Hình 8, sau đó nhấn Finish.
- Hình 8. Các tham số máy chủ mới Tạo một JRE Để xây dựng ứng dụng dành cho một môi trường chạy Java (JRE - Java Runtime Environment) được hỗ trợ, trong trường hợp này là JRE IBM, bạn cần phải cấu hình JRE đó trong WTP Eclipse: 1. Trong Eclipse, chọn Window => Preferences. 2. Chọn Java => Installed JREs. 3. Nhấn Add. . . 4. Trên hộp thoại Add JRE, nhập các giá trị vào tất cả các trường, như trong Hình 9.
- Hình 9. Thêm JRE 5. Phải chắc chắn JRE này được chọn là JRE mặc định. 6. Tiếp theo bạn cần chắc chắn rằng JRE IBM sẽ chạy trên máy chủ mới mà bạn đã tạo ra trước đó. Nhấn chuột phải vào máy chủ mới, sau đó chọn Open (Hình 10).
- Hình 10. Mở máy chủ mới 7. Bên cạnh mục Runtime, chọn Edit. 8. Đối với mục JRE, chọn IBM (Hình 11), sau đó chọn Finish.
- Hình 11. Chọn JRE IBM Phát triển một ứng dụng Ứng dụng Web sẽ gồm các trang web dành cho ứng dụng (trong một tệp tin WAR) và sẽ được bổ sung vào một ứng dụng doanh nghiệp (trong một tệp tin EAR). Để phục vụ cho hướng dẫn này, bạn có thể sử dụng một ứng dụng mà bạn phát triển từ ban đầu, hoặc bạn có thể sử dụng ứng dụng mẫu kèm trong tệp tin tải xuống. Tạo một ứng dụng mới trong WTP Eclipse 1. Chạy WTP Eclipse bằng cách nhấn đúp chuột vào eclipse.exe từ địa chỉ mà bạn trích xuất nền WTP hoặc bằng cách thực hiện eclipse.exe từ một d òng lệnh. 2. Chọn File => New => Project => Web =>Dynamic Web Project. 3. Trên hộp thoại Dynamic Web Project, gõ nhập hoặc chọn các giá trị sau:
- Project name: SQLRealmWeb o Target runtime: WebSphere Community Edition v1.1 o EAR membership: SQLRealmApp o 4. Nếu bạn cần tạo ra một tùy chọn môi trường chạy dành cho Máy chủ Ứng dụng WebSphere, Bản Cộng đồng V1.1 (Hình 12): a. Nhấn nút New cạnh Target Runtime. b. Chọn WebSphere Application Server Community Edition v1.1, sau đó nhấn Next. c. Chọn IBM for JRE, và di chuyển đến thư mục cài đặt máy chủ ứng dụng thích hợp, sau đó nhấn Finish. Hình 12. Tạo môi trường chạy là máy chủ Bản Cộng đồng
- 5. Nhấn Next trên hai ô hình tiếp theo. 6. Đối với Context Root, nhập /SQLRealmWeb, sau đó nhấn Next. 7. Cấu hình cho kế hoạch triển khai Geronimo bằng cách nhập vào các giá trị sau: Group ID: wasce o Artifact ID: sqlrealm o Version: 1.0 o Artifact Type: WAR o 8. Nhấn Finish (Hình 13). Hình 13. Thiết lập máy chủ đã hoàn tất
- Nhập khẩu ứng dụng mẫu vào WTP Eclipse Nếu bạn chọn nhập khẩu dự án mẫu, tệp tin tải về kèm hướng dẫn này chứa một tệp tin EAR mà bạn có thể nhập khẩu vào vùng làm việc WTP Eclipse: 1. Trong Eclipse, chọn File => Import => J2EE. 2. Đối với Source File, nhập SQLRealmAppSrc.ear, sau đó nhấn Next. 3. Gõ nhập hoặc chọn các giá trị sau: EAR Project: SQLRealmApp o Web Project: SQLRealmWeb o Target Runtime: WebSphere Community Edition v1.1 o 4. Nếu bạn cần tạo ra một tùy chọn môi trường chạy dành cho Máy chủ Ứng dụng WebSphere, Bản Cộng đồng V1.1 (Hình 12): a. Nhấn nút New cạnh Target Runtime. b. Chọn WebSphere Application Server Community Edition v1.1, sau đó nhấn Next. c. Chọn IBM đối với JRE, và di chuyển đến thư mục cài đặt máy chủ ứng dụng thích hợp, sau đó nhấn Finish. 5. Click Finish. Triển khai ứng dụng
- Với ứng dụng được tạo ra, bạn có thể triển khai nó lên môi trường chạy máy chủ bản cộng đồng. Tuy nhiên để chạy ứng dụng này, bạn cần có một pool cơ sở dữ liệu và một sơ đồ vùng: Triển khai pool cơ sở dữ liệu Để kết nối DB2, bạn cần có một pool cơ sở dữ liệu, mà bạn có thể tạo ra bằng cách triển khai một sơ đồ pool cơ sở dữ liệu với thủ thuật có sẵn từ bàn quản trị máy chủ Bản Cộng đồng: 1. Đăng nhập vào bàn quản trị máy chủ Bản Cộng đồng bằng cách khởi động máy chủ. Để khởi động máy chủ, nhấn chuột phải vào máy chủ mới mà bạn tạo ra trên đây, và chọn Start. Sau khi máy chủ khởi động, trạng thái đổi sang màu xanh lục và hiển thị chữ "Started". Bây giờ bạn có thể cho chạy bàn quản trị bằng cách nhấn chuột phải vào máy chủ đã được khởi động và chọn Launch Community Edition Console. Nhập vào tên người sử dụng là system và mật khẩu là manager. 2. Dưới mục Services, chọn Database Pools => Using Geronimo PoolsWizard. 3. Đối với Database Pools, gõ nhập Db2Realm, rồi nhấn Next. 4. Trên ô hình Select Driver, JAR, Parameters, nhập vào hoặc chọn các giá trị cho tất cả các trường như thấy trong Hình 14. Khi hoàn tất, nhấn Next.
- Hình 14. Nhập các tham số pool cơ sở dữ liệu 5. Kiểm tra kết nối xem có lỗi không bằng cách chọn Test connection. Nếu không gặp lỗi, bạn sẽ thấy thông báo: Test Result: Connected to DB2/NT SQL09000 in the console. 6. Khi bạn đã triển khai pool này, nó sẽ được khởi động và chạy (Hình 15).
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn