Implementing a major new corporate IT system right isn’t easy. A well-designed system can boost business effectiveness and contribute directly to the bottom line. But if the design is poor, development costs go through the roof, and user satisfaction goes through the floor. To implement today’s complex IT projects successfully, ensuring that all business needs are supported adequately, and that individual components interoperate, a well-designed IT Architecture is needed.
What is considered a good IT architecture? The Internet presents an outstanding example. A robust technical model, defined by clear and open standards, and coupled with a lean-and-mean governance structure, has delivered a technological phenomenon. Collaboratively implemented by competing businesses, it spans individuals, corporations, and nations across the globe. Its impact on business has been so great that we use the term “the new economy” to describe its effects.
Conversely, we all know of examples of badly architected systems, and can point to projects that over-ran their budgets and timescales, and delivered unsatisfactory results.
As Malcolm Forbes once remarked, in a slightly different context, “What a difference a few more bucks for first-rate architecture makes - to everyone and everything it impacts!”
The Latest Trend: Be Service-Oriented
The latest trend in IT architecture is to be service-oriented. Service-oriented architecture (SOA) is not a new concept, but it has come to the fore with the explosive growth of web services. According to Gartner, SOA will become mainstream in global companies by 2007. So have we finally found the silver bullet that will ensure a good design?
In SOA, a system comprises a set of services with simple interfaces. In the context of web services, with which the term has often been associated, the services are described by WSDL; the interfaces are messages encoded in XML and transported by SOAP; and UDDI provides a mechanism by which consumers can find out what services are available. But the abstract principles of SOA can apply equally in other contexts. The definition of simple, loosely-coupled services is key, where services can be viewed as building blocks that combine both information and behavior. They should be abstracted from the implementation, be reusable, relevant and meaningful to the user. SOA guru Hao He gives an everyday example: the CD player, which provides the service of playing CDs. You can play the same CD on a portable player or on your expensive stereo; they both offer the same CD playing service, but the quality of service is different.
-1-