Applets in Java

Download Report

Transcript Applets in Java

Client-Server applications
Introduction to Java Applets
Client-server architectures
Why do Applets exist?
What can an Applet do?
What are they used for?
Some technical details
Conclusion
[email protected]
Client-Server applications
Simple client-server architecture
Servers may provide different types of services
simultaneously to many clients
Clients are software entities with a network
connection to the server
Clients vary in their capabilities – some have very
little in the way of resources and are considered
“thin”
[email protected]
Client-Server applications
Thin Client systems
Clients may be “thin”, for example a simple
information terminal in a library
or perhaps a mobile handheld device
Thin client systems assume that the bulk of the work
is done at the server
A thin client is little more than a screen and userinput device(s)
[email protected]
Client-Server applications
Client-Server on the Web
Many clients are not thin
Desktop computer systems with an Internet
connection may be more powerful than the server
It is possible to off-load much of the computing work
from the server to the client – better for scalability
In such cases, the client downloads and runs an
application to do work locally
[email protected]
Client-Server applications
Java client-side solutions
Java is a network-centric programming language
It has a number of solutions for client-side
programming
Applets – limited applications that run in a browser
WebStart applications – desktop applications with security
restrictions that can be launched from a web page
Low-level programming of completely general, unrestricted
network applications
[email protected]
Client-Server applications
Why do Applets exist?
In 1995, Java became available as a network-aware
programming language
Applets were part of the language, designed to add
complex functionality to Web pages
At the time, Applets were the only way to program
multimedia on a Web page!
Now competes with Flash, SVG and others
[email protected]
Client-Server applications
Why do Applets exist?
Applets provide trusted, secure, portable
functionality
Cached Applets can be run off-line
Applets allow complex calculations to be run on the
client machine, including;
encryption and secure communication
rapid data communication
interactive graphics
[email protected]
Client-Server applications
What can an Applet do?
Applets are used for lots of tasks;
Online discussions and communication boards
Online document editing
Banking front-ends
Scientific visualisation, e.g. molecule viewers
Advertising (although nearly all Flash now)
Interactive games in 2D and 3D
[email protected]
Client-Server applications
Technical Details
Applets are written in standard Java
Applets are not “complete” applications – they plug
into a browser
Applets can be assumed to have graphics capability
Applets run in a “sandbox” security environment,
giving them extremely limited access to the
resources of the local machine [usually a good thing!]
[email protected]
Client-Server applications
Technical Details
To make an Applet we write a class that extends
Applet (or extends Japplet, the more advanced
Swing-based version)
Then we write code to override some of the four key
methods
These are init(), start(), stop() and destroy()
There is no public static void main(String[] args)
[email protected]
Client-Server applications
Applet methods
Typically we would write code to initialise the Applet
in public void init()
When the Applet becomes visible, the browser will
invoke public void start(), so this is where we
“activate” the program (e.g. start an animation
running)
If the Applet is made invisible we have public void
stop() which turns off animations, sounds etc.
[email protected]
Client-Server applications
Conclusion
Clients and servers vary in their needs an
capabilities
Applets exist to provide rich client capability
Applets can be used as portable, security-limited
applications
For more information, see: Wikipedia on Applets,
Client-server and also Sun's Applet overview
[email protected]
Client-Server applications
Practical notes
You need to compile the .java files on the schedule
into a .class file
Need a HTML to call the .class files
Applets have no main method and so cannot run on their
own
Two examples follow to demonstrate
Free Applets out on the web but beware!
[email protected]
Client-Server applications
HTML wrapper
[email protected]
Client-Server applications
Examples running
[email protected]
Client-Server applications
HTML wrapper
[email protected]
Client-Server applications
Examples running
[email protected]