Đồ án Xây dựng hệ thống web conference dựa trên nền tảng mã nguồn mở Bigbluebutton

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.

doc72 trang | Chia sẻ: lvcdongnoi | Lượt xem: 3877 | Lượt tải: 1download
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:

  • dochethongwebconference_8185.doc
Luận văn liên quan