copyright © 2000-2002 by shayne r flint simplified web application development shayne r flint...

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

Upload: oliver-davis

Post on 05-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

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

Copyright © 2000-2002 by Shayne R Flint

Simplified Web Application Development

Shayne R Flint

Department of Computer ScienceAustralian National University

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

Copyright © 2000-2002 by Shayne R Flint

Outline Background Existing approaches to Web

development Requirements, Constraints and Design Implementation Testing Availability Future Work

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

Copyright © 2000-2002 by Shayne R Flint

Background Capability Dynamics research

Decision Control Process Capability Dynamics Models Tool Support

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

Copyright © 2000-2002 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

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

Copyright © 2000-2002 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

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

Copyright © 2000-2002 by Shayne R Flint

Existing Approaches to Web Development

Does this make sense for web application development?

Complexity, life cycle cost

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

Copyright © 2000-2002 by Shayne R Flint

Armidale is mainly about

Abstraction

So is Bullant (http://www.bullant.com.au) Droplets (http://www.droplets.com)

armidale goes further Architecture is abstracted away From developer AND user

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

Copyright © 2000-2002 by Shayne R Flint

Requirements, Constraintsand Design

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

Copyright © 2000-2002 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

(http://sourceforge.net/projects/armidale)

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

Copyright © 2000-2002 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

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

Copyright © 2000-2002 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

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

Copyright © 2000-2002 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

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

Copyright © 2000-2002 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

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

Copyright © 2000-2002 by Shayne R Flint

Rich Graphical User Interfaces

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

Copyright © 2000-2002 by Shayne R Flint

Rich Graphical User Interfaces

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

Copyright © 2000-2002 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

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

Copyright © 2000-2002 by Shayne R Flint

Starting Applications

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

Copyright © 2000-2002 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!!

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

Copyright © 2000-2002 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)

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

Copyright © 2000-2002 by Shayne R Flint

Extensibility

Hand coding

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

Copyright © 2000-2002 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.

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

Copyright © 2000-2002 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

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

Copyright © 2000-2002 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.

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

Copyright © 2000-2002 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 Linux JDK 1.3, 1.4 Solaris 8 JDK 1.3 MacOS X 10.1.3 JDK 1.3 Windows 2000 JDK 1.3, 1.4

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

Copyright © 2000-2002 by Shayne R Flint

Functional Testing

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

Copyright © 2000-2002 by Shayne R Flint

Functional Testing

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

Copyright © 2000-2002 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

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

Copyright © 2000-2002 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)

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

Copyright © 2000-2002 by Shayne R Flint

More Information, Availability BSD Open Source License

Free to use for pretty much anything Copyright

http://armidale.anu.edu.au Documentation (web pages)

arm://armidale.anu.edu.au Armidale Server with the demo programs

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

Copyright © 2000-2002 by Shayne R Flint

“First they ignore you, Then they laugh at you, Then they fight you, Then you win”

-- Mahatma Gandhi

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

Copyright © 2000-2002 by Shayne R Flint

Some Design Details

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

Copyright © 2000-2002 by Shayne R Flint

Stand-Alone operation

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

Copyright © 2000-2002 by Shayne R Flint

Client-Server Operation