Thành viên sau khi đăng nhập vào hệ thống có thể tham gia vào một phòng họp đang diễn ra
Nhập: Click vào “join” bên cạnh tên phòng họp để vào một phòng họp, nhập pass phòng họp.
Xuất: Thông báo join phòng họp thành công / không thành công
Khi người dùng click vào tên phòng họp, hệ thống kiểm tra xem phòng họp đã bắt đầu chưa, nếu phòng họp đã bắt đầu hệ thống kiểm tra xem tên người đăng nhập có nằm trong danh sách phòng họp không. Nếu tên đăng nhập có trong danh sách thành viên phòng họp, hệ thống yêu cầu người dùng nhập password của phòng họp. Nếu người dùng nhập đúng pass, hệ thống cho phép người dùng join vào phòng họp. Nếu người dùng nhập sai, hệ thống hiển thị thông báo lỗi. Nếu người dùng không có trong danh sách thành viên phòng họp thì hệ thống hiển thị thông báo người dùng không có quyền vào phòng họp trên.
72 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 3993 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đồ án Xây dựng hệ thống web conference dựa trên nền tảng mã nguồn mở Bigbluebutton, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
n trong phòng họp
Khi vào trong phòng họp của BBB, quyền của người sử dụng được phân theo 3 cấp: Viewer, presenter và moderator
Viewer : Là người dùng, không có quyền chính trong các cuộc họp, với chức năng có thể nghe, xem trò chuyện với các thành viên trong cuộc họp, xin quyền presenter trong cuộc họp
Presenter : Có các chức năng như Viewer ,ngoài ra còn có thể trình chiếu văn bản và chia sẻ Desktop
Moderator : Có tất cả chức năng trong phòng họp, và còn thêm quyền điều khiển các cuộc họp
Cụ thể về các tính năng của các cấp :
Viewer:
Giơ tay xin quyền phát biểu
Trên danh sách các người tham gia phòng họp, bạn có thể nhìn thấy tất các thành viên tham,khi thành viên có dấu hiệu giơ tay để lấy sự chú ý của nguời dùng khác,và xin quyền trình bày.
Xem tất cả các người tham gia Cửa sổ Voice hiện tất cả người dùng hiện đang kết nối với hội nghị, hoặc được gọi điện trực tiếp hoặc bằng cách sử dụng gọi voice qua IP client.
Xem bài thuyết trình
Trên bảng thuyết trình, người sử dụng có thể phóng to thu nhỏ bài thuyết trình của presenter thông qua slide điều hướng ở hình vẽ trên.
Public và Private Chat
Cửa sổ chat cho người dùng chát nhóm hoặc chát với từng người trong phòng họp.
Xem con trỏ của presenter
Cùng trong với cửa sổ trình diễn người dùng có thể nhìn thấy presenter đang trình bày chỉ vào đâu thông qua chấm đỏ là di chuột của presenter.
Nhìn các thành viên khác qua webcam
Chia sẻ video qua web bằng cách sử dụng một webcam tích hợp bên ngoài, nhiều người tham gia cùng có thể chia sẻ webcam.
Presenter
Một số chức năng của presenter:
Chỉ thị người presenter
Trên bảng user, ai có biểu tượng như hình vẽ là người có quyền trình bày.
Tắt tiếng hoặc chuyển người khác
Người dùng có thể tắt tiếng trong cuộc họp, hoặc có thể chuyển quyền nói cho người khác bằng các nhấn vào tên của họ rồi nhấn nút eject.
.
Chia sẻ Desktop
Presenter có khả năng chia sẻ màn hình với các tài khoản khác trong cuộc họp, bạn có thể lựa chọn chia sẻ toàn màn hình hoặc một phần màn hình.
Chia sẻ tài liệu PDF hoặc office
Presenter có thể upload file PDF hoặc các file office lên để chia sẻ, có thể up được nhiều file để thay đổi các file trình chiếu.
Moderator
Một số chức năng thêm của moderator :
Điều khiển presenter
Moderator có quyền điều chỉnh, chỉ định người trình bày slide bằng cách chọn người và nhấn nút như hình vẽ.
2.3.4 Kiến trúc của BBB
BBB sử dụng Red5, một triển khai mã nguồn mở của Adobe Flash Media Server. Các máy chủ BBB có thể chạy trong một môi trường đám mây như Amazon EC2, trong phiên bản 0.70 có vấn đề về sự đồng bộ âm thanh, Hiện tại các nhà phát triển đang cải tiến cho VoIP trong thời gian tới của BBB 0.8.Còn hiện tại đang là phiên bản 0.71a cải tiến về chất lượng âm thanh hơn so với bản 0.70 :
Sơ đồ kiến trúc của BBB:
Hình 2-4 : kiến trúc của BBB
Giải thích các thành phần trong kiến trúc :
1 : Nginx : nginx proxies bbb-web and bbb-app s to support to RTMPT (RTMP tunneling) .Server out the bbb-client
2 : Grails : là một framework của java có tác dụng tạo ra các cuộc họp và sắp xếp chúng, là nơi để vào hoặc ra khỏi phòng họp
3 : Swftools : Chịu trách nhiệm biến đổi file PDF presentation slides thành flash
4 : Ghostscript- imagemagick : Cũng chuyển PDF sang Flash trong trường hợp Swftools không thể làm được
5: Openoffice : chịu trách nhiệm biến đổi file .doc, .ppt và .xls sang slide pdf để trình chiếu
6 : The AGI (Asterisk gateway interface) queries the database to determine if the dialed in voice conference number is valid or not
7 : Activemq : Có nhiệm vụ truyền các thông điệp giữa bbb-web và bbb-client
8 : Red 5 : có tác dụng đồng bộ toàn bộ các thành viên trong cuộc họp
9 : The AMI : (asterisk management interface) listen for user events (left/joined,mute/unmute,talk) and issues commands (mute/unmute, kick user ) to asterisk
10 :Asterisk : voice conference server
11 : Sip : Một ứng dụng về voice kết nối tới asterisk
12 : Deskshare : ứng dụng chia sẻ màn hình
13 : Video : ứng dụng video
- Các thành phần chính trong BBB
bbb-apps: red5 web-apps server side
bbb-client: the flex/flash client
bbb-web: các Grails application cho việc đặt phòng họp và log in/out,quản lý bên ngoài phòng họp
deskshare-app: the desktop sharing server side red5-app
deskshare-applet: applet used to capture the screen on the client
bbb-video: video conference server side red5-app
bbb-voice-conference: voice conference server side app (use asterisk)
bbb-config
record-and-playback
-BigBlueButton được xây dựng từ các components open source :
Ubuntu
Ubuntu là một phiên bản của linux , có giao diện thân thiện dễ sử dụng, có cộng đồng phát triển cao, hệ thống BBB được cài đặt trên Ubuntu.
Flex SDK
Flex là open source framework để xây dựng và duy trì các ứng dụng web trên tất cả các trình duyệt browser , được ứng dụng viết trong client của BBB.
Ghostscript
Ghostscript phiên dịch sang Post Script languge và PDF.
Grails
Grails là opensource web application framework hỗ trợ ngôn ngữ Groovy và phát triển java web.
ActiveMQ
Apache ActiveMQ is an open source enterprise messaging and integration patterns provider.
Asterisk
Asterisk is an open source PBX, telephony engine, and telephony applications toolkit.
Image Magick
Tập hợp các tool cho việc xem, chỉnh sửa, xử lý hơn 70 định dạng ảnh khác nhau, cho phép tạo ảnh một cách linh hoạt và tương thích với các web applications
MySQL
MySQL is an open source database
Nginx
Nginx là một server proxy với chức năng chính là chuyển tiếp các yêu cầu tới các server khác trong hệ thống được viết bởi Igor Sysoev.
Nginx được viết với các thuật toán tối ưu, vì vậy nó chiếm tài nguyên hệ thống rất ít và rất nhanh, và nó cực kỳ hữu dụng trong việc phân phối các request tới các máy chủ ảo trong hệ thống.
Red5
Red5 là dự án một mã nguồn mở, là một giải pháp thay thế của Adobe Flash Media Server – một máy chủ hỗ trợ truyền streaming như tốn phí của Adobe. Red5 được viết bằng ngôn ngữ Java hỗ trợ các tính năng sau:
Stream dữ liệu âm thanh (mp3).
Stream dữ liệu hình ảnh (flv).
Thu lại dòng dữ liệu từ client.
Shared Objects
Truyền/phát dữ liệu AV trực tiếp.
Sử dụng giao thức RTMP(Real time messenging protocol).
swf Tools
Là tập hợp các tool làm việc với các swf file, convert các định dạng khác sang swf như pdf2swf, png2swf, có khả năng chuyển một chuỗi ảnh sang swf..
Tomcat
Hệ thống quản lý hội thảo của BBB chạy trên server Apache Tomcat.
Tomcat là hệ thống server mã nguồn mở miễn phí được phát triển bởi Apache Software Foundation. Tomcat cài đặt công nghệ Java Servlet và JavaServer Pages (JSP) và cung cấp môi trường HTTP web server thuần Java để chạy mã lệnh Java.
Asterisk Java
Các gói Asterisk-Java bao gồm một tập các lớp Java cho phép dễ dàng xây dựng các ứng dụng Java tương tác với máy chủ Asterisk PBX.
Xuggler
Xuggler bộ thư viện java và C++ cho phép decode, xử lý, encode hầu hết các định dạng video.
Open Office
OpenOffice.org là mã nguồn mở hàng đầu về phần mềm văn phòng bao gồm bộ phần mềm xử lý văn bản, bảng tính, thuyết trình, đồ họa, cơ sở dữ liệu, …
2.3.5 Đánh giá cụ thể về BBB
Về giao diện:
Giao diện được thiết kế khoa học nhưng còn đơn giản
Việc bố trí layout không hợp lý: không tận dụng hết diện tích của màn hình dẫn đến có phần thì trống, nhưng những phần cần thiết thì nhỏ
Bố trí các nút bấm chức năng nhỏ rải rác, lẻ tẻ gây ra khó khăn trong việc sử dụng lần đầu
Các layout có thể duy chuyển tùy biến theo yêu cầu người dùng, đáp ứng nhu cầu sử dụng của mỗi người dùng khác nhau
Các layout có thẻ minimize làm cho có thể tiết kiệm được nhiều diện tích cho không gian phòng họp. Tuy nhiên lại tạo ra sự không thống nhất, dẫn đến có nhiều thao tác không cần thiết
Về quản lý của BBB
Yêu cầu đối với một hệ thống Web Conference của một DN bao gồm :
Quản lý các dịch vụ về Web Conference
Quản lý người sử dụng các dịch vụ
Quản lý các cuộc họp, các thông tin liên quan đến người sử dụng, cuộc họp phòng họp….
Tất cả những chức năng đó đều chưa có trên BBB
Về cấu trúc
Thiết kế hệ của BigBlueButton rất sáng sủa, logic, mở thể hiện ở việc phân tách giữa các component và việc thiết kế các API để tích hợp với các module của các hệ thống opensource khác.
BigBlueButton sử dụng hầu hết các giải pháp opensource một cách có chọn lọc và ý kiến của cộng đồng. Các developer và cộng đồng hỗ trợ rất tích cực trong việc đề xuất các giải pháp công nghệ cũng như thiết kế
Dễ dàng tích hợp với các hệ thống opensource khác cũng như các hệ thống commercial
Về chức năng:
Voice conference sử dụng asterisk
Chat đã có chat private
Video phụ thuộc vào red5: chậm, delay cao, chất lượng hình ảnh chấp nhận được và có khả năng nâng cao, xử lý tình huống còn đơn giản
Cơ bản đáp ứng đủ các chức năng của web conference đã phân tích: video & voice conference, chat, whiteboard, record & playback đang hoàn thiện, xử lý document,image tốt, presentation tốt+ multicast, unlimited connect
Thiếu một số chức năng : vote, chia sẻ file ,web , record các thông tin cần thiết
Flash based – không cần bất cứ cài đặt gì thêm ngoài applet sử dụng trong capturing
Về cài đặt,sử dụng và bảo trì
Server software đơn giản cho việc cài đặt và bảo trì
Tích cực phát triển, cứ vài tháng là lại có phiên bản mới cải tiến
Hỗ trợ các hệ điều hành khác nhau: window, linux, macos
Cộng đồng hỗ trợ active, free
Qua bản đánh giá trên em thấy chọn BBB để phát triển là hoàn toàn đúng so với các yêu cầu đề ra, cac chức năng chính của BBB cũng tương đối hoàn thiện, tuy có phần quản lý của hệ thống nhất là hệ thống cho các DN là chưa có gì, nên trươc mắt do thời gian không có nhiều em ưu tiên phát triển phần Web của hệ thống trước. Do đó em đã xác định được phạm vi cần phát triển của hệ thống trong thời gian làm đồ án là xây dựng phần quản lý bên ngoài phòng họp bên phía web của hệ thống. Qua tìm hiểu em biết được rằng phần web được viết bằng framework Grails của java, do vậy em sẽ trình bày ở mục tiếp theo về lý thuyết của Grails, framework theo suốt quá trình phát triển phần Web.
2.4 Tìm hiểu về Grails
2.4.1 Sơ lược về Grails
Grails là một framework dùng để phát triển web hiện đại gắn với các công nghệ quen thuộc của Java như Spring và Hibernate cùng với các kinh nghiệm thực tiễn đương thời như quy ước so với cấu hình. Grails tạo là sự tích hợp thông suốt đối với mã Java có sẵn mà vẫn tăng thêm tính linh hoạt và năng động của ngôn ngữ viết, khi bạn đã học Grails bạn sẽ không bao giờ nhìn phát triển Web theo cách cũ nữa.
Sơ đồ kiến trúc của Grails:
Hình 2-5 : Kiến trúc Grails
Từ hình vẽ trên ta thấy Grails cấu tạo dựa trên nền tảng tích hợp của Spring framework và Hibernate.
Ngôn ngữ chính được sử dụng là Groovy, Groovy là một ngôn ngữ động chạy trên JVM và hòa nhập thông suốt đối với ngôn ngữ Java.
Sức mạnh của Grails có thể tóm gọn lại ở những yếu tố sau:
Tăng năng suất lập trình: Grails giúp tự động hóa những công việc và các câu truy vấn đơn giản(dynamic finder), hỗ trợ scaffolding, và hệ thống taglib giúp lập trình viên xử lý html một cách rất dễ dàng.
Giản dị hóa những công nghệ lập trình “sừng sỏ khó nhai” như Spring, Hibernate: Giúp cho việc học và sử dụng dễ dàng với những ứng dụng đơn giản mà vẫn đảm bảo tính linh hoạt, khả chuyển của những công nghệ gốc khi cần thiết.
Quen thuộc với lập trình viên Java: Lập trình viên có thể lập trình bằng hai ngôn ngữ Groovy và Java, thậm chí trộn chung lẫn nhau chương trình cũng vẫn chạy. Điều này giúp rút ngắn thời gian học Grails cho Java-developer.
Cộng đồng sử dụng Grails rất tích cực: Mọi vấn đề nảy sinh đều được nhanh chóng thông báo các phiên bản Grails cũng liên tục được cập nhật để đáp ứng kịp thời các nhu cầu của môi trường công nghiệp.
Thư viện plug-in phát triển phong phú: Cơ chế plug-in của Grails cho phép người sử dụng có thể dễ dàng mở rộng các tính năng của web-application, đồng thời cũng có thể public các plugin này để chia sẻ với cộng đồng. Ví dụ, cần gửi mail từ server thì chỉ cần cài đặt plugin Mail , cấu hình mail server và thêm một dòng code gọi service.
Groovy: Một ngôn ngữ độc đáo và thú vị được cải tiến từ java.
2.4.2 Vai trò của grails trong đồ án
Trong đồ án tôi sử dụng Grails để phát triển phần web trên BBB, toàn bộ code phần web trong đồ án đều được viết từ framework Grails.
2.5 Kết chương
Như vậy, ở chương hai em đã có một cái nhìn tổng quát về hệ thống hội nghị trực tuyến nói chung, cũng như hệ thống hội nghị trực tuyền qua web nói riêng. Trong số các giải pháp dành cho họp trực tuyến, hội nghị qua web là một giải pháp rất tốt và phù hợp với các nhu cầu tất yêu và cần thiết của các doanh nghiệp.
Đi sâu hơn vào tìm hiểu hội nghị truyền hình qua web, em thấy sử dụng nguồn mở BBB hoàn toàn có thể đáp ứng được các yêu cầu về một hội nghị truyền hình trực tuyến chất lượng tốt, chi phí thấp và có khả năng phát triển tốt. công cụ có khả năng hỗ trợ hiệu quả cho việc quản lý các kỹ năng công nghệ thông tin. Như vậy, trọng tâm của đồ án này đã được xác định là phát triển một hệ thống hội nghị qua web dựa trên nguồn mở BBB.
Từ việc chọn opensource BBB để phát triển em đã tìm hiểu sâu hơn về nguồn mở BBB, các chức năng, kiến trúc, công nghệ được sử dụng trong nguồn mở này. Các chức năng sẵn có trong BBB về cơ bản cũng đáp ứng được các nhu cầu trong một phòng họp cần có. Tuy nhiên để triển khai hệ thống cho các doanh nghiệp thì vẫn còn rất nhiều hạn chế, đặc biệt về vấn đề quản lý bên ngoài phòng họp. Như vậy, em đã xác định được phạm vi phát triển trong thời gian làm đồ án đó là phát triển phần Web của hệ thống Emeeting.
CHƯƠNG 3 . NỘI DUNG THỰC HIỆN
3. 1 Phân tích các yêu cầu của hệ thống Emeeting
3.1.1 Giới thiệu Emeeting
Emeeting là hệ thống cho phép nhiều người ở nhiều địa điểm khác nhau cùng tham gia vào một cuộc họp. Mọi người có thể nhìn và nghe thấy nhau nói chuyện.
Hiện nay các hệ thống Emeeting được xây dựng dựa trên những thiết bị và đường truyền riêng. Các điểm họp thường được lắp đặt cố định tại một vị trí.
Ưu điểm của những hệ thống này cho chất lượng voice và video cao, khả năng đáp ứng thời gian thực tốt.
Nhưng hệ thống này cũng tồn tại nhiều nhược điểm như:
Triển khai hệ thống như vậy có chi phí cao.
Hệ thống được thiết lập cố định vị trí cho các phòng họp nên không cơ động khi muốn tham gia họp thì bắt buộc phải di chuyển đến phòng họp đó để tham gia.
Việc tăng thêm một điểm họp nữa là khó thực hiện vì sẽ phải thiết lập thiết bị và kênh truyền riêng - > Chi phí cao.
Tại một thời điểm hệ thống này chỉ cho phép 1 cuộc họp diễn ra. Như vậy hệ thống này có chi phí cao nhưng hiệu năng sử dụng không cao.
Vì vậy yêu cầu đặt ra là cần xây dựng hệ thống emeeting khắc phục được những nhược điểm của hệ thống emeeting trên. Do đó hệ thống này cần phải đáp ứng được những yêu cầu sau:
Giảm chi phí triển khai hệ thống.
Nâng cao tính cơ động cho hệ thống Emeeting. Người muốn tham gia hệ thống có thể ngồi ở bất cứ đâu.
Việc thêm một điểm họp mới đơn giản thuận tiện.
Cho phép nhiều cuộc họp diễn ra cùng một thời điểm.
Để đáp ứng được những yêu cầu trên chúng ta sẽ xây dựng hệ thống Emeeting chạy trên nền web và sử dụng đường truyền internet.
Tuy nhiên hệ thống có nhược điểm là chất lượng cuộc họp phụ thuộc lớn vào băng thông đường truyền. Độ trễ của âm thanh lớn vì dùng giao thức VOIP…
3.2.2 Đối tượng mà hệ thống hướng tới
Đối tượng người dùng:
Hệ thống được sử dụng cho những doanh nghiệp có nhiều chi nhánh ở những vị trí khác nhau và thường xuyên phải họp để trao đổi thống nhất công việc. Việc triển khai hệ thống Emeeting này sẽ giúp tiết kiệm thời gian và chi phí đi lại.
Những doanh nghiệp thường xuyên có nhân viên đi công tác xa cần phải họp để trao đổi công việc cũng có thể sử dụng hệ thống này. Những nhân viên đi công tác có thể ngồi bất cứ đâu cũng có thể tham gia buổi họp chỉ cần hệ thống của họ có trang bị webcam, voice, loa, đường truyền internet.
Hệ thống chăm sóc khách hàng với tính tương tác cao giữa nhân viên và khách hàng. Thông qua hệ thống này khách hàng có thể dễ dàng nhìn thấy hướng dẫn của nhân viên chăm sóc thông qua hệ thống video hoặc trình chiếu, hoặc share desktop.
Hệ thống lớp học online có khả năng tương tác cao giữa giáo viên và học viên.
Hệ thống gồm có hai lớp đối tượng chính:
Quản trị hệ thống: Có chức năng quản lý người dùng người dùng, đơn vị phòng ban công ty, quản lý phòng họp, cuộc họp, tài nguyên, bản ghi cuộc họp và cho phép cấu hình hệ thống.
Người dùng hệ thống: Được phép sử dụng tất cả các chức năng của chương trình với điều kiện đã đăng ký account. Trong lớp người dùng hệ thống lại được phân lớp đối tượng nhỏ hơn bao gồm:
Chủ phòng họp (Host): Người có toàn quyền điều khiển phòng họp. Được gọi là chủ phòng họp.
Presenter: Người trình triếu.
Thư kí phòng họp
Viewer: Người theo dõi cuộc họp
3.1.3 Yêu cầu phần cứng.
Hệ thống Emeeting chạy trên nền web do đó tương thích với các hệ điều hành Window, Linux, Mac-Os.
Yêu cầu phần cứng:
Phía server: Cần server đủ mạnh cho phép xử lý tốt âm thanh, hình ảnh, và đáp ứng được một lượng lớn các request của client.
Một đường truyền băng thông rộng.
Phía client: Mỗi client yêu cầu máy tính kết nối internet, có các trình duyệt được cài đặt web, có cài đặt flash player, webcam, voice, phone.
3.1.4 Yêu cầu về chức năng của hệ thống
Hệ thống này cho phép nhiều người ở nhiều địa điểm khác nhau cùng tham gia vào cùng phòng họp. Mỗi người có thể chia sẻ video, voice, trình chiếu, chia sẻ file, chat…
Chức năng quản trị của admin hệ thống:
Quản lý user : Admin có quyền thêm, sửa, xóa, tìm kiếm các tài khoản trong hệ thống một cách dễ dàng.
Quản lý phòng ban đơn vị trong công ty : Admin có thể thêm, sửa, xóa, tìm kiếm các phòng ban trong công ty, các phòng ban được chia nhỏ làm nhiểu cấp để quản lý các thành viên trong công ty.
Quản lý chức vụ : Admin có thể quản lý chức vụ của các thành viên trong công ty.
Quản lý các phòng họp : Để tạo ra một cách nhìn quen thuộc đối các phòng ban trong công ty, admin có thể tạo ra các phòng cứng để cho người sử dụng dễ hình dung và tìm vào phòng họp, admin có thể thêm, sửa, xóa, tìm kiếm và cài đặt các thông tin cần thiết cho mỗi phòng họp.
Quản lý cuộc họp : Admin có thể quản lý các cuộc họp trên hệ thống một cách dễ dàng, thông tin liên quan cần thiết đến các cuộc họp đã , đang và chưa diễn ra, admin còn có thể sửa, xóa các cuộc họp đó.
Quản lý tài nguyên : Admin có thể quản lý tất cả các tài nguyên được up lên hệ thống, được can thiệp vào tài nguyên trên hệ thống.
Quản lý các bản ghi : Quản lý các bản ghi lại sau các cuộc họp, có thể xem lại nội dung của các bản ghi , và các thao tác khác đến các bản ghi
Quản lý các cuộc họp hay được dùng : Admin có thể quản lý được các cuộc họp hay được dùng của những user trong hệ thống.
Quản lý ngôn ngữ : Admin có thể thêm, sửa và xóa các ngôn ngữ có thể của hệ thống.
Update hệ thống : Khi có yêu cầu từ nhà dịch vụ thì có thể update được hệ thống.
Các chức năng bên phía người dùng:
Đăng nhập hệ thống : Người dùng cần có tài khoản để đăng nhập vào hệ thống để sử dụng các dịch vụ của hệ thống.
Đăng ký một tài khoản mới : Người dùng có thể đăng ký tài khoản mới vào hệ thống khi chưa có tài khoản.
Chức năng tạo ra một phòng họp mới, và cài đặt các cấu hình cần thiết cho cuộc họp.
Tham gia vào một cuộc họp
Nếu là khách mời thì chỉ cần nhập pass vào là có thể tham gia vào cuộc họp
Nếu không phải là khách mời thì cần gửi yêu cầu tham gia cuộc họp tới chủ phòng họp, nếu được chấp nhận thì sẽ được tham gia vào phòng họp
Chức năng quản lý tài nguyên : Mỗi người dùng có thể quản lý các tài nguyên của mình đã up lên hệ thống, có thể up thêm file lên hệ thống để chuẩn bị cho cuộc họp, có thể xóa các file upload không cân thiết, tìm kiếm các file upload theo nhiều cách khác nhau.
Chức năng quản lý các bản ghi : Mỗi người dùng có thể quản lý các bản ghi của các cuộc họp mình đã tham gia, để có thể xem lại nội dung các cuộc họp đó, có thể xóa các bản ghi đó.
Quản lý tài khoản : Người dùng có thể tùy chỉnh tài khoản của mình, như thay đổi password , thay đổi họ tên, avatar.. các thông tin liên quan đến tài khoản.
Chức năng xem lại các cuộc họp hay dùng : Người dùng có thể xem lại các cuộc họp mà hay dùng đến cho các công việc lâu dài, cần họp nhiểu lần, có thể không cần cấu hình lại cuộc họp mà có thể cho họp ngay được.
Chức năng quản lý các cuộc họp : Người dùng có thể quản lý được các cuộc họp của mình, các cuộc họp mà mình tạo ra và các cuộc họp được mời.
Chức năng thay đổi ngôn ngữ : Người dùng có thể thay đổi ngôn ngữ của trang web.
Các chức năng khi vào phòng họp:
Chia sẻ audio
Xây dụng trên VoIP mics và conferencing
Cho phép các bên có khả năng nói, nghe thấy tiếng của nhau
Có các chức năng điều khiển chất lượng audio, âm lượng
Tắt voice của một người trong cuộc họp, không muốn nghe người dùng nào đó nói.
Người dùng có thể nói cho cả phòng nghe thấy, hoặc nói cho một group nhỏ trong phòng họp
Có chức năng cấp quyền sử dụng audio của chủ phòng họp cho các người dùng khác có trong phòng
Chia sẻ video
Dùng webcam, camera để chia sẻ hình ảnh trong phòng họp
Chức năng xem hình ảnh trực tuyến của các thành viên trong phòng họp
Người dùng có thể dùng để chia sẻ các sự kiện trực tuyến như party, holiday..
Tham gia các lớp học trực tuyến, các diễn đàn
Chức năng tạm dừng, minimize cửa sổ video của chủ phòng, hoặc người trình chiếu presenter
Chức năng điều chỉnh chất lượng hình ảnh: chất lượng thấp, trung bình hay chất lượng cao
Chủ phòng có thể cấp quyền sử dụng video cho các người dùng khác và thu quyền chia sẻ cửa sổ video
Trình chiếu văn bản (powerpoint, pdf, ppt, pptx)
Cho phép trình chiếu các loại file văn bản khác nhau, bao gồm file ảnh
Có chức năng cho phép gạch chân, viết ghi chú.,.
Mỗi phần ghi chú sẽ có màu giống như màu của mỗi nick người dùng có trong phòng họp để phân biệt
Người trình chiếu có thể cho phép hoặc không cho phép người dùng trong phòng comment vào tài tài liệu trình chiếu, xóa tất cả comment của người dùng đã viết trước đó
Người dùng có thể zoomIn, Zoom Out, fullscreen
Chia sẻ màn hình màn hình (PC desktops)
Chia sẻ màn hình máy tính của người presenter cho cả phòng họp
Presenter phải cải đặt một tool hỗ trợ việc chia sẻ màn hình trong lần chia sẻ đầu tiên
Yêu cầu đối với chức năng này là giảm độ trễ, độ phân giải tốt
Chia sẻ bảng trắng (Share whiteboards)
Chia sẻ các dòng văn bản, con số, đồ thị, hình vẽ, kết quả tính toán
Có các công cụ để vẽ, tẩy xóa, phân biệt người dùng thông qua màu của mỗi người dùng có trong list
Chủ phòng họp có quyền cấp hay hủy quyền Chia sẻ bảng trắng của người dùng
Chia sẻ web page
Chia sẻ các Url, nội dung các trang web, các đoạn video, clip, audio trên web cho cả phòng họp
Các thành viên trong phòng họp có thể điều hướng các trang tùy theo màn hình mỗi người
Các thành viên có thể tắt màn hình chia sẻ web page, thành viên phòng họp muốn chia sẻ web page phải được chủ phòng cấp quyền
Ghi lại hội nghị và phát lại
Có chức năng ghi lại nội dung của hội nghị
Các hình ảnh và âm thanh sẽ được lưu dưới dạng các file video
Các chia sẻ như: whiteboard, share document, share webpage… được lưu dưới dạng file video
Nội dung chat public, chat private sẽ được lưu dạng text
Các file lưu trữ sẽ được lưu trữ tại server của hệ thống, server sẽ gửi đường dẫn tới chủ phòng họp
Chủ phòng có thể tải về máy tính và phát lại nội dung của hội nghị đã được ghi lại
Public chat
Các thành viên được quyền tham gia, chia sẻ các nội dung công cộng
Hỗ trợ các emoticon
Có thể lưu trữ các nội dung chat tạm thời hoặc lưu vào trong máy tính cá nhân
Private chat
Chat private giữa hai người dùng, một người dùng có thể private chat cùng lúc với nhiều người dùng khác
Hỗ trợ emoticon
Có chức năng thông báo cho người dùng khác khi có tin nhắn đến
Chức năng sendfile, chia sẻ ảnh, biểu tượng, trạng thái
Group chat
Các người dùng có thể tạo group chat, mời các thành viên tham dự
Một pop up cho phép bạn đồng ý hay từ chối tham gia group
Đặt lịch cuộc họp
Chủ phòng có thể sử dụng ứng dụng calendar để đặt trước phòng họp. Đến giờ họp thì hệ thống tự động tạo phòng họp với các chức năng của phòng được để mặc định
Các người dùng có thể xóa, chỉnh sửa và bắt đầu ngay phòng họp mà mình đã đặt
Email và calendaring
Tài khoản mail chính là tài khoản đăng nhập hệ thống
Cho phép chủ phòng họp và các thành viên phòng họp có thể trao đổi email cho nhau
Chức năng calendar cho phép xem ngày giờ, viết ghi chú, nhắc nhở, ghi chép, nhật ký
Hỗ trợ chức năng đặt lịch phòng họp
Vote
Biểu quyết: chức năng phòng họp đưa ra quyết định cuối cùng về một lĩnh vực bằng cách tham gia biểu quyêt
Các chức năng của host
Meeting room: Là tên phòng họp, có định dạng, và giới hạn kích thước
Không chứa ký tự đặc biệt
Phải nhiều hơn 4 ký tự
Người dùng List: Là chức năng hiện các người dùng và trạng thái của họ khi tham gia vào phòng họp
Auto accept extendees: Xuất hiện thông báo nếu có thành viên tham gia vào phòng họp, chủ phòng họp chấp nhận hay không chấp nhận cho phép tham gia phòng họp
Persistent chat: Khi bạn thoát khỏi phòng họp mà không lưu lại nội dung chat, thì chức năng này cho phép xem lại lịch sử chat từ thời điểm 20 phút trước
Video option: Có thể điều chỉnh chất lượng, số frame, hight quality video, on/off video, tùy chỉnh màn hình video, ghi lại video, phát lại video
Audio option: Điều chỉnh âm lượng, on/off/stop, ghi và phát lại audio
Lưu và phát lại cuộc họp: Các cuộc họp sẽ được lưu phát lại cho những ai không tham gia và cho những người muốn xem lại.
Trạng thái người dùng: Chức năng này cho phép các người dùng lựa chọn để thể hiện trạng thái của mình như: online, muốn phát biểu.
Lựa chọn ngôn ngữ: Cho phép tùy chọn ngôn ngữ thể hiện ( tiếng Việt/tiếng Anh)
Các chức năng khác để thiết lập hệ thống như:
Thiết lập số người tham gia phòng họp
Thời gian họp: định thời gian họp và có thể thêm thời gian họp
Kết thúc họp
Điều khiển băng thông
Quit và logout
3.1.5 Mô hình thiết kế hệ thống
eMeeting trong mạng Intranet
Hình 3-1 : eMeeting trong mạng Intranet
eMeeting ngoài mạng Internet
Hình 3-2 : eMeeting ngoài mạng Internet
Các module chính
STT
Tên module
Yêu cầu và chức năng
1
Trình duyệt Presenter
Trình duyệt web của presenter cài đặt Flash Player và phần mềm hỗ trợ Chia sẻ màn hình Screencaster.
2
Trình duyệt người tham dự
Trình duyệt web của người tham dự yêu cầu cài đặt Flash Player.
3
eMeeting Server
Server điều phối hoạt động của các conference trực tuyến.
4
Mail Server
Server dùng quản lý mail cho hệ thống
5
Database Server
Server lưu thông tin các tài khoản, các cuộc họp, quản lý các tài nguyên
Bảng 3-1 : Các module chính
3.2 Phân tích chi tiết thiết kế phần web của hệ thống Emeeting
3.2.1 Đặc tả các chức năng phần quản trị hệ thống emeeting
Biểu đồ use case phần quản trị ngoài phòng họp của hệ thống emeeting:
Hình 3-3 : Use case của hệ thống
Danh sách các dịch vụ của participant (*)
1
Video
Dịch vụ video conference
2
Audio
Dịch vụ chat voice
3
Chat
Dịch vụ chat
4
Whiteboard
Dịch vụ bảng trắng
5
Presentation
Dịch vụ trình chiếu
6
Record
Dịch vụ ghi lại cuộc họp
7
Share desktop
Chia sẻ màn hình
8
Share resource
Chia sẻ tài nguyên
9
Tool
Công cụ cho nơi làm việc
Bảng 3-2 :Danh sách các dịch vụ của particiant
Danh sách các Actor
Admin
Quản trị viên của hệ thống
User
Người dùng sau khi đăng nhập vào hệ thống
Guest
Người dùng mà chưa có tài khoản trong hệ thống
Participant
Người dùng sau khi tham gia vào phòng họp
Bảng 3-3 : Danh sách các actor
Danh sách các Use case
Cho admin
STT
Use case
Ý nghĩa
1
Login/logout
Đăng nhập /thoát khỏi hệ thống
2
Manager resource system
Quản lý tài nguyên của hệ thống
3
Manager room
Quản lý các phòng họp trong hệ thống
4
Manager user
Quản lý các user trong hệ thống
5
Manager record
Quản lý các bản ghi các cuộc họp của hệ thống
6
Manager organization
Quản lý các phong ban đơn vị trong công ty
7
Manager position
Quản lý các chức vụ trong công ty
8
Manager fovourite
Quản lý các cuộc họp phòng họp hay được dùng
9
Manager language
Quản lý ngôn ngữ hệ thống
Bảng 3-4 :Danh sách các usecase cho admin
Cho User, guest và participant:
STT
Use case
Ý nghĩa
1
Register
Đăng ký tài khoản mới vào hệ thống
2
Login/logout
Đăng nhập/thoát ra khỏi hệ thống của user
3
Join meeting
Tham gia vào một phòng họp đang diễn ra
4
Create meeting
Tạo ra một phòng họp mới
5
Start meeting
Bắt đầu một cuộc họp
6
Manager resource
Quản lý tài nguyên của người sử dụng
7
Manager meeting
Quản lý các cuộc họp của cá nhân
8
Manager record
Quản lý các bản ghi các cuộc họp mà user đã tham gia
9
Manager favourite
Quản lý các phòng họp cuộc họp hay dùng
10
Chose language
Chọn ngôn ngữ cho hệ thống
11
Use service
Các dịch vụ khi vào phòng họp
12
Manager meeting
Quản lý các cuộc họp
Bảng 3-5 : Danh sách các use case cho người dùng
3.2.2 Đặc tả chi tiết một số chức năng của phần Web
Phần quản trị:
Use case Login/logout
Mô tả :
Khi admin truy cập vào trang admin, admin có thể đăng nhập vào hệ thống, nếu như tài khoản đăng nhập sai sẽ đưa ra thông báo đăng nhập lại.
Khi admin trong hệ thống mà muốn thoát ra khỏi hệ thống click vào nút logout hệ thống sẽ đưa rat rang login của admin.
Use case manager user
Mô tả :
Quản trị các chức năng của hệ thống, admin có thể tìm kiếm các user theo account, theo phòng ban của công ty và theo chức vụ trong công ty, giúp cho admin có thể quản lý một cách dễ dàng.
Admin có thể xóa một tài khoản hay lựa chọn nhiều tài khoản để xóa cùng một lúc.
Admin cũng có thể thay đổi trực tiếp thông tin của tài khoản trong hệ thống hoăc admin có thể thêm user vào trong hệ thống.
Hình 3-4 : Giao diện quản lý user
Use case manager room
Mô tả:
Admin có thể quản lý các phòng họp cố định, thêm một phòng mới và có thể cấu hình cho phòng họp đó
Admin có thể xóa, sửa các thông tin liên quan đến phòng họp
Admin có thể cấu hình cho từng phòng họp cụ thể về các thông số cần thiết cho phòng họp theo ý muốn của từng doanh nghiệp cho hợp lý, như cấu hình về số người tham gia, thời gian chờ tối đa của phòng họp, dung lượng tối đa của các file được tải lên hệ thống.
Hình 3-5 : Giao diện quản lý phòng họp
Use case manager meeting
Mô tả :
Admin có thể quản lý các cuộc họp trên hệ thống.
Có thể quản lý các thao tác cơ bản liên quan đến hệ thống như : tìm kiếm các cuộc họp với các ràng buộc theo ngày cụ thể, theo khoảng thời gian từ ngày …đến ngày, tìm các phòng họp đang diễn ra ,tìm kiếm theo phòng họp trên hệ thống, tìm theo tên người đã tạo cuộc họp hay tìm theo trạng thái của cuộc họp đã diễn ra hay chưa hay đã kết thúc giúp cho việc quản lý hệ thống một cách thuận tiện.
Có thể xóa các phòng họp trên hệ thống bằng cách chọn từng phòng hoặc xóa cùng lúc với lựa chọn nhiều phòng.
Hình 3-6 :Giao diện quản lý cuộc họp
Use case manager organization
Mô tả :
Admin quản lý các phòng ban đơn vị trong công ty
Các phòng ban trong công ty được thiết lập theo danh mục cây thư mục, giúp cho việc quản lý, tìm kiếm các phòng ban dễ dàng
Admin có thể tác động với các thao tác cơ bản liên quan đến phòng ban, như tìm kiếm, thêm phòng ban, sửa và xóa phòng ban đơn vị theo ý muốn.
Use case manager position
Mô tả :
Admin có thể quản lý các chức vụ trong công ty, thuận tiện cho việc quản lý user
Admin có các chức năng cơ bản của quản lý chức vụ, như tìm kiếm, thêm, sửa và xóa các chức vụ.
Use case manager resource
Mô tả :
Admin có thể quản lý tất cả các tài nguyên mà người dùng đã up lên hệ thống
Có thể xóa, tác động thay đổi đến các tài nguyên trên hệ thống mà không cần hỏi ý kiến của các user
Có thể thống kê lại các tài nguyên, tìm kiếm các tài nguyên.
Hình 3-7 : Giao diện quản lý tìa nguyên
Use case manager record
Mô tả :
Quản các bản ghi, ghi lại các cuộc họp đã diễn ra trên hệ thống , bản ghi chứa toàn bộ thông tin liên quan đến cuộc họp, nội dung của cuộc họp
Có thể tìm kiếm các bản ghi theo tên người tạo ra cuộc họp, theo các cuộc họp của từng đơn vị
Có thể xóa các bản ghi bằng cách chọn một hoặc chọn nhiều bản ghi.
Hình 3-8 : Giao diện quản lý các bản ghi
Use case manager language
Mô tả :
Để thuận tiện cho việc sử dụng hệ thống về ngôn ngữ, admin có thể điều chỉnh được ngôn ngữ của hệ thống, thêm sửa, xóa ngôn ngữ trong hệ thống.
Use case manager favourite
Mô tả :
Quản lý các phòng họp, cuộc họp trên hệ thống mà hay được sử dụng, dùng đi dùng lại nhiều lần, tiện lợi cho việc cài đặt quản lý.
Use case update system
Mô tả :
Khi có yêu cầu về update hệ thống , thì admin có khả năng update thêm các phiên bản mới.
Phần người dùng
Tên use case Login/logout
Mô tả :
Hệ thống chỉ cho phép những user tồn tại trong cơ sở dữ liệu của hệ thống đăng nhập vào.
Nếu user không có tài khoản đăng nhập, user có thể click vào link “register account”, khi đó một giao diện “register account” sẽ mở ra cho phép bạn đăng kí tài khoản.
Bạn sẽ đăng nhập với tên tài khỏan và mật khẩu của mình để login, nếu tài khoản không hợp lệ, một cảnh báo sẽ xuất hiện thông báo là đăng nhập sai
Nếu bạn quên mất mật khẩu đăng nhập, bạn click vào link “Bạn quên mật khẩu” một giao diện sẽ mở ra cho phép bạn trả lời các câu hỏi bảo mật, hoặc gửi mail tới quản trị hệ thống để lấy lại mật khẩu
Nếu bạn muốn lưu lại mật khẩu để cho những lần đăng nhập sau, bạn có thể click vào checkbox “Lưu mật khẩu cho lần đăng nhập sau”
Bạn hòan tất việc đăng nhập để vào tạo phòng họp bằng cách click vào nút “Login”
Còn khi bạn trong hệ thống click vào Logout hệ thống sẽ tự động đưa ra khỏi hệ thống, giao diện chuyển về trang Login.
Use case create meeting
Mô tả :
Người dùng có thể tạo ra một phòng họp để họp
Khi vào giao diện chính ta sẽ thấy được các thông tin các phòng họp đang diễn ra, phòng trống, hay đang chờ .Để tạo phòng họp user click link “Create meeting” trên giao diện chính
Khi click vào “create meeting” sẽ hiện lên form với các thông số cần điền được gợi ý vào phòng họp như hình vẽ.
Hình 3-9 : Giao diện tạo phòng họp
Để hoàn tất việc tạo phòng họp và thiết lập các chức năng của phòng họp, người dùng click vào “Create” khi đó giao diện của phòng họp sẽ được mở ra
Bạn có thể chọn chức năng để cuộc họp bắt đầu ngay, hoặc cuộc họp sẽ bắt đầu sau khoảng thời gian nào đó, khi đó phòng họp sẽ được đặt, thông tin của nó sẽ được hiện lên trên danh sách những phòng họp đã đặt.
Use case join meeting
Mô tả :
Thành viên sau khi đăng nhập vào hệ thống có thể tham gia vào một phòng họp đang diễn ra
Nhập: Click vào “join” bên cạnh tên phòng họp để vào một phòng họp, nhập pass phòng họp.
Xuất: Thông báo join phòng họp thành công / không thành công
Khi người dùng click vào tên phòng họp, hệ thống kiểm tra xem phòng họp đã bắt đầu chưa, nếu phòng họp đã bắt đầu hệ thống kiểm tra xem tên người đăng nhập có nằm trong danh sách phòng họp không. Nếu tên đăng nhập có trong danh sách thành viên phòng họp, hệ thống yêu cầu người dùng nhập password của phòng họp. Nếu người dùng nhập đúng pass, hệ thống cho phép người dùng join vào phòng họp. Nếu người dùng nhập sai, hệ thống hiển thị thông báo lỗi. Nếu người dùng không có trong danh sách thành viên phòng họp thì hệ thống hiển thị thông báo người dùng không có quyền vào phòng họp trên.
Use case manager resource
Mô tả :
người sử dụng có thể quản lý các tài nguyên mà mình đã up lên hệ thống dễ dàng, có thể tìm kiếm, thêm , sửa , xóa các tài nguyên.
Các tài nguyên được upload lên hệ thống được converse sẵn sang dạng .swf để thực hiện trình chiếu khi vào trong phòng họp, khi đó vào trong phòng họp sẽ không mất thời gian upload
Hình 3-10 : Giao diện quản lý tài nguyên phía người dùng
Use case manager record
Mô tả :
Người dùng có thể quản lý các bản ghi của các cuộc họp mà mình đã tham gia, có thể xem lại nội dung của các cuộc họp đó.
Use case manager favourite
Mô tả :
Người dùng có thể quản lý các cuộc họp mà mình hay tham gia, được họp đi họp lại nhiều lần, tiên cho việc quản lý các cuộc họp
Use case chose language
Mô tả :
Người dùng có thể chọn các ngôn ngữ phù hợp cho mình, các ngôn ngữ săn có được tích hợp trên hệ thống, ngôn ngữ mặc định là tiếng Anh.
3.2.3 Hiện thực hóa các một số use case phần Web
Phần quản trị
Phần người dùng
Use case Login
Hình 3-11 : Biểu đồ tuần tự Login
Usecase change profile
Hình 3-12 :Biểu đồ tuần tự thay đổi thông tin tài khoản
Use case create meeting
Hình 3-13 : Biểu đồ tuần tự tạo phòng họp
Use case Join meeting
Khi join vào phòng họp mà người dùng( user) được mời (người dùng có pass vào phòng họp)
Hình 3-14 :Biểu đồ tuần tự khi được mời vào họp
Khi user tham gia vào phòng họp mà không được mời
Hình 3-15 :Biểu đồ tuần tự tham gia vào phòng họp mà không được mời
Khi tham gia phòng họp là khách không có tài khoản trong hệ thống
Hình 3-16 :Biểu đồ tuần tự khi khách tham gia phòng họp
Use case guest
Use case register
Hình 3-17 :Biểu đồ tuần tự đăng ký tài khoản
Do các use case quản lý trong hệ thống thường là các thao tác thêm ,sửa, xóa và tìm kiếm nên em vẽ đại diện cho tất cả các phần quản lý của admin và người dùng
Use case tìm kiếm cho user và admin
Hình 3-18 :Biểu đồ tuần tự tìm kiếm
Use case thêm, user hoặc admin có thể thêm các đối tượng như user,position, organization….
Hình 3-19 :Biểu đò tuần tự thêm đối tượng vào cơ sở dữ liệu
Use case delete : dành cho cả user và admin
Có thể xóa được các đối tượng trong hệ thống
Hình 3-20 :Biểu đò tuần tự xóa
3.2.4 Bảng cơ sở dữ liệu
Bảng mối quan hệ
Hình 3-21 :bảng cơ sở dữ liệu của hệ thống
Thiết kế các bảng trong cơ sở dữ liệu
Bảng User : Lưu toàn bộ thông tin về các thành viên có trong hệ thống . Các thông tin bắt buộc bao gồm người dùng username và password được sử dụng
Field
Type
Null
Default
Comments
id
bigint(20)
No
version
bigint(20)
No
avatar
mediumblob
Yes
NULL
email
varchar(255)
No
fullname
varchar(255)
No
img_type
varchar(255)
No
isadmin
bit(1)
No
password
varchar(255)
No
permission
varchar(255)
No
Quyền của user
username
varchar(255)
No
organization_id
bigint(20)
Yes
NULL
position_id
bigint(20)
Yes
NULL
Bảng 3-6 :Bảng chứa thông tin tài khoản
Bảng Organization : Bảng lưu toàn bộ các phòng ban , đơn vị trong công ty, có quan hệ cha con để tiện cho việc quản lý.
Field
Type
Null
Default
Comments
id
bigint(20)
No
version
bigint(20)
No
code
varchar(255)
No
Mã đơn vị
name
varchar(255)
No
Tên tổ chức
parent_id
bigint(20)
Yes
NULL
scale
int(11)
No
Quy mô của đơn vị
Bảng 3-7 :Bảng chứa thông tin phòng ban đơn vị
Bảng Position : Bảng chứa các chức vụ trong công ty, doanh nghiệp ví dụ như : staff, leader, manager…..
Field
Type
Null
Default
Comments
id
bigint(20)
No
version
bigint(20)
No
name
varchar(255)
No
Bảng 3-8 : Bảng chứa thông tin chức vụ
Bảng Resource : Chứa các thông tin về tài nguyên được up lên hệ thống, mỗi khi người dùng upload file để trình chiếu lên hệ thống sẽ lưu lại thông tin của file và đường dẫn chứa file trên hệ thống.
Field
Type
Null
Default
Comments
id
bigint(20)
No
version
bigint(20)
No
name
varchar(255)
No
owner
varchar(255)
No
path
varchar(255)
No
size
int(11)
No
time_upload
datetime
No
type
varchar(255)
No
Bảng 3-9 : Bảng chứa thông tin về tài nguyên
Bảng Resource_User : Dùng để tạo quan hệ nhiều nhiều giữa bảng User và Resource
Field
Type
Null
Default
Comments
id
bigint(20)
No
version
bigint(20)
No
resource_id
bigint(20)
No
user_id
bigint(20)
No
Bảng 3-10 :Bảng mối quan hệ Resource_User
Bảng Record : Bảng chứa các bản ghi lại của cuộc họp trên hệ thống, sau mỗi cuộc họp các thông tin và file liên quan đến cuộc họp được lưu trong bảng này.
Field
Type
Null
Default
Comments
id
bigint(20)
No
version
bigint(20)
No
chat_record_path
varchar(255)
No
meetingid
int(11)
No
resultcontent
varchar(255)
No
video_record_path
varchar(255)
No
voice_record_path
varchar(255)
No
Bảng 3-11 : Bảng chứa thông tin các bản ghi cuộc họp
Bảng Meetings_Resource : Dùng để biểu thị mối quan hệ nhiều nhiều giữa Meeting và Resource .
Field
Type
Null
Default
Comments
id
bigint(20)
No
version
bigint(20)
No
meetings_id
bigint(20)
No
resource_id
bigint(20)
No
Bảng 3-12: Bảng mối quan hệ Meetings_Resource
Bảng Room : Bảng chứa các phòng họp cố định
Field
Type
Null
Default
Comments
id
bigint(20)
No
version
bigint(20)
No
roomname
varchar(255)
No
status
boolean
No
statusmeeting
int
no
Bảng 3-13 :Bảng chứa thông tin các phòng họp cố định
Bảng User_Meetings : Dùng để tạo mối quan hệ giữa bảng User và bảng Meetings
Field
Type
Null
Default
Comments
id
bigint(20)
No
version
bigint(20)
No
user_id
bigint(20)
No
meetings_id
bigint(20)
No
Bảng 3-14 :Bảng mối quan hệ User_Meetings
Bảng Module : Tạo ra các module để tiện cho quản lý phần admin
Field
Type
Null
Default
Comments
id
bigint(20)
No
version
bigint(20)
No
img_type
varchar(255)
Yes
NULL
links
varchar(255)
No
name
varchar(255)
No
photopath
mediumblob
Yes
NULL
status
bit(1)
No
Bảng 3-15:Bảng chứa các module phần quản trị
Bảng Meetings : Bảng chứa các thông tin liên quan đến cuộc họp
Field
Type
Null
Default
Comments
id
bigint(20)
No
version
bigint(20)
No
description
varchar(255)
Yes
NULL
listuser
varchar(255)
Yes
NULL
Password
varchar(255)
Yes
NULL
namemeeting
varchar(255)
Yes
NULL
Status
bit(1)
No
statusmeeting
int(11)
No
timeend
datetime
Yes
NULL
timestart
datetime
Yes
NULL
usercreate
varchar(255)
Yes
NULL
Bảng 3-16 : Bảng chưa thông tin đến cuộc họp
Bảng Settingmeeting : Bảng cài đặt các chức năng cho phòng họp
Field
Type
Null
Default
Comments
id
bigint(20)
No
version
bigint(20)
No
voice
varchar(255)
No
video
varchar(255)
No
presention
bigint(20)
Yes
NULL
Bảng 3- 17 : Bảng chứa thông tin cài đặt cho phòng họp
Bảng Language : Bảng ngôn ngữ của hệ thống
Field
Type
Null
Default
Comments
id
bigint(20)
No
version
bigint(20)
No
name
varchar(255)
No
imgtype
varchar(255)
No
path
varchar(255)
No
flag
byte
No
chose
boolean
No
Bảng 3-18 : Bảng ngôn ngữ
3.3 Cài đặt và phát triển phần Web của hệ thống Emeeting
3.3.1 Hệ thống eMeeting được xây dựng trên các công cụ và môi trường sau:
Công cụ phân tích thiết kế: UMLet và Microsoft Visio 2007, smart draw
Môi trường cài đặt hệ thống: Ubuntu 8.04.
Môi trường lập trình: java ,groovy, sử dụng Grails framework
IDE sử dụng : netbean 6.5
Hệ quản trị cơ sở dữ liệu: MySQL.
Phần mềm mã nguồn mở Bigbluebutton
Trình duyệt firefox,ie, chrome
3.3.2 Cài đặt BBB
Trước khi cài đặt BBB 0.71a cần phải đảm bảo:
Hệ điều hành Ubuntu 10.04 32-bit or 64-bit server
2Gb memory RAM
5G ổ cứng
Cổng 80 chưa được sử dụng bởi ứng dụng nào cả (nếu được sử dụng rồi thì có thể thay đổi cổng bằng cách sửa lại cổng trong /etc/apache2/ports.conf)
Trước tiên cài đặt địa chỉ để down BBB về:
# Install the package key wget -O- | sudo apt-key add - # Add the BigBlueButton repository URL and ensure the multiverse is enabled echo "deb bigbluebutton-lucid main" | sudo tee /etc/apt/sources.list.d/bigbluebutton.list echo "deb lucid multiverse" | sudo tee -a /etc/apt/sources.list
Cài đặt Video conference server : Ta có thể chọn một trong hai server là Asterisk or FreeSWITCH (lưu ý chỉ chọn một trong hai server)
Cài đặt FreeSWITCH:
sudo apt-get install python-software-properties sudo add-apt-repository ppa:freeswitch-drivers/freeswitch-nightly-drivers sudo apt-get update sudo apt-get install bbb-freeswitch-config
Hoặc cài đặt Asterisk:
sudo apt-get update sudo apt-get install bbb-voice-conference
Cài đặt Bigbluebutton:
sudo apt-get install bigbluebutton
Chỉ cần dùng câu lệnh trên hệ thống sẽ tự động cài đặt một cách nhanh chóng và đã được cấu hình và tích hợp các server cho hệ thống, khi cài đặt hệ thống yêu cầu nhập thêm thông tin pass cho mysql
Cách buil phần web để phát triển:
Trước tiên ta phải cấu hình gói web bằng câu lệnh:
bbb-conf --setup-dev web
Sau đó dùng tomcat tại cổng 8080:
sudo service tomcat6 stop
Và chuyển tới gói web để buil:
cd ~/dev/source/bigbluebutton/bigbluebutton-web ant
(Chi tiết cài đặt :
3.3.3 Phát triển phần quản lý hệ thống (phần Web)
Phần Web của hệ tongs em đã phát triển được khá hoàn thiện các chức năng chính cho phần quản lý , cụ thể em đã phát triển được các chức năng :
Bên quản trị admin
Giao diện chính của admin sau khi đăng nhập thành công:
Hình 3-22 :Giao diện chính admin
Xây dựng chức năng module để quản lý các modul chứ năng của hệ thống, có đầy đủ các thao tác cơ bản các chức năng thêm , sửa , xóa
Xây dựng chức năng quản lý User của hệ thống
Hình 3-23 :Quản trị user
Xây dựng chức năng quản trị các chức vụ trong công ty :
Hình 3-24 :Quản trị chức vụ
Xây dựng chức năng quản lý phòng ban trong đơn vị, công ty
Hình 3-25 :Thông tin chi tiết phòng ban
Xây dựng chức năng quản trị các cuộc họp của hệ thống
Xây dựng chức năng quản trị tài nguyên được upload lên hệ thống
Xây dựng trang quản trị ngôn ngữ hệ thống
Hình 3-26 :quản trị ngôn ngữ hệ thống
Bên phía người dùng
Giao diện trang login:
Hình 3-27 :Giao diện đăng nhập
Trang đăng ký tài khoản:
Hình 3-28 :Đăng ký tài khoản
Giao diện chính khi user đăng nhập vào:
Hình 3-29 :Giao diện chính của user
Xây dựng các chức năng của người sử dụng về thông tin tài khoản
Xây dựng trang quản lý tài nguyên của mỗi cá nhân người sử dụng:
Hình 3-30 :Quản lý tài nguyên
-
-Xây dựng chức năng tạo phòng họp mới :
Hình 3-31 :Tạo một phòng họp mới
- Xây dựng các chức năng tham gia vào phòng họp, yêu cầu phải nhập pass
Hình 3-32 : Tham gia vào một phòng họp
-Xây dựng chức năng quản trị các cuộc họp của người sử dụng
Hình 3-33:Quản lý cuộc họp
3.4 Kết luận chương
Ở chương này, em đã hiểu rõ hơn những yêu cầu chi tiết của hệ thống eMeeting. Với mục đích thực hiện các mục tiêu đề ra ở chương 2, về cơ bản eMeeting đã đáp ứng được các chức năng cần thiết bên phía Web để triển khai thực tế trong các doanh nghiệp trong nước. Hệ thống có thể được sử dụng ngay trong nội bộ công ty.
Từ bản phân tích chức năng cho toàn hệ thống eMeeting em đưa ra thiết kế chi tiết chức năng phần quản trị cho hệ thống và cơ sở dữ liệu của toàn bộ hệ thống eMeeting. Các chức năng mới được xây dựng nhằm khắc phục một phần hạn chế lớn nhất đã được nêu ra ở chương 2 và đây là những chức năng chính được em phát triển trong hệ thống eMeeting từ nguồn mở BBB.
Phần công việc làm đã làm trên hệ thống gồm :
Cách cài đặt BBB trên Ubuntu và buil phần Web của BBB để phát triển
Các công việc đã làm được: gồm các chức năng mới xây dựng cho phần quản trị của hệ thống (phần Web)
CHƯƠNG 4 . KẾT LUẬN
4.1. Kết luận
Trong thời gian thực hiện đề tài, đến nay hệ thống về cơ bản đã đáp ứng được tốt các nhiệm vụ đồ án đề ra. Là người trực tiếp thực hiện thiết kế và xây dựng tôi xin phép được tự đánh giá về đề tài của mình như sau :
Kết quả đạt được cho hệ thống:
Tìm hiểu và đưa ra bản đánh giá, thiết kế cho hệ thống nhằm phục vụ cho công việc phát triển thêm cho hệ thống cho tương lai.
Triển khai thành công hệ thống trên server chạy hệ điều hành Ubuntu TLS 8.04.
Xây dựng thành công hệ thống, trên cơ sở hiểu được kiến trúc và chức năng của mã nguồn mở Bigbluebutton.
Xây dựng phần bên ngoài phòng họp, để có thể quản lý các thông tin liên quan đến phòng họp .
Kết quả đạt được cho bản thân:
Làm quen với được với các ngôn ngữ lập trình: groovy,java..
Áp dụng được các công nghệ: GSP, và framework của java đó là Grails.
Làm quen với môi trường làm việc mã nguồn mở dựa trên nền tảng Unix.
Tìm hiểu các kiến thức về Video conference.
Làm quen được với hệ thống tác nghiệp văn phòng.
Một số hạn chế :
Do thời gian hạn hẹp của quá trình làm đồ án, nên em chưa xây dựng được chi tiết thiết kế và phát triển các chức năng bên trong phòng họp, cũng như cơ sở dữ liệu cần thiết cho phía Client.
Do chưa tìm hiểu được nhiều bên phía Client nên e chưa hoàn thiện được chức năng quản lý các bản ghi của các cuộc họp.
vẫn chưa tìm ra được giải pháp tối ưu để cải thiện được chất lượng truyền âm thanh và hình ảnh của hệ thống
Do điều kiện cơ sở vật chất nên hiện nay vẫn chưa kiểm tra được khả năng chịu tải của hệ thống.
4.2. Hướng phát triển
Những vấn đề đã được giải quyết trong đồ án là nền tảng cơ bản của hệ thống eMeeting.Việc phát triển tiếp theo là hoàn thiện tiếp các tác vụ bên ngoài phục vụ cho phòng họp, xây dựng thêm các module cần thiết bên trong phòng họp cho phù hợp với các cuộc họp của doanh nghiệp trong nước hiện nay và nâng cao chất lượng truyền hình ảnh,video và khả năng chịu tải của hệ thống :
Xây dựng chức năng ghi lại nội dung phòng họp dưới dạng video và các đoạn chat dưới dạng video và file text.
Cải tiến, nâng cấp chất lượng truyền âm thanh và hình ảnh, giảm thiểu độ trễ và tiếng ồn.
Xây dựng thêm các chức năng cho Admin quản trị hệ thống. Hiện tại trong giai đoạn đồ án, người quản trị chỉ có chức năng quản lý các tác vụ liên quan đến bên ngoài phòng họp mà chưa tác động đến các tham số bên trong phòng họp. Vì thế trong giai đoạn tiếp theo, người quản trị sẽ được cấp thêm chức năng can thiệp vào phòng họp đang diễn ra, quản lý về băng thông, thiết lập hệ thống mail, cấu hình thông số Microphone, camera …
TÀI LIỆU THAM KHẢO
* Sách : Tên tác giả, tên sách, volume (nếu có), lần tái bản (nếu có), nhà xuất bản, năm xuất bản.
Getting Started with Grails, Scott Davis and Jason Rudolph, Second Edition
Grails in action, Glens mith and Peter ledbrook
Grails A Quick-Start Guide , Dave Klein
* Đồ án tốt nghiệp, Luận văn Thạc sĩ, Tiến sĩ : Tên tác giả, tên đồ án/luận văn, loại đồ án/luận văn, tên trường, địa điểm, năm xuất bản.
SRS_emeeting, tài liệu khảo sát emeeting trên công ty BKAV
* Tài liệu tham khảo từ Internet :
Nginx Homepage,
Red5 Homepage,
Grails homepage ,
Bigbluebutton homepage,
Support Bigbluebutton ,
Video Conference wikipedia :
Các file đính kèm theo tài liệu này:
- hethongwebconference_8185.doc