InfoQ Homepage Architecture & Design Content on InfoQ
-
Interview and Book Excerpt: Mark Richards' Java Message Service 2nd Edition
Java Message Service, 2nd Edition, by Mark Richards, covers JMS topics such as the two programming models, publish-and-subscribe and point-to-point, Messaging Filtering and Transactions. InfoQ spoke with Mark about his new book. Topics covered in the interview include EJB 3.0, Spring Message Driven POJO's (MDP)and Enterprise Service Bus (ESB) architecture.
-
Modular Java: What Is It?
Over the last few years, modularity for Java has been an active discussion topic. From the (now defunct) JSR 277 to the recognition of JSR 291 and the ongoing JSR 294, modularity is seen as a necessary step in Java's evolution. Even future JVM-based languages like Scala are considering modularity. So, what does modularity mean, and why should you care?
-
Encrypting the Internet
The authors, from Intel, offer a three pronged approach to providing secure transmission of high volume HTML traffic: new CPU instructions to accelerate cryptographic operations; a novel implementation of the RSA algorithm to accelerate public key encryption; and using SMT to balance web server and cryptographic operations. Their approach, they claim, leads to significant cost savings.
-
Patterns from "SOA Design Patterns" by Thomas Erl, Part 2
Patterns from Thomas Erl’s book, “SOA Design Patterns”. Today, we present Chapter 16, Service Governance Patterns, comprising a number of 8 patters. Compatible Change, Version Identification, Termination Notification, Service Refactoring, Service Decomposition, Proxy Capability, Decomposed Capability, and Distributed Capability.
-
Building FlightCaster's Frontends for the Web and Smartphones
In part two of InfoQ's interview with the FlightCaster team, we discuss scaling Rails on Heroku, the problems of integrating data from multiple providers and mobile smartphone applications.
-
Getting started with AMQP and RabbitMQ
Joern Barthel introduces the Advanced Message Queuing Protocol (AMQP), and illustrates it's useage with Ruby-based client and an EDA-style app. The open source RabbitMQ server is used on the backend (which is written in Erlang).
-
Excerpts from an Interview with James Bach
Following are the most relevant excerpts from the interview with James Bach at Oredev 2008. He covers topics like: engineering, why we should be telling success stories, opening our minds to other scientific domains, automated testing and exploratory testing.
-
Book Review: Understanding SCA
Four years after the publication of the first SCA specification draft, SCA remains a technology that is not well known or understood. Yet IBM and Oracle have built key product suites with it.Jim Marino and Michael Rowley, both co-authors of the SCA specifications, have published a practical guide to get started with SCA which covers the entire programming model from persistence to presentation.
-
Book Excerpt and Interview: Dependency Injection
Dependency Injection by Dhanji R. Prasanna is a book that tries to explore the DI idiom in detail, and present techniques in Spring and Guice. Dhanji is a Google software engineer who works on Google Wave and also contributes to Guice, MVEL, and other open source projects.
-
Virtual Panel: The evolution of bug trackers
Bug (issue) tracking systems have become a standard tool for any organization that develops software and have evolved greatly in the last years. InfoQ has conducted a virtual panel with people from JIRA, FogBugz, Basecamp and MantisBT about this evolution and the future developments in this field.
-
Patterns from SOA Design Patterns by Thomas Erl, Part 1
In this article we present 3 Inventory Governance Patterns from chapter 10 of the book SOA Design Patterns by Thomas Erl: Canonical Expression, Metadata Centralization, and Canonical Versioning. They are part of an 85 patterns catalog that serves enterprise architects and developers to find and build strong SOA solutions based on tested and proven SOA practices.
-
Creating Highly-Scalable Components in Java
This article presents a library supporting the development of highly-scalable applications that take advantage of an underlying multi-core hardware. The library is part of the Amino Library Project. One example: ensure scalability of applications by using , java.util.concurrent.ConcurrentHashMap to replace a synchronized HashTable.