InfoQ Homepage Architecture Content on InfoQ
-
POJO Messaging Architecture with Terracotta
Mark Turansky detailed his implementation of a message bus architecture using Terracotta and Java 5. Instead of using an MQ or JMS based deployment, Mark took advantage of the Terracotta architecture to create his POJO message bus. This allowed for a clean, simple, and inexpensive infrastructure solution to his message needs.
-
Debate about Testing and Recoverability: Object Oriented vs. Functional Programming Languages
In his latest blog post, Michael Feathers argued that object oriented programming languages offer some built-in features that facilitate testing and are therefore more recovery friendly than functional languages. Proponents of functional languages expressed strong disagreement with this statement, which provoked a very passionate debate in the blog community.
-
Generic versus User Specific Data Streams for Scalable Web Sites
Describes an approach to scaling web applications by partitioning data according to what is generic and what is user specific. The generic data streams can then take advantage of horizontal scaling and the power of caching.
-
Trading Consistency for Scalability in Distributed Architectures
eBay's Dan Pritchard and Amazon's Werner Vogels talk about the necessary trade-offs to achieve appropriate network partitioning tolerance for large distributed systems.
-
Pragmatic is the new black - Reality Driven Development
Taking an empirical approach, Reality Driven Development promotes the idea of rigorous experimentation as a way to improve the user experience and technical qualities of software development.
-
Amazon S3 Outage : Do SLAs Lead to Trust?
Amazon Web Services' popular Simple Storage Service (S3) suffered a major outage last week that caused some to question their reliance on S3. InfoQ discussed the outage with Amazon and affected users and examines the risks of SaaS and cloud architectures.
-
Differentiated UX: Expression of an Emerging UI Design Trend?
Introduced with the rollout of the Windows Presentation Foundation, the concept of Differentiated UX (Differentiated User Experience) was intended to help promote a new capability associated with this technology for delivering enhanced user experiences. Recently, Brian Noyes and Dax Pandhi provided a more concrete explanation of the term and described its relevance to UI designers and developers.
-
SaaS Architecture Maturity Model
With Software as a Service (SaaS) becoming more and more mainstream, the architecture behind the offering is getting more discussion. Dharmesh Shah wrote about the economics of the SaaS architecture maturity model.
-
Ideal Architecture is not always about Ideal Technology or Techniques
The ideal architecture is not always the one based on choices that technically would be the best. It should indeed take into account requirements of different stakeholders, which may limit the scope of choice. Phillip Calçado argues that the development team counts among these stakeholders and that constraints resulting from development environment cannot be ignored by the architect.
-
Interview and Book Excerpt: Model Based Software Testing and Analysis with C#
Recently published, Model Based Software Testing and Analyis with C#, by Cambridge University Press. Infoq was able to speak with all four authors about their personal views on model based testing and analysis: Jonathan Jacky, Margus Veanes, Colin Campbell and Wolfram Schulte.
-
Can Architects Stop Financial Ruin and Market Meltdowns?
The purported fraud by Jerome Kerviel at Société Générale may bring down a major financial institution and may have caused markets to tumble worldwide. Attention has turned to systems intended to prevent fraud and other illegal activities. What role can software architects play in detecting and avoiding fraud and other suspicious behavior?
-
Can DDD be Adequately Implemented Without DI and AOP?
A recent thread on Domain Driven Design (DDD) user group discussed the role of Dependency Injection (DI) and Aspect Oriented Programming (AOP) in DDD implementation. InfoQ spoke with Eric Evans and Ramnivas Laddad about these design concepts and the role of Annotations and orchestrated business services in DDD.
-
Continuous Integration And Version Control for Databases
After asserting that one must, as a rule, always version their database work, Scott Allen detailed an approach to making the best of versioning databases. Allen presented a comprehensive, practical approach to creating a baseline, using change scripts to manage schematic revisions, controlling programmatic database objects, and handling branching and merging.
-
How to Develop New Activities for the One Laptop Per Child Project?
The One Laptop Per Child project has starting shipping its first generation of XO laptops. OLPC "is not a laptop project, it is an education project", explains Nicholas Negroponte, director of the project. A full Sugar based development environment is available for developers to contribute new activities to the project. Sugar supports collaborative activities when XOs are meshed together.
-
Communicating Intent through Idiom and Paradigm Selection
What about using idioms and programming conventions as signals to achieve more readability and expressiveness? This is what Reg Braithwaite advocates for, suggesting that syntax or even paradigm choices can be a means to communicate the intent.