Hello World bản cập nhật: Rational Application Developer phiên bản V7 Tạo ra các ứng dụng Java, ứng dụng dịch vụ Web, và ứng dụng cơ sở dữ liệu Jane Fung, Phát triển phần mềm, IBM Toron
Trang 1Hello World (bản cập nhật): Rational Application Developer phiên bản V7
Tạo ra các ứng dụng Java, ứng dụng dịch vụ Web, và ứng dụng cơ sở dữ liệu
Jane Fung, Phát triển phần mềm, IBM Toronto Lab
Tóm tắt: Thử làm một số bài tập cho biết cách tạo ra một ứng dụng™ tạo và gọi
thực hiện một dịch vụ Web, tạo một ứng dụng Web có thể truy cập cơ sở dữ liệu Derby bằng cách sử dụng danh sách bản ghi quan hệ Học cách phát triển ứng dụng J2EE bằng cách sử dụng Bộ phát triển ứng dụng Rational của IBM Bản gốc ban đầu của tài liệu học tập Rational Application Developer V6 vẫn còn hiện hữu Trước khi bạn bắt đầu
Về loạt bài này
Loạt bài này dành cho những người mới bắt đầu học, muốn có những khái quát mức cao về các sản phẩm phần mềm IBM Các mô đun được thiết kế để giới thiệu các sản phẩm và thu hút bạn quan tâm tiếp tục khám phá Các bài tập chỉ bao hàm các khái niệm cơ sở, nhưng vẫn đủ để cho bạn bắt đầu
Về tài liệu hướng dẫn này
Hướng dẫn này cung cấp một khái quát mức cao về Rational® Application
Developer và cho bạn cơ hội thực tập sử dụng nó bằng các bài tập thực hành Các hướng dẫn từng bước cho biết cách phát triển các ứng dụng, tạo các dịch vụ Web, tạo một trang JSP và truy cập một cơ sở dữ liệu
Mục tiêu
Sau khi hoàn thành hướng dẫn này, bạn sẽ hiểu được các chức năng cơ bản của Bộ phát triển ứng dụng Rational và có thể tạo ra các ứng dụng, như đã trình diễn trong các bài tập, bao gồm ứng dụng Java™, các dịch vụ Web, và các ứng dụng Web Điều kiện tiên quyết
Hướng dẫn này dành cho nhà phát triển ứng dụng Java trình độ sơ khai, đã làm quen với ngôn ngữ Java
Yêu cầu về hệ thống
Trang 2Để chạy các thí dụ trong hướng dẫn này, hãy cài đặt bộ IBM Rational Application Developer for WebSphere Software V7.0
Để xem được các trình diễn kèm trong hướng dẫn này, phải cho phép chạy
JavaScript trong bộ duyệt của bạn và phải cài bản Macromedia Flash Player 6 hoặc cao hơn Bạn có thể tải về bản Flash Player mới nhất tại địa chỉ
http://www.macromedia.com/go/getflashplayer/
Các trình diễn hoạt hình
Nếu đây là lần tiếp xúc đầu tiên của bạn với một tài liệu hướng dẫn của
developerWorks có kèm các trình diễn, đây là một vài thứ mà bạn hẳn muốn biết:
Các trình diễn là một tùy chọn để quan sát các bước thực hiện đúng như mô
tả trong tài liệu hướng dẫn Để xem một trình diễn hoạt hình, nhấn Chỉ đường link cho tôi (Show me link) Trình diễn sẽ mở trong một cửa sổ trình duyệt mới
Mỗi trình diễn bao gồm một thanh dẫn hướng tại đáy của màn hình Sử dụng thanh dẫn hướng để tạm dừng, thoát ra, tua ngược, hoặc tua xuôi các đoạn trình diễn
Hình trình diễn có độ rộng 800 x 600 pixels Nếu đây là độ phân giải màn hình cực đại của bạn hoặc nếu độ phân giải màn hình của bạn thấp hơn mức này, bạn sẽ phải cuộn lên để xem một số vùng của trình diễn
JavaScript phải được cho phép trong bộ duyệt của bạn và phải cài bản Macromedia Flash Player 6 hoặc cao hơn
Trang 3Giới thiệu
Bộ phát triển ứng dụng Rational phiên bản V7, sau đây được gọi tắt là Bộ phát triển ứng dụng, là một môi trường phát triển tích hợp (IDE) Nó dựa trên cơ sở nền
phát triển Eclipse mã nguồn mở Nền Eclipse là một nền phát triển mở rộng được
và là khung công tác phát triển ứng dụng để xây dựng phần mềm Bạn có thể cài
bổ sung các ứng dụng cắm thêm (plug-ins) để bổ sung các chức năng mới
Nền Eclipse tự nó đi cùng với một môi trường phát triển tích hợp Java để phát triển ứng dụng Java Nó cung cấp một số công cụ và đặc tính thông thường cho các bộ phát triển Java Được xây dựng bên trên nền Eclipse, Application
Developer bổ sung nhiều khả năng gồm cả phát triển ứng dụng J2EE, XML, phát triển dịch vụ Web và phát triển cơ sở dữ liệu
Hãy chọn ra một thư mục vùng làm việc, như chỉ ra trong Hình 1, khi bạn khởi động Application Developer lần đầu Một vùng làm việc có thể là bất kỳ thư mục nào, là nơi mà bạn lưu công việc ở đó Nếu bạn đang làm việc đồng thời trên nhiều
dự án (project) Application Developer, hãy sử dụng các vùng làm việc khác nhau đối với mỗi dự án để bảo đảm sự tách biệt rõ ràng cho các mã lệnh
Hình 1 Chọn một thư mục vùng làm việc
Sau khi bạn chọn xong một vùng làm việc, trang Welcome hiện ra, như Hình 2
Nó đưa ra các đường liên kết nhanh đến các bài hướng dẫn và các thí dụ mẫu Nhấn chuột lên biểu tượng Overview để xem bài giới thiệu có hướng dẫn của Application Developer
Trang 4Hình 2 Trang chào đón của Bộ phát triển ứng dụng Rational
Đóng trang Welcome Phối cảnh J2EE xuất hiện Phối cảnh là hợp nhất của các
công cụ và khung nhìn mà một bộ phát triển cần có Application Developer đưa ra một số phối cảnh đặc thù cho các bộ phát triển khác nhau, như Web, Data, J2EE,
và Debug, và cho việc lập trình Java
Application Developer hỗ trợ việc phát triển nhiều loại ứng dụng khác nhau, bao gồm:
Java
J2EE
Database (Cơ sở dữ liệu)
Web Service (Dịch vụ Web)
Trang 5Theo mặc định, Application Developer gắn với một WebSphere Application
Server để kiểm thử bộ phận (unit test) Hình 3 cho thấy khung nhìn máy chủ, từ đó bạn có thể khởi động và ngừng WebSphere Application Server
Hình 3 Khung nhìn máy chủ
Trang 6Application Developer vừa khớp với SOA như thế nào?
Application Developer là một công cụ phát triển mạnh và ổn định Nó rất thích
hợp với kiến trúc hướng dịch vụ Service Oriented Architecture (SOA) SOA là một
kiểu/phong cách kiến trúc để xây dựng nên các hệ thống phân tán, phân phát các chức năng ứng dụng dưới dạng các dịch vụ để sử dụng ngay trong các ứng dụng cuối hoặc để xây dựng các dịch vụ khác Nó cho phép khách hàng tạo ra các ứng dụng và giải pháp tinh vi một cách nhanh chóng và dễ dàng bằng cách lắp ráp từ các dịch vụ mới và dịch vụ hiện có Mỗi chức năng nghiệp vụ trong một công ty
có thể được thực hiện như một dịch vụ và sau đó có thể được tích hợp với các dịch
vụ khác để hoàn thành các nhu cầu kinh doanh của công ty đó
SOA sử dụng các chuẩn mở để biểu diễn chức năng nghiệp vụ như là một dịch vụ Mỗi dịch vụ trở thành một hòn đá tảng để tạo ra các ứng dụng doanh nghiệp Các dịch vụ trong SOA có thể được thực hiện bằng nhiều ngôn ngữ lập trình trên các nền khác nhau Chúng có thể tương tác lẫn nhau vì chúng lộ diện ra qua một giao diện chung Một thí dụ của dịch vụ SOA là các dịch vụ Web
Các dịch vụ Web kết hợp nhiều công nghệ phổ biến và các chuẩn mở giúp tạo khả
năng tích hợp các hệ thống không đồng nhất Thông qua dịch vụ Web, có thể thực hiện SOA với các ứng dụng mới và ứng dụng hiện có như là các hòn đá tảng các chức năng, truy cập được thông qua giao thức Internet tiêu chuẩn và đồng thời độc lập với các nền và các ngôn ngữ lập trình Application Developer cho phép bạn tạo
ra dịch vụ Web có thể được sử dụng trong một kiến trúc hướng dịch vụ
Application Developer hỗ trợ việc tạo ra các dịch vụ Web, sử dụng cách tiếp cận
từ trên xuống (bắt đầu bằng một tệp tin WSDL để phát sinh ra triển khai dịch vụ Web) hoặc sử dụng cách tiếp cận từ dưới lên (bắt đầu bằng một Java bean hoặc một triển khai EJB để phát sinh ra dịch vụ Web) Nó cung cấp các thủ thuật để nhanh chóng tạo ra các dịch vụ Web, dịch vụ Web phía khách, và công bố các dịch vụ Web ra bên ngoài
Trang 7Tạo một ứng dụng Java
Để tạo ra một ứng dụng Java in ra dòng chữ Hello, World!:
1 Khởi động Application Developer, nếu bạn chưa cho chạy Nhấn nút Start
của Windows, chọn Programs > IBM Software Development Platform > IBM Rational Application Developer > IBM Rational Application Developer
2 Một cửa sổ xuất hiện và yêu cầu thư mục của vùng làm việc Nhấn OK
chấp nhận mặc định
Tạo một dự án Java mới
Tạo một dự án Java tên là MyJavaProject, có các thư mục mã nguồn và thư mục tệp nhị phân để chứa các tệp mã nguồn Java và các lớp Java tương ứng
Bạn có muốn xem trình diễn các bước này không ?
Trình diễn
1 Từ bàn làm việc (workbench), chọn File > New > Project
2 Chọn Java > Java Project > Next Nếu không nhìn thấy Java, đánh dấu kiểm vào Show All Wizards Chọn OK nếu được nhắc kích hoạt khả năng
phát triển Java
3 Nhập MyJavaProject làm tên dự án
4 Đánh dấu tuỳ chọn Create separate source and output folders (tạo thư mục
mã nguồn và thư mục kết quả tách biệt nhau) và nhấn Finish
5 Nhấn Yes nếu bạn được yêu cầu chuyển sang Phối cảnh Java
Trang 8Hình 4 Cửa sổ dự án Java mới
Tạo một lớp Java mới
Tạo một lớp Java mới tên là Test thuộc gói test, như Hình 5
1 Trong khung nhìn Package Explorer, nhấn chuột phải vào MyJavaProject
và nhấn New > Class
Trang 92 Gõ nhập test làm tên gói và Test làm tên tệp tin
3 Hãy chắc chắn rằng đã đánh dấu kiểm vào hộp chọn public static void main (String [] args)
4 Nhấn Finish và bộ biên tập Java mở ra
Hình 5 Một lớp Java mới
Trang 10
Sửa đổi lớp Java
1 Trong bộ biên tập Java, sửa đổi lớp Java giống như trình bày bằng chữ đậm trong Listing 1
Listing 1 Mã của lớp test.Test
public class Test {
public static void main(String[] args) {
System.out.println ("Hello, World!!");
System.out.println ("Hello,
World Again!!");
} }
Khi gõ nhập, bạn có thể sử dụng chức năng trợ giúp mã nguồn (Code Assist
- gõ tổ hợp Ctrl-Space) để nhập nhanh các từ khoá
2 Ghi lưu tệp tin bằng cách nhấn tổ hợp Ctrl-S
Chạy ứng dụng Java
Giờ là lúc chạy ứng dụng đầu tiên của bạn
1 Trong khung nhìn Package Explorer, nhấn chuột phải vào lớp Test và nhấn Run > Java Application, như trong Hình 6
Trang 12Tạo và gọi ra một dịch vụ Web
Bài tập này trình bày cách tạo một dịch vụ Web và gọi nó ra từ các tệp tin
JavaServer Pages (JSP) Dịch vụ Web dựa trên cơ sở giao diện chuẩn mở, Web Service Description Language (Ngôn ngữ Mô tả Dịch vụ Web - WSDL) Mỗi dịch
vụ Web được mô tả bằng một WSDL interface (giao diện WSDL) Giao diện này
chứa các định nghĩa về các kiểu cổng, các phép toán, và các kiểu thông báo dùng
cho dịch vụ Web Kiểu cổng, port type, chứa một sưu tập các phép toán mà dịch
vụ này hỗ trợ Mỗi phép toán có các thông báo đầu vào và đầu ra được định nghĩa trước Theo thuật ngữ Java, kiểu cổng giống như một định nghĩa lớp, một phép toán giống như là một phương thức, và các thông báo đầu vào và đầu ra giống như
là tham số đầu vào hoặc các kiểu trả về của một phương thức
Tạo một dịch vụ Web là khá đơn giản Thủ thuật dịch vụ Web tự động thay bạn sinh ra mọi thứ Trong ví dụ này, tạo một lớp Java mà trả về một giá cổ phiếu IBM
đã ấn định trước Sau đó sử dụng thủ thuật dịch vụ Web để làm nó thành một dịch
vụ Web Trong quá trình đó, một tệp tin WSDL được tạo ra và sau đó được JSP client sử dụng để gọi dịch vụ Web
Để gọi ra một dịch vụ Web lưu trú trên máy cục bộ của bạn hoặc trên một máy chủ
ở xa, cần nhận được tệp tin WSDL từ nhà cung cấp dịch vụ Web này rồi sau đó sinh ra một proxy trong tooling? Sử dụng proxy để gọi ra dịch vụ Web
Các nhà cung cấp dịch vụ Web có thể quảng cáo các dịch vụ Web của họ bằng
cách sử dụng Ngôn ngữ kiểm điểm dịch vụ Web (WSIL) Một tệp tin WSIL điển
hình sẽ liệt kê tất cả các dịch vụ Web do nhà cung cấp dịch vụ cung cấp Nó chứa các mô tả về dịch vụ và thông tin truy cập tệp tin WSDL Bên yêu cầu dịch vụ có thể sử dụng tệp tin WSIL để phát hiện dịch vụ Web nào đang được cung cấp
Dịch vụ Web cũng có thể được yết thị lên một sổ đăng ký công cộng, gọi là
Universal Description, Discovery and Integration (UDDI) là kho chứa tập trung
các dịch vụ Web Các nhà cung cấp dịch vụ Web có thể xuất bản các dịch vụ Web của họ, bao gồm các đường link đến tài liệu WSDL, vào trong một kho chứa UDDI để người sử dụng phát hiện và sử dụng sau đó
Bạn có muốn xem trình diễn các bước này không?
Trình diễn
Tạo một dự án Web mới
Trang 13Tạo một dự án Web mới chỉ chứa lớp Java và dịch vụ Web được sinh ra Dự án Web về cơ bản là một thành phần Web trong đặc tả của J2EE Bạn sẽ tạo ra JSP
client trong một dự án Web khác sau này
1 Từ bàn làm việc, chọn File > New > Project
2 Chọn Web > Dynamic Web Project > Next
sở dữ liệu, hoặc thậm chí gọi ra một dịch vụ Web khác
1 Trong khung nhìn Package Explorer, mở rộng
MyDemoWebServiceProject, nhấn chuột phải vào Java Resources, and nhấn New > Class
2 Gõ nhập demo làm tên gói và DemoWebService làm tên tệp tin
3 Hãy chắc chắn rằng không đánh dấu chọn public static void main (String [] args)
4 Nhấn Finish và bộ biên tập Java mở ra
5 Thêm đoạn mã như phần chữ đậm trong Listing 2 và sửa đổi như sau: Listing 2 Mã nguồn của lớp demo.DemoWebService
package demo;
Trang 14public class DemoWebService {
public double getQuote (String symbol){
Việc tạo một dịch vụ Web vô cùng đơn giản Tạo một dịch vụ Web Java:
1 Nhấn chuột phải vào DemoWebService.java Java class > New > Other
2 Trong cửa sổ New Wizard, đánh dấu chọn hộp kiểm Show All Wizards để
thấy được tất cả các thủ thuật sẵn có, kể cả cho các khả năng còn chưa được kích hoạt
3 Mở rộng nút Web Services và chọn Web Service Nhấn Next
4 Theo mặc định kiểu dịch vụ Web được chọn sẽ là Bottom up Java bean Web Service
5 Nhấn Finish Thủ thuật dịch vụ Web khởi động WebSphere Application
Server và triển khai dịch vụ Web đã sinh ra lên máy chủ này Giờ thì dịch
Trang 15vụ Web đã được tải lên và đang chạy
Trang 16Hình 9 Trình diễn Dịch vụ Web
Tạo một dự án Web phía khách
Hãy tạo một dự án Web nữa để chứa JSP khách JSP khách sẽ hành động như một trình khách để gọi ra dịch vụ Web
1 Từ bàn làm việc, chọn File > New > Project
2 Chọn Web > Dynamic Web Project > Next Chọn OK nếu được nhắc
kích hoạt các khả năng Web Development
3 Gõ nhập MyWebServiceClientProject làm tên dự án
4 Trong phần EAR Membership, nhấn New để tạo một dự án làm ứng dụng
EAR mới Gõ nhập MyWebServiceClientProjectEAR làm tên dự án Nhấn
Finish Chọn No nếu được nhắc để chuyển sang phối cảnh J2EE
5 Nhấn Finish Chọn Yes nếu được nhắc để chuyển sang phối cảnh Web
Sao tệp tin WSDL từ dự án chủ
Trang 17Sao tệp tin WSDL từ MyDemoWebServiceProject tới dự án Web phía khách của bạn
1 Trong khung nhìn Project Explorer, mở rộng MyDemoWebServiceProject
Hình 10 Sao chép tệp tin WSDL tới MyWebServiceClientProject
Trong cài đặt thực tế, nếu bạn gọi ra một dịch vụ Web bên ngoài, hãy yêu cầu tệp tin WSDL từ nhà cung cấp dịch vụ
Sinh ra một proxy
Trang 18Sinh ra một dịch vụ Web phía khách từ tệp tin WSDL mà bạn đã sao trước đây
1 Mở rộng thư mục wsdl dưới thư mục
MyWebServiceClientProject/META-INF Nhấn chuột phải DemoWebService.wsdl > New > Other
2 Trong cửa sổ New Wizard, chọn Show All Wizards để xem tất cả các thủ thuật sẵn có, gồm cả các thủ thuật cho các khả năng chưa được kích hoạt
3 Mở rộng Web Services và chọn Web Service Client như chỉ ra dưới đây Nhấn Next Nhấn OK nếu bạn được yêu cầu kích hoạt khả năng phát triển
dịch vụ Web
Hình 11 Tạo một dịch vụ Web phía khách
4 Trong cửa sổ kết quả, hãy chắc chắn rằng Java proxy được đánh dấu chọn Nhấn Finish Thủ thuật sẽ tạo một Java proxy, nó đơn giản là một lớp Java
có thể gọi ra dịch vụ Web
Trang 195 Nhấn Yes nếu bạn được yêu cầu thay thế tệp tin web.xml Nếu bạn gặp một
báo lỗi ngoại lệ, thì việc bỏ qua nó là bình thường và an toàn
6 Proxy có tên DemoWebServiceProxy được sinh ra trong thư mục Java Resources Trong bước tiếp theo, hãy tạo một tệp tin JSP để sử dụng lớp proxy này để gọi dịch vụ Web
Tạo một tệp tin JSP
1 Trong khung nhìn Project Explorer, nhấn chuột phải vào
MyWebServiceClientProject > New > Web Page
2 Gõ nhập MyWebServiceClient làm tên tệp tin và hãy chắc chắn rằng JSP được chọn làm khuôn mẫu Nhấn Finish
3 Chuyển đến khung nhìn Source của bộ biên tập JSP và nhập đoạn mã hiển
thị bằng chữ in đậm như dưới đây:
Listing 3 Mã nguồn của MyWebServiceClient.jsp
Trang 20Chạy tệp tin JSP trong một trình duyệt
1 Khởi động máy chủ từ khung nhìn Server nếu chưa khởi động, sau đó chạy tệp tin JSP bằng cách sử dụng URL:
http://localhost:9080/MyWebServiceClientProject/MyWebServiceClient.js
p Cách khác, nhấn chuột phải vào tệp tin JSP và chọn Run As > Run on Server
2 Trong khung nhìn Project Explorer, nhấn chuột phải vào tệp tin JSP và
chọn Run As > Run on Server
3 Chọn một máy chủ hiện có và nhấn Finish để tự động thêm dự án vào máy
chủ và chạy tệp tin JSP trong bộ duyệt trong