Article Archive
The following articles were all published more than 12 months ago.
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.
|