ITarchitect
Free ITAC self-assessment tool
The Independent Source for IT Architects
Software Architect 2009, The technical conference for software architects, Barbican Centre, London
Home
Email Newswire
News
Articles
Blogs
Book Reviews
Events
IASA
Training Courses
Useful Links
Advertising Information
Contacts
Claim a FREE subscription to VSJ
Articles

Article Archive

The following articles were all published more than 12 months ago.

This article describes both the architectural challenges that are inherent in implementing “Engineering in the Cloud” and an architecture that we call “Engineering Software + Services”.
How can you create a multitude of instances without having to pay the cost of instantiating each object? Garfield Moore introduces and discusses an appropriate design pattern.
Puzzled by WF? Wonder what it’s all for? Richard Blewett takes the mystery out of Windows Workflow.
Azure is Microsoft’s new programming paradigm, and Harry Fairhead investigates how much cloud there is in cloud computing.
Neal Ford argues that small is still beautiful, and if you are writing long methods then it’s time to think “refactor”
The composites and visitors patterns can help to make your iterators simpler and more robust. Dave Wheeler explains how it all fits together.
A set of common architectural modules, that every system should have.
Models are in fashion at the moment, but Scott McKorkle thinks that they are the best approach to SOA as well as lower-level development.
If you don’t like injections, look away now. Dave Wheeler however thinks that dependency injection is something we should all know about and use.
Make no mistake; we live in troubled times. But could the current credit crisis teach us anything about how we can design our software so that it will be more resilient to change?
Enabling re-use through Component Based Development.
Moving from a generic IDE to an application-specific IDE.
Towards continuous, real-time quality feedback.
The big issue in software architecture is usually the choice between global and local implementation. Mike James explains why we tend to miss the obvious.
For the past few years service-oriented architectures have been promoted as the panacea of the IT world, but cracks in the SOA hegemony are already beginning to appear. Celona Technologies’ Tony Sceales examines the hype, hope and reality surrounding SOA, and points out some home truths that anyone embarking on a SOA programme would be well advised to take note of.
Routing and testing are key ideas in using the ASP.NET MVC. Kevin Jones explains how it works.
The business flexibility and return on investment (ROI) promised by use of a Service Oriented Architecture (SOA) can be maximised through implementation of data access ‘best practices’.
While patterns are intended to give you the bigger picture, they often fail and become bogged down in minutiae. Kevlin Henney considers the wider use of patterns as a common vocabulary.
With the release of the Microsoft MVC library, Kevin Jones thinks it’s time to look closely at the ASP.NET Model View Controller Architecture.
Could a slowdown in SOA adoption be down to bad communication, or is there a fundamental problem with concepts?
Harnessing the abilities of your team to produce innovative solutions is the key to successful large-scale products.
How do you manage the multiple services that are so much part of the SOA approach? Sing Li thinks he has found an easy-to-use framework for the job.
With the promise of a clear, uncluttered approach to IT structuring, does Business Process Management stand up to criticism?
Why is it so difficult to build web 2.0 applications? Mike James thinks that the problem is all about security.
Architects are leaders in their organizations and need to have the appropriate skills to make decisions and work with people to get work done in a timely manner. This means that an architect will need a set of “tools” in their toolkit to help get this done.
Using a managed approach to processes helps a team to achieve greater efficiency and meet the expectations of project plans.
Social computing is a rapidly growing area of interest today, driven by Web 2.0 facilities like blogs, wikis, mashups and the hugely popular social networks such as Myspace and Facebook. But away from the consumer focus, some companies are now starting to look at these technologies to see whether they can add value in a business scenario.
The advent of AJAX has radically modified the user’s perception of a Web application. This is forcing developers to apply newer and richer models to build modern Web applications. Dino Esposito takes a look at the architectural implications of what we are doing.
How to use architecture artifacts to communicate data about the specification, design, review or deployment of a project.
The benefits of Service Oriented Architecture are balanced by significant security risks, so it pays to focus on accessibility issues.
Well-implemented governance ensures that the decision-making process in an organisation benefits from strong communication links.
Installing and using the Sparx Add-In to add IDL capabilities to Enterprise Architect projects.
Robbie Gibbon explores a unique conceptual solution architecture to identity management.
The singleton is the simplest and easiest to understand design pattern, but Dave Wheeler thinks we need to give it the respect it deserves and use it with care.
Is SOA Governance a step up to improved control and more effective service management, or a confusing step sideways?
What is an IT Architect? What is the value of IT Architecture? These are questions I hear all of the time. So what is the answer?
What exactly is SOA? The technical team at JB International think it’s more than “Stupid Over-hyped Acronym”.
Do you ever consider the consequences of working with patterns? Dave Wheeler picks apart the Chain of Responsibility pattern to look at some of the disadvantages.
The first part of the article discussed five pitfalls that have beset many software architects over the years, and in this second instalment we’ll discuss five more.
A new event was added to the annual schedule in June 2007 when Bearpark’s Software Architect conference made its debut.
Top Ten Software Architecture Mistakes – Part 1
If you’re working in financial services IT, are you prepared for the Architecture revolution?
Patterns aren’t supposed to be cast in stone, and Dave Wheeler explains how to adjust your design to suit the task.
How integration technologies can help organisations bolster their business processes and increase value.
As a growing number of organizations outsource technology assets and operations, a new skill is becoming important for more than just legal departments and the CIO: vendor management.
Using the Decorator Pattern to create dynamically extensible applications.
Although it’s a much-used term, it’s difficult to define. Kevlin Henney asks the important question.
All Web developers probably know that AJAX stands for Asynchronous JavaScript And XML; nearly all would agree that AJAX is not a technology. But what is AJAX?
We all know about the benefits of using inheritance, but Dave Wheeler argues that composition is just as useful, if not more so.
Creating a database involves many skills, but appreciating the whole architecture of the system is important if you’re going to produce something that is efficient, and scales.
Domain-specific languages (DSLs) are special-purpose languages designed to solve a particular range of problems, and in essence they can help turn large problems into small problems.
Can design patterns make the real work of development easier? Dave Wheeler presents a database example of the use of three common patterns to create database agnostic code.
Are web services truly platform independent? Are they easy to use? Sing Li looks at XFire web services architecture, which promises to be both.
Speculating on Domain Specific Languages is currently all the rage, but it’s more than just theory. Mike James looks at Microsoft’s DSL tool for Visual Studio.
Can you really use AJAX without knowing anything about how it all works? Deepak Vohra thinks you can, if you use AjaxTags.
Dealing with the challenges posed by embedded devices need not be too stressful.
Why architects prefer SOA to OO.
Chris Cant shows how to make a responsive web application using JSON but not Ajax.
With the move to creating even desktop applications using a markup language – XAML – perhaps it’s time to reconsider our love for markup. Mike James has some interesting thoughts on markup gone bad.
Loosely coupled, asynchronous, service-oriented applications impose unique reliability requirements. Roger Wolter highlights which reliability issues to consider when architecting a connected services application.
Design patterns are just abstract advice you can apply to the building of real world websites. Robbie Gibbon explains how a simple Model-View-Controller can be augmented by the command and controller strategy to create a robust framework.
A discussion of how to plan agile, iterative and incremental developments.
Ajax may be based on JavaScript, but what’s it got to do with Java? Sing Li describes the interactive world of Web 2.0.
Building a big project can be difficult. Simon Horrell explains how it can all be automated with VSTS.
Have the reputation and practical advantages of Agile Development survived more recent architectural revolutions?
David Green investigates the benefits of building applications on a workflow platform, and examines Microsoft’s Windows Workflow Foundation as a means of realising these benefits in practice.
The rise of Ajax has fuelled the argument over how best to design web applications.
Mauro Regio and Jack Greenfield share the experience gathered in designing and implementing a software factory for health care systems, and discuss the long-term vision and the scoped-down proof of concept developed so far.
Can TurboGears, a “megaframework”, bring the MVC architecture to the masses? Sing Li thinks that it can.
The performance of your code can almost always be improved. Simon Horrell shows how to profile your code in order to focus your effort on optimisations that will affect the greatest possible portion of the program.
Mark Collins-Cope discusses an architectural reference model (ARM) for large-scale applications, made up of of five architectural stata, which he has successfully employed on three large enterprise application developments.
After explaining the theory behind JBoss Seam in his previous article, Sing Li gets more practical, and demonstrates how you can work with this robust JEE5 framework.
JBoss Seam is a robust JEE 5 framework that eliminates traditional tedious coding using some clever architecture. Sing Li explains how it works.
Progress DataXtend CE for C# offers sophisticated object-relational (O-R) mapping, patented caching and server synchronization functionality, reducing time-to market for applications built on the .NET framework.
High-performance computing (HPC) has evolved from a discipline solely concerned with efficient execution of code on parallel architectures to be more closely aligned with the field of distributed systems.
Investigating architectural layering, OO design, component based design, UML, packages and re-use.
In the service economy, we expect service-oriented systems to emerge that are increasingly large and complex, but that are also capable of behaviours that are increasingly differentiated. This is one of the key challenges of SOA.
SOA, ESB or both? BizTalk provides enough flexibility to be a general programming environment, but is it really easier? Mike James takes us on a brief tour of the basics.
Is HTTP a great fit for every Web Services issue that exists today? This article reviews scenarios in which alternate transports for Web Services may offer a better solution over HTTP.
According to Gartner, 95% of medium and large-scale enterprises support both .NET and J2EE, and 30% or more of enterprise applications will include elements of both by 2008. So what approaches are available to manage diversified systems?
Introducing Visual Studio 2005 Team System.
Put this 100% Java Enterprise Service Bus to work for you today.
Current development methods, such as waterfall, spiral and agile, often provide incomplete and inadequate direction to stakeholders, architects, and developers. This article introduces two essential concepts – value models and architecture strategy – which are missing from many development processes.
The second part of an article which examines the underlying reasons for project failure, and how to use that knowledge to get your projects back on track.
If you’re developing Java or C++ applications that perform operations such as real-time data management, radio frequency identification (RFID), or complex event processing (CEP), then ObjectStore’s Cache-Forward architecture (CFA) can help you achieve the performance required by such applications.
This article introduces the ISO international standard Topic Maps. The topic maps paradigm describes a way in which complex relationships between abstract concepts and real-world resources can be described and interchanged using a standard XML syntax.
Puzzled by patterns? Let Saif Ikram explain what they are, and why they are useful, in our introduction to design patterns.
When training to build more effective software applications, it helps to take the long-term view.
Examining the underlying reasons for project failure, and how to use that knowledge to get your projects back on track.
You don’t have to be eXtreme to see the value in unit testing. Ian Stevenson gives us his top ten tips to add unit testing to the entire lifecycle of an application.
Matt Deacon, president of the recently formed UK chapter of the International Association of Software Architects (IASA), asks what it actually means to be an IT Architect, and introduces the IASA, which is running a free evening event called “Confessions of an Architect” in central London on 19th September.
Enterprises today are moving towards SOA as a way to expose their applications and data for consumption. Building solutions on top of these services is fairly easy today using existing development tools. Different vendors provide tools for both exposing and developing on top of those services by using standards like SOAP or WSDL. However, once enterprises start developing a few of these solutions problems start to arise. This article addresses some of the most common problems.
If you feel that your application development isn’t pulling its weight, use smart automation to bring it up to speed with MDA.
The real opportunity – and challenge – of SOA comes from considering a simple question: “What is an IT service, exactly?”
The presentation layer is a vitally important part of an application. This article discusses the thin and smart client approaches and provides guidance on how to choose between them.
Much is said about Unit testing – but how do you actually do it? Kevin Jones explains how XP, Unit testing and .NET go together.
Sing Li takes a whimsical look at the latest software development craze, and gives a clear explanation that should help you get to grips with what it’s all about.
We have an exclusive sample chapter on Design Patterns for Building Service-Oriented Web Services, courtesy of our friends at Apress.
Domain specific modeling is a hot topic at the moment, and plays a key role in Microsoft’s ‘Software Factories’ idea. Martijn Iseger explains how it works, and how generative software development is the next big thing.
Does SOA need special consideration when it comes to data? Derek Henninger thinks that the key is persistence.
The need to collaborate when during the initial stages of a project is fairly obvious but today there is a new emphasis on software lifecycle. Collaboration and change management is now an issue for the entire lifecycle.
This introduction to Microsoft’s recently-released Enterprise Library – a configuration and management tool for application blocks – highlights some of its most important features, and shows you how to use the library blocks in your application code.
Investigating Test-driven Development with Visual Studio 2005 Team Developer.
What are the differences between Service Oriented Architecture (SOA) and Distributed Objects (DO)? We define SOA – the newer and less understood technology.
How the challenge of Enterprise Architecture is changing what we model, and why.
It is commonly thought that automated testing is the panacea for all quality assurance woes. But is that always the case?
The new Distributed System Designers that will be provided as part of Visual Studio 2005 Team System are an important component within Microsoft’s Dynamic Systems Initiative, which is designed to help organisations manage their entire IT lifecycle.
Agile methods? There seems to be no technology these days that doesn’t have an ‘agile’ approach. Is it all hype, or is there something behind the façade and the West Coast accent?
Don’t just convert your existing VB code into .NET – give it a new life by transmuting it into gold!
If you want to know where .NET is taking us, Dan Brown thinks that it’s all about the next version of Windows.
This article presents techniques for applying levels of abstraction to IT solutions, which can allow architects to focus on a single aspect at a time, and compares this to other engineering disciplines.
How IT process methodologies and change management solutions can help your IT organization be audit ready.
This article briefly presents the motivation for Software Factories, a methodology which involves a development environment being configured to support the rapid development of a specific type of application.
Download a sample chapter of this book.
Download a sample chapter of this book.
Download a sample chapter of this book.
When deploying new SCM tools, implementers sometimes focus on perfecting fine-grained activities, while unwittingly carrying forward poor, large-scale practices from their previous jobs or tools.
Some techniques for formatting code so that readers can make inferences about a program’s structure and flow from its physical shape.
Implementing software configuration management (SCM) practices in a hardware design environment is a complex task, but can offer a range of benefits.
Despite plenty of coverage of Test Driven Development (TDD), a largely ignored area is that of best practices. Here we introduce TDD and flesh out best practice scenarios using NUnit.
As the use of client-server systems continues to grow, so does the need to serve ever-expanding numbers of users.
Having difficulty persuading your colleagues or business sponsors of the merit of adopting Service Oriented Architecture (SOA) or using Web Services instead of some existing mature technology?
Independent consultant Sayed Hashimi looks at the evolution of SOA, its key components, and why it represents the best scalable solution for application architecture.
Kendall Grant Clark of XML.com argues that the increasing focus on Web Services is pushing us to discover the fundamental limits of the Web, and introduces the W3C’s Web Services Architecture Working Group (WS-Arch).
A metaphor for the evolution of information technology into the world of service-oriented architectures. We look at SOA (service-oriented architectures) in terms of urban planning, comparing the way in which information technology and American cities have adopted new frameworks and models.
The advantages of explicit boundaries in distributed applications.
We take a close look at Borland’s Together UML design tool for .NET.
Learn how modeling languages can simplify the development of distributed applications.
This article is intended for business, software, and infrastructure architects who want to understand Microsoft's approach to enterprise, application, and technology architectures.
Describes Capgemini’s Integrated Architecture Framework, and describes a model for enterprise architecture and its importance in helping software architects understand the business as a whole.
Mult-tier distributed systems open up new opportunities and ways to design systems and develop applications. They form the infrastructure for enterprise-wide core business, database, workflow and web applications.
The .NET/J2EE schism isn’t simply a matter of programming languages, but how to implement large scale architectural constructs. Although the two environments are very similar, .NET programmers probably don’t understand J2EE, and vice versa. This (slightly irreverent) overview aims to bridge the gap.
Three steps for better performing and more scalable database access.
You might have heard the promise before, but Sing Li thinks that RMI, CORBA and NetBeans are the real solution.
Click to sign up to our Email Bulletin