InfoQ Homepage Design Content on InfoQ
-
Dynamic Routing Using Spring framework and AOP
Vigil Bose shows how a business transaction can trigger business events dynamically for subsystem processing. The examples shown in this article uses Spring framework 2.0 and Spring AOP effectively to decouple the business service from the subsystem processing functionality.
-
Agile, Architecture and the 5am Production Problem
Can refactoring and unit testing really create robust “working software” that survives the real world? In this story adapted from his book Release It! Michael Nygard contends that "abstractions leak": we need to attend to architecture, even in Agile projects, to guard ourselves against the 5AM failures that occur when foundational abstractions misbehave.
-
10 Principles of SOA
In this article, InfoQ's Stefan Tilkov, consultant at innoQ, proposes 10 principles to serve as a basis for SOA discussions. The list starts with Don Box's four tenets (service with explicit boundaries, shared contract and schema, policy-driven, and autonomous) and expands them to include wire formats, document orientation, loose coupling, standards compliance, vendor independence, and metadata.
-
Interview with Sanjiva Weerawarana: Debunking REST/WS-* Myths
InfoQ had a chance to talk to WS-* expert and WSO2 CEO Sanjiva Weerawarana, one of the fathers and a firm advocate of the WS-* architectural vision, we questioned him on the WS-* platform and his views on Microsoft's role in standardization. Sanjiva also took the opportunity to address "WS-* and REST myths".
-
Book Excerpt and Review: Applying Domain-Driven Design and Patterns with Examples in C# and .NET
InfoQ has decided to bring you what we think is one of the best books on the subject: Applying Domain-Driven Design and Patterns by Jimmy Nilsson. Don't let the subtitle fool you; this book is on domain-driven design with techniques and discussions suitable for any object oriented programming language. InfoQ has arranged for a sample chapter from courtesy of Addison Wesley Professional.
-
Case Study: Targeted Practice Adoption using Patterns
It's easy to forget what originally motivated us, once we're implementing Agile. Teams spin, trying to figure out which practices to start with, unsure which will have the biggest impact, or how they fit together. Amr Elssamadisy and John Mufarrige propose a customized adoption approach to help teams decide where to focus first - an alternative to adoption of pre-packaged methodologies.
-
Incorporating Enterprise Data into SOA
The majority of today's SOA design techniques are centered around definition of services. They use service-oriented decomposition, based on the business processes, enterprise business/functional model, required long term architectural goals and reuse of the existing enterprise functionality. This article takes a more data centric approach...
-
Spring.NET - QnA
InfoQ had a chance to sit down with Aleksandar Seovic and Mark Pollack the co-creaters of Spring.NET. Spring.NET is an application framework that brings AOP, a Dependency Injection container and data access framework to .NET. It is not a complete port of Spring to .NET yet it preserves the tenets of Spring.
-
Give it a REST: Mark Baker on Web Services
Mark Baker is well-known in the SOA and Web services community because of his continuous efforts to promote REST (REpresentational State Transfer), criticizing many of the standards and specifications as being ignorant of what made and continues to make the Web successful. Stefan Tilkov had the chance to talk to Mark about REST principles, its benefits, and the relationship to Web services.
-
SOA anti-patterns
SOA Expert Steve Jones from CapGemini provides a hands on look at SOA Antipatterns and a list of ways your SOA project can go wrong. This list includes signs that these problems are cropping up as well as what to do when you see them happening.
-
.Net Exceptions - Tracking Down Where In The Code The Exceptions Occurred
Tess Ferrnandez, an escalation engineer in PSS (product support services) at Microsoft, outlines the procedure for tracking down where in your code an exception occurred by using a stack dump.