Jan 06, 2016
Voice Mail for social networksMaxim KoganRoey Ben HaimSupervisor Assaf Solomovitch Lab Chief Eng. Ilana David Software Systems LabDepartment of Electrical Engineering Technion - Israel Institute of Technology
Social Software IntroductionSocial software allows users to interact and share data with other users. This has become very popular with social sites like MySpace and Facebook.Many of these applications share characteristics like open APIs, service oriented design, and the ability to upload data and media.
FOR MORE INFO...Visit our website
Google Gadgets(2)These are some extensions to the core gadgets API, to provide additional functionalityOpenSocial- Utilize functions for creating social gadgets (containers)Maps (Google Maps )Finance API - Retrieve and display stock information from Google Finance. (iGoogle)Ads (Google AdSense )Calendar - (Google Calendar )
Pass It OnThe main idea of our social application was to create a useful free-items-exchange system based on the social network and its friends-based connections.
Got it !No, sorry..????-extended network distance, while part of the OpenSocial v0.8 spec, will not be supported in orkut.
Voice Mail ApplicationThe main idea is creating an email of audio recordings. It allows different users to record themselves via microphone and transfer the recordings to their friends. We combined this idea with a social network, granting each user his own account. We chose this idea in order to keep the scope of social network, and combine it with the ever-growing field of media streaming.
New Idea Voice Mail Application
The previous page showed a user invoking his inbox, which contains 2 messages. The user can record an audio message, send his audio message to his friends, peek on the messages sent to him, and delete them from his inbox. New Idea Voice Mail Application (cont.)
Project Overviewt2 Hosts the initial xml fileOrkut (OpenSocial Container)The Server (Tomcat)DataBase (MySQL)Java AppletOpenning an IFrameinitializationsConstant communicationSends FriendsSends Friends
Technologies(1)Java sound/JMFJMF wraps Java Sound functionalityNo need to install Java Sound Java EEJava platform that adds libraries which provide functionality to deploy, distributed, multi-tier Java software, based largely on modular components running on an application server. Tomcat Apache Tomcat is a servlet container. Tomcat implements the Java Servlet and the JSPs specifications, and provides a java HTTP web server environment for Java code to run.
Technologies(2)Servlets/JSPServlet - A Java application that is being run by a Web server. Can receive parameters in an HTTP request ,Generates an HTTP response.JSP - write Servlet code directly in the HTML page. The server automatically translates a JSP page to a Servlet class and invokes this servletMySQL+JDBCan API for the java programming language that defines how a client may access a database. Signed java appletthe applet's code is executed by the browser's JVMSigned jar file
Web serverWeb browserServlet
MySQL (in details)JDBC technology is an API (included in J2EE) that provides cross-DBMS connectivity to a wide range of SQL databases. most popular open source database software.
MySQL controls concurrent access by deploying locks.Each operation on the database (select, update, insert, create, drop, etc.) requires some lock to be obtained by the running transactionLocks are held until the transaction endsThe second updating transaction is blocked until the lock is released (first one commits or rolls back)
Java Applet (more detailed)An applet is a software component that runs in the context of another program, in our case a web browser.In order to approach users computer device, we had to use a client side program.Applets are used to provide interactive features to web applications that cannot be provided by HTML.Our application records the user through the microphone. In order to do so we are using Java Sound API in the client side.
Design Issues 3 tier(1)the presentation, the application processing (logic tier) and the data management are logically separate processes.Evolution to the 3 tier architecture:Single tier single computer, all resources & processing attached to it. Access via terminals. simple but expensive central machine.Dual tier client layer, DB layer only. Client/server model is born. Only limited # of users to DB server, expensive connections.3 tier the client only displays the GUI, has no part in producing results.
Design Issues 3 tier (2)Thin/thick 3 tier modelsThin www.amazon.com.Thick Desktop applet, RealPlayer.ExamplesOracle DBMS, C++ middle, and C++/MFC clientMySQL DBMS, JSP middle, and Java applet clientMySQL DBMS, PHP middle, and web browser client
Design Issues 3 tier (3)AdvantagesScalabilityapplication servers on different machines.No need to connect each client to a DB (reduce load on clients and DB servers)Better re-use (e.g. change only DB, client stays same)Improve data integrityThe middle tier ensures validity of data to DB.Good security .Hidden DB structure from the clientImproved availability (recovering from network crash)Use of redundant servers and DBsDisadvantagesIncreased complexity (twice more communication )
Use Cases(1)Saving the Voice mail collaboration diagram
Use Cases(2)Showing users records collaboration diagram
Classes overview(1)The applet classes (client tier)App requests friends from the serverloads the main classAudioCapture the main applet class. Displays GUI and records.The servlets classes (logic tier)HelloServlet loads the appletIncomingAudioServlet recieves incoming record, renders it and saves in the DB.PresentURLServlet retrieves the record URLs from the DB,and presents on screen.
Classes overview(2)DeleteURLServlet deletes the chosen URLs.FromOrkutServlet accepts the list of friends from Orkut.SendFriendToAppletServlet the servlet sends the friends from Orkut to the applet upon applet load.DB class (database tier)SQL_DB the database management class.
SummaryThe project contained a vast variety of material, from OpenSocial API, through Java Applet and Java Servlets, to Databases and MySQL.A LOT of new stuff to learn. The idea of combining the field of social network with media streaming is new and can open a vast market.
Future expansions Expand through a variety of social networks that are using OpenSocial API. Create a Facebook version. Advance to the video field, making a video mail, and creating a video/audio chat.Add a Flash/Silverlight version, and edit the applet
EndMany thanks to our dedicated supervisor, Assaf Solomovitch for his great help and support. Thanks to the software lab staff for his support (Ilana David and Victor Kulik).