Articles

by Frank Sommers, July 10, 2009 Submit comment
Rich-client technologies permeate not only browser-based applications, but the more traditional desktop client as well. In this interview with Artima, Rob Christensen, Adobe's product manager for AIR discusses the reasons for creating rich-client desktop applications, and how Adobe's AIR platform enables Web application developers to deploy their apps to users' desktops.
by Frank Sommers, June 11, 2009 30 messages
The JVM's promise of write once, run anywhere works most of the time. But it can also make programmers complacent about cases where the WORA promise fails, says Gwyn Fisher, CTO of Klocwork, maker of the eponymous code analysis tool. One such case is resource management, where the JVM's latent garbage collector necessitates that developers think about the machine behind the VM. In this interview with Artima, Fisher describes cases where well-known Java APIs work differently based on deployment platform, and how well-defined type systems can make resource management more reliable:
by Frank Sommers, June 10, 2009 4 messages
Clustered applications scale in part by relying on the clustering environment to distribute workload. As a result, load-testing a clustered application must also test how well the clustering infrastructure handles growing workloads. Virtualization can make that task simpler, since virtual server instances allow you to mimic a large cluster environment on a handful of physical nodes. However, as Ari Zilka, co-founder of Terracotta, points out in this interview with Artima, stateful applications need special attention during load-testing, since the clustering infrastructure also needs to scale the management of application state. In this interview, Ari Zilka discusses various techniques to load-test a stateful application on a cluster, and highlights features of the open-source Terracotta clustering environment that make such load-testing even simpler. Finally, he talks about heavily disk-bound workloads, and how Terracotta FX can make them scale better on a cluster:
by Frank Sommers, June 5, 2009 Submit comment
The workflow between designers and developers is a crucial aspect of developing rich-client applications. In this interview with Artima, Shafath Syed, Adobe's group product marketing manager, and Steven Heintz, Adobe's principal product manager, discuss the differences in how designers and developers approach rich-client application development, and how Adobe's Flash Builder 4 and Catalyst tools can make their interaction more effective.
by Frank Sommers, June 2, 2009 1 message
In this interview with Artima, Rodney Carvalho, founder or ScrumNinja, shares his experiences with Scrum, an agile development methodology.
by Frank Sommers, June 1, 2009 1 message
In this interview with Artima, Gil Tene, CTO and co-founder of Azul Systems, explains why Java applications typically use only a few gigabytes of memory, out of possibly tens of gigabytes available on commodity servers.
by Martin Odersky, Lex Spoon, and Bill Venners, June 1, 2009 47 messages
This article describes a technique for overriding the equals method that preserves the contract of equals even when subclassses of concrete classes add new fields.
by Bill Venners and Frank Sommers, May 25, 2009 35 messages
Martin Odersky talks with Bill Venners and Frank Sommers about the mechanics and purpose of pattern matching in Scala.
by Frank Sommers, May 18, 2009 1 message
In this interview with Artima, Anil Channappa, product manager for Adobe's open-source BlazeDS project, discusses various ways to arrange data communication between a Flex client running in the Flash Player and server-side frameworks, such as Spring.
by Bill Venners and Frank Sommers, May 18, 2009 13 messages
Martin Odersky talks with Bill Venners and Frank Sommers about the design motivations behind Scala's type system.
by Frank Sommers and James Ward, May 12, 2009 1 message
Having to write less code to implement a given feature often improves developer productivity: less code means less bugs, less tests to write, and less artifacts to maintain. Just as recent advances in rich-client technologies reduce boilerplate code on the client, new languages targeting the Java Virtual Machine can yield similar benefits on the server. This article illustrates how Flex on the client, combined with Scala on the server, results in a highly effective client-server development model. The article also shows a way to use the Java Persistence API (JPA) from Scala code.
by Bill Venners and Frank Sommers, May 11, 2009 17 messages
Martin Odersky talks with Frank Sommers and Bill Venners about the compromises and most important goals in Scala's design, its object-oriented innovations, and what's in it for you.
by Bill Venners and Frank Sommers, May 4, 2009 76 messages
Martin Odersky talks with Bill Venners about the history that led to the creation of the Scala programming language.
by Frank Sommers, April 23, 2009 1 message
The second part of a two-part series on progressively enhancing an enterprise Web application with Flex, this article describes Flex's ability to interact with a variety of server-side data sources, including fetching JSON and XML via HTTP, and invoking server-side Java objects from a Flex client.
by Frank Sommers, April 10, 2009 3 messages
Rich-client technologies can be analyzed according to how easy, or difficult, they make enhancing an existing enterprise application with rich-client features: a more interactive user interface and better use of a client's computing resources. This article series introduces five techniques to progressively enhance an existing enterprise application using Flex. The examples start with a non-intrusive way to replace an HTML table with a high-performance Flex datagrid, and culminate in integrating a Flex client with an enterprise Java message queue.