Xây dựng các dịch vụ web với an ninh ở mức chuyển tải bằng cách sử dụng Rational Application Developer V7, Phần 1 - Pdf 21

Xây dựng các dịch vụ web với an ninh ở mức chuyển tải bằng cách sử dụng
Rational Application Developer V7, Phần 1: : Xây dựng dịch vụ web và dịch
vụ web phía khách
Henry Cui, Kỹ sư phần mềm, IBM
Tóm tắt: Bạn hãy xây dựng dịch vụ web an toàn với bảo đảm an ninh ở mức
chuyển tải bằng cách sử dụng IBM® Rational® Application Developer V7 và
IBM WebSphere® Application Server V6.1. Hãy học theo loạt bài gồm ba phần
này để nhận được các chỉ dẫn từng b
ước về cách thức phát triển các dịch vụ web
và trình khách, định cấu hình xác thực cơ sở HTTP và định cấu hình HTTP trên
SSL (HTTPS). Phần một của loạt bài hướng dẫn này sẽ hướng dẫn cho bạn cách
xây dựng một dịch vụ web cho một ứng dụng máy tính cầm tay đơn giản. Bạn tạo
ra và kiểm thử hai kiểu trình dịch vụ web cho máy khách khác nhau: trình khách
Java™ Platform, Enterprise Edition (Java EE) và trình khách Java độc lập. Bạn
cũng xử lý các trường hợp ngo
ại lệ do người dùng định nghĩa trong các dịch vụ
web.
Trước khi bạn bắt đầu
Về loạt bài hướng dẫn này
Trong phần đầu của loạt bài hướng dẫn, bạn:
• Thiết lập các máy chủ.
• Tạo một bean Java.
• Tạo các dịch vụ web.
• Tạo một trình khách Java EE của dịch vụ web.
• Tạo một trình khách Java độc lập của dịch vụ web.
Sau khi các nền móng cơ sở đã được sắp đặt, phần 2 của loạt bài hướng dẫn này
chỉ cho bạn cách cấu hình xác thực cơ sở HTTP. Cụ thể, bạn:
• Kích hoạt bảo đảm an ninh của WebSphere Application Server của IBM.
• Định cấu hình xác thực cơ sở HTTP cho bên cung cấp dịch vụ web.
• Định cấu hình xác thực cơ sở HTTP cho trình khách dịch vụ web bằng cách
sử dụng một bộ mô tả triển khai.

mới nhất. (Bạn có thể tải về bản Rational Application Developer dùng thử tại trang
developerWorks nếu bạn chưa mua sản phẩm này). Nếu bạn không chắc rằng bản
Rational Application Developer V7 của mình là bản mới nhất, bạn có thể vào trình
quản lý cài đặt IBM (IBM Installation Manager) và chọn mục Update Packages
để xem phần cập nhật mới nếu đã có. Vào thời điểm tôi viết hướng dẫn này, phiên
bản mới nhất của Rational Application Developer là 7.0.0.5.
Lưu ý: Cứ khoảng ba tháng một lần IBM phát hành một gói vá lỗi. Bạn có thể
thấy một phiên bản mới hơn của Rational Application Developer tại thời điểm cài
đặt. Mỗi phiên bản mới của Rational Application Developer có chứa số lượng lớn
các phần đã sửa ch
ữa. Chúng tôi khuyên bạn nên cài đặt các phiên bản mới nhất để
tránh gặp các vấn đề đã được sửa chữa.
Giới thiệu về an ninh ở mức chuyển tải
Bảo đảm an ninh dịch vụ web có thể được thực hiện ở hai mức: an ninh ở mức
chuyển tải và an ninh ở mức thông điệp. Ta hãy xem xét chúng kỹ hơn:
• Bảo đảm an ninh ở mức chuyển tải: Bảo đảm an ninh ở mức chuyển tải là
cơ chế an ninh điểm-đến-điểm, có thể được sử dụng cho việc nhận dạng và
xác thực các bên, tính toàn vẹn của thông điệp và tính bảo mật. HTTP, giao
thức truyền thông Internet được sử dụng nhiều nhất, hiện tại cũng là giao
thức phổ biến nhất cho các dịch vụ web. HTTP là một giao thức vốn đã
không an toàn, vì tất cả các thông tin được gửi đi dưới dạng văn bản rõ giữa
các bên đồng đẳng (peer) không được xác thực trên một mạng lưới không
an toàn. Với việc bảo đảm an ninh ở mức chuyển tải, kết nối giữa trình
khách và các máy chủ ứng dụng thường được bảo đảm an toàn bằng SSL, ở
đây các trình khách và máy chủ xác thực nhân dạng của nhau và giao tiếp
với nhau bằng thông điệp được mã hóa. Với việc bảo đảm an ninh ở mức
chuyển tải, toàn bộ thông tin liên lạc được mã hóa.
• Bảo đảm an ninh ở mức thông điệp: Bảo đảm an ninh ở mức thông điệp
là cách tiếp cận mà ở đây tất cả các thông tin liên quan đến an ninh đều
được bao gói kín trong thông điệp SOAP. Bảo đảm an ninh ở mức thông

cách sử dụng cơ chế xác thực riêng của máy chủ. Để ngăn không cho người khác
đọc trực tiếp tên người sử dụng và mật khẩu, tên và mật khẩu được mã hóa thành
một chuỗi các ký tự cơ số - 64 (base-64) trước khi truyền.
Xác thực cơ sở HTTP khác với hỗ trợ xác thực cơ sở do đặc tả bảo đảm an ninh
dịch v
ụ Web (WS-Security) cung cấp. Các thông tin của xác thực cơ sở do WS-
Security cung cấp nằm tại tiêu đề của SOAP, trong khi thông tin của xác thực cơ
sở HTTP nằm trong tiêu đề của HTTP.
Xác thực cơ sở có một điểm yếu về an ninh: Nó gửi giấy ủy nhiệm bằng cách dùng
bộ mã ký tự cơ số 64 (base-64 encoding), rất dễ bị giải mã. Việc gửi giấy ủy
nhiệm bằng cách dùng bộ mã ký tự cơ số 64 là không an toàn gần giống như gửi
chúng bằng văn bản rõ. Ta nên gửi dữ liệu trên HTTPS.
Sự kết hợp của xác thực cơ sở HTTP v
ới HTTPS ngày nay được sử dụng rộng rãi
trong ngành công nghiệp vì nó giải quyết được các lĩnh vực an ninh sau:
• Xác thực: Trình khách dịch vụ Web tự xác thực mình với dịch vụ bằng
cách gửi đi tên người dùng và mật khẩu mã hóa bằng bộ ký tự cơ số 64
trong tiêu đề cấp quyền HTTP. Dịch vụ web tự xác thực mình với trình
khách bằng cách xuất trình chứng thực của nó cho trình khách.
• Cấp quyền: Sau khi trình khách được xác thực thành công bằng cách sử
dụng xác thực cơ sở HTTP, nhân dạng của người sử dụng được kết hợp vào
yêu cầu. Dựa vào nhân dạng của người dùng, quyết định cấp quyền được
thực hiện. Điều này được máy chủ Java EE thực hiện dựa trên mô hình an
ninh Java EE để chỉ cho phép các truy cập được cấp quyền tới các phương
thức servlets và JavaServer Pages (JSPS) và Enterprise JavaBeans (EJBs).
• Bảo mật: HTTPS cung cấp khả năng mật mã hóa, đảm bảo rằng bên thứ ba
không thể giải mã được dữ liệu khi nó được truyền qua lại giữa máy khách
và máy chủ trên mạng. Các thông tin xác thực cơ sở HTTP cũng được mã
hóa bởi SSL.
• Tính toàn vẹn: HTTPS đảm bảo dữ liệu không bị sửa đổi khi nó được

Máy chủ này được tạo ra bởi bản cài đặt mặc định của Rational Application
Developer.

Hình 2. Khung nhìn Các máy chủ

6. Nhấn đúp chuột vào mục WebSphere Application Server v6.1 để mở
trình biên tập máy chủ.
7. Tại phần General, đổi tên máy chủ từ WebSphere Application Server v6.1
thành WAS v6.1 for Web service provider.
8. Ghi lưu và đóng trình biên tập máy chủ lại.

Về đầu trang
Tạo máy chủ cho người tiêu dùng dịch vụ web
1. Để tạo một lược tả máy chủ WebSphere Application Server V6.1 mới bằng
cách sử dụng công cụ quản lý lược tả của WebSphere, tại bàn làm việc bạn
chọn Window > Preferences.
2. Tại cửa sổ Preferences, bạn mở rộng Server > WebSphere.
3. Ở dưới danh sách quản lý lược tả các máy chủ cục bộ WebSphere v6.0 và
v6.1, bạn chọn
WebSphere Application Server v6.1. Trong lược tả của
máy chủ WebSphere được định nghĩa trong danh sách các máy chủ đang
chạy thi hành được chọn phía trên, bạn sẽ thấy tệp tin AppSrv01 trong danh
sách, như tại hình 3. Tệp tin AppSrv01 được máy chủ WebSphere
Application Server V6.1 sử dụng cho các bên cung cấp dịch vụ web mà bạn
vừa cài đặt.

Hình 3. Công cụ tạo lược tả của WebSphere

4. Nhấn nút Create bên cạnh lược tả của WebSphere được định nghĩa trong
danh sách các máy chủ đang chạy thi hành được chọn phía trên, danh sách

WebSphere v6.1 @ localhost.
16. Nhấn đúp chuột vào WebSphere v6.1 @ localhost để mở trình biên tập
máy chủ.
17. Tại mục General, bạn đổi tên máy chủ từ WebSphere v6.1 @ localhost
thành WAS v6.1 for Web service consumer.
18. Ghi lưu và đóng trình biên tập máy chủ lại. Bây giờ bạn có hai máy chủ
trong khung nhìn máy chủ, như trong hình 4.

Hình 4. Danh sách các máy chủ

Phần 4. Tạo một Java bean
Bây giờ bạn tạo một ứng dụng máy tính cầm tay để thực hiện các phép toán số học
đơn giản, chẳng hạn như cộng, trừ, nhân, chia. Nếu mẫu số của phép chia là 0, thì
phương thức sẽ bẫy lỗi ArithmeticException (ngoại lệ số học) và đưa ra một
DivideByZeroException, (ngoại lệ chia cho số 0), đây là một ngoại lệ do người
dùng định nghĩa. Đi
ều này buộc trình khách dịch vụ Web phải xử lý ngoại lệ “chia
cho số không”.
Thiết lập máy chủ cho bên cung cấp dịch vụ web
1. Chọn File > New > Project > Dynamic Web Project, và nhập tên
Calculator làm tên của dự án, như hình 5.

Hình 5. Tạo một dự án Web động

2. Nhấn Finish. Nếu bạn được yêu cầu chuyển sang Phối cảnh Web, bạn hãy
nhấn No. và vẫn dùng lại ở Phối cảnh J2EE
3. Tại khung nhìn Project Explorer, nhấn chuột phải vào dự án Calculator và
chọn New > Class.
4. Nhập com.ibm làm tên của gói và Calculator làm tên của lớp Java như
trong hình 6.

always an integer, with
* the remainder discarded.
*/
public int divide(int a, int b) throws
DivideByZeroException {
try {
return a / b;
} catch (ArithmeticException e) {
throw new
DivideByZeroException();
}
}
}

Bạn sẽ thấy một số lỗi biên dịch, bởi vì bạn chưa tạo tệp
DivideByZeroException.java.
8. Tại khung nhìn Package Explorer, nhấn chuột phải vào gói com.ibm > New
> Class.
9. Nhập DivideByZeroException tên lớp, sau đó nhấn Finish.
10. Sao chép tệp DivideByZeroException.java từ liệt kê 2 vào trình biên tập
Java và ghi lưu các tệp tin.

Liệt kê 2. Tệp tin DivideByZeroException.java

package com.ibm;

public class DivideByZeroException extends Exception {
public DivideByZeroException() {
super();
}

9. Tại hộp thoại Web Service Java Bean Identity chấp nhận các tùy chọn mặc
định và nhấn Next.
10. Nhấn Finish.

Về đầu trang
Kiểm thử các dịch vụ web bằng cách sử dụng Web Services Explorer
Một cách nhanh chóng để kiểm thử các dịch vụ web là sử dụng Web Services
Explorer, một ứng dụng Web JSP được chạy trên máy servlet của Apache Tomcat
có sẵn trong Eclipse. Web Services Explorer sử dụng ngôn ngữ WSDL để biểu
hiện một yêu cầu SOAP. Tham số trả về được loại bỏ và các giá trị được hiển thị
trong một khuôn dạng đã xác định t
ừ trước. Quá trình này không dính líu đến việc
tuần tự hóa và phi tuần tự hóa dữ liệu (data marshalling and unmarshalling).
Để kiểm thử các dịch vụ Web:
1. Tại cửa sổ Project Explorer, mở rộng thư mục JSR-109 Web Services và
Services.
2. Nhấn chuột phải vào CalculatorService và chọn Test with Web Services
Explorer như ở hình 9.

Hình 9. Khởi động trình Web Services Explorer

3. Khi trình Web Services Explorer mở ra, bạn chọn một trong các phương
thức (ví dụ: add).
4. Ô Actions ở bên phải sẽ hiển thị một giao diện đơn giản, cho phép bạn nhập
các giá trị cho các tham số của phương thức. Nhập giá trị cho các tham số i
và j, sau đó nhấn Go.
5. Kết quả của việc gọi các dịch vụ web xuất hiện trong ô Status ở phía dưới
bên phải của khung nhìn Web Services Explorer nh
ư ở hình 10.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status