AJAX Chat Analysis and Design Rui Zhao CS5260 2012SPG UCCS.

Slides:



Advertisements
Similar presentations
Web Applications Development Using Coldbox Platform Eddie Johnston.
Advertisements

Web 2.0 with AJAX Students : LASC Ioana KELEMEN Csilla POP Dan Adrian CIOBANU Dumitru Daniel Project leaders : Jean Luc LARBOT Ahmed RHIAT.
IIS Technologies.
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
6/3/2015eBiquity1 Tutorial on AJAX Anubhav Kale (akale1 AT cs DOT umbc DOT edu)
Server-Side vs. Client-Side Scripting Languages
1 Chapter 12 Working With Access 2000 on the Internet.
Basic concept Technologies we have used The Design Problems, challenges & solutions Educational Gain.
Kashif Jalal CA-240 (072) Web Development Using ASP.NET CA – 240 Kashif Jalal Welcome to week – 2 of…
Introduction to Web Application Architectures Web Application Architectures 18 th March 2005 Bogdan L. Vrusias
VCT May 20, 2009 Sapna Blesson Advisor: Dr.Christopher Pollett.
Cloud Computing Lecture #7 Introduction to Ajax Jimmy Lin The iSchool University of Maryland Wednesday, October 15, 2008 This work is licensed under a.
Multiple Tiers in Action
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
Website Development with PHP and MySQL Introduction.
INTRO TO MAKING A WEBSITE Mark Zhang.  HTML  CSS  Javascript  PHP  MySQL  …That’s a lot of stuff!
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.
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
Quick Tour of the Web Technologies: The BIG picture LECTURE A bird’s eye view of the different web technologies that we shall explore and study.
Client/Server Architectures
Sys Prog & Scripting - HW Univ1 Systems Programming & Scripting Lecture 15: PHP Introduction.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
Introduction to AJAX AJAX Keywords: JavaScript and XML
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Joel Bapaga on Web Design Strategies Technologies Commercial Value.
Dynamic Web Pages (Flash, JavaScript)
Fall, Privacy&Security - Virginia Tech – Computer Science Click to edit Master title style Design Extensions to Google+ CS6204 Privacy and Security.
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.
JavaScript, Fourth Edition Chapter 12 Updating Web Pages with AJAX.
AJAX Making Dynamic Web pages more Dynamic Jim Hendricks April 25th, 2006.
Lecture 19 Web Application Frameworks Boriana Koleva Room: C54
06/10/2015AJAX 1. 2 Introduction All material from AJAX – what is it? Traditional web pages and operation Examples of AJAX use Creating.
Website Design Lecture 1. Outline Introduction to the module Outline of the Assessment Schedule Lecture Static XHTML, client side and server side Why.
JavaScript – Quiz #9 Lecture Code:
Cross Site Integration “mashups” cross site scripting.
2006 Adobe Systems Incorporated. All Rights Reserved. 1 Adobe RIA Technologies: Adobe Flex 3 Cornel Creanga Platform Evangelist
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
1 Session 1: Introduction to PHP & MySQL iNET Academy Open Source Web Development.
Web Design: Basic to Advanced Techniques Fall 2010 Mondays 7-9pm 200 Sutardja-Dai Hall Introduction to PHP.
The Problem of State. We will look at… Sometimes web development is just plain weird! Internet / World Wide Web Aspects of their operation The role of.
Web Development Process The Site Development Process Site Construction is one of the last steps.
Introduction to Flex 2 by Rich Tretola. About Me Rich Tretola is a senior software developer at Herff Jones, Inc. specializing in Rich Internet 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.
Weekend MS CS Program Internet and Web Technologies COT 5930 Web Project Development - Ajax Dr. Roy Levow, Associate Chair & Professor
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Introduction and Principles Web Server Scripting.
ASP. ASP is a powerful tool for making dynamic and interactive Web pages An ASP file can contain text, HTML tags and scripts. Scripts in an ASP file are.
The basics of knowing the difference CLIENT VS. SERVER.
October 7 th, 2010 SDU Webship. What did we learn last week? jQuery makes it really easy to select elements and do stuff with them. jQuery can process.
COSC 2328 – Web Programming.  PHP is a server scripting language  It’s widely-used and free  It’s an alternative to Microsoft’s ASP and Ruby  PHP.
Open Solutions for a Changing World™ Eddy Kleinjan Copyright 2005, Data Access WordwideNew Techniques for Building Web Applications June 6-9, 2005 Key.
National College of Science & Information Technology.
Arklio Studija 2007 File: / / Page 1 Automated web application testing using Selenium
Chapter 1 Getting Started with ASP.NET Objectives Why ASP? To get familiar with our IDE (Integrated Development Environment ), Visual Studio. Understand.
Web Programming Language
Scripting - Client-side vs. Server-side Scripting
AJAX.
AJAX.
PHP / MySQL Introduction
Database Driven Websites
PHP and Forms.
Architecture of the web
Web Application Development Using PHP
Presentation transcript:

AJAX Chat Analysis and Design Rui Zhao CS SPG UCCS

What is AJAX Chat? A free and fully customizable open source web chat software implemented in JavaScript, PHP and MySQL [1] – Flash – Ruby Chat integrates nicely with phpBB, MyBB, PunBB, SMF, vBulletin and other PHP community software. Rui Zhao All Rights Reserved 2012

What did I do? Analyze the chat system, and both server and client will be elaborated in four aspects (table design, infrastructure, collaboration and interface). Discuss new features and how to add them to the system. Propose problems, especially those in design and codes, accompanied with suggestions about how to solve them. Rui Zhao All Rights Reserved 2012

System Requirements Running Environments – Server-Side PHP >= 4 MySQL >= 4 Ruby >= 1.8 (optional) – Client-Side Enabled JavaScript Enabled Cookies Flash Plugin >= 9 (optional) Rui Zhao All Rights Reserved 2012

System Requirements Developing Environments – Zend Studio for Java and Php script development on both client and server; – FLEX for client flash development; – MySQL for server database development; – Ruby for server socket development. Rui Zhao All Rights Reserved 2012

Features Main Feature Detail Private messaging - Multiple/Private channels - Ignore/Ban and revoke users - List online/ignored/banned users - Change username - Private channels - Custom setting Such as BB Code, hyperlinks, line breaks. Possibility to delete messages inside the chat - Developed with Security as integral part - Blink window title on new messages - Show each user’s IP - Rui Zhao All Rights Reserved 2012

Techniques AJAX – AJAX (Asynchronous JavaScript and XML) is a technique for creating fast and dynamic web pages. [3] – AJAX uses combinations of XMLHttpRequest object (to exchange data asynchronously with a server); JavaScript/DOM (to display/interact with the information); CSS (to style the data); XML (often used as the format for transferring data). Rui Zhao All Rights Reserved 2012

Techniques FLEX – Like Flash, Flex creates SWF files that are rendered by Flash Player. [4] – However, Flex is primarily a developer's tool – The way you develop Flex applications is entirely different than the way you develop Flash RIAs. All Flex development is based upon a framework that provides you with reusable and extendable UI components, data retrieval services, event handling functionality and much more. Rui Zhao All Rights Reserved 2012

Techniques FABridge – A new JavaScript library enables developers to easily integrate Flex applications with Ajax or DHTML code running in the browser. [5] – Is built with the “don’t repeat yourself” principle in mind. – With FABridge you can make your ActionScript classes available to JavaScript without any additional coding Rui Zhao All Rights Reserved 2012

Client Infrastructure Module Detail FABridge Translate XML stream to ordinary message and update flash on website: 1.JSP receives and parses XML message (AJAX); 2.JSP calls methods in ASP to updates flash on web page (FLEX). JSP Responsible for performing user’s actions on web page: 1.Receive and parse input actions and parameters, such as client setting, kicking some one and chat message; 2.Organize standard HTTP GET/POST messages; 3.Send messages to server. Rui Zhao All Rights Reserved 2012

Server Infrastructure Module Detail Socket Listen HTTP requests and decode them to XML stream: 1.Server.conf defines parameters of socket, such as port and IP; 2.Server.rb starts socket and port listener, receives and parses XML stream. Application Parse request and write useful data to database, then organize response to request. 1.Config.php defines template for request variables; 2.Templates are used to generate standard XML/XHTML stream when organizing response; 3.Database connector writes data to database and query data from database. Php Platform Send response. Rui Zhao All Rights Reserved 2012

Suggestions Some files’ length is more than 3000 lines, and it will surely decrease the readability and destroy the structure of codes; Inadequate code comments, the best ratio of comments to codes is between 1:1 and 2:1; In php coding, it is better to use $_Get and $_Post instead of $_Request. In ordinary, $_Request could stands for $_Get. And when $_Get is null, $_Request will refer to $_Post. However, when both $_Get and $_Post exist, who does $_Request refer to? And how to get $_Post by using $_Request now? Therefore, $_Request is a dangerous variable and is not recommended in php coding; Rui Zhao All Rights Reserved 2012

Suggestions New features suggested: – Banned time. The system bans a user only for five minutes, and it is not possible to choose a start time and end time for banning; – No registration entry. The system does not provide an entry to create new users, and there is no table for saving user information. Of course if the chat system is combined with a forum, this will not be the problem. If registration is not allowed for some reasons, the table for user management is still in need. – Fusion between authority management and role management. The system does not connect each role with an authority by an interface, but by simply putting authority management into role management; – Whether actions of log in or log out should be recorded into user on-line table or another new table permanently will be further discussed. Since our purpose is to make the chat system a forensic one, maybe any action on-line should be recorded without any exception; – It is better to retrieve environment information of OS from each client, and we could consider it an evidence of chatting actions. Because probably it is impossible to know who is actually using a specific user name. One of the important information is user name logged on OS. Rui Zhao All Rights Reserved 2012

Reference [1] [2] chat/index.php?title=Main_Page [3] [4] [5] Rui Zhao All Rights Reserved 2012