The Mobile Information
Device Profile (MIDP) 1.0
was designed to make it
easier to design software
for mobile devices (the
applications are called
MIDlets). The idea was
great but Java's
mantra,'Write Once, Run
Everywhere,' didn't quite
come true since MIDP 1.0
was very restricted.
Manufacturers wanted to
offer more interfaces and
features to developers
and include proprietary
interfaces such as
messaging and graphics.
Who are the key players
in the European wireless
application market and
how does J2ME fit into
this picture? In this
article I look at the
current trends in Europe
regarding J2ME and how
the more interesting Java
Specifications Requests
could possibly affect the
European and global
markets.
Somewhere in the
conglomerate of sponsor
companies and forum
management, the Wireless
Application Protocol
(WAP) specification
committees lost track of
their objectives. If you
look at the challenges
faced by developers of
wireless applications,
you'll find that WAP does
not address the main
problems.
The need for wireless
security is often
motivated by the image of
a teenage hacker driving
by and stealing your data
with a mobile scanner.
While such sensationalist
ideas make good copy, the
simple fact is that,
wireless or not, serious
business applications do
not get deployed on the
Internet today without
security. So if you are
thinking of using your
cell phone for something
other than playing Tetris
or downloading the latest
Britney Spears ring-tone,
you'll need to give some
thought to how you might
secure access to your
business applications.
The Java Community
Process (http://jcp.org)
defines the way Java
standards are created.
Through this process,
members of the community
are invited to work
together in expert groups
(EG) to create new Java
specifications.
If you wanted to create a
new specification, you
would file a Java
Specification Request
(JSR) with the JCP
Program Management Office
(PMO). To date, there
have been over 200 JSRs
filed, and they're at
various phases of
development. Some have
been finalized and are
being deployed in
products, while others
are just getting started.
J2ME developers have long
desired the opportunity
to build sophisticated
applications for the
personal digital
assistant (PDA) market,
applications common to
resource-rich desktop
computers. One thing
stood in their way: most
PDAs lacked resources to
efficiently execute those
applications.
However, that's about to
change with the
introduction of ARM
processor-based PDAs and
the PDA Profile that's
soon to be incorporated
in SDKs and VMs.
By Keith Braithwaite; Tony Robinson; Jeremy Wakefield
For Java technology to
fulfill its promise, it
should be possible to
test a Java application
on just one device and,
if it works properly,
assume that it will run
well on any other.
In the dense forest of
emerging computing
trends, technologies, and
hyped life-changing
applications, there are
two developments that
stand taller than the
rest. In isolation, these
two trends are having a
huge impact on users -
both individuals and
corporations.
I have the dubious honor
of having written one of
the very first
implementations of the
RSA cryptographic
algorithm in Java some
years ago, and very badly
I wrote it too.
Several years ago
Motorola, Inc., and Sun
Microsystems, Inc.,
recognized a potential
new market for the Java
programming language.
Small mobile devices,
such as cell phones, were
becoming more powerful
but did not provide a
common programming
platform.
The new kid on the
Internet technology block
is Web services and its
implementation
technology, SOAP. Simple
Object Access Protocol is
an XML vocabulary used to
describe messaging and
remote procedure calls
between distributed
components.
Parts 1 and 2 of this
series (JDJ, Vol. 7,
issues 6 and 9)
demonstrated how I
developed a remote
control MP3 player by
using a Bluetooth
connection from my
handheld (a Compaq iPaq)
and employing a client
and a server written in
Java.
This article is the
second installment in a
two-part series on Java
and Bluetooth. Last month
you got your feet wet in
Bluetooth (JDJ, Vol. 7,
issue 8); if you don't
remember what the role of
a Bluetooth stack or a
Bluetooth profile is in
the context of a
Bluetooth application,
refer to Part 1.
In Part 1 of this series
(JDJ, Vol. 7, issue 6), I
showed how I developed an
MP3 player in Java, and
then added the ability to
control that player from
a wireless handheld
device using a
PersonalJava application.
Sun has poured a lot of
resources into the Java 2
Micro Edition platform,
recognizing that the next
battleground will be the
ubiquitous consumer
device. Whether J2ME can
make the huge impact that
Sun (and the developer
community) hopes for is
still an open question,
as the current rate of
adoption has been
underwhelming thus far.
This is Part 1 of a
two-part article that
will show you how to
write wireless J2ME
applications using
Bluetooth. If you're a
J2ME developer, this will
quite likely be your
first introduction to
Bluetooth. Perhaps you've
heard a lot about it, but
you're not sure what it
is or how it works. Well,
you've come to the right
place.
Ever since the Java Card
1.0 was introduced in
1996 it has been
gradually maturing, and
recently celebrated its
fifth anniversary.
American Express, Visa,
and now the Department of
Defense have all deployed
solutions that utilize
the Java Card
specifications.
Java, in its J2ME guise,
has all the attributes of
a first-rate platform
for embedded system
design. More
specifically, its
platform independence,
code portability, and
robust operation render
it particularly suited
to such applications. The
extensive use of
embedded Java-based
devices in the future is
secure due to the
proliferation of
standards based on it,
and, moreover, the
endorsement of major OEMs
committed to its use in
their designs.
In this business we often
talk about how easy it is
to get computers to talk
to each other; computers
without networks are
almost inconceivable.
Despite being
standardized as little as
five years ago, we now
expect them all to play
nicely together.> Even
in the home, a CAT-5
connection isn't too
remarkable, but mobile
devices still spend most
of their time in lonely
isolation.
In this article I discuss
which displayable
components are available
in J2ME and explain how
commands are associated
with them. In
particular, I examine how
to create commands, add
them to displayables,
and define command
behavior in
CommandListeners. I then
demonstrate how the
resulting code is
typically procedural and
quickly becomes cluttered
when too many commands
are created.
J2ME's Mobile Information
Device Profile (MIDP)
promises to become one
of the most widespread
computing platforms over
the next few years as an
increasing number of
mobile phones include a
Java Virtual Machine.
In Part 1 of this article
(JDJ, Vol. 7, issue 3) I
introduced the idea of
using the surrogate
architecture within Jini
as a platform for J2ME
games. I also showed how
to start Madison, Sun's
reference implementation,
and how to connect to it
with the provided device
simulator.
Making good software is
hard enough, as most
software developers can
testify. There is,
however, one aspect of
software that is
invariably even harder
than we expect: How do we
get the software into the
target environment?
Here's a quiz: consider a
physician accessing
different patients'
histories on a PDA while
making rounds at a
Manhattan hospital versus
a field engineer whose
responsibility is to
monitor and repair
sections of an oil
pipeline that stretch
across 200 miles in
Texas.
How enterprise software
is written has undergone
a major shift with the
introduction of
distributed technologies
like EJBs and Web-based
thin clients. However,
this new approach to
writing software has not
trickled down to consumer
applications such as
recipe managers,
cookbooks, or word
processors.
Your organization has
decided to extend your
enterprise applications
into the mobile and
wireless space.
Congratulations! It will
be an exciting time in
your software development
shop and your customers
will no doubt be waiting
with great anticipation
for the results.
Imagine using your J2ME
device to participate in
a complicated online game
– or a simple one,
for that matter. You log
in to a network where
network services are
elements of the game.
You, as a player in a
massive online world, are
represented as an object,
a peer of all the other
game elements.
In the past, mobile
warriors were the only
ones who relied on
portable information
technology. Since PalmOS,
RIM, and WindowsCE
devices penetrated
corporate walls,
it’s no longer
unusual to have over 60%
of corporate employees
using PDAs and handheld
devices for time
management. Indeed,
Franklin-Covey, one of
the world’s largest
providers of
time-management tools,
adopted the medium and
made it a large part of
their overall toolkit.
You've heard this said
before. In fact, If
you regularly peruse the
pages of JDJ, you've
heard it here more than
once. In case it
hasn'y sunk in, repeat
after me: J2ME
(especially MIDP) will
provide tremendous
opportunities for
developers
For location-based
services, the open
frameworks of J2ME and
J2EE create interesting
opportunities in the
fields of software
development and applied
statistics.
Traditionally, the
software industry in
these services has been
closed and, as a result,
the industry has suffered
stagnation, particularly
in the area of
distributed systems and
integration.
The so-called duopoly of
Intel and Microsoft
brought one great
advantage to personal
computing - a uniform
runtime platform for
application software.
Application software
developers need only code
the application using the
Win32 API and compile for
Pentium to be assured
that their programs will
run on a majority of
desktops. In contrast,
Internet appliance
devices are
nonhomogeneous, using
many different types and
variants of
microprocessors and many
different operating
systems.
PDAs are becoming a
permanent fixture in the
everyday lives of
consumers and business
people. There's no
question that we have
Palm to thank for
bringing us a small,
pen-based, easy-to-use
organizer to help keep
our busy lives on track.
At the same time,
Microsoft has been trying
to hit one out of the
park for years with its
Windows CE operating
system running on a
variety of handheld
devices. As with
everything else at
Microsoft, it usually
takes them three times to
get something right, and
the Pocket PC is no
exception.
Embedded Java technology,
specifically the J2ME
platform, provides a
universal and secure
runtime platform for
transient,
application-based content
and services. Through the
'write once, run
anywhere' promise of
Java, the J2ME platform
can support a range of
Internet appliances, from
mobile wireless devices
to TV set-top boxes.
It could be argued that
the clock speed of a
given processing
platform enables you to
estimate the execution
time of a user
application running on
that platform. However,
quoting figures such as
MIPS (millions of
instructions per second)
are somewhat futile,
since the execution of a
specific number of
instructions on one
processor will not
necessarily accomplish
the same end result as
that same number of
instructions running on a
different processor. It's
the execution speed of a
given set of instructions
that's of greater concern
when selecting an
appropriate platform to
run application code.
Back when Java was called
Oak, it was thought that
this new language would
be ideal for developing
embedded applications,
such as those that would
run on set-top boxes. The
developers of this new
language were well ahead
of their time. Java's
momentum began to build
not from its large
set-top developer
community but from
developers wishing to
enhance their Web sites
using Java applets. Thank
goodness that was
short-lived!
I don't usually buy
technical books. Most of
the time I manage to find
what I'm looking for
after a bit of hunting on
the Web, virtual
elbow-grease, so to
speak. However,
occasionally a
tree-killing madness does
come over me and Amazon
gets the chance to clear
the electronic cobwebs
out of my bank account.
Developers new to the
Mobile Information Device
Profile (MIDP) are often
surprised by some of the
limitations and their
consequences, because
they seem to be omissions
of obviously needed
functionality.
As time goes by, J2ME is
the buzzword that's
appearing in more and
more magazines and
talked about beside more
office coffee machines
than any other. And
slowly, the big
handset manufacturers are
releasing their first
MIDP-compliant phones
into the marketplace. In
previous issues of JDJ
(Vol. 6, issues 7, 8,
and 9), you may have read
Jason Briggs' articles
introducing general
MIDlet development
techniques. This article
will take a swift
sidestep and focus on
MIDP as a platform for
developing games. We can
assure you, in the near
future, you won't be
firing up Snake the next
time your train is late.
Here in Japan, where it's
common to see someone
thumbing away on a cell
phone while on the train,
NTT DoCoMo was one of the
first companies in the
world to release
Java-capable mobile
phones. In the ensuing
six months, more than
four million users have
adopted the phones - and
the number is growing.
That's a good enough
reason for an aspiring
J2ME programmer with a
sense of adventure to
learn a little about
programming Java
applications for NTT
DoCoMo phones.
This is the first in a
two-part series on the
benefits of using the
Java development and
runtime environment for
embedded computing. Java,
with its 'write once, run
anywhere' paradigm, is
ideal for embedded
computing because of its
portability, reliability,
security, and Internet
capabilities.
I took the advice of a
friend of mine and
steered clear of the
'normal' movie theaters
and went a little out of
the way to go to a DLP
movie theater. The
experience
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