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

  • Design Patterns: Magic or Myth?

    In this article, author discusses the effectiveness of the usage of design patterns in software development. The analysis is based on surveys and mapping studies conducted to indicate which patterns were considered useful under what circumstances.

  • Pragmatic Techniques for Maintaining a Legacy Application

    Maintaining a legacy application can make you feel like mice in a maze. In this article Ping Chen shares her experiences on how to pragmatically maintain a large legacy application. "Pragmatic” is the operative word; since a legacy application can have lots of technical debt, one has to be strategic in choosing the right battles.

  • Monty Taylor and Jim Blair on CI and Test Automation at OpenStack

    Monty Taylor and James Blair talk about the build and test challenges they face at OpenStack, and how they managed to tackle them. Managing hundreds of VMs on public clouds, integrating up to 400 commits a day and running thousands of test jobs on them are some of the challenges described.

  • Building a Real-time, Personalized Recommendation System with Kiji

    Jon Natkins explains in this article how to create a personalized recommendation system fed with large amounts of real-time data using Kiji, which leverages HBase, Avro, Map-Reduce and Scalding.

  • Visualizing Java Garbage Collection

    Garbage Collection, like Backgammon takes minutes to learn and a lifetime to master. In this article Master trainer/consultant Ben Evans summarizes his recent InfoQ presentation "Visualizing Garbage Collection" where he discusses Garbage Collection from the ground up.

  • Architecture and Agility: Married, Divorced, or Just Good Friends?

    This article describes the relationship between architecture and process of software development and how architecture can responds to a set of needs, such as functional requirements, operational characteristics, and developer habitability. It also talks about the role of pragmatic architects when working with developers and stakeholders.

  • Cassandra CLI Internals Using JArchitect

    Cassandra CLI is a useful tool for Cassandra administrators. It's a good example of how to implement a Cassandra client and CLI internals help us to develop custom Cassandra clients or even extend the CLI tool. In this article, author explores Cassandra CLI architecture model using JArchitect tool and CQLinq language to analyze its code base.

  • Don’t jump the SQL ship just yet

    The SQL language has been evolving steadily over the last two decades. At the same time, the verbosity caused by the JDBC API in Java client code and the lack of first class SQL support within the Java language have led to the introduction of ORMs such as Hibernate, which was later standardised into JPA and the Criteria API.If SQL and JPA are diverging, where will our data interaction patterns go?

  • Meet Elaine: A Persona- Driven Approach to Exploring Architecturally Significant Requirements

    Often, requirements elicited from stakeholders describe a system’s functionality but fail to address qualities such as performance, reliability, & availability. Documenting these requirements is often overlooked because there are implicit assumptions that the system will perform to expected levels. This article describes a process developed on the idea of persona sketches to address this problem.

  • Key Takeaway Points and Lessons Learned from QCon San Francisco 2013

    This article summarizes the key takeaways and highlights from QCon San Francisco 2013 as blogged and tweeted by attendees. Over the course of the next 4 months, InfoQ will be publishing most of the conference sessions online, including 19 video interviews that were recorded by the InfoQ editorial team. The publishing schedule can be found on the QCon San Francisco web site.

  • Exposing CQRS Through a RESTful API

    Command Query Responsibility Segregation (CQRS) is an architectural pattern that segregates reads and writes of a system into two separate models. We propose and demonstrate an approach for building a RESTful API on top of CQRS systems. This approach joins HTTP semantics and resource-based style of REST APIs with distributed computing concerns such as eventual consistency and concurrency.

  • Beyond Data Mining

    In this article, author talks about the need for a change in the predictive modeling community’s focus and compares the four types of data mining: algorithm mining, landscape mining, decision mining, and discussion mining.

BT