SilkPilot is a tool to
test distributed
application components.
The maker of SilkPilot is
Segue, a provider of
testing tools for the
enterprise. Their family
of Silk products includes
other testing tools for
various areas of Web,
Java and distributed
development.
Two technologies that
have gained widespread
interest and support in
the past few years are
Java and Linux. Until
recently, however, the
two were separate,
although they share
similar visions of open,
ubiquitous computing. As
interest in both Java and
Linux solutions
increases, developers are
naturally looking to
combine the two, and want
to write applications in
Java that run on Linux
systems. But they need
stable, fast and fully
functional JVMs,
especially for server
solutions that require
servlets and support for
Java Server Pages.
The distribution of
business intelligence
through a network of
organizations within an
enterprise requires the
evolution of spontaneous
networks, which in turn
requires middleware that
facilitates intelligent
communication of
information regardless of
platform, device or
application. In this
context Java provides a
natural platform-neutral
object-oriented approach
that supports a scalable
messaging service, JMS
(Java Messaging Service),
now a standard part of
the Java 2 Enterprise
Edition (J2EE).
Founded in 1996,
Visualize, Inc. develops
and markets a series of
Java-based products for
interactive data analysis
and visualization. They
announced the
availability of the
latest version of their
VantagePoint data
visualization class
library at JavaOne back
in June, and I was
recently given the
opportunity to test out
the new version of the
software.
This was actually the
first book on Enterprise
JavaBeans that came into
the market. Enterprise
JavaBeans was released in
June and made its debut
at JavaOne this year.
This is a pretty good
book for developers who
like to see a lot of
code. The examples in the
book are used to develop
a fairly complex
application and the code
isn't meant for novices.
Tom Valesky presents many
examples. I like the fact
that the book takes an
example and builds its
complexity in successive
chapters. There's good
coverage of distributed
architectures and
transactions. The author
has also dedicated a
chapter to provide some
excellent guidelines for
building distributed
systems. For readers just
starting out in
distributed applications,
the author provides the
appropriate background.
This book isn't for
everyone, though. Readers
already familiar with
distributed systems and
transactions may not want
to go through the
tutorial style followed
in the book and may find
the detailed code
discussions irritating.
ParaSoft's Jtest 3.0 is a
powerful automated tool
for testing Java classes.
Developers can unit-test
their code for
completeness and
standards compliance and
conduct regression tests
to ensure that changes
they've made to their
code haven't introduced
errors.
As Java has evolved from
the language of applets
and JavaBeans to that of
servlets, Enterprise
JavaBeans and database
stored procedures, a need
has developed for a
scalable Java platform.
No longer are Java
applications run only for
a single user. Companies
are now building
enterprise-scale
production systems using
server-side Java
technology, and these
systems need to scale to
serve tens ... often tens
of thousands ... of
concurrent users.
Although many efforts
have been made to enhance
the JDK, Sun
Microsystems' reference
JVM implementation,
Oracle pursued a
different strategy as it
set out in 1996 to
develop an
enterprise-scale,
server-side Java Virtual
Machine from the ground
up. This effort
manifested itself in the
recent release of Oracle
JServer, a 100%
Java-compatible server
environment supportive of
Enterprise JavaBeans,
CORBA servers and
database stored
procedures.
Pervasive Software has
released version 7.5 of
its ubiquitous database
engine and software
development kit. I got
the chance to take a look
at the database and the
various tools using an
evaluation copy of the
software for Windows NT
4.0.
Cerebellum Software Inc.
recently announced the
latest release of their
innovative data access
middleware and query
application development
environment Cerebellum
1.3, which replaces the
tedium of coding SQL
queries with a
drag-and-drop visual
programming approach.
Using Cerebellum, queries
are saved as agents,
which are units of
compiled Java code that
communicate with data
sources in their native
tongue. These agents are
managed by servers called
agencies that mediate
between the workstations
that run the queryclient
applications. This
middleware approach
provides a unified way to
access, integrate and
manage data from a
variety of databases and
data sources at different
physical locations.
Cerebellum is based on
Java 2 Enterprise Edition
technology and
incorporates features
from CORBA.
Help has arrived! I've
have been using RoboHELP
for about four years. I
first bought it as a
special at a Powersoft
trade show in 1995. The
price was right, it
sounded like a cool
product and I didn't know
anything about creating
help files. I create help
files, mostly as
technical help documents
for the programs I write
for my clients, and
needed something that was
easy to use. It looked
like a good place to
start. It was, it turned
out, a good place to
stay.
As the Web grows, a great
deal of effort is being
made toward writing
applications in Java that
interact with databases.
Fortunately, JDBC
provides an easy, databa
se-vendor-independent way
of writing such
applications. While this
approach works for a
number of applications,
there are limitations.
For instance, if the
application requires
execution of a large
number of SQL statements,
efficiency becomes an
issue since round-trips
from the application to
the database are costly.
Also, since these
statements aren't
precompiled, the database
system spends more time
executing them than it
would have if they were
compiled and residing in
the database.
Three years ago, Cyrus
InterSoft's founder and
CEO, Scott Bayless and
his team of developers
decided to make Java
deliver on its promise of
platform independent
network computing. They
recognized the need for a
simple, cohesive way to
transparently tie
together heterogeneous
networks and
communications systems,
providing users with
computing access
anywhere, anytime, on any
device.
Managing information in
the enterprise
environment is no small
task. These days
companies are looking to
robust and scalable
content-publishing
technologies to manage
and distribute
information as quickly
and effectively as
possible. A number of
challenges have to be
overcome first, however.
Data is often scattered
across and outside the
enterprise itself in
multiple repositories and
multiple formats.
Additionally, companies
today quite simply expect
more from their data:
many want information to
be customized to the
user's requirements and
delivered on a dynamic,
as-needed basis.
Mission-critical
Web-based applications
customer self-service,
distribution channel and
supply chain management,
online trading and
banking must be
deployed on a cluster of
servers in order to
provide scalability and
high availability.
Scalability means that
servers can be
dynamically added or
removed as needed to meet
user demand, and that the
overall load of requests
is distributed among the
servers so that resources
remain fully utilized.
High availability means
that there is no
"single point of
failure" in either
the system or the
application, and that
requests automatically
failover from nonworking
components to working
components. Ideally,
clustering should be
transparent to
applications: externally,
the cluster should
present a
"single-system
image." In addition
to simplifying the task
of application
development, this allows
off-the-shelf components
to be deployed without
modification.
There are nearly 6
million business
travelers using the
Internet, responsible for
more than $30 billion in
travel expenses each
year. For the
Internet-based travel
services industry, this
is a tremendous revenue
opportunity and the
competition for this
market is very intense.
Recently I had the
opportunity to work with
Sedona Geoservices'
SpatialVision, an
end-user application for
performing geospatial
data querying, data
visualization and
analysis. SpatialVision
is designed to help your
organization harvest
information from your
data using a geospatial
focus. Geospatial
analysis can be defined
as the process of
comparing your relational
data to location data -
for example, where your
customers are located on
a map. Sedona has
targeted applications as
diverse as call center
management, sales
operations and even
service dispatching as
candidates for such
analysis. The company
estimates that over 80%
of preexisting data
archives have at least a
portion of their data in
an inherently spatial
format.
When Novell, a global
leader in networking,
sought to implement
powerful new Java-centric
object request broker
(ORB) technology in its
products, the company
forged a strategic
partnership with
ObjectSpace, Inc.,Êan
emerging leader in the
distributed computing
market. ObjectSpace's
Voyager product family is
100% Pure Java and
standards-neutral, and
enables CORBA and RMI
objects to communicate
transparently across the
wire.
The JavaBean component
model presents entirely
new ways of developing
software. Once a
component interface is
specified, the actual
implementation can be
accomplished by another
programmer down the hall,
across the country or
anywhere in the world.
This allows outsourcing
of software development
at the component level.
Your company has grown
beyond anyone's
expectations. Internet
orders have skyrocketed
and management is
ecstatic. Everyone is as
happy as a bug in a rug.
Everyone, that is, except
the system administrator.
This unexpected explosive
growth has caused many
new headaches. The server
can no longer handle the
huge number of hits every
day. Raw materials must
now be purchased,
assembled into products
and shipped out faster
than the current system
can keep track of
inventory and purchases.
New departments have been
added, and new employees
in these departments need
various levels of access
to various areas of the
system. All in all, it's
a nightmare!
Java is growing by leaps
and bounds. New
extensions for enterprise
development, 2D graphics,
servlets, speech, etc.,
are being added to it.
This tremendous growth is
making it tough for
beginners as well as
experts to keep
themselves up to date.
About two and half years
ago our company was hired
to write an application
that would allow our
client, Georgia Tech
Research Institute
(GTRI), to access their
financials over the Web.
It was our first major
push into data access
over the Web and we were
pretty hyped. GTRI hired
us because we were a
PowerBuilder shop and all
of their applications
were written in
PowerBuilder. Both
Georgia Tech and our
company, Sage Software,
were excited about using
PowerBuilder's new
Web.PB. It looked very
promising.
To put it bluntly,
SilverStream 2.0 sets a
new standard for
large-scale Web
development and
deployment. We first
looked at the product in
June 1997 when they were
the newest entrant in the
application server
market. It lacked many
enterprise features such
as scalability, fault
tolerance and CORBA
support. In addition, it
only offered advantages
in the area of Java
client development and
deployment. With 2.0,
things are quite a bit
different.
Spaghetti code, sloppy
algorithms, irrelevant
code execution, dead code
and so on can all lead to
poor application
performance. No matter
how much planning goes
into the design of an
application, there always
seem to be some gray
areas where code
performance runs slower
than expected or doesn't
execute at all. If you've
ever encountered this,
ever wondered how fast
your application's
functions and events are
really executing, or if
they are executing at
all, then NuMega's
DevPartner for Java is a
set of tools you should
definitely look into.
One of the problems
involved with storing
Java objects in
relational databases is
that the objects and
their relationships don't
usually map directly to
relational structures.
JdbcStore is a Java
framework designed to
help you overcome this
mismatch and allow you to
easily store objects in
any JDBC-compatible
database. Using the
JdbcStore workbench, you
can model your persistent
objects, their
relationships and how
their attributes map to
database tables and
columns. Based on this
model, JdbcStore
generates Java classes
for creating, storing,
retrieving and
manipulating your
objects. An additional
collection of classes for
handling database
connections, transaction
processing, SQL queries
and object caching round
out the product.
All in all, it's been a
pretty good year. The
hundreds of clients
you've developed
applications for are all
happy. The software
development division has
grown by leaps and
bounds. Then, just when
it looks like you've
reached the pot of gold
at the end of the
rainbow, trouble comes
calling. It's been
brought to your attention
that some clients aren't
getting the upgraded
versions of their orders.
Some complain that
they're receiving
versions that seemed to
be fine-tuned for someone
else. Still more
disturbing is the fact
that the documentation
enclosed with the
software isn't always up
to date. When you
investigate, you discover
a whole new layer of
problems. It seems that
when changes are made to
suit the needs of the
customer, not everyone is
told about it on time.
The software development
teams are not
"talking" to
each other regarding
which changes are made to
which applications. The
technical writers aren't
being kept up to speed on
what documentation needs
to be rewritten. The
people in shipping aren't
always sure which version
is which, and that
accounts for the
embarrassing problem of
wrong software being
delivered to customers.
ServletDebugger 2.0 works
with your favorite Java
development tool to
tackle the tough job of
debugging and stress
testing Servlets. This
tool eliminates the usual
"code, compile,
cross your fingers and
test" method of
Servlet construction.
ServletDebugger is a Java
1.1-based library that
works with a simple stub
class allowing you to
step through your Servlet
code one line at a time.
Servlets can be tested
with GET and POST request
types as well as
unlimited init
parameters, header values
and form data.
Additionally,
ServletDebugger comes
complete with a built-in
Web server to test and
debug your Servlet using
your Web browser.
With its recent
announcement of the
release of eNetwork
On-Demand Server, IBM has
raised the stakes in the
game of Java development.
Now it's possible to
personalize, secure,
manage and deploy your
Java applications from a
centralized Web or Web
application server.
On-Demand Server enables
developers and system
administrators to
customize Java
application preferences
for individuals, groups
or even a specific type
of client machine. All
IDs, passwords,
applications and profiles
are stored on the server,
which enables the same
access policies to apply
whether the client is
logging on from the next
cubicle or from a distant
city. All files that are
critical to the
application are stored on
the server, preventing
users from corrupting or
illegally accessing files
and causing a system
crash. This is a big
advantage over the
traditional client/server
model.
So you've got a nice Java
application in the works.
Your team has toiled for
weeks to get it just
right. Finally, the magic
moment arrives. The
development team has a
meeting, and every part
of the code is humming
perfectly, doing just
what you intended it to
do. Now comes that final
step, when the code is
brought together into one
big application. There's
just one last detail -
it's time to make the
program "user
friendly," which
usually means, among
other things, adding a
GUI (graphical user
interface) so the end
users don't have to be
programmers or rocket
scientists to use it.
Novera Software announced
the availability of the
most recent release of
their application server
software at the Java
Business Expo in New York
in the early part of
December. Version 4 of
Novera Software's
jBusiness application
server features a new
Component Constructor
utility along with a new
Management Console and
support for Enterprise
JavaBeans. The result is
a powerful combination
that's worth
investigating if you are
looking to deploy
applications using an
application server.
Oracle's development team
is excited about the news
that SQLJ has achieved
standard status (ANSI
X3.135.10-1998). It will
undoubtedly be a catalyst
in the adoption of Java
by enterprise application
developers. SQLJ not only
allows SQL to be
incorporated into Java
programs in a standard
way, it paves the way for
database and Java tools
vendors to bring Java
closer to the enterprise
environment. Oracle has
been a firm supporter of
SQLJ right from the early
days when it cofounded
the SQLJ consortium which
submitted the SQLJ
proposal to ANSI
I recently had the
opportunity to work with
the NetBeans Developer
IDE 2.0 for Java.
Although the marketplace
seems to be flooded with
application development
environments for Java
programming, the team at
NetBeans is offering a
slightly different
approach toward Java
development. While the
vast majority of
Java-integrated
development environments
(IDE) are designed to run
primarily under
Windows-based operating
systems, the NetBeans
folks have built their
development environment
completely within Java
itself. The result is a
programming environment
that runs on any platform
that can support a JDK
1.1.5 environment.
Every year, Java
Developer's Journal
presents two types of
awards the JDJ
Editor's Choice Awards
and the JDJ Readers'
Choice Awards. These
awards are designed to
honor and recognize the
leaders in the Java world
specifically,
those companies and
products that the editor
and readers feel are the
best of breed. The
Readers' Choice Awards
are based on nominations
submitted to our Web site
and by e-mail. There are
a large number of
categories for which a
product can be nominated,
including Best Bean, Best
Application Server, Best
Development Environment
and a host of others (see
below). The Readers'
Choice Awards are
presented to the products
that receive the most
votes in a particular
category, with ties being
decided by the editor,
who reserves the right to
select multiple winners
if the situation warrants
it.
The Java language removes
several problem areas for
developers, compared to
C++ development, by its
elimination of memory
allocation and pointer
management. While this
generally makes Java
programs more stable than
their C++ brethren, it
can often lead to the
misconception that Java
programs don't need to be
optimized or profiled.
Nothing could be further
from the truth,
especially when you
consider that Java is
being used to build
enterprise-class
applications, which
require high performance.
KL Group has built a
strong reputation for
supplying Java components
to many of the leading
software vendors, and
they have extended their
Java presence with JProbe
Profiler.
To gain competitive
advantage, Global
Mobility Systems had to
speed its products to
market. As the company
discovered, this hinged
partly on choosing the
right Java platform. That
is not an easy task
because platforms can
appear similar - until
developers start using
them. Global Mobility
eventually selected a
pure Java platform that
readily placed Java's
full dynamic power into
developers' hands, with
remarkable results.
ObjectSpace has made a
name for themselves in
distributed computing
over the past few years.
They recently announced
that Sun Microsystems had
licensed ObjectSpace's
JGL technology (a toolkit
for building and managing
collections) for
integration with Sun's
own JavaBlend technology.
ObjectSpace has followed
up with the release of
their VoyagerPro 2.0
product, and I had the
opportunity to work with
a prerelease of the
software.
Around the time Java made
its mark on the world of
programming there came to
be another phenomenon,
the IDE. Gone were the
days of typing code,
compiling, wondering what
went wrong, typing more
code, recompiling and so
on. The IDE presented the
application builder with
an unprecedented tool,
useful not only for
application building but
for learning as well.
I wish I had a nickel for
each time I've had to
explain to a new vendor
or professional
acquaintance that, just
because I have the word
"Bank" in my
company's name -
NationsBank -I don't
spend my time dealing
with huge, monolithic,
batch-processing systems.
(Sure, we have these
systems. And yes, they're
still in use.) However,
there are large groups
within our bank whose
purpose is to explore the
leading edge of
technology. Our work
centers on incorporating
this technology, both
tactically and
strategically, in
production systems. As
most of these systems are
for internal use, few
people see them unless
they work with us.
The company has just
landed its most important
account to date: a big
client has signed a
contract for the
development of a Java
program. It's an
extensive application,
requiring database
connectivity and the use
of ActiveX controls.
You've been chosen to
head up the project,
which will require a team
of developers. It's now
time to choose an IDE
that combines ease of
use, powerful development
tools and a team-oriented
interface. With the
increasing number of IDEs
on the market, it could
be difficult to choose
one that fits this
scenario.
If a picture is worth a
thousand words, what
words do you use when the
picture is in the wrong
format? Not exactly a Zen
koan, but a valid
question whose answer is
JIMI, the Java Image
Management Interface from
Activated Intelligence.
There are 8,909 books
listed on Amazon.com with
the word 'Investing' in
the title; there are(!)
27,146 books with the
word investment in the
title. Without having lo
This book is an update of
an earlier version that
was written for SQL
Server 2000. It employs
the Murach approach of
dual pages that repeat
and enhance the concepts
Reviewers overuse the
phrase 'required
reading,' but no other
description fits the new
book 'Ajax Security'
(2007, Addison Wesley,
470p). This exhaustive
tome from B
In my many years of
programming, almost 20
years now, I have used
countless integrated
development environments
(IDEs). I have used
everything from a simple
text edi
It's hard to overestimate
the importance of having
a good logging facility
when you develop
distributed applications.
Did the client's request
reached the server-sid