Amber is a Java technology that allows the traditional HTML-page style user interface of web applications to be replaced with a more familiar, more functional GUI, similar to that used by desktop operating systems. Amber uses a light Java applet running in a web browser as a display mechanism. The Amber interfaces are based on the Java Abstract Window Toolkit (AWT), and will function effectively on a browser running Java version 1.1 or higher (both Internet Explorer 4 and Netscape 4 are well suited for running Amber).
The Amber system has two main software components:
Amber uses the Amber Application Transfer Protocol (AATP). AATP will work over any TCP-IP network, including Internet, Intranet, Extranet, WAN or LAN.
Amber ships with all the necessary software to both develop and host an Amber-based site.
The Amber Client is a Java applet (approx 100KB, slightly more with security enabled) which downloads to the web browsers of Amber users. The Client contains all the visual controls that allow it to present the user with a GUI, and messaging code which allows the clients to communicate back to the Amber Server. No business logic resides on the client - all the GUI layouts, data, behaviour and updates are presented by the Client on demand, as directed by the Amber Server.
The client is launched with an <APPLET> tag on a regular web page. When the client starts up, it establishes a connection back to the Amber Server, which persists throughout the session and is used for transporting data between the Client and Server.
Once the connection has been established, the Amber Server will direct the intelligent Java components in the Amber Client to display the appropriate window controls and data via a series of high-level commands. Hence, a highly functional, fully featured screen can be presented on the Amber Client with very little bandwidth utilisation
The Amber client component is static - all Amber programs share the same download. The download is small enough that most browsers will cache it, so it need not be downloaded every time a user invokes your Amber system.
The Amber Client will run in any web browser which supports Java 1.1 or higher.
The Amber Server is the controlling core of an Amber system. The Amber Server is a software process, which functions in tandem with the Web Server.
When the Amber Server detects an incoming connection from an Amber Client, it invokes the appropriate Amber application in a new thread.
To develop an Amber system, set of Java classes is written which plugs into the Amber Server. These classes, known as Handlers, provide GUI layouts, behaviour and data to the client. If desired, these classes can implement business logic or interface to other systems. Amber programs looks very similar to standard Java AWT applications - all the concepts and names are consistent. An Amber program may be running on the other side of a network, being simultaneously accessed by multiple users, but these facts are transparent to the Java programmer.
The Amber Server is 100% Java, and is fully cross-platform.
Amber will operate over any TCP-IP network. If the network includes a firewall, the appropriate port must be opened by the network administrator, or Amber must use HTTP communication (available in the Enterprise Edition).
The Amber Application Transfer Protocol is a socket-based light protocol for communication between the Amber Server and Client. A lot of effort has been invested in making AATP as small and fast as possible. In the Enterprise Edition, AATP is optional - you may enable HTTP communication to allow Amber to communicate through closed firewalls (although HTTP communication is slower).
Because Amber applications are programmed in Java, an Amber application can do anything Java can do - for example, utilise EJB servers, databases, message queueing services, email servers, legacy systems - with the appropriate Java library, the application can perform whatever tasks are required of it.