Basic concept Technologies we have used The Design Problems, challenges & solutions Educational Gain.

Slides:



Advertisements
Similar presentations
HTTP Request/Response Process 1.Enter URL ( in your browser’s address bar. 2.Your browser uses DNS to look up IP address of server.com.
Advertisements

Computer Monitoring System for EE Faculty By Yaroslav Ross And Denis Zakrevsky Supervisor: Viktor Kulikov.
Project 1 Introduction to HTML.
Electrical and Computer Engineering Vitaly Gordievsky Alex Trefonas Scott Richard Matt Beckford Final Project Review.
15 Chapter 15 Web Database Development Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
IS 360 Course Introduction. Slide 2 What you will Learn (1) The role of Web servers and clients How to create HTML, XHTML, and HTML 5 pages suitable for.
Introduction to Web Database Processing
User logging into Facebook’s interface. Running the application from FaceBook applications.
Electrical Engineering Department Software Systems Lab TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY Meeting recorder Application based on Software Agents.
VCT May 20, 2009 Sapna Blesson Advisor: Dr.Christopher Pollett.
Introduction to Web Interface Technology (CSE2030)
Multiple Tiers in Action
Electrical and Computer Engineering PeopleFinder Vitaly Gordievsky Alex Trefonas Scott Richard Matt Beckford Midway Design Review.
Electrical and Computer Engineering PeopleFinder Vitaly Gordievsky Alex Trefonas Scott Richard Matt Beckford Comprehensive Design Review.
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
Introduction Web Development II 5 th February. Introduction to Web Development Search engines Discussion boards, bulletin boards, other online collaboration.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
E-Commerce The technical side. LAMP Linux Linux Apache Apache MySQL MySQL PHP PHP All Open Source and free packages. Can be installed and run on most.
2440: 141 Web Site Administration Web Server-Side Programming Professor: Enoch E. Damson.
Part or all of this lesson was adapted from the University of Washington’s “Web Design & Development I” Course materials.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
HTML 1 Introduction to HTML. 2 Objectives Describe the Internet and its associated key terms Describe the World Wide Web and its associated key terms.
Web Design Basic Concepts.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Lecture 3 – Data Storage with XML+AJAX and MySQL+socket.io
Chris Pinski.  History  What is Ajax  Who uses Ajax  Underlying Technologies  SE Aspect  Common Problems  Conclusion.
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
AJAX Chat Analysis and Design Rui Zhao CS SPG UCCS.
Databases and the Internet. Lecture Objectives Databases and the Internet Characteristics and Benefits of Internet Server-Side vs. Client-Side Special.
CSCI 6962: Server-side Design and Programming Introduction to AJAX.
Server-side Scripting Powering the webs favourite services.
ASP.NET + Ajax Jesper Tørresø ITNET2 F08. Ajax Ajax (Asynchronous JavaScript and XML) A group of interrelated web development techniques used for creating.
About Dynamic Sites (Front End / Back End Implementations) by Janssen & Associates Affordable Website Solutions for Individuals and Small Businesses.
Tutorial 10 Adding Spry Elements and Database Functionality Dreamweaver CS3 Tutorial 101.
Lecture 7 Interaction. Topics Implementing data flows An internet solution Transactions in MySQL 4-tier systems – business rule/presentation separation.
COLD FUSION Deepak Sethi. What is it…. Cold fusion is a complete web application server mainly used for developing e-business applications. It allows.
AJAX Making Dynamic Web pages more Dynamic Jim Hendricks April 25th, 2006.
M1G Introduction to Database Development 6. Building Applications.
06/10/2015AJAX 1. 2 Introduction All material from AJAX – what is it? Traditional web pages and operation Examples of AJAX use Creating.
Web Server Administration Chapter 7 Installing and Testing a Programming Environment.
HTML, XHTML, and CSS Sixth Edition Chapter 1 Introduction to HTML, XHTML, and CSS.
Marcel Casado NCAR/RAP WEATHER WARNING TOOL NCAR.
Section 17.1 Add an audio file using HTML Create a form using HTML Add text boxes using HTML Add radio buttons and check boxes using HTML Add a pull-down.
MySQL and PHP Internet and WWW. Computer Basics A Single Computer.
Creating Dynamic Web Pages Using PHP and MySQL CS 320.
Web Interfaces, Forms & Databases Databases Snyder p HTML Basics Snyder p JavaScript Snyder Chapter 18.
Asynchronous Interactive Design of Web Applications: Real-time SIP Message Monitoring System using AJAX Student: Yan-Hsiang Wang Advisor: Dr. Quincy Wu.
Active Server Pages  In this chapter, you will learn:  How browsers and servers interacted on the Internet when the Internet first became popular 
1 Welcome to CSC 301 Web Programming Charles Frank.
10/25/20151 Single Sign-On Web Service Supervisors: Viktor Kulikov Alexander Sherman Liana Lipstov Pavel Bilenko.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Database Management Systems CS 420. Topics Outline 1. Introduction 2. HTML Review 3. VBScript 4. Access DBMS 5. Relational Database 6. Design Process.
XP Browser and Basics COM111 Introduction to Computer Applications.
Web Technologies Lecture 8 Server side web. Client Side vs. Server Side Web Client-side code executes on the end-user's computer, usually within a web.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
HTML Concepts and Techniques Fifth Edition Chapter 1 Introduction to HTML.
Chapter 1 Introduction to HTML, XHTML, and CSS HTML5 & CSS 7 th Edition.
JavaScript and Ajax (Internet Background) Week 1 Web site:
Overview Web Technologies Computing Science Thompson Rivers University.
Microsoft Expression Web - Illustrated Unit A: Getting Started With Microsoft Expression Web.
1/7/2016www.infocampus.co.in1. 1/7/2016www.infocampus.co.in2 Web Development training gives you and all-round training in both the design and the development.
Open Solutions for a Changing World™ Eddy Kleinjan Copyright 2005, Data Access WordwideNew Techniques for Building Web Applications June 6-9, 2005 Key.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Web Programming Language
Web Technologies Computing Science Thompson Rivers University
JavaScript and Ajax (Ajax Tutorial)
PHP / MySQL Introduction
Database Driven Websites
Presentation transcript:

Basic concept Technologies we have used The Design Problems, challenges & solutions Educational Gain

FaceBook application based on FaceBook’s developers environment Multi-User web chat, where only FaceBook’s users can use. users can chat with their friends / or make new friends – “social networking” GUI looks like a virtual bar

Besides chating in a public “Main room” the users can chat in private messaging user can identify another user by exploring his/hers FaceBook’s profile. Each user can play his favorite song, using a built in “Juke Box”.

FaceBook’s Developer suite – providing a full API to users data All user’s data that was extracted from facebook & all chat logs & management data is being stored and organized by MySQL server. Server-Side processes & functions were programmed with PHP.

Client-Side functions were implemented with JAVA Script & HTML Tags. Client-Server communication using AJAX technology, inverting DB to XML data. Multimedia introduction by Adobe FLASH. Full compatibility with MS-IE7 & FireFox Mozilla

studying the FaceBook’s Developers environment. (FBML, canvas, IFrames) and it’s capabilities. Setting up a stand alone web server outside the faculty, connected 24 hr. to the Internet. (studying of PHP & SQL) Determine the application’s features and characteristics.

Dividing tasks to files & methods. Setting up SQL tables after ERD design, & decisions about primary keys & performance trade-offs. Implementing a first simple draft, without GUI, only functionality. After first implementation Debug & test, expanding functionality & GUI.

so, How do things work ? (in steady sate…) User logging into Facebook’s interface. Running the application from FaceBook applications

The relevant user record in the SQL USERS table is getting ONLINE status After watching the intro the user is logged into the application and ready to use it

When user typing in a message and press enter The message is being transferred to the server Message: Hello world ! JS Function ChatMsgToDB in functions.php file, preparing AJAX post transaction to the server Transaction is being sent to the server msgToDB.php file connecting to SQL server (using connectToDB.php function) Message is being inserted into CHATLOG SQL

In the background an endless loop running JS function named GetMsgFromDB from functions.php file, which generates AJAX request for the message. PHP file – GetMsgFromDB retrieves message data from CHATLOG SQL table, and send it to GetMsgFromDB function. The message is being parsed out of the AJAX transaction, and displayed in the messages window.

Of course that in the background many more processes and functions are being executed :  Online users updates  song play / stop play  private chats being opened  users logging in & out  users changing seats

Solution Implemented Problem Description How to update server / DB without calling a new php / html page ? How to update elements without refreshing the whole page ? Using AJAX - Creating asynchronous transaction AJAX updater transaction + XML DATA Tags. How to identify a situation where user closed the browser and terminated the application ? Creating server-side Process that checks the delta time in which the user is not active & setting the online to be 0

Solution Implemented Problem Description Implementing private chats without holding different chat log to each one Showing the user only the latest messages, preventing massive transport of SQL transactions updating a time stamp to each user, every constant cycle, & keeping track of last message seen. Setting id tag to each messeage. Id=0 means main room message. Id≠0 means sender id.

 Experiencing Web software development in WYSIWYG environment  Design & Decision making regarding software implementation

 work with SQL & DB queries  Programming in PHP  Programming in Java Script  AJAX as “thinking way”  software development as a team  motivation - more than 70 users, and up !