Lấy Thông Tin Trên Table

Một phần của tài liệu Xây dựng dịch vụ Chat trên mạng (Trang 76 - 112)

III- Cơ chế truyền nhận trong Java

f. Lấy Thông Tin Trên Table

Ta có thể lấy thông tin trên một bảng trong cơ sở dữ liệu bằng cách dùng phương thức getTables() trong kho DatabaseMetaData(). Phương thức này có bốn thông số:

results=dma.getTables(catalog, schema, tablemask, type[]);

- Catalog: Tên catalog để tìm tên bảng trong đó.

- Schema: Giản đồ tóm lược cơ sở dữ liệu. Nhiều cơ sở dữ liệu không cung cấp Schema. Một số trường hợp khác, nó là username của người chủ cơ sở dữ liệu. Nó thường được đặt là null.

- Tablemask: Một mask thì minh họa cho tên một bảng mà ta muốn lấy ra. Nếu ta muốn lấy tất cả tên bảng, ta đặt nó trong một ký tự wildcard %. Ký tự wildcard trong SQL là % chứ không giống như ký tự wildcard trong các chương trình khác là *.

- Type[]: Một dãy String minh họa kiểu của bảng mà ta muốn lấy ra. Nếu type[] là null, ta sẽ lấy tồn bộ những thông tin trên bảng đó. Nếu ta để vào chỗ này một phần tử dãy chứa tên bảng kiểu String, ta sẽ chỉ thu được bảng mà ta muốn dùng.

Ðoạn mã để lấy tên bảng trong cơ sở dữ liệu từ DatabaseMetaData: con= DriverManager.getConnection(url);

//lấy meta database dma=con.getMetaData();

System.out.println("Da ket noi toi: "+dma.getURL()); System.out.println("Driver: "+dma.getDriverName()); //lấy ra tên của table trong CSDL

String[] types =new String[1]; types[0]="Table";

//chú ý dấu hiệu % của wild card

results=dma.getTables(null,null,"%",types);

boolean more=results.next(); //tạo biến cho biết cột đã hết chưa. while(more) for(j=1;j<=numcols;j++){ System.out.print(results.getString(j)+""); System.out.println(); more=results.next(); }

Tất cả đều được đặt trong khối try.

TÓM TẮT CHƯƠNG IV.



Ngôn ngữ Java ngôn ngữ lập trình của Sun Microsystems, có một sức mạnh đầy ấn tượng. Java được phát triển vào thập kỷ 1990, do nhà thiết kế là James Gosling. Java phát triển nhanh chóng là nhờ Web. Nhưng trên thực tế, sức mạnh vốn có của Java không phải là ngôn ngữ lập trình cho Web. Hệ thống quan trọng nhất của ngôn ngữ lập trình Java là Java Virtual Machine (Máy ảo Java, bộ thông dịch).

- Ưu điểm của java là: được Sun mô tả như là một ngôn ngữ lập trình đơn giản, hướng đối tượng, kiểu - mạng, có thể biên dịch, mạnh, an tồn, độc lập với cấu trúc, dễ di chuyển, hiệu suất cao, đa luồng, và có tính động. Java còn là một môi trường độc lập, đó là một lợi thế quan trọng cho phép Java hơn hẳn những ngôn ngữ khác, đặc biệt là cho những hệ thống cần làm việc trên nhiều môi trường khác nhau.

- Nhược điểm của Java là: Java có tốc độ thực thi chương trình phải thông qua JVM nên tốc độ rất chậm so với các ngôn ngữ khác.

- Hoạt động của một ứng dụng viết bằng Java: được chia làm hai loại: Java Applet và Java Application.

- Cơ chế truyền nhận trong Java: Các máy tính chạy trên mạng Internet truyền thông với nhau dùng các Protocol TCP, UDP.

+ TCP là một protocol dựa trên connection, cung cấp các data flow tin cậy giữa 2 máy tính.

+ UDP là một protocol, gửi những package độc lập, gọi là các datagrams, từ máy này tới máy khác, không đảm bảo chắc chằn sẽ thành công. UDP không dựa trên connection như TCP.

- Networking:

+ URL: URL là tồn bộ địa chỉ của Web Site hoặc trang Web. Có 5 loại URL : file, http, gopher, news, partials.

+ Sockets: Những lớp Socket và ServerSocket trong java.net package hỗ trợ cho việc thực hiện các kênh truyền TCP độc lập hệ thống.

Một Socket là một end-point của một liên kết giữa hai chương trình chạy trên mạng. Các lớp socket được sử dụng để thể hiện connection giữa một chương trình client và một chương trình Server. Package java.net cung cấp hai lớp : Socket và ServerSocket tương ứng với client và server.

Socket được xem là một cấu trúc dữ liệu trừu tượng (asbtraction data structure) dùng tạo ra một kênh truyền (channel) để gởi và nhận dữ liệu giữa các process trong cùng chương trình hay giữa các máy trong cùng môi trường mạng với nhau.

- Java Security: Các Java-application không thực hiện tính bảo mật như Java- applet. Với một Java-application, nó có thể đọc và ghi file, giao tiếp với thiết bị, connect với các socket, . . .Nhưng với Java-applet thì không như vậy. Có nhiều việc mà Java- applet không được phép làm, và nhiều tài nguyên mà Java-applet chỉ nên hạn chế truy xuất. Các applet có thể quan hệ tới mô hình Client/Server cổ điển theo cách : Web server là server của applet

- Multithreading:Việc áp dụng threads rất hiệu quả khi thiết kế Client với đặc tính : luôn thực hiện "đồng thời" hai nhiệm vụ: vừa listen data do Server gửi cho, vừa tương tác với user. Ngồi ra Server cũng buộc phải thực hiện multithreading, mỗi thread quản lý một connection với một client.

- Synchronization (xử lý crictical section): Như đã nói ở trên, khả năng multithread do Java support mang lại nhiều lợi điểm. Tuy nhiên, điều gì sẽ xảy ra nếu hai thread truy xuất và làm thay đổi cùng một đối tượng? Lý thuyết chung của vấn đề này vẫn là: phải đảm bảo trong quá trình một thread truy xuất và sửa đổi đối tượng dùng chung, nó không bị interrupted ta dùng đến Synchronization.

- Exceptions: Java cũng support việc quản lý exception, một đặc trưng quan trọng tạo nên sức mạnh của chương trình. Bất cứ khi nào một lỗi run-time xảy ra trong một phương thức, nó có thể throw một exception, giúp đoạn code chứa phương thức đó khắc phục lỗi hay thốt có chủ ý, không làm down tồn bộ hệ thống

- Cơ sở dữ liệu dùng JDBC: Java có hai hướng: là một ngôn ngữ lập trình và cũng là một hệ thống client/server trong đó chương trình tự động download và chạy trên máy cục bộ (thay vì máy server). Một trong những thư viện của API đó là Java Database Connectivity hay JDBC. Mục đích chính là kết nối chặt chẽ ngôn ngữ Java với cơ sở dữ liệu.

CCHƯƠNG HƯƠNG 55 PHÂN TÍCH VÀ THIẾT KẾ PHÂN TÍCH VÀ THIẾT KẾ CHƯƠNG TRÌNH. CHƯƠNG TRÌNH.

I - Giới thiệu, mục đích chương trình.

- Mục đích của chương trình Company Chat là cung cấp một dịch vụ nhằm giúp đỡ những người quản lý của một công ty hoặc một tổ chức có thể kiểm sốt tất cả nhân viên của mình, hoặc cần yêu cầu đến một phòng ban, hay cá nhân nhân viên nào đó,có thể trao đổi thông tin trực tiếp, trao đổi tài liệu, gởi thông báo,cập nhật tình hình công ty hàng ngày. Chương trình sẽ giải quyết bằng cách gởi thông điệp một cách nhanh chóng, đồng thời giảm được chi phí, công sức so với điện thoại .

II - Nội dung đề tài.

Xây dựng dịch vụ Chat dựa trên môi trường Client-Server.

- Dùng cho một mạng lưới của một công ty hay một tổ chức nào đó. Chương trình chỉ dành cho những người trực thuộc công ty hay tổ chức đó đang sử dụng chương trình.

- Chương trình cần cài đặt ở cả máy client và máy server - Máy Server sẽ là nguời chủ động kích hoạt chương trình.

a. Đối với máy Server.

Sau khi đã cài đặt thành công.

- Quản lý tất cả các thông tin của các user đã đăng nhập,có thể thêm,xố,sửa thông tin của nhân viên .

- Đổi phông chữ thể hiện. - Đổi màu cho phông chữ.

- Đổi màu cho background thể hiện.

- Thay đổi max số người tham gia hệ thống chat, Time in, Time out của hệ thống. - Một khung text ghi chú trong mọi trường hợp.

- Dưới mỗi thành viên có trong danh sách đều có một trang ghi chú riêng. Trên trang này sẽ tự động cập nhật ngày giờ gần nhất vừa được kích hoạt , danh sách các client kết nối vào và kết thúc kết nối .

- Lưu lại những thông tin trên.

Các đặc tính chung dành cho cả Server và Client.

- Các tính năng chung.

♦ Gởi thông điệp tức thời đến tất cả thành viên có trong danh sách.

♦ Gởi thông điệp tức thời đến một số thành viên nào đó có trong danh sách. ♦ Gởi thông điệp tức thời đến một thành viên nào đó có trong danh sách. ♦ Chèn biểu tượng cảm xúc vào thông điệp tức thời.

♦ Lưu thông điệp tức thời này nếu bạn muốn

♦ Nếu sau khi mình disconnect,có thành viên nào đó gởi thông điệp hay muốn chat với mình thì sẽ có thông báo đi ra ngồi.Khi mình login thì thông điệp do ai đó gởi sẽ tự động hiện lên.

- Trao đổi tập tin.

♦Trao đổi tập tin giữa các thành viên có trong danh sách. ♦ Tự động nhận tập tin gởi đến Server, client.

- Đặc tính Image.

♦ Cho phép gởi tập tin hình ảnh/ âm thanh. ♦ Cho phép lưu tập tin hình ảnh/ âm thanh. III- Yêu cầu của đề tài

Dựa vào nội dung đề tài đặt ra em đi xây dựng một chương trình ứng dụng dựa trên các yêu cầu sau :

- Xây dựng một chương trình theo mô hình Client-Server, tồn bộ dữ liệu liên quan đến hệ thống được lưu trữ trên Server, tất cả những xử lý liên quan cũng được thực hiện trên Server. Việc truy cập và truyền dữ liệu được thực hiện thông qua mạng nhằm phục vụ cho việc kiểm tra, trao đổi cập nhật thông tin

- Thông qua môi trường Web, người sử dụng có thể thực hiện các thao tác phù hợp với các chức năng sẵn có của chương trình .Thông qua trình duyệt Web này, người quản lý mạng có thể kiểm sốt tồn bộ tiến trình của chương trình: lựa chọn, sắp xếp, cập nhật thông tin, yêu cầu về phía nhân viên…một cách nhanh chóng.

- Đối tượng sử dụng chương trình:

Chương trình được thực hiện chủ yếu dựa vào người quản lý. Chương trình sẽ được kích hoạt khi người quản lý này kích hoạt và các nhân viên sẽ được thực hiện chương trình tùy theo mức độ mà người quản lý cho phép.

IV- Giải quyết vấn đề.

1- Khái niệm về mạng trong chương trình.

- Dựa vào những yêu cầu và nội dung ở trên, ở đây đề tài của em sẽ nghiên cứu về mô hình mạng Client/Server.

♦Nhiệm vụ của máy client :là thi hành một dịch vụ cho người dùng, bằng cách kết nối với những chương trình tương ứng ở máy server, dựa vào những chuỗi nhập để chuyển yêu cầu cho máy server và trả kết quả cho người dùng.

♦Nhiệm vụ của máy server: luôn lắng nghe những kết nối đến nó trên những cổng liên quan đến giao thức phục vụ, khi máy client khởi tạo kết nối, máy server chấp nhận và tạo ra luồng riêng biệt phục vụ cho máy client đó. Máy client sẽ gởi những yêu cầu đến thông qua kết nối, máy server thực hiện những yêu cầu rồi trả lại kết quả cho máy client. Ngồi ra máy server phải quản lý các hoạt động của mạng như phân chia tài nguyên chung (hay còn gọi là tài nguyên mạng) trao đổi thông tin giữa các client,....máy server có thể đóng vai trò là máy trạm (client) trong trường hợp đó là máy server "không thuần tuý".

- Mô hình client/server đã biến những máy tính riêng lẻ có khả năng xử lý thấp thành một mạng các máy chủ (server) và máy trạm (workstation) có khả năng xử lý hơn gấp hàng ngàn lần những chiếc máy tính mạnh nhất. Mô hình client/server giúp cho việc giải quyết những bài tốn phức tạp một cách trở nên dễ dàng bằng cách phân chia bài tốn đó thành nhiều bài tốn con và giải quyết từng bài tốn con một. Nhưng quan trọng hơn hết không phải là việc giải được những bài tốn lớn mà là cách thức giải bài tốn. Mô hình client/server đã giúp phát triển một phương thức phát triển ứng dụng mới là việc phân chia ứng dụng thành nhiều lớp thực hiện những chức năng chuyên biệt.

Một ứng dụng thông thường được chia làm 3 lớp:

- Giao diện (Presentation logic): lớp này là cầu nối giữa người dùng với ứng dụng, cung cấp những chức năng của ứng dụng cho người dùng và nhận những lệnh từ người dùng cho ứng dụng. Lớp này được thiết kế sao cho càng thân thiện với người dùng càng tốt.

- Chức năng (tạm dịch từ Business logic): đây là phần lõi của một chương trình, cung cấp tất cả những chức năng có thể có của chương trình cho lớp giao diện bên trên. - CSDL (Data Access logic): lớp này là CSDL của ứng dụng, cung cấp khả năng

truy xuất đến CSDL cho lớp chức năng nếu cần.

Việc phân chia ứng dụng thành nhiều lớp còn giúp cho ứng dụng trở nên dễ dàng thay đổi, cập nhật và đáng tin cậy hơn.

- Ứng dụng đầu tiên của mô hình client/server là ứng dụng chia sẻ file (do các tổ chức có nhu cầu chia sẻ thông tin giữa các bộ phận trong tổ chức được dễ dàng và nhanh chóng hơn). Trong ứng dụng này, thông tin được chứa trong các file và được đặt tại một máy (server) của một phòng ban. Khi một phòng ban khác có nhu cầu trao đổi thông tin với phòng ban này thì sẽ sử dụng một máy (client) kết nối với máy server và tải những file thông tin cần thiết về.

a- Đối với máy Server:

Là một trong những phần quan trọng nhất của mạng máy tính. Mỗi Server là một tâm điểm trong hệ thống các Server. Chúng cho phép các client và các server khác kết nối vào và truy cập lấy dữ liệu, thông tin của nhau trên cùng hệ thống mạng. Những Server này được kết nối theo sơ đồ hình cây.

b- Đối với máy Client

- Một chương trình thực hiện trở thành client khi nó gửi yêu cầu tới server và đợi lời giải đáp trả về. Cũng vì thế mà mô hình client-server là tiện dụng và là sự mở rộng tự nhiên của tiến trình thông tin liên lạc trong nội bộ máy tính và xa hơn nữa là internet, nên có thể dễ dàng dùng mô hình này xây dựng những chương trình ứng dụng trong giao tiếp hay kinh doanh.

- Để các máy kết nối được với nhau thì các chương trình ở máy client như trình duyệt(Web browser), gởi nhận e-mail, FPT client, Telnet client,... sẽ tạo kết nối với server ở xa sau đó gởi các yêu cầu đến máy server, các chương trình phục vụ trên máy

chủ như Web server, Mail server, FPT server, Telnet server,... sẽ xử lý những yêu cầu này và gởi kết quả về cho máy client. Thông thường một dịch vụ trên máy server phục vụ cho rất nhiều máy client.

2 - Một số khái niệm về mạng liên quan:

Mạng cục bộ(LAN-Wide Area Network) : là một hệ thống bao gồm các nút là các máy tính nối kết với nhau bằng dây cáp qua card giao tiếp mạng trong phạm vi nhỏ. Tùy theo cách giao tiếp giữa các nút mạng, người ta chia làm hai loại :

* Mạng ngang hàng (peer to peer [Windows workgroups]) : là một hệ thống mà mọi nút đều có thể sử dụng tài nguyên của các nút khác.

* Mạng khách chủ (client/server) : có ít nhất một nút trong mạng đảm nhiệm vai trò trạm dịch vụ (server) và các máy khác là trạm làm việc (workstation) sử dụng tài nguyên của các trạm dịch vụ.

Mô hình Client- Server

Hệ điều hành mạng : là một hệ thống quản lý tài nguyên dùng chung trên các server và cung cấp các phương tiện làm việc trong môi trường mạng và các ứng dụng tại các workstation sao cho có hiệu quả, trật tự và bảo mật thông tin của hệ thống lẫn người dùng. Hệ điều hành mạng được cài đặt tại server.

Server : Cung cấp các dịch vụ cho các trạm làm việc (workstation),lưu trữ các thông tin dùng chung trong mạng, thông thường là một máy tính có đĩa cứng lớn và bộ nhớ có dung lượng lớn. Tuy nhiên trong một số hệ thống mạng cục bộ, Server cũng có thể còn dùng là trạm làm việc.

Workstation : là một máy tính thường, người sử dụng có thể sử dụng tài nguyên của các server tại các workstation.

Các nghi thức được sử dụng.

Trong hệ điều hành Windows NT sử dụng những giao thức sau: NetBEUI là giao thức truyền thông chuẩn của Windows NT, IPX/SPX tương thích với chuẩn truyền thông của Novell. TCP/IP là chuẩn truyền thông giữa các họ máy tính và giữa các hệ điều hành khác nhau. Giao thức TCP/IP là chuẩn kết nối hiện nay sử dụng cho Internet và Intranet.

3 - Một số khái niệm về truyền thông trong chương trình :

Một phần của tài liệu Xây dựng dịch vụ Chat trên mạng (Trang 76 - 112)

Tải bản đầy đủ (DOC)

(112 trang)
w