BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Programming Content on InfoQ

  • Choosing between Routing and Orchestration in an ESB

    In this article, Adrien Louis and Marc Dutoo discuss the differences and relative merits of using orchestration vs. routing in a typical ESB setup. They discuss various approaches to connecting services, from low level ones like customized routing, to high-level ones using business oriented approaches like workflow and orchestration, and conclude that there is no one-size-fits-all solution.

  • Do Java 6 threading optimizations actually work? - Part II

    Features like biased locking, lock coarsening, lock elision by escape analysis and adaptive spin locking are all designed to increase concurrency by allowing more effective sharing amongst application threads. But do they actually work? In this two part article, Jeroen Borgers explores these features and attempt to answer the performance question with the aid of a single threaded benchmark.

  • Best Practices for Model-Driven Software Development

    Model-driven software development no longer belongs to the fringes of the industry but is being applied in more and more software projects with great success. In this article we would like to pass on, based on the experiences we have gathered in the past few years, our contribution to its best practices.

  • An Introduction to Lean Thinking for Software

    For Agile developers only familiar with Scrum or XP, it may be unclear how Lean relates to what they do. This article introduces Lean Thinking and how it enhances software development. Ning Lu of ThoughtWorks China identified the biggest obstacle to Lean or Agile as the mind-set developed during the period of large-scale manufacturing.

  • Domain Specific Languages in Erlang

    Erlang is well known for it's concurrency model and fairly well known for robustness. But what about other aspects? In this article, Dennis Byrne shows how to use Erlang for creating internal DSLs.

  • Do Java 6 threading optimizations actually work?

    Features like biased locking, lock coarsening, lock elision by escape analysis and adaptive spin locking are all designed to increase concurrency by allowing more effective sharing amongst application threads. But do they actually work? In this two part article, Jeroen Borgers explores these features and attempt to answer the performance question with the aid of a single threaded benchmark.

  • Nate Kohari on Releasing Ninject 1.0

    Ninject is touted as a lightning-fast, ultra-lightweight dependency injector for .NET applications. Helping developers split applications into a collection of loosely-coupled, highly-cohesive pieces, and then glue them back together in a flexible manner. Using Ninject to support your software's architecture, your code will become easier to write, reuse, test, and modify.

  • Domain Driven Design and Development In Practice

    In this article, Srini Penchikala discusses Domain Driven Design and Development from a practical stand-point. The article looks at architectural and design guidelines and best practices that can be used in a DDD project. It also talks about the impact of various design concerns like Persistence, Caching, Transaction Management, Security, Code Generation etc in domain model implementation effort.

  • David Nuescheler on JCR and REST

    In this interview, Day CTO and JCR Spec Lead David Nuescheler discusses the benefits of JCR, the Java Content Repository standard, the difference between an API such as Atom/Atom Publishing protocol and JCR, JCR's connection to REST, and Apache Sling, a new kind of Web framework.

  • InfoQ Case Study: NASDAQ Market Replay

    In this case study InfoQ reviews the usage of Adobe AIR and Amazon Simple Storage Service (S3) in the NASDAQ Market Replay application. NASDAQ Market Replay provides a NASDAQ-validated replay and analysis of the activity in the stock market. The combination of S3 and AIR offers a powerful deployment model with little internal infrastructure required.

  • Intro to Google Charts and gchartrb

    Google Charts is a web service for generating charts. Matthew Bass explains the basics of the Google Charts interface and the gchartrb library which makes it even easier to create the charts from Ruby code.

  • Building Web and Desktop Applications with BlazeDS and AMF

    Client/server communication is a key part of today's RIA architectures. In this article James Ward and Shashank Tiwari dive into Adobe's open source BlazeDS messaging server. The article describes the benefits of the AMF data format and how to use BlazeDS with a Java based server side application.

BT