Copyright © 2000-2002 by Shayne R Flint Simplified Web Application Development Shayne R Flint Department of Computer Science Australian National University.

Slides:



Advertisements
Similar presentations
12 October 2011 Andrew Brown IMu Technology EMu Global Users Group 12 October 2011 IMu Technology.
Advertisements

Lecture plan Information retrieval (from week 11)
DT228/3 Web Development WWW and Client server model.
DT211/3 Internet Application Development Active Server Pages & IIS Web server.
© 2007 IBM Corporation IBM Emerging Technologies Enabling an Accessible Web 2.0 Becky Gibson Web Accessibility Architect.
AJAX Presented by: Dickson Fu Dimas Ariawan Niels Andreassen Ryan Dial Jordan Nielson CMPUT 410 University of Alberta 2006.
1 Rhode Island Transportation Information System. (RITIS) Spring, 2000.
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
JMeter Workshop Friday 1 December 2006 Anthony Colebourne IT Services The University of Manchester.
DT211/3 Internet Development Application Internet Development Application.
Introduction to Web Based Application. Web-based application TCP/IP (HTTP) protocol Using WWW technology & software Distributed environment.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
Where Do I Start REFERENCE: LEARNING WEB DESIGN (4 TH EDITION) BY ROBBINS 2012 – CHAPTER 1 (PP. 3 – 14)
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.
L EC. 01: J AVA FUNDAMENTALS Fall Java Programming.
LESSON 1 INTRODUCTION Compiled By: Edwin O. Okech [Tutor, Amoud University] JAVA PROGRAMMING.
ITM352 Javascript and Dynamic Web Pages: Client Side Processing.
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.
WHAT IS PHP PHP is an HTML-embedded scripting language primarily used for dynamic Web applications.
Java Pet Store Application. Outline Introduction Introduction Information Layer Information Layer Application Layer Application Layer Infrastructure Layer.
WEB DESIGN SOME FOUNDATIONS. SO WHAT IS THIS INTERNET.
PHP and MySQL Week#1  Course Plan.  Introduction to Dynamic Web Content.  Setting Up Development Server Eng. Mohamed Ahmed Black 1.
The PHP Story. PHP Story PHP is a programming language. Incorporate(join) sophisticated business logic. Widely used general purpose scripting language.
INE2720 Web Application Software Development General Information.
1 Web Database Processing. Web Database Applications Static Report Publishing a report is prepared from a database application and exported to HTML DB.
INTRODUCTION TO WEB DATABASE PROGRAMMING
 2000 Deitel & Associates, Inc. All rights reserved. Chapter 24 – Web Servers (PWS, IIS, Apache, Jigsaw) Outline 24.1Introduction 24.2Microsoft Personal.
Web Technology and DBMS’s (CB 29)
Web Applications Harry R. Erwin, PhD University of Sunderland CIT304/CSE301.
Databases and the Internet. Lecture Objectives Databases and the Internet Characteristics and Benefits of Internet Server-Side vs. Client-Side Special.
GIS technologies and Web Mapping Services
J2EE /.NET Liz Farricker Whitney Mayoras Patrick Bailey.
4 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
Introduction to Internet Programming (Web Based Application)
Internet, intranet, and multimedia database processing l Database processing across local and wide area networks l Alternative architectures for distributing.
Chapter 17 - Deploying Java Applications on the Web1 Chapter 17 Deploying Java Applications on the Web.
PHP With Oracle 11g XE By Shyam Gurram Eastern Illinois University.
National Center for Supercomputing Applications NCSA OPIE Presentation November 2000.
1 3. Computing System Fundamentals 3.1 Language Translators.
Putting it all together Dynamic Data Base Access Norman White Stern School of Business.
1 Welcome to CSC 301 Web Programming Charles Frank.
1Computer Sciences Department Princess Nourah bint Abdulrahman University.
Grid Chemistry System Architecture Overview Akylbek Zhumabayev.
Applets Yong Choi School of Business CSU, Bakersfield.
Web Development Process The Site Development Process Site Construction is one of the last steps.
IS-907 Java EE World Wide Web - Overview. World Wide Web - History Tim Berners-Lee, CERN, 1990 Enable researchers to share information: Remote Access.
S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun.
 Before you continue you should have a basic understanding of the following:  HTML  CSS  JavaScript.
Introduction to the World Wide Web & Internet CIS 101.
Overview Web Technologies Computing Science Thompson Rivers University.
Lecture 11 Scrolling XHTML elements + a bit on Java Applets Boriana Koleva Room: C54
20-753: Fundamentals of Web Programming Copyright © 1999, Carnegie Mellon. All Rights Reserved. 1 Lecture 15: Java Basics Fundamentals of Web Programming.
Java High level programming language ◦ Sun Microsystems ◦ ORACLE acquired Java Development Kit – JDK Java Runtime Environment – JRE Java Virtual Machine.
PHP is a server scripting language, and a powerful tool for making dynamic and interactive Web pages. PHP is a widely-used, free, and efficient alternative.
Presented By Sushil K. Chaturvedi Assistant Professor SRCEM,Banmore 1.
Web Technologies Computing Science Thompson Rivers University
Project 1 Introduction to HTML.
Project Target Develop a Web Based Management software suit that will enable users to control Hardware using standard HTTP & Java Applet compatible web.
Web Concepts Lesson 2 ITBS2203 E-Commerce for IT.
Web Programming Developing Web Applications including Servlets, and Web Services using NetBeans 6.5 with GlassFish.V3.
Developing Web-Based Applications
Introduction to JSP Liu Haibin 12/09/2018.
PHP / MySQL Introduction
Web App vs Mobile App.
A Component-based Architecture for Mobile Information Access
Web Technologies Computing Science Thompson Rivers University
Outcome of the Lecture Upon completion of this lecture you will be able to understand Fundamentals and Characteristics of Java Language Basic Terminology.
Web Application Development Using PHP
Presentation transcript:

Copyright © by Shayne R Flint Simplified Web Application Development Shayne R Flint Department of Computer Science Australian National University

Copyright © by Shayne R Flint Outline Background Existing approaches to Web development Requirements, Constraints and Design Implementation Testing Availability Future Work

Copyright © by Shayne R Flint Background Capability Dynamics research Decision Control Process Capability Dynamics Models Tool Support

Copyright © by Shayne R Flint Capability Dynamics Model manipulation Process Monitoring Agent based simulations Groupware Decision Control Process Capability Dynamics Models Tool Support (Web Applications) Internet /Intranet

Copyright © by Shayne R Flint Existing Approaches to Web Development Various Combinations of HTTP HTML, DHTML, XHTML, XML etc. Client Side scripts (JavaScript etc.) Server Side scripts (PHP etc.) JSP, ASP XUL.NET, SOAP

Copyright © by Shayne R Flint Existing Approaches to Web Development Does this make sense for web application development? Complexity, life cycle cost

Copyright © by Shayne R Flint Armidale is mainly about Abstraction So is Bullant ( Droplets ( armidale goes further Architecture is abstracted away From developer AND user

Copyright © by Shayne R Flint Requirements, Constraints and Design

Copyright © by Shayne R Flint Open Source Design Constraint Armidale shall be an open source project Design Technologies that would allow armidale to be made open source were used BSD License Hosted on SourceForge.net (

Copyright © by Shayne R Flint Simplified Application Development Requirements Simple programming model Qualitative measurement required! Single programming language Stand-alone and Thin-Client/Server architecture support

Copyright © by Shayne R Flint Simplified Application Development Design No HTML, Scripts, browsers etc. Applications are written in Java as if they were stand-alone programs. No concern for where applications run No concern for internet/networking issues Complexity is abstracted away from developer

Copyright © by Shayne R Flint Abstraction – developer view Armidale Application Std. Non-GUI APIs Database Data structures Maths Etc. Armidale GUI API Factories Local Client/Server Other… Implementations Execution Control Platform Distribution Appearance etc. API Implementations

Copyright © by Shayne R Flint Rich Graphical User Interfaces Requirements: Rich set of GUI elements (buttons, icons, lists, tables, tree views etc.) Same look and feel as normal desktop applications Same look and feel when running stand-alone or on server Design Similar set of widgets to that provided by Java Swing Platform implementations use real Swing widgets Metal, Motif, Windows, MacOS X look and feel

Copyright © by Shayne R Flint Rich Graphical User Interfaces

Copyright © by Shayne R Flint Rich Graphical User Interfaces

Copyright © by Shayne R Flint Starting Applications Requirements Application shall be started like any other desktop application An application launcher shall be provided Design Applications that run stand-alone or on remote servers can be started in the following ways The armidale launcher Command Line Desktop Icon ‘Start’ menu

Copyright © by Shayne R Flint Starting Applications

Copyright © by Shayne R Flint Platform Independence Design Constraint Armidale applications and the Armidale server shall run on the following platforms: Linux (intel) Solaris(Sparc) MacOS X (powerPC) Windows 2000 (intel) Design Use Java!!

Copyright © by Shayne R Flint Extensibility Requirement Developers shall be able to add new widgets Design The code for armidale widgets is generated from an XML widget specification Hand coding is only required for low level platform specific bits (eg. Using Jbutton to implement and Armidale PushButton)

Copyright © by Shayne R Flint Extensibility Hand coding

Copyright © by Shayne R Flint Launcher Platforms Design Constraint Provision to run the Armidale Launcher on PDAs and Mobile Phones Design The widget code generator can generate code for different of platforms Only Swing platform implemented at present Code for other platforms can be generated now, but needs the hand coding for the low level platform specific bits.

Copyright © by Shayne R Flint Network Bandwidth Performance Requirement Armidale shall minimise bandwidth usage To ensure optimal performance when using PDAs and Mobile Phones. Design Open Binary Message Protocol No HTML, XML, etc. Image Handling Large Data Structures

Copyright © by Shayne R Flint Implementation Uneventful using solid tools SuSE Linux Sun Microsystems JDK 1.3 and 1.4 Standard Edition Apache Ant - Java build tool Jedit – Java Editor, partial IDE No problems due to tools or OS.

Copyright © by Shayne R Flint Functional Testing Three test programs Basic infrastructure testing GUI Widget testing Image performance Tested on various platforms and Java versions SuSE and Redhat LinuxJDK 1.3, 1.4 Solaris 8JDK 1.3 MacOS X JDK 1.3 Windows 2000JDK 1.3, 1.4

Copyright © by Shayne R Flint Functional Testing

Copyright © by Shayne R Flint Functional Testing

Copyright © by Shayne R Flint Measuring its Value/Effectiveness Does it really simplify things? No experimentation (yet?), but Abstraction Internet Hardware, OS etc. Deployment Single programming language Extensibility Widget code generation

Copyright © by Shayne R Flint Future Work Short Term Promotion – feedback, improvements, maturity Encryption of transport (SSL) More Widgets API documentation Longer Term New Platform support (eg. Espial on Phones)

Copyright © by Shayne R Flint More Information, Availability BSD Open Source License Free to use for pretty much anything Copyright Documentation (web pages) arm://armidale.anu.edu.au Armidale Server with the demo programs

Copyright © by Shayne R Flint “ First they ignore you, Then they laugh at you, Then they fight you, Then you win ” -- Mahatma Gandhi

Copyright © by Shayne R Flint Some Design Details

Copyright © by Shayne R Flint Stand-Alone operation

Copyright © by Shayne R Flint Client-Server Operation