InfoQ Homepage Architecture & Design Content on InfoQ
-
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.
-
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.
-
Distributed Version Control Systems: A Not-So-Quick Guide Through
Since Linus Torvalds presentation at Google about git in May 2007, the adoption and interest for Distributed Version Control Systems has been constantly rising. We will introduce the concept of Distributed Version Control, see when to use it, why it can be better, and have a look at three actors in the area: git, Mercurial and Bazaar.