Simon Bisson takes a look at the building blocks that fit together to create the ideal 21st Century ecommerce solution.
The Internet has gone past the novelty stage, past the nine-day wonder, through the hype and, now, has become part of the background noise of the business world. With URLs in TV adverts and on the sides of buses, the online world has become part and parcel of our everyday lives. As a result, it needs to be as reliable as the familiar High Street.
A well-constructed web presence is the public face of the 21st century business, delivering information and commerce functionality to businesses all over the world. However, unlike a physical shop, the ecommerce customer experience is a result of the synergy between technologies and the teams that have put them together.
We take a look at ten technologies that fit together to create compelling ecommerce presences, whether business-to-business or business-to-consumer. As an ebusiness is just an ordinary business, subject to the same requirements as its bricks and mortar competitors – and must deliver an end-to-end solution. Your fulfilment methods are as important to your web presence as the web servers – possibly even more so, as a customer who’s not received an order will complain, often publicly, reducing your chances of further sales.
The technologies of ebusiness are still young technologies, often less than 5 years old. Their immaturity can make them difficult to implement, and harder yet to integrate with exiting solutions. The intensive Darwinian environment of the Internet is encouraging rapid evolution, of both technologies and solutions, and the technologies that appear over the next 5 years could be as revolutionary as those we use today. Already the first effective peer-to-peer (P2P) solutions are appearing, in the shape of tools like the group-collaboration service Groove – from the person who created Notes.
Every web application needs to deliver content to a waiting audience, and its web servers are the tools that handle this function. They respond to HTTP requests, delivering HTML content and associated files (including Flash animations) to waiting web browsers.
You can pick up a web server for free in the shape of the popular Apache open source web server or Microsoft’s bundled Internet Information Server, or use commercial tools in the shape of Redhat’s Stronghold or the Sun/Netscape/AOL alliance’s iPlanet.
Choosing a web server is a very important decision when putting together the infrastructure for any ecommerce site. Its performance will be critical, especially if you’re going to be serving mainly dynamically generated pages. Benchmarks are available for some of the more popular web server and hardware combinations, and these will give you a set of baseline performance indicators that will need to be taken into account when choosing software and hardware for your ebusiness.
ECommerce sites need to keep their customers’ information secure, especially where financial transactions are concerned. Most commercial web servers support the SSL (Secure Sockets Layer) security protocols, which allow browser and server to create a public key relationship that encrypts all communications. Encryption adds a processing overhead to your service, so you may well want to use a hardware-based SSL proxy network appliance to speed up connections.
As an ecommerce business is a 24-hour a day, 7 days a week business, you need to implement as reliable an infrastructure as possible. With your web servers forming the visible part of your service’s infrastructure these will need to be as reliable as possible. You can ensure this by using load-balancing tools to manage connections to your servers, creating a web farm that the outside world sees as a single web server. These will also redirect sessions from failed web servers as required, also allowing you to roll out upgrades and perform scheduled maintenance without affecting your service.
A traditional Perl CGI-script will struggle with today’s demanding applications. Not only does it provide additional load to a web server, integration with legacy and back-end systems can prove complex. Web server extension frameworks like ISAPI provided a stopgap solution, but large-scale web applications needed something more flexible. This came in the shape of the first application servers, tools that included NetDynamics and SilverStream.
Application servers act as the middle tier in a web application, hosting your business logic. Generally application servers are Java tools, and provide a framework for application components to interact with web content and with back office systems. Java’s support for Internet standards, and its component model, makes it a powerful tool for developing application server-hosted applications, especially when used in conjunction with existing classes and components.
Most of the major software vendors provide application servers or frameworks that can be used to offer similar performance. You’ll find Sun’s tool set very mature (as it builds on the acquisitions of NetDynamics and Forte), whilst BEA’s WebLogic owes a lot to their experience with transactional systems. Even Microsoft provides an application server in the shape of Windows 2000’s COM+ toolkit, and the forthcoming .NET platform.
The traditional three-tier distributed application development model is at home on the Internet. Virtually all the web sites you’ll visit are built from a web server presentation layer, with business logic in application servers, and a persistent data layer in a relational database. As the HTTP protocol at the heart of web is connectionless, with each HTTP connection treated as a completely separate event, persistent data is one of the most important features of a well-designed web application.
An RDBMS like Oracle or SQL Server will be at the heart of an ecommerce site, holding details of customer transactions, as well as storing product catalogues and any site content. The heavyweight databases all tout their role in the commercialisation of the web, and now offer web application friendly features. An effective Oracle implementation will take some work, but does have the advantages of allowing you to create reliable systems with clustered servers and high-availability network attached storage.
You don’t need to use an expensive tool like Oracle, if you’re not dependent on the transactional integrity of your data. If you’re just using a database to store content or user profiles, or aren’t expecting high-levels of traffic, you’re also able to use lighter weight tools like the open source MySQL.
Any successful ebusiness is personalised. Enter Amazon.com and you’re presented with a custom page that greets you, and presents you with a selection of products that the site’s systems identify as possible purchases.
The key to running an effective personalised web application is maintaining a central directory of your site’s users. One technology that can be used here is LDAP – the Lightweight Directory Access Protocol. Based on the X.500 directory standard, LDAP allows you to define a directory structure, and then populate it with your users’ registration information. Off the shelf components give you access to LDAP servers from your applications, or you can write your own interfaces, one advantage of working with an open standard.
If you’re looking at running an LDAP service on your web site there are plenty of commercial and free software solutions. You can stick with the tried and tested commercial directory services that offer LDAP interfaces, like Novell’s NDS or Microsoft’s Active Directory. Alternatively you could investigate open source alternatives, including the popular OpenLDAP.
The main issue with running an LDAP-based personalisation system isn’t the technology instead it’s the latest set of European data protection regulations, which need to be followed to the letter! Personal data is possibly the most valuable possession any site’s user has – so take care of it as if it was the crown jewels.
One of the key technologies that enable modern ebusiness is XML. A lingua franca for the Internet, the eXtensible Mark-up Language, was designed to create human readable documents that stored unstructured information.
With XML, you can define the tags used to mark up a document, indicating specific document types and the various components used to make up the document. An invoice can be marked clearly as such, with the various items and costs tagged in a manner that allows an XML parser to process the information and deliver it to an application. XML documents are an ideal data interchange format, as they are self-describing, and can be passed between otherwise incompatible applications. It’s no wonder that XML tools are at the heart of most enterprise application integration (EAI) solutions.
XML has gone a long way from providing a simple tool for marking up documents ready for processing. Now it can be found everywhere from WAP phones, to tools that aid in the development of distributed applications. One of the more interesting solutions is SOAP, the Simple Object Access Protocol, which uses XML to link application components with a simple messaging protocol, using XML documents to call remote object methods and to deliver the results.
Any eCommerce solution is going to need a tool for collecting revenue, and so some form of payment solution will be required. For a B2B system this likely to be a custom solution designed to manage invoices and electronic payments, whilst a B2C solution will require a credit card approval service.
It can be expensive to set up a private credit card approval authority, so it’s often a good idea to work with a third-party service like WorldPay or NetBanx. These services have already set up the secure authentication services needed to run a payment gateway, and will handle credit card approvals for your site, transferring funds (less a percentage!) to your bank account. All you’ll need to do is link your site’s business logic to their service, and set up a credit card merchant account.
A payment gateway will need to be treated as a transactional object, and you’ll need to define any service level agreements in advance – as it will be your main revenue source. Reliability and availability are key requirements, and you will need to make sure that any service used is able to give you assurances that it will support your business effectively.
Like any physical business, an ebusiness has customers – customers that it depends on. It doesn’t matter whether it’s a B2C consumer play or a B2B service; every one that your ecommerce presence deals with is an individual customer and needs to be treated as such. However, ecommerce services are usually implemented to reduce the cost of customer interactions. How can a remote service maintain the illusion of direct customer relationships?
The solution is to use Customer Relationship Management tools. Whilst traditional client-server CRM tools like Siebel are used for internal sales support, externally facing tools have been developed that are intended to support customers. These eCRM systems operate across all the points where a customer interacts with your service. You can mix and match tools, or build complete services from suppliers like Kana.
Kana’s solutions began as email response management solutions that directed email queries to the appropriate contacts. These have since been extended to cover everything from routing the contents of web site forms, to knowledge base management. Other tools aid in the development of a personalised web service, handling site customisation, and the delivery of personalised offers – including intelligently managing up-selling and cross-selling, and providing wizards to guide users through the buying process.
A successful web site is a lot more than just brochureware. It’s also a lot more than an interactive mail-order catalogue. A good site also includes compelling content, designed to turn a site into a destination that will hold a customer’s fickle eyeballs, whilst their mouse-clicks are turned into your revenue stream.
If you’re going to manage large amounts of content contributed by a large editorial team, then you’re going to need a lot more than a few copies of FrontPage. Every element of your site needs to be managed, from each icon and JavaScript, to dynamic news feeds and page templates. Metadata is needed to tag content appropriately, aiding search engines as they attempt to catalogue your site.
Content management systems like Interwoven’s Teamsite provide this functionality, managing your site’s content assets, and storing them in a database ready for use. You can also use them to enforce a content submission workflow process – passing content from editor to editor for approval. This process is a critical component of any site, as your content can be the public face of your organisation, and as a result can be legally enforceable. Content integrity isn’t just for you piece of mind – it can also save you money…
The days of the pure web play are long gone. The majority of your users may still use PCs to access your web services, but this situation isn’t going to last for ever. Alternative access channels including interactive TV and the next generation of mobile phones will soon overtake the PC as the main consumer Internet platforms.
Sites will need to be designed to handle multi-channel environments, where services will have to be tailored to suit a wide variety of user needs – and many different user scenarios. Delivery mechanisms will also need to take advantage of the available bandwidth, with richer content available to broadband users.
Delivering a multi-channel solution will require a change in how sites handle content management. Where previously content negotiation techniques could be used to deliver content tailored to specific browsers, the same techniques will be required not just to tailor content, but also to manage actions and handle events. Content will need to be structured appropriately, with deep meta-data to indicate the granularity of the information as well as its type.
The multi-channel Internet may not be a server technology, but it’ll certainly change the way we develop our web applications. User research will become increasingly important, helping develop compelling customer experiences that keep customers loyal – no matter how they access your site.
Once a customer has bought something from your site you’re going to need to deliver it. A parcel that never leaves goods out is never any use – and won’t be bringing the customer back to your site.
The solution is an effective fulfilment service, one that is ready to handle everything from order processing to getting the goods to your customer. Companies like Amazon have invested millions of dollars in large scale fulfilment services, with chains of warehouses round the world, and in the ERP and supply chain management solutions used to run them. A newcomer to the ebusiness scene is unlikely to be able to match this investment, but will still have to match the performance targets that high-profile services like Amazon have set.
Whilst you can manage your own fulfilment services, with the help of a friendly delivery service and a well-defined set of business processes, you may prefer to engage the services of a trusted partner organisation. One such service is MetaPack, which handles everything from integration with your ordering system and your legacy back office services, to helping set up a call centre.
One thing that any fulfilment system will need to take into account is the latest set of EU consumer regulations, which increases the time limit on goods return – so any fulfilment system shouldn’t close out an order until well after the returns period has ended.
It’s possible to find any combination of these tools and technologies in the largest web sites and services. Whilst the needs of a B2B service will differ from a B2C system, most will have a similar architecture, mixing distributed application development with loosely coupled components, and integrating legacy systems as well as third part services.
Any solution built to run your ebusiness must take into account the key “abilities”: scalability, reliability, availability and maintainability. Without designing for these, you will be at risk of downtime and poor service performance. Taken together, and put at the heart of your service, these design principles will ensure that your web presence attracts and retains customers.
There’s a lot happening in the world of ebusiness technologies. A visit to any major online news site will show you new versions of commonly used applications, as well as announcements of the release of the next big thing. No matter whether you’re planning a new service or running an existing web presence, keeping on top of the latest developments will be your only way to ensure that you retain your competitive advantage.
