xây dựng hệ thống trao đổi thông tin nội bộ (LAN) hoàn chỉnh giúp cho quá trình trao đổi thông tin nội bộ dễ dàng
Trang 1Chương I: GIỚI THIỆU CHUNG
1) Mô tả chương trình:
Chương trình được thiết kế với những mục đích sau đây:
Mục đích là cài đặt một hệ thống trao đổi thông tin trong mạng LAN giúpcho việc việc trao đổi thông tin thuận lợi, tăng hiệu quả công việc
Hệ thống trao đổi thông tin được xây dựng dưới dạng tin nhắn nhanh (IM)theo mô hình client-server sử dụng giao thức XMPP (jabber)
Server : sử dụng chương trình openfire cài đặt trên nền hệ điều hànhwindows server/xp/vista/win7 openfire phục vụ trao đổi thông tin giữa cácclient và quản lý tài khoản người dùng
Client : sử dụng spark cài đặt trên nền hệ điều hành windows xp/vista/win7.Spark dùng trao đổi thông tin giữa các user
2) Khái niệm IM (Instant messaging):
IM có nghĩa là một mạng thời gian thực có thể được viết trong công cụ đối thoại, đãphát triển chức năng đã tiến hóa, phần mềm IM “Instant messaging” ngày nay, cáccuộc đối thoại không chỉ văn bản, mà còn chuyển các tập tin thời gian thực, hình ảnh,
âm thanh, và thậm chí cả video trực tiếp
Nhắn tin nhanh (hay tin nhắn tức khắc, trò chuyện trực tuyến, chát - từ chat trong tiếngAnh, IM viết tắt của Instant Messaging), là dịch vụ cho phép hai người trở lên nóichuyện trực tuyến với nhau qua một mạng máy tính
Mới hơn IRC“Internet Relay Chat”, nhắn tin nhanh là trò chuyện mạng, phương phápnói chuyện phổ biến hiện nay Nhắn tin nhanh dễ dùng hơn IRC, và có nhiều tính nănghay, như khả năng trò chuyện nhóm, dùng biểu tượng xúc cảm, truyền tập tin, tìm dịch
vụ và cấu hình dễ dàng bản liệt kê bạn bè Nhắn tin nhanh đã thúc đẩy sự phát triểncủa Internet trong đầu thập niên 2000
IM không phải là mới công nghệ, phát minh ra ít nhất có hơn một thập kỷ nay Các hệthống nhắn tin tức đầu tiên là IRC ,vào năm 1988 bởi một người tên là JarkkoOikarinen phát triển và vẫn còn ưa chuộng bởi nhiều người dùng IRC chat room cũngtương tự như BBS chế độ cho phép người dùng tạo ra các nhóm thảo luận về các chủ
đề cụ thể
Trang
1
Trang 2IRC xuất hiện, một khi sự ra đời của nhiều hệ thống IM mới Năm 1997, những ngườitrẻ tuổi của Israel, được viết bởi IM-ICQ phát triển thị trường IM là điểm quan trọng,lệnh phong cách giao diện để phá vỡ các IRC, ICQ, và thanh niên và sinh động, đơngiản, giao diện đồ họa cho sự phát triển nhanh chóng của số lượng người dùng, đó làICQ “I Seek You” khởi động, kích thước rất lớn của thị trường khó dự đoán.
Lạc quan về các cơ hội thị trường tin nhắn nhanh, người khổng lồ phần mềmMicrosoft cũng đang tích cực tham gia trong những năm gần đây, nhiều lần sau khi ràsoát MSN Messenger giao diện người dùng thân thiện đối thoại nhiều hơn vui, mà đãkhá cao, biểu tượng nổi tiếng, số lượng tích lũy của người sử dụng đã được ghi đè ICQ
xu hướng
3) Khái niệm Extensible Messaging and Presence Protocol (XMPP), Jabber:
Extensible Messaging and Presence Protocol “XMPP”, trước đây là Jabber, là giaothức mở và dựa trên nền tảng XML dùng trong nhắn tin nhanh (instant messaging) vàthông tin hiện diện trực tuyến (presence information) Theo hội tiêu chuẩn XMPP(XMPP Standards Foundation, trước đây là Jabber Software Foundation, JSF), phầnmềm dựa trên Jabber được triển khai tại hàng ngàn máy phục vụ trên Internet và đượchơn 10 triệu người trên khắp thế giới sử dụng
Jeremie Miller khởi đầu dự án vào năm 1998; phiên bản đầu tiên được công bố vàotháng năm 2000 Sản phẩm chính của dự án là jabberd, một trình phục vụ (server) để
từ đó các trình khách (client) kết nối đến và trao đổi tin nhắn Trình phục vụ này có thểtạo mạng Jabber riêng tư (như sau tường lửa) hoặc có thể tham gia vào mạng Jabbercông cộng toàn cầu Đặc tính cốt lõi của Jabber là bản chất của hệ thống tin nhắnnhanh phân tán và việc sử dụng streaming XML
Điểm đặc trưng của hệ thống Jabber là nó có các transport, còn được gọi là gateway(cổng), cho phép người dùng truy cập mạng với các giao thức khác - như AIM và ICQ(dùng OSCAR), MSN Messenger và Windows Messenger (dùng Dịch vụ nhắntin NET - NET Messenger Service), Yahoo! Messenger, SMS hay E-mail Khôngnhư các trình khách đa giao thức như Trillian hay Gaim, việc truy cập đến các giaothức khác được Jabber cung cấp ở cấp độ trình phục vụ bằng cách truyền thông tin quacác dịch vụ cổng đặc biệt chạy trên một máy tính ở xa Bất cứ người dùng nào cũng cóthể 'đăng kí' với một trong các cổng này bằng cách cung cấp thông tin cần thiết đểđăng nhập vào mạng đó, và từ đó có thể liên lạc với người dùng của mạng khác nhưthể họ là người dùng Jabber Điều này có nghĩa là bất cứ trình khách nào hỗ trợ đầy đủgiao thức Jabber đều có thể được dùng để truy cập bất cứ mạng nào có cổng kết nối,
mà không cần thêm dòng mã lệnh nào từ trình khách
Nền tảng của giao thức Jabber, hiện được Tổ chức Phần mềm Jabber quản lí, đã đượcIETF chấp nhận làm giao thức standards-track dưới tên XMPP, với RFC 3920 Nóthường được xem là đối thủ cạnh tranh với SIMPLE, dựa trên giao thức SIP, để làmgiao thức chuẩn cho nhắn tin nhanh và thông báo hiện diện; tuy nhiên, thiết kế củaXMPP được nhắm đến việc cung cấp các tiện ích trình trung gian (middleware) liênứng dụng và mục đích tổng quát
Trang
2
Trang 3bằng dấu @ Căn cước này được gọi là Jabber ID hay JID.
Được thiết kế để truyền các phần tử XML để nhắn tin gần thời gian thực, sự hiện diện,
và yêu cầu đáp ứng dịch vụ XMPP được dựa trên giao thức Jabber, một giao thức mở
và phổ biến cho tin nhắn tức thời
Mặc dù không phải là XMPP phục vụ cho bất kỳ kiến trúc mạng cụ thể, nó thường đãđược thực hiện thông qua một kiến trúc client-server trong đó một khách hàng sử dụngXMPP truy cập vào một máy chủ trên một kết nối TCP, và các máy chủ cũng giao tiếpvới nhau trên các kết nối TCP Một máy chủ hoạt động như một lớp trừu tượng thôngminh cho thông tin liên lạc XMPP Hầu hết các khách hàng kết nối trực tiếp đến mộtmáy chủ trên một kết nối TCP và sử dụng XMPP để tận dụng đầy đủ các chức năngđược cung cấp bởi một máy chủ và các dịch vụ liên quan Nhiều nguồn tài nguyên cóthể kết nối đồng thời tới một máy chủ thay mặt cho mỗi khách hàng được uỷ quyền.Cổng recommonded cho các kết nối giữa một máy khách và máy chủ là 5222
Gateway là một đặc dụng phía máy chủ dịch vụ có chức năng chính là dịch XMPP vàocác giao thức được sử dụng bởi một hệ thống nhắn tin nước ngoài (không XMPP),cũng như dịch các dữ liệu quay trở lại vào XMPP Ví dụ như các cổng vào email,Internet Relay Chat, SIMPLE, dịch vụ tin nhắn ngắn (SMS), và kế thừa các dịch vụ tinnhắn tức thời như AIM, ICQ, MSN Messenger, và Yahoo Instant Messenger
Trang
3
Trang 4Openfire là vô cùng dễ dàng cài đặt và quản lý, nhưng cung cấp an ninh vững chắc vàhiệu suất.
1.2) Tính Năng :
Openfire hỗ trợ các tính năng sau đây:
Hỗ trợ quản trị qua giao diện web
Giao diện Plugin
Tùy chỉnh
Hỗ trợ SSL / TLS
Thân thiện với người sử dụng giao diện web và hướng dẫn cài đặt
Kết nối cơ sở dữ liệu (nhúng Apache Derby hay DBMS khác với JDBC_3 driver)
để lưu trữ các tin nhắn và các thông tin chi tiết người dùng
Kết nối LDAP
Nền tảng độc lập, thuần Java
Tích hợp đầy đủ với Spark (phần mềm nhắn tin client miễn phí dựa trên XMPPXML) Việc mở rộng Openfire cho phép trường hợp nhiều máy chủ cùng làm việcvới nhau trong một môi trường)
Phục vụ các client kết nối và trao đổi thông tin
Quản lý các tài khoản người dùng, quản lý nhóm
Quản lý việc trao đổi thông tin
1.3) Giao Thức:
Openfire cung cấp hỗ trợ các giao thức XMPP được định nghĩa bởi RFC 3920 và RFC
3921 Ngoài việc hỗ trợ đầy đủ XMPP, Openfire cũng cung cấp hỗ trợ cho các phần
4
Trang 52 Cài đặt OpenFire :
Có thể download tai địa chỉ: http://www.igniterealtime.org/projects/openfire/
Chạy file openfire_3_7_0.exe
Chọn ngôn ngữ > [ok]
Chọn [I accept the agreement ] > [Next]
Cài đặt Openfire
Trang
5
Trang 6[Unblock] mở port cho openfire
chọn [Lauch Admin]
Sau khi cài đặt xong ta thiết đặt thông số cho openfire : chọn [Lauch Admin] >openfire mở trình duyệt web và login vào giao diện quản trị
Trang
6
Trang 73 Thiết đặt thông số ban đầu :
Admin Console Port: 9090
Secure Admin Console Port: 9091
Trang
7
Trang 83.3) Database Settings :
Thiết đặt thông số về cơ sở dữ liệu : chọn [Embedded Database] thay cho [StandardDatabase Connection] để sử dụng cơ sở dữ liệu có sẵn trong openfire mà không cầncài thêm cơ sở dữ liệu cho openfire
8
Trang 93.5) Administrator account :
Thiết đặt thông tin về tài khoản quản trị hệ thống : email, password
> Điền email, password cho tài khoản quản trị hệ thống
3.6) Setup complete :
Kết thúc quá trình thiết đặt thông số
Chọn > [Login to the admin console]
Trang
9
Trang 103.7) Login vào hệ thống :
Ta có thể truy cập (login) vào giao diện quản trị của hệ thống từ máy cục bộ (máy càiopenfire) hoặc từ xa
+ Từ máy cục bộ : login qua trình duyệt bằng địa chỉ http://127.0.0.1: 9090
+ Truy cập từ xa : login qua trình duyệt bằng địa chỉ http://[ip /(hoặc) tên miền máy cài openfire] : 9090
Login admin console
Giao diện quản trị openfire
Trang
10
Trang 11Language and Time
Settings Ngôn ngữ & ngày hệ thống
Clustering Tính Năng Cluster
Cache Summary Thống kê Cache
Database Properties Thuộc tính của cơ sở dữ diệu
Log Viewer
Log (nhật ký) hệ thốngError Log các lỗiWarn Log các cảnh báoInfo Log về thông tin hệ thốngDebug Log thông tin gỡ lỗiEmail Settings Thiết đặt thông số email
Security Audit Log Viewer Log về sự kiện bảo mật hệ thống
Trang
11
Trang 123.1.2) Server setting :
Hình: giao diện mục server setting
Profile Settings Thiết đặt profile: cách lưu thông tin user và group (lưu vào database, LDAP )
Client Connections Settings
Thiết đặt kết nối clientClient Ports Cổng kết nối với clientIdle Connections
Policy
ứng xử với kết nối rỗi (vd: vẫn cho phép kết hoặc ngừng kết nối…)
Server to Server Settings Thiết đặt kết nối server đến server
External Component
Settings Thiết đặt thành phần mở rộng
Connection Manager
Settings Thiết đặt các thông số quản lý kết nối
HTTP Bind Settings Cho phép client sử dụng giao thức HTTP để kết nối vào serverManage Updates Quản lý cập nhật
Service Enabled Cho phép dịch vụ tự động kiểm
Trang
12
Trang 13Admins Notifications Tự động thông báo cho admin khi có cập nhậtConnection Method Phương thức kết nối
Registration Settings &
login
Inband Account Registration [Cho phép/không] việc đăng ký tài khoản từ chat clientChange Password [Cho phép/không] việc thay đổi passwordAnonymous Login [Cho phép/không] các kết nối
nặc danhRestrict Login Danh sách các kết nối bị cấm
Resource Policy Conflict Policy Ứng xử khi có xung đột (vd: nhiều kết nối dùng cùng một tài
khoản để kết nối , )Offline Messages Thông điệp offline: các ứng xử với thông điệp offline (vd:cho hoặc không cho phép gởi thông điệp offline,…)Messager Audit Policy Audit Policy Chính sách về kiểm toán với cácthông điệp.
Private Data Cho phép hoặc không cho phép chat-client lưu trữ các thiết đặt, bookmarks, trên server thay vì lưu trữ trên
máy cục bộ
Security Settings
Thiết đặt bảo mật
Client Connection Security
Bắt buộc hoặc không bắt buộc chat-client phải sử dụng giao thức bảo mật khi kết nối vào server
Server Connection Security
Bắt buộc hoặc không bắt buộc kết nối server-to-server phải sử dụng giao thức bảo mật khi kết nối
Server Certificates Chứng thực server
Compression Settings
Thiết đặt thông số nénClient Compression Policy Nén dữ liệu truyền clientServer Compression
Policy Nén dữ liệu truyền serverFile Transfer Proxy Settings Thiết đặt chuyển file thông qua
proxySearch Service Properties Các thông số cho dịch vụ tìm kiếm
Trang
13
Trang 143.1.3) Users/Groups :
Là mục dùng để quản lý các user, group.
Hình: giao diện mục user
3.1.3.1) User :
Users là các tài khoản người dùng được tạo ra trên openfire, tài khoản người dùng gồmuser-name(hay nick-chat) và password Người dùng sử dụng các tài khoản này để đăngnhập vào openfire(chat-server) và trò chuyện với nhau
Ngoài các tài khoản thông thường (dùng để chat), nếu một user được tạo ra với quyềnquản trị (administrator) thì có thể đăng nhập vào openfire (chat-server) để thực hiệncác tác vụ quản trị
User Summary Thống kê người dùng
User Search Tìm kiếm user
Advanced User Search Tìm kiếm user dạng mở rộng
3.1.3.2) Tạo user :
Vào mục [User & group] > chọn mục [user] > chọn tiếp [Create new user]
Trang
14
Trang 153.1.3.3) Hiệu chỉnh thông tin user :
Bước 1 vào mục [User & group] > chọn [user] > chọn [user summary] > clickchọn [user cần hiệu chỉnh]
Bước 2 chọn mục [edit properties] để hiệu chỉnh thông tin về user
Trang
15
Trang 163.1.3.4) Đổi password user :
Chọn [user cần hiệu chỉnh] > chọn [edit properties]> chọn mục [password] > điềnthông tin password > rồi chọn [update password]
16
Trang 173.1.3.2) Group :
Sau khi user đăng nhập vào openfire từ trình chat-client, user phải thêm name) của các user khác vào contact-list của mình để có thể liên lạc (chat) với nhau Khi người quản trị openfire nhóm các user vào cùng group và cho phép [Contact List(Roster) Sharing] khi đó các user trong cùng một nhóm có thể thấy nhau
nickchat(user-Ngoài ra người quản trị có thể dùng chức năng [Contact List (Roster) Sharing] để chia
sẻ contact-list (danh sách liên hệ) giữa các nhóm và các người dùng
Hình: giao diện mục group
3.1.3.2) Tạo nhóm & chia sẻ contact-list :
Chọn [User/Group] > [Groups] > chọn mục [Create new group] > điền vào name] > chọn [Create group] để tạo group mới
[group-Sau khi tạo ra Group ta có thể :
Chọn [Enable contact list group sharing] để chia sẻ contact-list cho các người dùngcùng nhóm Ngoài ra ta có thể check vào mục [Share group with additional users] đểchi sẻ contact-list với các người dùng và các nhóm khác
Trang
17
Trang 18Chọn chức năng [Add User] để thêm các user vào nhóm.
3.1.3.3) Hiệu chỉnh nhóm :
Chọn [User/Group] > [Groups] > [Group Summary] > chọn group cần hiện chỉnh
Trang
18
Trang 19Hình: Giao diện hiệu chỉnh group
3.1.3.4) Xoá nhóm :
Chọn [User/Group] > [Groups] > [Group Summary] > click vào biểu tượng tạigroup cần xoá
Trang
19
Trang 204) Sessions :
Client Sessions Cho biết tình trạng các client –session ( chat-client)
đang kết nối vào serverServer Sessions Cho biết các server–session đang kết nối vào server
Component Sessions
Hình : các client sessions đang kết nối
5) Group chat :
Room Summary Thống kê nhóm chat
Create New Room Tạo phòng chat mới
Trang
20
Trang 216) Plugins :
Plugins là các module hay các thành phần mở rộng bổ trợ thêm chức năng cho openfire.
Plugins Các plugins đã cài đặt vào openfire
Available Plugins Các plugins chưa cài, có thể download và cài vào
openfire để hổ trợ thêm chức năng cho openfire
6.1) Cài đặt thêm plugin :
Chọn > [Plugins] > [Available Plugins] > chọn tại plugins cần cài để cài
6.2) Gỡ bỏ plugin :
Chọn [Plugins] > [Plugin adin] > [Plugins] > chọn plugin cần xoá click vào
Trang
21
Trang 22Trang
22
Trang 23Chương III: Spark
1 Giới Thiệu Chung :
1.1) Khái Niệm :
Spark là một phần mềm nguồn mở, client IM nền tảng tối ưu cho các doanh nghiệp và
tổ chức Nó có tính năng tích hợp hỗ trợ cho các nhóm trò chuyện, tích hợp điện thoại,
và bảo mật mạnh mẽ Nó cũng cung cấp một kinh nghiệm người dùng cuối cùng tuyệtvời với các tính năng như kiểm tra chính tả trong đường dây, phòng trò chuyện nhómdấu trang, và các cuộc hội thoại theo thẻ
Kết hợp với các máy chủ Openfire, Spark là dễ nhất và thay thế tốt nhất để sử dụng antoàn bỏ mạng IM công cộng
Spark là trình chat client hổ trợ giao thức Jabber (XMPP) Spark dùng kết nối với cácserver hổ trợ jabber
Spark có thể chay trên nền hệ điều hành windows, linux, mac-os
1.2) Tính Năng :
Spark tính năng tích hợp hỗ trợ cho các nhóm trò chuyện, tích hợp điện thoại, và bảomật mạnh mẽ Spark cũng cung cấp một kinh nghiệm người dùng cuối cùng tuyệt vờivới các tính năng như kiểm tra chính tả trong đường dây, phòng trò chuyện nhóm dấutrang, và các cuộc hội thoại theo thẻ
Giúp người sử sụng trao đổi thông tin thông qua cửa sổ tin nhắn nhanh, hoặchội thoại (voice)
Trao đổi dữ liệu (file văn bản, hình ảnh) giữa các client
Hội thoại nhóm (thông qua các group chat)
1.3) Giao Thức:
Spark API cung cấp một khuôn khổ cho việc thêm phần mở rộng trên đầu trang củagiao thức và hoặc giao diện người dùng của khách hàng Spark Ví dụ, bạn có thể viếtthư riêng của bạn lọc hoặc thêm một nút vào một phòng chat và gửi các tập tin bằngcách sử dụng File Transfer API
Trang
23