You've been framed

Frameworks can be a valuable tool to help get your e-commerce project to market faster. Danny Bradbury explores the different...

Frameworks can be a valuable tool to help get your e-commerce project to market faster. Danny Bradbury explores the different options

Developing a computer system to handle your e-commerce operation is certainly difficult, but developing it from scratch without any sort of framework is a nightmare.

Crafting code and then testing it afterwards is a daunting task and can eat up valuable resources. Most companies want to get their e-commerce operations up and running as soon as possible so as not to lose out to the competition. They also want to avoid spending too many man-hours developing software because, in the current skills-starved climate, programmers are ridiculously expensive.

The answer lies in frameworks. In a nutshell, a framework is a set of standards that has been defined to take some of the groundwork out of software development. By defining a set of standards to handle particular software tasks, or to govern the communications between software, companies produce a framework that will make applications easier to develop.

One of the most important benefits of frameworks is reusable software development. Back in the mid 1990s, companies began to realise they didn't have to develop each software application from scratch. Instead, they could cut up existing software into chunks, which could then be reused in other programs. This is where the term object-oriented programming comes from - the objects are the chunks of code that can be reused.

It's good to talk

Objects need to speak to each other, and they also need to share common services, such as object messaging, security and even naming services (administering the names used by different objects so as to avoid any clashes).

A set of standards was needed to govern these tasks. The first such framework for objects was the common object request broker architecture (Corba) developed by the Object Management Group (OMG).

One of the most annoying things about objects, however, is that they are complicated to use. This is where component frameworks came in. Server-based components were, in essence, objects with a more business-friendly interface. Programmers were not expected to tinker around with the code inside a component, and components were expected to more closely resemble things you would find in the business, such as customers, orders and products.

There was also a movement to promote components on the client, where everything from a scrollbar through to an input box for a database search could be provided as a component.

Two component frameworks are now popular. Microsoft's component object model, is a Windows-centric component framework designed to support server-side applications development for Microsoft's operating system. The other, Java 2 Enterprise Edition (J2EE), the Sun Microsystems-owned Web application development framework, incorporates a variety of services, such as security and messaging.

Last summer, e-business consultancy Rubicon finished its Dfinity product - a J2EE-based software engine that handles customer relationship management and transaction processing. Originally built using Java, Rubicon switched to Oracle because it wasn't satisfied with Java. But after J2EE was released, its CEO, Alastair Hancock, moved to this framework because of its object-oriented capabilities.

Microsoft's .net initiative covers not only the application development arena, but it will also beget a new version of Windows. The idea is that companies will be able to develop components as Web services, accessible over the Net. This will enable them to provide components as services to be used in other Web applications. Say your Web application needs to convert one currency to another; instead of writing your own code, or buying a component to run on your system, you will be able to link to a Web service that will handle the task for you, returning the results to your application.

The operating system issue is important here - developers don't need to run their Microsoft components on Microsoft operating systems. Instead, .net Web services are compiled to the Microsoft Intermediate Language (MSIL) and, as long as the operating system you are using supports this, you'll be able to run .net applications. But then, Microsoft hasn't released any details about the licensing strategy for MSIL yet, so many details still need to be thrashed out.

The company needs to find support from other vendors for MSIL. Its recent $135m (£96m) investment in Corel (which has its own version of desktop Linux available and is working on a server-based version) can be interpreted as an attempt by the company to establish links to the Linux market so that it can build .net support into the operating system.

While Microsoft trumpets .net in the industry, others are working on similar systems. Hewlett-Packard, in particular, will be releasing a framework called eSpeak in January that will support Web service development and communication between the services.

Mike Rank, director of marketing at eSpeak, explains that although the company has received less attention than Microsoft, it is further ahead. Microsoft has stated that many elements of the .net initiative will be released over the next two years, whereas Hewlett-Packard will roll out its initiative in early 2001. Now all it has to do is persuade customers to use it.

Promises, promises

This is perhaps one of the biggest problems for the new generation of Web service frameworks. The likes of Microsoft will eagerly tell you how using these Web services will revolutionise your business and make e-commerce applications simple to develop. Unfortunately, they miss out some critical factors. For starters, companies providing services over the Web to other firms need to govern their relationships, so if one company changes any aspect of the service, its customers are aware that it could affect their own e-commerce applications.

Secondly, service-level agreements must be established so that companies can guarantee a reliable and fast service from third-party service providers. If you build your application by linking to services for multiple providers, you will be faced with multiple SLAs. And if your suppliers don't deliver, your own e-commerce applications - and your reputation - will suffer.

One possible solution lies with the Universal Description, Discovery and Integration service (, a registry of Web services created by a consortium of three companies - including Microsoft, Ariba and IBM. in essence this will be a listing of services available online and quality control is likely to be a critical function. A central resource holding performance metrics would certainly be valuable.

Frameworks have become a vital part of the e-commerce application development landscape because of the short business cycles inherent within e-business. Companies constantly need to change and enhance their applications, and they also need a quick way to get their businesses online. Having some of the groundwork already established is a Godsend.

With luck, as Web services mature, this latest generation of framework will reduce development times even further.

In the picture: key framework players

  • Microsoft: The company launched ActiveX, which developed into COM and Distributed COM (DCOM). COM then became COM+, working under DNA, and now the whole thing has been rolled together under .net. Microsoft also kicked off BizTalk, an open industry framework for complex XML-based communications between different applications.

    Sun: Java originally started as a client-based technology for network computers, but the emphasis is now on J2EE, which includes APIs for Enterprise Java Beans (server-side components), along with naming, messaging and directory services.

    OMG: The OMG developed the Corba standard in the early to mid 90s, and this was very popular for complex client/server development projects in areas such as finance. It has been less prevalent in e-commerce development, however, largely because of its complex nature. The Corba Component Model (CCM), which is the part of Corba 3 designed to be more component-like, will integrate with EJBs.

    Others: Many other companies produce their own frameworks, which are either partly or fully proprietary. But many more are moving to the frameworks above. IBM, for example, which had its own object framework called San Francisco, recently rebuilt it as an Enterprise Java Beans-compatible framework and relaunched it under a different name.

    Building out: guidelines

  • Choose a framework that is available, tried and tested.
  • Make sure your programmers are well skilled in the technology.
  • Find a balance between functionality and complexity. Don't use something that is too complex for your needs.
  • Use a robust design methodology, such as the Rational Unified Process (, to support your framework. There's no point using a component-based framework unless you know how to handle the re-use and distribution of components.

  • Read more on Business applications