Call on extensible RMI
Remote Method Invocation (RMI) has become a standard communication
mechanism between remote Java objects. In spite of that popularity,
the lack of a robust security framework has hindered RMI's
acceptance for wide-area distributed computing. The latest RMI
framework, Jini Extensible Remote Invocation (JERI), introduced as
part of the Jini 2.0 release, features a powerful, highly
configurable RMI security mechanism. This article presents an
extensible RMI overview and demonstrates JERI's configuration
features.
Frank Sommers,
December 2003
Jini Starter Kit 2.0 tightens Jini's security framework
Security for distributed systems based on mobile Java code is the
theme of Sun Microsystems' new Jini Starter Kit, JSK 2.0. JSK 2.0
incorporates three new specifications: a new programming model and
infrastructure for Jini services, a new implementation of Java RMI
(Remote Method Invocation), and several changes to existing Jini
tools and utilities. This article introduces JSK 2.0's
security-related features.
Frank Sommers,
May 2003
Jini's relevance emerges, Part 2
In Part 2 of this interview, Sun Microsystems Fellow and Chief
Engineer Rob Gingell compares the ability of Web services and Jini
to deal with network failure and system change. He also discusses
polyarchic systems, intellectual property, the JDK's role in
relation to Jini, and Liberty Alliance.
Frank Sommers,
August 2002
Jini's relevance emerges, Part 1
JavaWorld columnist Frank Sommers talks with Sun
Microsystems' Fellow and Chief Engineer Rob Gingell. In Part 1 of
this interview, Gingell discusses the role of Jini in Sun's new
software organization; the relationship between Jini, Web services,
and the Sun ONE (Open Network Environment) initiative; and the
rationale for document-centered Web services versus mobile object
systems. (4,600 words; August 16, 2002).
Frank Sommers,
August 2002
Java's secret weapon
Set in the backdrop of JiniFest 2002, the Jini community's first
technology showcase, this article revisits the original Jini
vision, surveys Jini's progress since the technology's introduction
in 1998, and suggests the roles Jini might play in Java's future.
Frank Sommers,
August 2002
Jini-talk with Jim Waldo
Frank Sommers and Bill Venners recently caught up with Jini
architect Jim Waldo at JavaWorld's San Francisco office.
In this interview, Waldo talks about the impact of mobility on
distributed systems, Jini as a tool to reengineer the corporate MIS
infrastructure, the importance of type systems, and the semantic
Web.
Frank Sommers With Bill Venners,
November 2001
Survival of the fittest Jini services, Part 3
The Jini Transaction Specification defines a transaction
coordinator for the two-phase commit (2PC) protocol, as well as a
default transaction semantics guaranteeing ACID properties. This
article explains the default transaction semantics based on the
two-phase locking (2PL) protocol, and offers guidelines for its
implementation in services based on activatable RMI objects.
Frank Sommers,
October 2001
Survival of the fittest Jini services, Part 1
In the near future, Frank Sommers argues, all information capable
of digital capture will be recorded, and made available via the Web
in the form of active, persistent objects. The primary consumers of
this information will be machines (software), which will let people
intelligently use increasingly larger portions of that vast
resource. This will motivate the industry to develop dependable
methods of software-to-software interaction on the network, where
unreliable components will be eliminated automatically, resulting
in the survival of the fittest services. This article is the first
in a four-part series on designing and deploying highly dependable
Jini services. (6,000 words)
Frank Sommers,
April 2001
Browse user interfaces for Jini services
The ServiceUI specification developed by the Jini.org community
defines a suggested procedure for attaching user interfaces to Jini
services. In this article, Jeffrey Peden -- a new contributor to
the Jiniology column -- introduces you to a simple ServiceUI-based
example service. Then he shows you how to build an application for
browsing and launching user interfaces for Jini services.
Jeffrey Peden,
March 2001
Object mobility in the Jini environment
The more capable a software package, the more installation and
configuration it typically requires. Jini promises to reverse this
trend by locating objects on the network based on their
functionality or object type, and then letting clients download the
objects and code needed to interface with these services. New
Jiniologycolumnist Frank Sommers provides
background to the use of mobile objects in Jini, and describes the
Java class loading and object serialization architectures that make
mobile code possible. He then offers a tutorial on setting up Jini
services so that you can make your code available for download by
clients. (5,000 words)
Frank Sommers,
January 2001
Using objects in place of documents for server-client interaction, Part 3
In the first two parts of this series, Bill Venners discussed the
advantages and disadvantages of using objects in place of documents
as the nexus of client/service interaction. In the conclusion of
this series, he compares the two approaches again. But this time,
he compares objects and documents from a user's perspective.
Whereas the previous articles in the series focused on clients that
operate autonomously, this article focuses on clients that connect
network-delivered services to human users. (4,700 words)
Bill Venners,
November 2000
Make room for JavaSpaces, Part 6
So far, this series has presented the fundamentals of JavaSpaces
programming, and shown you how applications are based on passing
around (writing, reading, and taking) entries through spaces. In
this final installment, Susanne Hupfer introduces you to the
concept of distributed data structures -- the common set
of building blocks that are used in practically every space-based
program. Then she shows you how to build and use a versatile
channel distributed data structure, and illustrates its
use in a distributed MP3-encoding application. (4,500
words)
Susanne Hupfer,
October 2000
Objects versus documents for server-client interaction, Part 2
In this three-part series, Bill Venners compares the traditional
approach to defining client/server interaction, using protocols and
documents, with Jini's strategy of using objects and interfaces. In
Part 1, Venners demonstrated how the two approaches define the
interaction between a client and a newsfeed server. Part 2 fleshes
out the advantages and disadvantages of objects and documents for
sending a service across the network to software when no
client-side user is present. (4,000 words)
Bill Venners,
July 2000
Make room for JavaSpaces, Part 5
A space-based compute server is a powerful, all-purpose computing
engine that accepts tasks, computes them, and returns results. In
this article, Susanne Hupfer revisits the compute server developed
in Part 2 and points out its shortcomings in terms of fault
tolerance and true scalability. Then, she shows how to use Jini
transactions to make the application more robust and multiple
JavaSpace services to make it more scalable. (3,000 words)
Susanne Hupfer,
June 2000
Objects versus documents for server-client interaction, Part 1
In this article, the first of three parts, Bill Venners compares
the traditional approach to client-server interaction, using
protocols and documents, with Jini's approach of using objects and
interfaces. In Jini's approach, unlike the document approach of
HTML and XML, servers interact with client programs by sending
objects across the network. This first part looks at how
objects and documents differ when servers interact with client
programs that have no client-side user. (4,000 words)
Bill Venners,
May 2000