BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Architecture & Design Content on InfoQ

  • 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.

  • Orchestrating RESTful Services With Mule ESB And Groovy

    In this article, David Dossot, co-author of Mule in Action, examines the power of Mule RESTpack and Groovy in orchestrating RESTful services in the Mule messaging platform. The article detail the interactions for each of these steps and will consider what particular Mule moving parts and Groovy features we have used to achieve such an interaction.

  • Clojure and Rails - the Secret Sauce Behind FlightCaster

    FlightCaster, a realtime flight delay site, is built on Clojure and Hadoop for the statistical analysis. The web frontend is built with Ruby on Rails and hosted on Heroku. We talked to Bradford Cross about Clojure, functional programming and tips for OOP developers interested in making the jump.

  • RESTful HTTP in practice

    Gregor Roth overviews the basics of RESTful HTTP and discusses typical issues that developers face when they design RESTful HTTP applications, showing how to apply the REST architecture style in practice. Gregor describes commonly used approaches to name URIs, discusses how to interact with resources through the Uniform interface, when to use PUT or POST and how to support non-CRUD operations.

BT