InfoQ

InfoQ

Community Specific Content View

Architecture & Design Content on InfoQ


Latest featured content about Architecture & Design

Designing and Developing Cross-Cutting Features

Topics
Dependency Injection,
Design Pattern,
Design,
Patterns,
Object Oriented Design,
Domain Driven Design,
Architecture,
Integration

Every developer has had to integrate with another system, API or component at one point or another. And, often, a business feature must span systems. If you’ve been on a project like this or have one in the pipeline then this article provides strategies to handle the change. Also, this article covers separating system boundaries and what that means for your technical design.

News about Architecture & Design

Lean Software & Systems Consortium Reorganizes as Lean Systems Society

Topics
Kanban,
Agile Techniques,
Lean,
Lean Software & Systems Consortium,
Agile

The Lean Software & Systems Consortium (LeanSCC) whose mission is to improve the world by improving its systems and system-building capabilities (well known in the agile community for promoting the use of Kanban for software development) reorganized as the Lean System Society. The goal is to accelerate and deepen the Lean paradigm and bring together thinkers and doers from different perspectives.

MonoDevelop 3.0 – Better Code Completion, Performance, Quick-Fix Suggestions

Topics
MonoDevelop,
Mono,
IDEs,
IDE,
.NET,
Programming

MonoDevelop 3.0 has been released and there are several new features that focus on performance and developer productivity, especially for C# developers.

Is Beautiful Usable, or Is It the Other Way Around?

Topics
Design,
Usability,
UX,
Research

A group of researchers from two European universities have evaluated if “what is beautiful is usable” is true in software, and they have concluded that “what is usable is beautiful.”

Articles about Architecture & Design

Introduction to MongoDB for Java, PHP and Python Developers

Topics
MongoDB,
Distributed Document Oriented Database,
NoSQL,
Database

The NoSQL movement is here to stay. The need for reliable storage that can be easily queried and easily scalable without the pain of SQL schema migration is real. Developers want more agile systems. This article uses MongoDB to introduce NoSQL concepts. This article covers the basics of MongoDB architecture, caveats and programming in MongoDB for Java, PHP, and Python developers.

Dan Allen on Arquillian Testing Framework

Topics
Java,
Integration Testing,
Languages,
Frameworks,
Programming,
JBoss Arquillian,
Testing

Arquillian is an integration and functional testing platform that can be used for Java middleware testing. It helps bring the tests to the runtime environment, freeing developers from managing runtime from within the test. InfoQ caught up with Dan Allen to talk about the framework features and its future roadmap.

How to Integrate Models And Code

Topics
Domain Specific Languages,
Tools,
Languages,
Model Driven Development,
Modeling,
Programming,
Eclipse,
Agile

While creating models in a form or another is very common, their combination with the code has been challenging. As a result, models are usually thrown away once the implementation has progressed. The reason is partly in the modeling languages used and partly in the tools applied. The article describes proven practices for working with both models and code.

Presentations about Architecture & Design

Machine Learning on Big Data for Personalized Internet Advertising

Topics
QCon San Francisco 2011,
Big Data,
Data Analysis,
QCon,
Database Design,
Advertising,
Conferences,
Database

Michael Recce discusses how advertising works and what algorithms Quantcast uses to analyze large amounts of data in order to find out what people are interested in.

Objects, Anomalies, and Actors: The Next Revolution

Topics
Erlang,
QCon San Francisco 2011,
Functional Programming,
QCon,
Concurrency,
Parallel Programming,
Programming,
Conferences,
Actors,
Multi-core

Steve Vinoski believes that actor-oriented languages such as Erlang are better prepared for the challenges of the future: cloud, multicore, high availability and fault tolerance.

Interviews about Architecture & Design

Big Data Architecture at LinkedIn

Topics
Neo4j,
Neo,
Riak,
Cassandra,
MongoDB,
Graph Database,
Companies,
Big Data,
BigTable,
Key-Value Store,
Distributed Document Oriented Database,
NoSQL,
Database Design,
Cloud Computing,
Database,
Hadoop,
Voldemort,
Lucene,
Dynamo DB

In this interview at QCon London, LinkedIn’s Sid Anand discusses the problems they face when serving high-traffic, high-volume data. Sid explains how they’re moving some use cases from Oracle to gain headroom, and lifts the hood on their open source search and data replication projects, including Kafka, Voldemort, Espresso and Databus.

Optimizing for Big Data at Facebook

Topics
Clusters,
Big Data Infrastructure,
Clustering & Caching,
Infrastructure,
Cloud Computing,
Performance & Scalability,
Hadoop,
Hive

Hive co-creator Ashish Thusoo describes the Big Data challenges Facebook faced and presents solutions in 2 areas: Reduction in the data footprint and CPU utilization. Generating 300 to 400 terabytes per day, they store RC files as blocks, but store as columns within a block to get better compression. He also talks about the current Big Data ecosystem and trends for companies going forward.

Books about Architecture & Design

Identity Management on a Shoestring

Topics
Java,
Languages,
Identity Management,
Programming,
Enterprise,
Security

The authors of this book share their experience and lessons learned while building an enterprise-wide Identity and Access Management system using an architectural approach called LIMA.

InfoQ Explores: REST

Topics
REST,
SOA,
Architecture,
Enterprise Architecture

This is the first edition of what is expected to become a recurring series on InfoQ. The idea behind this minibook is that a number of InfoQ articles and interviews which deal with a particular topic (in this case, REpresentational State Transfer, or REST) are combined together to provide a detailed exploration suitable for both beginners and advanced practitioners.

Composite Software Construction

Topics
WS Standards,
BPEL,
BPMN,
WSDL,
ESB,
Domain Specific Languages,
SOA Platforms,
Web Services,
Business Process Management,
SOA,
Business,
Languages,
Orchestration,
Enterprise Architecture,
Programming,
Architecture,
SOA Appliance,
WS-Star,
Modeling,
Service Data Objects,
Service Component Architecture,
Service Design,
Infrastructure,
WS-AtomicTransactions,
MDA

Composite Software offers a new level of granularity when compared to SaaS (Software as a Service). Composite Software is about enabling "right-sourcing", i.e. move (or keep) arbitrary small or large elements of functionality wherever it is the most cost effective to operate them, not just entire systems. Economically, "right-sourcing" is far more efficient than "outsourcing" and SaaS. The goal of this book is start by understanding today’s software construction processes and technologies and explore why and how it should be evolved to support core composition mechanisms.

Starting Struts 2

Topics
Struts,
Java Web Frameworks,
Java,
Languages,
Architecture,
Programming,
Book Review

Within this book you will find everything you need to get up and running using Struts2 – from the architecture and configuration, to implementing actions and the supporting infrastructure such as validation and internationalization. Above all else, it focuses on the practical – with plenty of code and productivity tips to get you started using Struts2 today.

Mr. Neighborly's Humble Little Ruby Book

Topics
Ruby,
Dynamic Languages,
Languages,
Language Features,
Programming

The Humble Little Ruby Book covers the base syntax of the language, including working with values, flow control, and object oriented programming, into some of the library functionality of Ruby, such as databases, web services, and string manipulation.

Domain Driven Design Quickly

Topics
Customers & Requirements,
Domain Specific Languages,
Project Management,
Languages,
Methodologies,
Architecture,
Agile,
Programming,
Domain Driven Design,
Design Patterns

Domain Driven Design is a vision and approach for designing a domain model that reflects a deep understanding of the business domain. This book is a short, quickly-readable summary and introduction to the fundamentals of DDD; it does not introduce any new concepts; it attempts to concisely summarize the essence of what DDD is, drawing mostly Eric Evans' book, as well other sources since published such as Jimmy Nilsson's Applying Domain Driven Design, and various DDD discussion forums.

Visual Studio .NET Tips and Tricks

Topics
Visual Studio Express,
Visual Studio Team System,
Artifacts & Tools,
Visual Studio,
Tools,
Microsoft,
.NET,
IDE,
Companies,
Programming,
Agile

Visual Studio .NET Tips and Tricks is a book explaining how to use VS.NET efficiently. Organized into short and easy-to-grasp sections, and containing tips and tricks on everything from editing and compiling to debugging and navigating within the VS.NET IDE, this book is a must-read for all .NET developers, regardless of expertise and whether they program in C#, VB.NET, or any other .NET language. This book covers the Visual Studio .NET 2002, 2003, and 2005 Beta 1 releases.

Java Transaction Design Strategies

Topics
EJB,
JDBC,
Spring,
Dependency Injection,
SpringSource,
Java,
Java EE,
Transactions Processing,
Design Pattern,
VMWare,
Languages,
Database,
Patterns,
Object Oriented Design,
Design,
Programming,
Companies,
Design Patterns

Java Transaction Design Strategies shows how to design an effective transaction management strategy using the transaction models provided by Java-based frameworks such as EJB and Spring. Local, programmatic, declarative, and XA models are explained; the book concludes with a set of design patterns show how to effecitvely use these models.