| Project LongJump — an Architecture for Low Cost, Secure Internet and Wireless Services | ||
|---|---|---|
| <<< Previous | Next >>> | |
The design of a software program — just like that of a physical structure — must specify a set of quality building blocks. Without them, no project can succeed, no matter how clever the methods used to guide construction.
Before discussing the major subsystems of the LongJump architecture, it is important to understand the required building blocks that would be used to actually create a LongJump application. The list below provides an overview.
Generic Intel and AMD hardware.
Open Source Software.
Well accepted, open standards — especially for networking.
J2ME for mobile wireless clients.
Web browser interfaces for desktop clients.
A combination of C++ and Python programming languages for the servers.
Generic, inexpensive hardware (based on common Intel and AMD microprocessors, PCI busses, etc.) is the best choice for the server side. Modern generic hardware will — if used with well-designed software — operate quickly and reliably. Installing additional generic servers for increased redundancy and performance is almost always far cheaper than using highly proprietary hardware. For example, massive installations of Linux-based PCs have been used to create powerful supercomputers [Gro02] — at less than one-tenth the traditional supercomputer price.
On the client side, far less control is possible — users would be reluctant to switch platforms just to use one application. Mobile wireless devices in particular can be highly variable. Ways to deal with this situation are presented in the subsection Client Building Blocks.
| <<< Previous | Home | Next >>> |
| Environment of an Internet-Based Application | Open Source Software |