Gvhd: TrÇn Hång ViÖt
Svtt: NguyÔn ThÞ An_ tin14HN
Giới thiệu công nghệ Java
Java là một công nghệ xây dựng các ứng dụng phần mềm có vị trí rất lớn
trong những năm cuối thế kỉ 20, đầu thế kỉ 21. Nó được coi là công nghệ mang
tính cách mạng và khả thi nhất trong việc tạo ra các ứng dụng có khả năng chạy
thống nhất trên nhiều nền tảng mà chỉ cần biên dịch một lần.
Lần đầu tiên xuất hiện vào năm 1992 như là một ngôn ngữ dùng trong nội
bộ tập đoàn Sun Microsystems để xây dựng ứng dụng điều khiển các bộ xử lý bên
trong máy điện thoại cầm tay, lò vi sóng, các thiết bị điện tử dân dụng khác.
Không chỉ là một ngôn ngữ, Java còn là một nền tảng phát triển và triển khai ứng
dụng trong đó máy ảo Java, bộ thông dịch có vai trò trung tâm.
Sun, công ty đã phát minh ra ngôn ngữ Java, chính thức ban hành bản Java
Development Kit 1.0 vào năm 1996 hoàn toàn miễn phíđể các nhà phát triển có
thể tải về, học Java, xây dựng các ứng dụng Java và triển khai chúng trên các hệ
điều hành có hỗ trợ Java. Ban đầu, Java chủ yếu dùng để phát triển các applet, các
ứng dụng nhúng vào trình duyệt, góp phần làm sinh động các trang web tĩnh vốn
hết sức tẻ nhạt hồi dó. Tuy nhiên, cùng với sự phát triển của công nghệ thông tin
và nhu cầu của xã hội, Java applet đã dần mất đi vị trí của nó và thay vào đó, các
công ty, cộng đồng ủng hộ Java đã phát triển nó theo một hướng khác. Hiện nay,
công nghệ Java được chia làm ba bộ phận:
J2SE
Gồm các đặc tả, công cụ, API của nhân Java giúp phát triển các ứng dụng
trên desktop và định nghĩa các phần thuộc nhân của Java.
J2EE
Gồm các đặc tả, công cụ, API mở rộng J2SE để phát triển các ứng dụng
qui mô xí nghiệp, chủ yếu để chạy trên máy chủ (server). Bộ phận hay
được nhắc đến nhất của công nghệ này là công nghệ Servlet/JSP: sử dụng
Java để làm các ứng dụng web.
1
2
Gvhd: TrÇn Hång ViÖt
Svtt: NguyÔn ThÞ An_ tin14HN
2.Ứng dụng Graphics
Một chương trình đồ họa thường cần một khung cửa sổ cùng các thành
phần giao diện như nút bấm( button), checkbox, menu... Chương trình đồ họa
còn cho phép bạn vẽ ra cửa sổ bằng Graphics. Graphics là đối tượng đồ họa dùng
để vẽ.Để sử dụng các đối tượng đồ họa cần phải thêm gói thư viện java.awt.*.
Lớp chương trình chính vẫn dùng hàm main ( ) là nơi khởi đầu của chương trình.
Trong hàm main ( ) chúng ta tạo ra đối tượng cửa sổ AppFrame. Lớp đối tượng
này do ta cài đặt phương thức từ lớp Frame.
1) TỒNG QUAN VỂ RMI
Trong một ứng dụng không phân tán của java, đoạn mã trong một đối
tượng có thể gọi phương thức của một đối tượng khác và máy ảo Java phân giải
địa chỉ và truyền tham số từ đối tượng gọi đến phương thức được gọi, ngoài ra nó
cũng trả về các giá trị cho đối tượng gọi thực thi phương thức.
Trong ứng dụng phân tán, mặc dù đoạn mã lập trình phương thức trông có
vẻ giống như trong trường hợp ứng dụng không phân tán, nhưng là một cơ chế
hoàn toàn khác nhau được dùng để móc những đối tượng này. Khi một đối tượng
muốn gọi một phương thức, nó sẽ gọi một đối tượng bè bạn bên phía máy khách,
đối tượng này sẽ đại diện cho đối tượng gọi phương thức bên phía máy chủ. Đối
tượng này được gọi là stub. Stub sẽ gọi kiến trúc RMI bên phía máy khách và di
chuyển dữ liệu qua mạng đến kiến trúc RMI trên máy chủ, đến lượt nó sẽ gọi thực
thi một đối tượng bè bạn bên phía máy chủ gọi là skeleton.
Đối tượng skeleton sẽ gọi phương thức của đối tượng thật sự bên phía máy
chủ. Đến khi trả lại kết quả thì một cơ chế giống hệt như trên sẽ được gọi thực thi
nhưng theo thứ tự ngược lại, khi đó kết quả trả về sẽ được truyền cho đối tượng
skeleton trên máy chủ, và được đối tượng này truyền theo đường mạng sử dụng
phương thức trên đối tượng của máy chủ được thiết kế để được triệu gọi từ xa
phải khai báo là nó sẽ tung ra ngoại lệ RemoteException. Mã bên phía máy người
dùng nên xử lý những lỗi này khi nó xuất hiện.
+ Dưới đây là một giao diện đơn giản cho một lớp truyền vào và lấy ra một
String:
// Example.java
//
// Giao diện cho đối tượng triệu gọi từ xa
//
import java.rmi.*;
public interface Example extends Remote {
public void setString( String s ) throws RemoteException;
public String getString() throws RemoteException;
}
Và đây là phần cài đặt:
// ExampleServer.java
//
// Phần cài đặt đối tượng từ xa cho giao diện Example
//
import java.rmi.*;
import java.rmi.server.*;
public class ExampleServer extends UnicastRemoteObject implements
Example {
private String stringState;
public ExampleServer() throws RemoteException{}
public void setString( String s ) throws RemoteException{
stringState = s;
5