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

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

  • Using Numbers to Communicate - in the Spirit of Agile

    It's an old story. Techies cave in to the business guys because they don't know how to push back. The problem? Developers use numbers primarily for computation, but the business uses numbers to make decisions. In this story the "Spirit of Agile" encourages a developer to turn non-computational problems and issues into number language.

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

  • Scalability Best Practices: Lessons from eBay

    eBay Distinguished Architect at eBay Randy Shoup explains eBay key scalability practices of partitioning, horizontal scale, avoiding XA, asynchronicity, and virtualization. eBay has hundreds of millions of users, over a billion page views a day, and petabytes of data in their systems.

  • ESB Topology Alternatives

    In this article, Adrien Louis discusses the pros and cons of two topology alternatives for ESB-based SOAs: A single ESB for the company vs. a system of "departmental" ESBs that are connected to each other. Adrien describes how the alternatives affect issues such as administration, business monitoring, governance, reliability, and orchestration.

  • Scalability Principles

    At the simplest level, scalability is about doing more of something. This could be responding to more user requests, executing more work or handling more data. This article presents some principles and guidelines for building scalable software systems.

BT