|
Defense and
Aerospace Systems
/\ /\ /\
Computer Software
Consultants and
Professional
Software
Development
Services. |
 |
|
Executive Order
Corporation is
the information
technology
company to offer
business solutions
for every point in
the technology
information supply
chain, including
retailers, carriers,
portals, developers
and enterprises.
/\ /\ /\
At Executive
Order we
make a difference
in your business! |
|
| |
|





|

A
small group of Sun engineers got together to give some serious
thought to digital systems in everyday things -- since toasters,
thermostats, games, and countless other devices contain
increasingly complex CPU's -- and how they could get them to
share information
The
people building products, of course, all base their designs from
different directions, depending on the hardware platform,
operating system, and applications they use. But what if
your want some of these products to work together? And
what about security, reliability, and networking issues?
So
these Sun engineers took apart a wide array of products and
reassembled them with the goal of getting these disparate
devices to talk to each other, pass objects to one another, and
understand all the others' behavior in order to work together
better. This would minimize problems for manufacturers and
make it simple for consumers to integrate. When
traditional languages proved inadequate, the engineers set out
to find something new, modern, and simple. And Java
technology was born.
It
was quickly discovered that Java technology had potential beyond
what the engineers had envisioned. Part of the elegance of
Java technology lies in the simplicity it offers to both
developers and users. Developers enjoy a broad user base,
platform independence, reduced development costs, and a
consistent execution environment, while users benefit from live
content, just-in-time software, and increased security.
But
it was when Java technology was put on the World Wide Web that
it really took off. Java technology shook up the world by
making Web pages come alive, yet it was soon obvious that the
Java platform had far greater potential. People adopted
Java technology for its unique ability to enable the building
and deploying of applications that run across any network, any
operating system. The time and costs involved in software
distribution are virtually eliminated, enabling companies to
devote more resources to developing their products. And
some industry experts feel that Java technology may change the
software sales model from a fixed price to a per-usage strategy,
which is more lucrative and discourages bootlegging.
Of
course, while its benefits to the enterprise are what many
industry experts tout, Java technology's advantages for consumer
devices -- not unlike those that the original group of Sun
engineers were toiling with -- has led to an explosion of
innovative new products as well.
In a
nutshell, Java technology is an open, standard, universal
platform for network computing that scales from the simplest
consumer devices to mission-critical applications, building on
your existing hardware and software architectures to create a
fully networked enterprise or innovative products beyond the
enterprise.
Java
was originally called Oak, and designed for use in embedded
consumer - electronic applications by James Gosling. After
several years of experience with the language, and significant
contributions by Ed. Fank, Patrick Naughton, Jonathan Payne, and
Chris Warth it was retargeted to the Internet, renamed Java, and
substantially revised to be the language specified here.
The final form of the language was defined by James Gosling,
Bill Joy, Guy Steele, Richard Tuck, Frank Yellin, and Arthur van
Hoff, with help from Graham Hamilton, Tim Lindholm and many
other friends and colleagues.

Java
is a general-purpose, concurrent, class-based, object-oriented
language. It is designed to be simple enough that many
programmers can achieve fluency in the language. Java is
related to C and C++ but is organized rather differently, with a
number of aspects of C and C++ omitted and a few ideas from
other languages included. Java is intended to be a
production language, not a research language, and so, as C.
A.R. Hoare suggested in his classic paper on language design,
the design of Java has avoided including new and untested
features.
Java
is strongly typed. This specification clearly
distinguishes between the compile-time errors that can
and must be detected at compile time, and those that occur at
run time. Compile time normally consists of translating
Java programs into a machine-independent byte-code
representation. Run-time activities include loading and
linking of the classes needed to execute a program, optional
machine code generation and dynamic optimization of the program,
and actual program execution.
Java
is a relatively high-level language, in that details of the
machine representation are not available through the language.
It includes automatic storage management, typically using a
garbage collector, to avoid the safety problems of explicit
deallocation (as in C's free
of C++'s delete).
High-performance garbage-collected implementations of Java can
have bounded pauses to support systems programming and real-time
applications. Java does not include any unsafe constructs,
such as array accesses without index checking, since such unsafe
constructs would cause a program to behave in an unspecified
way.
Java
is normally compiled to a bytecoded instruction set and binary
format defined in the Java Virtual Machine Specification
(Addison Wesley, 1996). Most implementations of Java for
general-purpose programming will support the additional packages
defined in the series of books under the general title The
Java Application Programming Interface (Addison-Wesley).
The
Java Language Specification by James Gosling Bill Joy Guy
Steele
 |

|
Jini
connection technology is manifest as a new system architecture
that makes the improvements these observations suggest: Jini
technology brings to the network the facilities of distributed
computing, network-based services, seamless expansion,
reliable smart devices, and ease of administration.
Here's
the vision: When you walk up to an interaction device that is
part of a system employing Jini technology, all of its services
are as available to you as if they were on your own computer
-- and services include not only software but hardware devices
as well, including disk drives, DVD players, VCRs, printers,
scanners, digital cameras, and almost anything else you could
imagine that passes information in and out. Adding a new
device to a system employing Jini technology is simply
plugging it in.
How
Jini Connection Technology Makes This Work
| Jini
technology provides simple mechanisms which enable
devices to plug together to form an impromptu
community -- a community put together without any
planning, installation, or human intervention.
Each device provides services that other
devices in the community may use. These devices
provide their own interfaces, which ensures
reliability and compatibility. |

|
In our story, the
hotel suite provided a small network and a lookup service
with which devices and services registered. When the
project disk was plugged in, it went through an
add-in-protocol -- called discovery and join--in
which the disk first located the lookup service (discovery)
where it then uploaded all its services' interfaces (join).
The other devices -- the PDA, the clamshell pager, the cell
phone, and the laptop -- all went through the same process.
To use a
service, a person or a program locates it using the lookup
service. The service's interface is copied from the
lookup service to the requesting device where it will be used.
The lookup service acts as a switchboard to connect a client
looking for a service with that service. Once the
connection is made, the lookup service is not involved in any
of the resulting interactions between that client and that
service.
It doesn't
matter where a service is implemented -- compatibility is
ensured because each service provides everything needed to
interact with it. There is no central repository of
drivers, or anything else for that matter.
In our story,
the presentation was mirrored on the TV; to do this, the
person operating the laptop selected the TV screen display
service and plugged it into the presentation software.
To reserve the hi-res printer, a service was selected that was
built on top of the printer service to control who, how, and
when the printer is used.
The Java
programming language is the key to making Jini technology
work. Devices in a network employing Jini technology are
tied together using Java Remote Method Invocation (RMI).
By using the Java programming language, a Jini connection
architecture is secure. The discovery and join
protocols, as well as the lookup service, depend on the
ability to move Java objects, including their code, between
Java virtual machines. Java
programming language is the key to making Jini technology
work. Devices in a network employing Jini technology are
tied together using Java Remote Method Invocation (RMI).
By using the Java programming language, a Jini connection
architecture is secure. The discovery and join
protocols, as well as the lookup service, depend on the
ability to move Java objects, including their code, between
Java virtual machines.
|

|
Jini
technology not only defines a set of protocols for
discovery, join, and lookup, but also a leasing and
transaction mechanism to provide resilience in a dynamic
networked environment. The underlying technology
and services architecture is powerful enough to build a
fully distributed system on a network of workstations.
And the Jini connection infrastructure is small enough
that a community of devices enabled by Jini connection
software can be built out of the simplest devices.
For example, it is entirely feasible to build such a
device community out of home entertainment devices or a
few cellular telephones with no "computer" in
sight. |
Java Smart Devices
Devices permeate
our lives. Look around: TVs, VCRs, DVDs, cameras,
phones, PDAs, radios, furnaces, disk drives, printers, air
conditioners, CD players, pagers and the list goes on. A
device performs a simple task, and only that task: Today
devices are unaware of their surroundings -- they are rigid and
cannot adapt. When you buy a disk drive, you expend a lot
of effort to install it or you need expert to do it for you.
Now, devices of
even the smallest size and most modest capabilities can
affordably contain processors powerful enough for them to
self-organize into communities that provide the benefits of
multi-way interactions. A device can be flexible and
negotiate the details of its interaction. We no longer
need a computer to act as an intermediary between a cell phone
and a printer. These devices can take care of themselves
-- they are flexible, they adapt.
A device that can
take charge of its own interactions can self-configure,
self-diagnose, and self-install. When computers were the
size of large rooms, it made sense to have a staff of people to
take care of them. As computers became smaller and shared
by fewer people, each sys admin took responsibility for more
computers. But now the cost of a computer is low, and Jini
technology creates the possibility of impromptu device
communities popping up in all kinds of places far from any sys
admin. Self-managing devices reduce further the need for
expert help, and this should lower the total cost of ownership
for Jini connection technology-based systems.
Jini
Connection Technology - specs etc from Sun
What
has happened to Jini? - ZDNet article
 |

|
JDBC is a java
API for executing SQL statements. (As a point of interest,
JDBC is a trademarked name and is not an acronym; nevertheless,
JDBC is often thought of as standing for "Java Database
Connectivity") It consists of a set of classes and
interfaces written in the Java programming language. JDBC
provides a standard API for tool/database developers and makes
it possible to write database applications using a pure Java
API.
Using JDBC, it is
easy to send SQL statements to virtually any relational
database. In other words, with the JDBC API, it isn't
necessary to write one program to access a Sybase database,
another program to access an Oracle database, another program to
access an Informix database, and so on. One can write a
single program using the JDBC API, and the program will be able
to send SQL statements to the appropriate database. And,
with an application written in the Java programming language,
one also doesn't have to worry about writing different
applications to run on different platforms. The
combination of Java and JDBC lets a programmer write it once and
run it anywhere.
 |

|
Swing represents
components by a common variation of MVC in which view and
controller are combined into an oject called a delegate.
Delegates both represent the model, as a view does, and
translate user input inot the model, as a controller does.
Communication between view and controller is very complex.
Combining the two simplifies the job of component design.
As an example,
consider a checkbox widget. Regardless of visual
representation, it has a state that can be either true or false.
This corresponds to the checkbox's model. The way you
represent these two states on the screen refers to its
delegate-view. When a user clicks the mouse on the
checkbox, the delegate-controller is responsible for notifying
the model of the intended state chacge. Commonly, the
delegate associated with a checkbox uses a checked box to
represent the true state and an unchecked box to represent the
false state. It toggles the state when a user clicks
within the box. In this way, the delegate-view reflects
the model and the delegate-controller translates user input into
the model.
Swing widgets are
subclasses of JComponent,
such as JButton.
At any given time a JComponent
has a single model and a single delegate associated with it.
Possible models for a particular JComponent
are classes that implement a model interface specific to that JComponent.
For a class to act as a JButton's
model, it must implement the ButtonModel
interface. Likewise, delegates are implementations of a
delegate interface specific to the JComponent.
The ButtonUI
interface defines a JButton's
delegate.
Introduction
to JGC/Swing - training course by jGuru Institute
Fundamentals
of Java Servlets - training course by jGuru Institute
 |

|
A JavaBeans
component is an object that conforms to a communication and
configuration protocol, as prescribed by the JavaBeans
specification. The JavaBeans specification prescribes
programming conventions and dynamic discovery mechanisms that
(1) minimize the design and implementation effort for small
software components while (2) fully supporting the design,
implementation, and assembly of sophisticated components.
The three fundamental aspects of the JavaBeans component as
defined by the specification are events, properties, and
methods. JavaBeans
specification. The JavaBeans specification prescribes
programming conventions and dynamic discovery mechanisms that
(1) minimize the design and implementation effort for small
software components while (2) fully supporting the design,
implementation, and assembly of sophisticated components.
The three fundamental aspects of the JavaBeans component as
defined by the specification are events, properties, and
methods.

|
|
|