Top Banner
Voice Mail Voice Mail for social networks for social networks Maxim Kogan Maxim Kogan Roey Ben Haim Roey Ben Haim Supervisor Supervisor Assaf Solomovitch Assaf Solomovitch Lab Chief Eng. Lab Chief Eng. Ilana David Ilana David Software Systems Lab Software Systems Lab Department of Electrical Engineering Department of Electrical Engineering Technion - Israel Institute of Technology Technion - Israel Institute of Technology
26

Voice Mail for social networks

Jan 06, 2016

Download

Documents

jenski

Supervisor Assaf Solomovitch Lab Chief Eng. Ilana David. Voice Mail for social networks. Maxim Kogan Roey Ben Haim. Software Systems Lab Department of Electrical Engineering Technion - Israel Institute of Technology. Social Software – Introduction. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Voice Mail  for social networks

Voice Mail Voice Mail for social networksfor social networks

Maxim KoganMaxim Kogan

Roey Ben HaimRoey Ben Haim

SupervisorSupervisor Assaf Solomovitch Assaf Solomovitch

Lab Chief Eng.Lab Chief Eng. Ilana David Ilana David

Software Systems LabSoftware Systems LabDepartment of Electrical Engineering Department of Electrical Engineering

Technion - Israel Institute of TechnologyTechnion - Israel Institute of Technology

Page 2: Voice Mail  for social networks

Social Software – IntroductionSocial Software – Introduction

Social 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

Page 3: Voice Mail  for social networks

Open SocialOpen Social

OpenSocial A set of APIs for building social applications. OpenSocial's goal is to make more apps available to more users, by providing a common API. Developers can create applications, using standard JavaScript and HTML, that run on social websites that have implemented the OpenSocial APIs.

OpenSocial container

Page 4: Voice Mail  for social networks

Google gadgets(1)Google gadgets(1) Gadgets are mini-applications that can be added to the

personalized version of the Google homepage (iGoogle), Google Desktop and any page on the web.

The gadgets API consists of a few simple building blocks: XML, HTML, and JavaScript.

The XML file that specifies a gadget contains instructions on how to process and render the gadget.

Page 5: Voice Mail  for social networks

Google Gadgets(2)Google Gadgets(2)

These are some extensions to the core gadgets API, to provide additional functionality OpenSocial- 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 )

Page 6: Voice Mail  for social networks

Pass It OnPass It On The 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.

Page 7: Voice Mail  for social networks

Voice Mail ApplicationVoice Mail Application

The 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.

Page 8: Voice Mail  for social networks

New Idea – Voice Mail New Idea – Voice Mail ApplicationApplication

Page 9: Voice Mail  for social networks
Page 10: Voice Mail  for social networks

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 New Idea – Voice Mail Application (cont.)Application (cont.)

Page 11: Voice Mail  for social networks

Project OverviewProject Overview

t2 – Hosts the initial xml file

Orkut (OpenSocial Container)

The Server (Tomcat) DataBase (MySQL)

Java Applet

Openning an IFrame

initializations

Constant communication

Sends FriendsSends Friends

Page 12: Voice Mail  for social networks

The XML file >iframe src=

http://89.138.71.144:8080/WebAppTest/HelloServlet<</iframe<

<script type='text/javascript'> opensocial.newDataRequest(); gadgets.io.makeRequest

Page 13: Voice Mail  for social networks

Technologies(1)Technologies(1)

Java sound/JMFJava sound/JMF JMF wraps Java Sound functionality No need to install Java Sound

Java EEJava EE Java 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 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.

Page 14: Voice Mail  for social networks

Technologies(2)Technologies(2)

Servlets/JSPServlets/JSP Servlet - 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 servlet

MySQL+JDBCMySQL+JDBC an API for the java programming language that defines how

a client may access a database. Signed java appletSigned java applet

the applet's code is executed by the browser's JVM Signed jar file

Web server

Web browser

request request

responseresponseServl

et

Servlet

Page 15: Voice Mail  for social networks

MySQL (in details)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 transaction Locks are held until the transaction ends The second updating transaction is blocked until the

lock is released (first one commits or rolls back)

Page 16: Voice Mail  for social networks

Java Applet (more detailed)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 user’s 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.

Page 17: Voice Mail  for social networks

Design Issues – Design Issues – 3 tier(1)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.

Page 18: Voice Mail  for social networks

Design Issues – 3 tier (2)Design Issues – 3 tier (2)

Thin/thick 3 tier models Thin – “www.amazon.com”. Thick – Desktop applet, RealPlayer.

ExamplesExamples Oracle DBMS, C++ middle, and C++/MFC client

MySQL DBMS, JSP middle, and Java applet client

MySQL DBMS, PHP middle, and web browser client

Page 19: Voice Mail  for social networks

Design Issues – 3 tier (3)Design Issues – 3 tier (3) Advantages

Scalability application 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 integrity

The middle tier ensures validity of data to DB. Good security .Hidden DB structure from the client Improved availability (recovering from network crash)

Use of redundant servers and DBs Disadvantages

Increased complexity (twice more communication )

Page 20: Voice Mail  for social networks

Use Cases(1)Use Cases(1)

Saving the Voice mail – collaboration diagram

Page 21: Voice Mail  for social networks

Use Cases(2)Use Cases(2)

Showing user’s records – collaboration diagram

Page 22: Voice Mail  for social networks

Classes overview(1)Classes overview(1)

The applet classes (client tier) App

requests friends from the server loads the main class

AudioCapture – the main applet class. Displays GUI and records.

The servlets classes (logic tier) HelloServlet – loads the applet IncomingAudioServlet – recieves incoming record, renders it

and saves in the DB. PresentURLServlet – retrieves the record URLs from the DB,

and presents on screen.

Page 23: Voice Mail  for social networks

Classes overview(2)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.

Page 24: Voice Mail  for social networks

SummarySummary

The 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.

Page 25: Voice Mail  for social networks

Future expansionsFuture 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

Page 26: Voice Mail  for social networks

EndEnd

Many 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).