DDJ, September 2001 — Distributed Computing

FEATURES

DEVELOPING SCALABLE DISTRIBUTED APPLICATIONS

by Mario A. Torres

Mario presents a generic model designed to serve as a blueprint for development of scalable distributed computing applications.

A PORTABLE DISTRIBUTED EVENT-LOGGING FACILITY

by Ivan Kiselev

Every application needs event-logging facilities to monitor the state of applications. Ivan presents a distributed portable event-logging facility that is simple, flexible, and relatively platform independent.

DISTRIBUTED COMPUTING COMPONENT LIFECYCLES

by Cliff Berg

A fundamental problem in all distributed systems is that different components are maintained on different schedules — and things inevitably break. Cliff presents a framework designed to synchronize components in distributed systems.

THE DELPHI XML SAX2 COMPONENT & MSXML 3.0

by Danny Heijl

Danny shows how to use the C++ COM interfaces of Microsoft's MSXML 3.0 SAX2 parser with Borland Delphi. He then presents TSAXParser, a Delphi component that uses these interfaces, but shields you from their complexities.

SHIFT-LEFT TESTING

by Larry Smith

By combining development and quality assurance earlier and more deeply in your project plan, you can expand your testing program and reduce manpower and equipment needs.

THE CURL PROGRAMMING ENVIRONMENT

by Friedger Müffke

Curl is a programming environment designed for developing interactive Internet applications. As such, it combines the ease of markup languages with the functionality of object-oriented ones.

PROGRAMMING MOBILE PHONES

by Panos Kougiouris

Panos presents one approach to updating contact information for mobile phones by downloading contacts from PCs running Outlook 2000 to Nokia mobile phones.

EMBEDDED SYSTEMS

TRAMPOLINES FOR EMBEDDED SYSTEMS

by Joseph M. Link

Trampolines are short snippets of code that start up other snippets of code to, among other things, minimize the latency of interrupt handlers.

INTERNET PROGRAMMING

SOAP: SIMPLIFYING DISTRIBUTED DEVELOPMENT

by Neil Gunton

The Simple Object Access Protocol (SOAP) was developed as an open RPC protocol using XML, targeting much the same problem set as CORBA, DCOM, and Java RMI. Neil uses it to add new facilities to his web site.

PROGRAMMER'S TOOLCHEST

SELECTING EJB APPLICATION SERVERS

by Ragae Ghaly, Krishna Kothapalli, and Uma Meyyappan

The Enterprise JavaBeans (EJB) architecture is the standard component architecture for building distributed object-oriented business applications in Java.

COLUMNS

PROGRAMMING PARADIGMS

by Michael Swaine

This month, Michael trolls the seas of software development in search of the next "realizable fantasy."

C PROGRAMMING

by Al Stevens

Between not being able to play Myst III and the release of gcc 3.0, Al has a lot of ground to cover this month.

EMBEDDED SPACE

by Ed Nisley

Ed continues his examination of the space where real time and Linux overlap.

JAVA Q&A

by Jared Jackson

Resource bundles provide the means for utilizing locale-specific information without having to maintain multiple versions of code for those various locales.

ALGORITHM ALLEY

by Girish Keshav Palshikar

Simulated annealing is a probabilistic heuristic optimization algorithm that mimics the natural process of slow cooling of liquids that leads to a solid form that has the lowest energy.

DR. ECCO'S OMNIHEURIST CORNER

by Dennis E. Shasha

The problem Ecco and Liane face this month doesn't involve too many generals and not enough privates, but in figuring out who gives the orders and who carries them out.

PROGRAMMER'S BOOKSHELF

by William Stallings and Lou Grinzo

William examines a trio of Bluetooth books, including Bluetooth: Connect Without Cables, by Jennifer Bray and Charles Sturman, Bluetooth Revealed, by Brent Miller and Chatschik Bisdikian, and Bluetooth Demystified, by Nathan Muller. Lou weighs in on A Programmer's Introduction to C#, by Eric Gunnerson.

FORUM

EDITORIAL

by Jonathan Erickson

LETTERS

by you

NEWS & VIEWS

by Shannon Cochran

OF INTEREST

by Della Song

SWAINE'S FLAMES

by Michael Swaine