Post on 05-Jan-2016
Copyright © 2000-2002 by Shayne R Flint
Simplified Web Application Development
Shayne R Flint
Department of Computer ScienceAustralian 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
Copyright © 2000-2002 by Shayne R Flint
Background Capability Dynamics research
Decision Control Process Capability Dynamics Models Tool Support
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
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
Copyright © 2000-2002 by Shayne R Flint
Existing Approaches to Web Development
Does this make sense for web application development?
Complexity, life cycle cost
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
Copyright © 2000-2002 by Shayne R Flint
Requirements, Constraintsand Design
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)
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
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
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
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
Copyright © 2000-2002 by Shayne R Flint
Rich Graphical User Interfaces
Copyright © 2000-2002 by Shayne R Flint
Rich Graphical User Interfaces
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
Copyright © 2000-2002 by Shayne R Flint
Starting Applications
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!!
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)
Copyright © 2000-2002 by Shayne R Flint
Extensibility
Hand coding
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.
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
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.
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
Copyright © 2000-2002 by Shayne R Flint
Functional Testing
Copyright © 2000-2002 by Shayne R Flint
Functional Testing
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
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)
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
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
Copyright © 2000-2002 by Shayne R Flint
Some Design Details
Copyright © 2000-2002 by Shayne R Flint
Stand-Alone operation
Copyright © 2000-2002 by Shayne R Flint
Client-Server Operation