Remember, back in grade
school, when someone
pointed out that your
epidermis was showing,
how hard it was to muster
up the courage to ask
what the word
"epidermis"
meant? That's kind of how
I felt as a Java
programmer admitting
that, for all the talk
and excitement about
JavaBeans, I had never
actually seen one, never
actually used one and
certainly never actually
built one.
Foundations This month I
wrap up my two part
review of the Application
Foundation Classes with a
closer look at the user
interface controls it
provides. In my past two
columns, I've showed you
how to install and use
the Java SDK 2.0, which
includes the Application
Foundation Classes, and
how to begin using the
Application Foundation
Classes in your own
applications. Now it's
time to take a closer
look at what the
Application Foundation
Classes can do for the
user interfaces of your
Java applications.
I want... I want... I
want... Seems like those
childlike wants of ours
never disappear, they
just change slightly to
match our changing
environments! If you have
to build a Web site,
whether for internal use
on an Intranet or for
publication on the
Internet, you want a
complete set of tools.
You want a Web Server
program with a simple
administration interface,
a Browser, a Web Page
Editor (or two!), a
graphics program with
image map capabilities
and some extras for
accessing databases from
your site, providing
search engine
capabilities and
supplying fill-in forms
for your site's visitors
to use. Perhaps you want
to provide secure pages
for conducting credit
card business on the Web
and want tools to
simplify that task. But,
you don't want to spend a
fortune to get them.
Last month, we started
this column by looking at
the development tool,
Visual Café Pro. Visual
Café Pro makes the
perfect companion for the
developer, giving instant
access to the editor,
on-line help and runtime
environments. The main
goal of this column will
be to teach the reader
the power behind Java by
using Visual Café Pro,
one of the most popular
integrated development
environments in use
today.
SuperCede has a picture
of a man that resembles
the comic book character
Flash'. This character is
highly representative of
the SuperCede development
environment and SuperCede
Flash Compiler'
technology that allows
the developer to modify
the code of a running
application. This Java
development environment
allows the user to
generate standard Java
classes for portability
or native executables for
Intel-based PCs.
SuperCede comes in three
flavors: the Java
Edition, the Java/Active
X edition and the
Database Edition. This
review concentrates on
the Database Edition. The
Database Edition is not
just a well-written and
well-packaged development
environment for the Java
developer, but also opens
the door for Visual Basic
and PowerBuilder
developers to develop
applications in Java that
can not only generate
enterprise-wide
applications for the
Intel platform but for
any platform the Java
Virtual Machine is
developed for.
In many companies, Web
site statistics must be
analyzed by many people
throughout the
organization. Your
consulting division may
want to know how often
its page has been hit and
by whom, while your
software products
division will want to
know how often a
particular page has been
visited and how long each
page was viewed (as well
as who viewed it.). To
generate this kind of
information, it
previously was necessary
to ask the Webmaster to
do so, which would
normally entail either
going to the server
yourself (if you were the
Webmaster) or requesting
that they set aside some
valuable time to generate
the report. Many log
analysis programs can be
configured so that a
specified report (such as
most common domain name)
can be e-mailed to a
number of recipients.
This is a nice feature,
but if you're not the
Webmaster and you want to
request additional
information, you'll have
to annoy your poor,
overworked Webmaster
again. How can you give
people throughout your
organization access to
the information they need
(especially marketing
people with little
technical background) and
give them the flexibility
they want (while at the
same time keeping them
out of your hair)?
What Is The AFC? I know
that football season is
right around the corner,
but you're not going to
find an in-depth analysis
of football's weaker
conference here. The
Application Foundation
Classes, or AFC, are
Microsoft's answer to the
Abstract Windowing
Toolkit (AWT). The AFC
builds on the AWT
foundation to provide
more user-friendly
controls for your
applications. The AFC is
currently available only
as a preview release and
requires a Java 1.02 or
1.1 compatible compiler
and Virtual Machine.
Roaster Release 3 is the
latest version of the
Java Macintosh
development environment
from Roaster
Technologies, a spin-off
of long-time Macintosh
developer Natural
Intelligence. As an early
market leader with a year
of interim developer
releases, Roaster's
Release 3 is a solid,
fully-featured,
professional-quality
development environment
that integrates a variety
of tools including a
project manager, a
syntax-sensitive editor,
a class source browser, a
class tree viewer, an
HTML documentation
extractor, a compiler and
a source-level debugger.
Release 3 also includes a
beta preview of a
just-in-time compilation
runtime system. While
Release 3 only supports
JDK 1.0.2, a free JDK 1.1
upgrade will be available
in August to registered
Roaster Release 3 users.
Roaster includes 90 days
of free technical support
from a very responsive
and knowledgeable support
organization.
Welcome to Your New
Language One can assume
that if you're reading a
journal devoted to Java
you've taken the first
steps into this
relatively new and
emerging language that
has filled up many
columns in every major
trade magazine since its
release only a couple of
years ago. You've seen
the hype, read the
leaflet, digested the ads
and got the T-shirt! At
this stage, you know Java
is the language of the
future, with its built in
security and
communication. Its
ability to run on any
platform supporting the
runtime environment has
been well publicized. You
now want to join the
throngs of developers who
are churning out Java
code 24 hours a day
worldwide. But where do
you begin?
Launching a technology
into stardom begins with
an enormous creative
effort. The combined
technical and marketing
forces pouring out of
Java tool vendors is as
impressive as the fires
fueling the giant first
stage of a Saturn rocket.
But the first stage burns
out quickly, followed by
a less flashy, more
sustained effort. With 75
percent of developers
programming database
applications, Java IDEs
must tap this fuel to
reach a long-lasting
orbit.
If you are planning to
deploy your database
application on the
Internet or Intranet,
very soon you will need
to deal with state
management.' The
stateless nature of Web
architecture makes it
radically different from
the other (traditional)
client-server
architectures. The
servers do not maintain
any information on a
client after the request
is served. NetDynamics
offers a solution for
such problems. You can
develop a fully
object-oriented Web
application in Java using
the NetDynamics system.
It supports server side
Java for the generation
of dynamic Web pages,
application logic and
database connectivity. It
also addresses security,
access control and flow
control of the user in a
Web application.
What's In The Java SDK
2.0
Have you been itching
for JDK 1.1 support in
Visual J++? You might
have been disappointed to
find out that when you
upgraded to Visual J++
Version 1.1, it didn't
include JDK 1.1 support.
Well, the cure for your
blues is almost over!
Microsoft has recently
released the Microsoft
Java SDK 2.0 Preview. The
Microsoft Java SDK 2.0
includes support for most
JDK 1.1 classes, improved
ActiveX integration,
support for JavaBeansª,
the Application
Foundation Class (AFC)
libraries, JDBC support,
Direct- X support, a new
version of the Java
compiler and a Java
Virtual Machine. Let's
take a closer look at
some of these important
improvements.
Visual Basic programmers
look high and low for the
perfect ActiveX/OLE
Control to use in their
next client/server
project. Protoview's
DataTable OLE control is
one such ActiveX/OLE
control. The DataTable
control falls into the
grid/spreadsheet class of
ActiveX/OLE controls and
has a boatload of
features to allow for a
multitude of presentation
views and styles.
Domino, the latest
incarnation of the
software system formerly
known as Lotus Notes,
provides Web developers
with an effective,
efficient and inexpensive
vehicle for building and
deploying full-featured
Web sites. The current
release of the Notes
server software is called
Domino 4.5 and it
maintains the Notes
heritage for developing
robust work flow
applications (with
features like field level
replication) while
extending it to the Web.
Lotus amplifies Domino's
Web server capabilities
with a number of template
databases. The
Domino.Action template
enables Web site
developers, after setting
various parameters such
as company name and logo,
to automatically generate
a complete Web site with
links from the home page
to pages like About the
Company, FAQ, Job
Postings and so forth.
There are a variety of
other templates as well.
Domino.Connect provides a
mechanism for populating
Domino Web pages with
data from back end
databases, while
Domino.Merchant gives a
business everything
needed to set up a Web
storefront. When it comes
to making Java applets
work with Domino,
however, things are a bit
more obscure.
Squeezing the power of a
high-end multimedia
authoring program into a
rich, easy-to-use Java
RAD tool like Hyperwire
probably wasn't easy, but
thankfully someone did
it. No surprise that
that someone is Kinetix,
a division of Autodesk
and maker of 3D Studio
MAX, a company with years
of experience designing
for designers. For anyone
working to create
interactive, visual
content for the Java
virtual machine,
Hyperwire is, quite
simply, a dream come
true.
Editor's Note: Bluestone
Software will be coming
out with a 100 Percent
Pure Java implementation
in version 4.0 by the end
of the summer. Instead of
generating C or C++, it
will also generate 100
Percent Pure Java on the
server that can run in
any Java Virtual Machine
Recently, Microsoft
introduced version 1.1 of
Visual J++, its Java
development environment.
This latest version of
Visual J++ builds on the
first edition and
includes an improved
customizable integrated
development environment,
an integrated debugger,
more wizards which assist
in the development
process, improved
database support and an
integrated help system.
The Visual J++ Java
compiler also continues
to be one of the fastest
available on the market,
with the ability to
compile over 10,000 lines
per second.
Rooms by ichat is the
premier comprehensive
solution for creating Web
sites that allow multiple
users to interact. It
provides several key
features that make it
suitable for Web sites of
any size and has
cross-platform support
that makes it accessible
to users on almost any
imaginable platform.
JavaSoft has promised
that they will deliver
many enterprise-based
APIs to the Java
environment, and,
hopefully, they will one
day make Java the ideal
language for creating
professional business
applications quickly.
Until that day comes,
however, we have Vibe.
Vibe is the latest in the
long line of Java IDEs
that claims to deliver
high-performance,
easy-to-use, Java power
to developers. In this
newly maturing field,
there have been two basic
approaches to the
creation of development
environments. Sun
Microsystems, not
surprisingly, has placed
their faith in an IDE
created entirely in Java,
which gives them certain
advantages, but also has
numerous drawbacks. The
opposite approach, taken
first by Symantec's Café,
is to write the IDE in an
older-generation
language, like C++, to
increase its speed and
efficiency. Vibe takes
this latter approach, but
extends it in ways that
its competitors have not.
Not only does Vibe have a
first-rate IDE with all
of the basic features, it
also provides developer
with an extensive set of
classes, implemented in
native C, which support
features from graphics to
printing to ActiveX
integration. Visix claims
this set is
"superior to any
other Java tool in
existence". And
they're not kidding.
WebSpice is a collection
of more than 1000
royalty-free GIF and JPEG
images that you can use
with your web pages. The
images were created by
professionals at DeMorgan
to enhance the appearance
of your web pages.
WebGain says that Visual
Cafe "gives
developers the fastest,
most productive visual
programming environment
ever for creating Java
applets and
applications."
Usually, this would be
corporate puffery. Well,
in this case, WebGain is
actually understating the
power of Visual Cafe.
NET-Install, from 20/20
Software Inc., allows
software to be
distributed over the
Internet. It combines
downloading,
decompression and
installation into a
single step which is
accomplished from within
a browser. NET-Install
currently supports
Netscape Navigator 2.0
and above by way of
plug-in technology and
Internet Explorer 3.0
using Microsoft's ActiveX
technology.
In December 1995, Bill
Gates mobilized his
company into a war to
dominate the Internet.
Every product would now
require an Internet
strategy. Also, Microsoft
would "embrace and
extend", especially
in regard to the threat
of Sun's Java. To this
end, Microsoft developed
Visual J++, which allows
you not only to create
pure Java programs
("embrace"),
but also to develop
programs that use the
Common Object Model
("extend").
If you've been
struggling, trying to
work around Java's lack
of an installation
toolkit, then you should
probably take a look at
Setup Factory 4.0 by the
Indigo Rose Software
Design Corp. Most Java
programs or packages
require an installation
which might involve
something as easy as
placing a few files on
the user's system, or it
might be much more
complex. More complex
installations might
require the installation
of native libraries,
configuration files and
even require feedback
during the installation
process from the user.
WebSite Professional from
O'Reilly & Associates
is an award-winning Web
server which runs on
Windows 95 and NT 3.51 or
higher. The Professional
edition is the high-end
version of the Standard
WebSite server. In
addition to the usual Web
server functionality it
includes many exciting
features such as enhanced
security, a new WebSite
Application Programming
Interface (WSAPI) and the
Cold Fusion database
application development
tool. Other tools
included with the product
are the SpyGlass Enhanced
Mosaic browser, HotDog
HTML Editor, MapThis!
image map editor, WebView
for graphically managing
your Web, and WebIndex
and WebFind for indexing
and searching your web.
EchoSearch is a
Java-based, multi-search
engine query assistant.
Through its primitive
interface, anyone can
quickly develop queries
to go against its seven
predefined Web or Usenet
search engines. The
concept behind EchoSearch
is great, and surely
needed. However,
execution leaves much to
be desired, given other
more powerful tools on
the net.
The ability to add TCP/IP
communications capability
to your PowerBuilder
applications can make you
a valuable member of any
development team. In the
past, developers have
relied on skills which
required low-level coding
and a steep learning
curve. This might include
making difficult calls to
the Winsock API and
managing socket
connections, application
protocol processing and
state level management.
Your project could grow
old while you learn the
Winsock API!
Sun's Java WorkShop, the
most important product to
enter the Java Integrated
Development Environment
(IDE), is a powerful
integrated toolkit that
allows quick and easy
cross-platform
application development
in Java. Sun
Microsystems, whose
JavaSoft group created
Java, has taken its time
developing this IDE, and
poses a serious challenge
to Symantec, Borland,
Microsoft and other
companies who sought to
win market share by
coming out with a product
much faster. Sun's
offering is clearly a
full industrial strength
development tool;
however, as with most
first release versions,
it can be frustrating to
the casual developer.
Asymetrix SuperCede for
Java is an Integrated
Development Environment
(IDE) for Java
development on Windows 32
platforms. The IDE
includes a C++ compiler
for making native
methods. SuperCede is the
first product available
to make Intel x86
executable code directly
from Java source.
On today's Internet, a
Web site cannot afford to
be old fashioned. An
antique Web site is a
dusty, unvisited vestige
of yesteryear. Today's
sites have to be
interactive, multimedia
experiences that create a
lasting
impression...sites that
will get revisited often.
The software industry has
been bursting with new
Web design tools, but
it's still hard to find a
WYSIWYG tool which can be
used to design HTML pages
that include the latest
browser tags and
plug-ins, let alone one
that can be used to
create dynamically
produced documents. This
type of program would
create a unique
experience for each
viewer. Macromedia is
well known for its
animation and Web
graphics tools. Now
Macromedia has gone even
farther into multimedia
Web development with
Backstage Designer
Desktop Studio. In this
issue, you'll learn about
Backstage Designer
Desktop Studio, and find
out how it can make your
site a unique experience
for everyone who wanders
onto it.
"Special Edition
Using Java,"
published by Que, should
win the prize as the
biggest Java reference
book on the market. It is
huge, containing a wealth
of information on Java
and complementing topics
like JavaScript and
multimedia. It is based
on Java Version 1.0 for
MS Windows platforms
Windows 95 and NT,
Solaris 1.x and
Macintosh. In addition,
the book comes with a CD
containing Sun's User
Group library of applets,
Sun's Java Development
Kit (JDK), and a number
of chapters from books on
JavaScript, HTML, and CGI
(Common Gateway
Interface), plus the
entire text of Que's C++
by example. The CD alone
is worth $50.
The Microline Component
Toolkit (MCT) is a
powerful new product with
years of experience
behind it. Designed for
professional developers,
but usable by even a
novice, the MCT brings
new levels of GUI
sophistication to Java,
and for the first time
brings professional
UNIX-style components to
those who still believe
that "Motif"
refers only to interior
decorating. The MCT
carries all the
advantages of slick,
powerful, UNIX widgets
without the complexity
and single-platform
constraints traditionally
associated with them.
Using Java, Microline has
helped to usher in a new
era in GUI programming.
Web browsers are a way of
life for many of us. For
some, a day without using
a browser would be a day
off. Others may use the
Web for entertainment,
research, homework, or
just a break from the
routine. Regardless of
how often you use a
browser, at one point you
had to make a decision
about which browser to
use. And it came down to
the big two, Netscape
Navigator and Microsoft
Internet Explorer. Of
course, some of you
checked out the other
browsers, but according
to statistics, the
majority of you ended up
using Netscape Navigator
to cruise around the
Internet.
The ability to author a
program or applet on one
computer system and have
it run on many different
platforms is a paramount
strength of Java and its
suitability for the
Internet. This strength,
however, introduces
weaknesses in some areas
of the implementation
that limit Java's
usability.
While a lot of Java
development has been
happening in the last few
months, Java's learning
curve has still put many
a company's project on
hold while developers
learn to master the
language. By the time the
developers have caught
up, new techniques and
products come along. Now,
we have a product that is
supposed to eliminate the
learning curve, and
enables the developer to
start producing useful
applets (using drag and
drop components with
"actions") that
can be used as is or
improved on with code
that you integrate into
the applet. Penumbra
Software's Mojo includes
built-in components for
drawing, rich-text
editing, email, buttons
and panels, calendar,
clock, and animation. In
this issue, the Java
Developer's Journal takes
a look at Mojo and lets
you know if it's just the
tool to put some magic on
your site.
PERC is the embodiment of
the technologies
described in last month's
article. PERC is a
commercial clean-room
implementation of Java
designed specifically to
address the needs of
developers of embedded
and real-time systems.The
PERC acronym stands for
Portable Executive for
Reliable Control. PERC is
intended to serve a
spectrum of real-time
application domains
ranging from simple
multimedia entertainment
software for children to
highly complex
hard-real-time
applications critical to
the nation's defense
systems. The intention is
to standardize this
programming notation as a
common platform for the
development of shared
real-time software
development tools and
reusable real-time
software components.
Clearly, the rigor with
which particular
applications need to
comply with real-time
constraints depends on
price and performance
issues and risk analyses
that are different for
each application. The
design of PERC is such
that individual
developers can choose to
handle these tradeoffs
differently.
"Well, Jim, the Web
pages look pretty good,
but they remind me of a
food line at a
delicatessen. Lots of
food, but nothing looks
like it belongs with
anything else."
"But boss, I put in
all the information that
you wanted!"
"Yes, but I want our
pages to have a style
that's recognizable
throughout the whole
site."
Since the introduction of
Java and Sun's Java
Development Kit over nine
months ago, Mac users
have been left out in the
cold waiting for their
turn to get the slick GUI
development environments.
Sun finally came out with
the JDK for the Mac, and
now Metrowerks, whose
CodeWarrior development
environment has dominated
the Macintosh programming
tool market, has extended
its reach to include Java
with the recent release
of CodeWarrior Gold 9. In
this issue the Java
Developer's Journal will
take a look at
CodeWarrior Gold 9 and
let you know how it
stacks up.
In early March of this
year, Sun Microsystems'
software company,
JavaSoft, specified a
standard SQL database
access interface, the
JDBC API. Java developers
everywhere were finally
given a tool to connect
their applets and
applications to
databases, via the JDBC
API. The API provided
Java programmers with a
uniform interface to a
wide range of relational
databases. Developers
used the API as a common
base on which to build
higher level tools and
interfaces. The JDBC API
defined Java classes to
represent database
connections, SQL
statements, result sets,
database metadata, and
allowed a programmer to
issue SQL statements and
process the results in
their applets and
applications.
Most of us have seen a
standalone Java
application of one sort
or another. But few of us
have seen any commercial
applications of serious
merit yet... until now,
that is. CADIS has just
released Krakatoa, the
object-oriented
client/server search and
retrieval development
program. Krakatoa is
delivered to the client
via either a java applet
that is downloaded, or a
combination of javascript
and HTML frames, and
allows Web users to
search through structured
content by refining their
search criteria with
finer and finer details
of interest. By clicking
on their selection with
the mouse, the count of
qualifying items is
instantly updated,
allowing users to find
the products or documents
they are looking for.
URL's, product
information or sales
contacts are requested at
that point, again via the
mouse, enabling users to
find exactly the
information they are
looking for with a
minimum amount of effort.
Krakatoa was named after
a volcano. We'll take a
look and see if it lives
up to its namesake.
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