BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Patterns Content on InfoQ

  • Interview and Book Excerpt: Thomas Erl's SOA Design Patterns

    Today, InfoQ publishes an excerpt from Thomas Erl’s newest book, SOA Design Patterns, and used the opportunity to interview the author. Topics covered include the role of a patterns catalog, differences between service-orientation, SOA, and Web services, and the current state of the SOA world.

  • Getting Started With Spring Integration

    In this article, Joshua Long introduces the readers to Spring Integration, an extension of the Spring framework supporting the Enterprise Integration Patterns. After a short introduction into Enterprise Application Integration (EAI), the article presents an example of the integration between an email application and a blogger one.

  • Describing RESTful Applications

    If servers control their own namespace without a fixed resource hierarchy, how do clients, and more importantly client developers, get to learn or discover URIs of resources? In a new article, Subbu Allamaraju discusses how to describe a RESTful API, focusing on using hypermedia instead of an out-of-band description format such as WADL or WSDL 2.0.

  • The Limits of Code Optimization: a new Singleton Pattern Implementation

    It is a well known fact in the programming world that the java (double-check) singleton pattern is not thread safe and can’t be fixed. In this article, Dr. Alexey Yakubovich provides an implementation of the Singleton pattern that he claims is thread-safe.

  • How to GET a Cup of Coffee

    In this article, Jim Webber, Savas Parastatidis and Ian Robinson show how to drive an application's flow through the use of hypermedia in a RESTful application, using the well-known example from Gregor Hohpe's "Starbucks does not use Two-Phase-Commit" to illustrate how the Web's concepts can be used for integration purposes.

  • Book Review: Agile Adoption Patterns, A Roadmap to Organizational Success

    Ryan Cooper reviewed Amr Elssamadisy's new book and found it a useful framework for designing customized adoption strategies. Rather than a single recipe of Agile practices for everyone, the reader is offered patterns and tools to help determine which practices will most effectively help them reach their own organization's specific goals.

  • Ruby's Open Classes - Or: How Not To Patch Like A Monkey

    Ruby's Open Classes are powerful - but can easily be misused. This article looks at how to minimize the risk of opening classes, alternatives, and how other languages provide similar capabilities.

  • REST Anti-Patterns

    In this article, Stefan Tilkov explains some of the most common anti-patterns found in applications that claim to follow a "RESTful" design and suggests ways to avoid them: tunneling everything through GET or POST, ignoring caching, response codes, misusing cookies, forgetting hypermedia and MIME types, and breaking self-descriptiveness.

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

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

  • Creating Product Owner Success

    The role of the Scrum Product Owner is powerful, but challenging to implement. Success can bring a new and healthy relationship between customers/product management and development, even competitive advantage, but it comes at a price: organizational change is often required. In this article Roman Pichler looks at what it takes to succeed as a Product Owner.

BT