by Alexander Libman with Vladimir Gilbourd, November 25, 2005
This article investigates and compares different design patterns of high performance TCP-based servers. In addition to existing approaches, it proposes a scalable single-codebase, multi-platform solution (with code examples) and describes its fine-tuning on different platforms. It also compares performance of Java, C# and C++ implementations of proposed and existing solutions.
Any reasonably complex end-user application is going to require some sort of customization and enhancement for effective deployment. This article shows one way to create a modular architecture as a way of leaving the door open for advanced users or consultants who want to extend the functionality without modifying the source.
In this article, Austin Ziegler introduces the creation of a variety of types of documents with PDF::Writer for Ruby. This introduction covers basic creation, partial document generation and customization, and Rails-generated documents.
Ruby Queue software package lowers the barriers scientists need to overcome in order to realize the power of Linux clusters. It provides an extremely simple, economic, and easy-to-understand tool that harnesses the power of many CPUs while simultaneously allowing researchers to shift their focus away from the mundane details of complicated distributed computing systems and back to the task of actually doing science. The tool set is designed with a K.I.S.S, research-focused, philosophy that enables any ordinary (non-root) user to set up a zero-admin Linux cluster in 10 minutes or less. It is currently being used successfully in such diverse fields as bio-chemical research at the University of Toronto, geo-mechanical modeling at IGEOSS, and studying the nighttime lights of the world at the National Geophysical Data Center.
The Java Contactless Communication API (JSR 257) enables mobile devices to communicate via short-range wireless means, such as RFID, infrared light, or even Bluetooth, and presents such devices via a simple, homogeneous interface to Java applications. This article explains the role of the Java Contactless Communication API in the emerging field of near-field communications, and provides an example of reading data from any contactless target, including an RFID tag.
In this article Adam introduces a very sophisticated and useful data structure for efficient string processing, while at the same time revealing some interesting features of C++.
In this audio broadcast, nine JSR spec leads and other Java and JCP luminaries discuss issues of the Java Community Process and Java standards.
JDBC 4 is the forthcoming release of the Java Database Connectivity API. Currently in Early Draft Review in the JCP (JSR 221), JDBC 4 is a major new release with a strong focus on ease-of-use and programmer productivity. The new JDBC version also introduces support for SQL 2003 data types, including SQL's native XML type. This article surveys the key JDBC 4 features.
by Frank Sommers with Bill Venners, August 23, 2005
In this audio interview, Gavin King, founder of the Hibernate project, discusses the relationship between Hibernate and EJB3, various strategies for collection fetching, why transparent persistence is a bad idea, and the role of caching in persistence architectures.
While the C++ Standards committee is about midway through formulating the next official version of C++, Chuck ponders the relationship between power and complexity.
Java Business Integration (JSR 208) defines container services that enable system integration via Web service technologies and XML message exchanges. In this interview, JBI Spec Lead Ron Ten-Hove discusses how JBI will impact enterprise Java developers.
by Frank Sommers with Bill Venners, August 2, 2005
In this audio interview, Onno Kluyt, chair of the JCP, discusses what the JCP has learned from open source, what open source could learn from the JCP, the JCP's attitude on overlaps between JSRs, and the JCP's "choir of angels."
The Java Data Mining API (JDM) is the first attempt to create a standard Java API to access data-mining tools from Java applications. JDM promises to bring to data mining what JDBC brought to databases, and to make data mining a new and useful part of an enterprise Java developer's tool chest. This article introduces basic data-mining concepts, and illustrates sample JDM code to model customer behavior.
Java's future hinges as much on leadership as on sound technology. In this article, the spec leads of several JSRs share their insights into the key ingredients of leading a successful design, development, and specification project with a distributed team of experts. Substitute spec lead with project lead, and these lessons are relevant to anyone leading a software development effort.
In this interview, Erich Gamma, co-author of the landmark book,
Design Patterns, talks with Bill Venners about the development process used by the Eclipse team, the team's "culture of shipping," and the importance of transparency in building community around a product.