How to extend a 3-tier web application so that external applications can leverage the business layer

It is important that the architecture is built to ensure that that the application can expose its business functionality to external applications. One possible use case could be the requirement for a third-party to update data within the application, such as the status of a customer order. Such functionality would give users the ability to [...]

Read the full article →

How to use unit tests effectively

To setup an effective unit testing process within a team implement the following processes: Explain to the team why unit testing is important. Effective unit testing provides several important benefits, these include: It is one of the key ways to promote quality within the development process. When used in collaboration with a strategy of regularly [...]

Read the full article →

When is it mandatory to declare a class as abstract?

A class must be declared abstract if it contains variant functionality. Variant functionality is functionality that is defined in a base class but implemented in a derived (or child) class. This is indicated by using the C# ‘abstract’ keyword (or in VB.NET, the ‘MustOverride’ keyword) before a method or property name. Abstract classes cannot be [...]

Read the full article →

Difference between an ADO.NET dataset and an ADO recordset

A dataset is an ADO.NET concept. A recordset is an ADO concept. In many ways an ADO recordset is the functional equivalent of an ADO.Net dataset as they are both data containers responsible for holding data. A recordset resembles a single table. A dataset is a collection of one or tables than can contain relationships [...]

Read the full article →

Inheritance and how you might use it

Inheritance along with polymorphism, encapsulation and data abstraction is one of the four fundamental concepts of object-orientated programming (OOP). It is typically employed as a code reuse mechanism to build class hierarchies when modelling ‘is-a’ type relationships. Derived, or child classes ‘inherit’ behaviour from their parent class. This behaviour can be modified by ‘overriding’ methods [...]

Read the full article →

Key management stages in the software development process

Key management stages that you should go through in the software development process  include: Facilitate the constant collection of business requirements from all potential stakeholders, including existing users and internal staff (sales, support, training, development etc). Consider creating and actively managing a user group, this can provide vital guidance for the product development schedule. Regularly [...]

Read the full article →

Keeping Up… with Podcasts

In my previous job I was able to travel to work by bus. I always considered myself lucky being able to catch it from the end of my street and have it drop me off right outside the office twenty five minutes later. Time spent on the bus was a great way to read books, [...]

Read the full article →

Keeping Up

To maintain a competitive advantage in any profession it’s vital to keep up to date with the latest news. Nowhere is this truer than in the software industry, where Moore’s Law has traditionally fuelled exponential rates of innovation. In recent years these have combined with the emergence of the internet to create a truly global [...]

Read the full article →

24 ways to make your web application more secure

Security has always been an important concern. Today the combination of huge amounts of sensitive information held online and the enormous number of people with online access makes it more important than ever. In many businesses, security is one of the most important requirements to consider when designing web applications. My personal experience of building [...]

Read the full article →

Hello World!

I’m Adrian Pritchard and welcome to my blog. In the time-honoured traditions of computing I’ve decided to call my first post ‘Hello World’. Not very original I know, but there’s a lot to be said for tradition. This blog is all about my take on computing in general and software in particular. I’ve been fascinated [...]

Read the full article →