Online Stores: The Easy Way!

Internet shopping - the public face of e-commerce

Everyone wants or a shop front on the Internet - or at least so the hype tells us. But how easy is it to set up your own electronic commerce web site?

At the moment online shopping is still in it’s early phases, with Internet shopping sites specialising in services like travel or in warehousing entertainment media. Sites like online-booksellers Amazon.Com are rapidly being seen as the future of online retailing, where the brand name of the site is as important as the service provided by the site. It’s no wonder that WHSmith have recently invested large sums in buying one of the UK’s first online shops, The Internet Bookshop, following Amazon’s purchase of  the Bookpages site.

There are many paths to implementing an online shops, ranging from bespoke systems built around distributed applications environments, via complex (yet highly flexible) electronic pipeline framework architectures like Microsoft’s Commerce Server, to off the shelf template driven tools like iCat’s Commerce Server.

Template driven tools are a quick way to get an effective online e-commerce presence, and the costs are low enough to demonstrate a quick win - or to write off a site as an expensive loss leader. So how do you go about building a site using iCat, or the similar Actinic system?

Building a shop using iCat Electronic Commerce Suite

The professional edition of version 3.0 of iCat’s Electronic Commerce Suite is a complete online shop in a box. It’s not a very big box at that - and contains three fat manuals and a CD-ROM. The CD contains all the components of the suite. These are:

  • Data Entry Manager: a Windows tool for adding catalogue information to a database.
  • Commerce Publisher: a web browser tool designed to publish and administer your catalogues.
  • various Template sets: which as well as handling a site layout, also include all the tools you’ll need to set up shopping carts and as well as handling special offers and other discounts.
  • Commerce Publisher Server Edition: tools to help you administer your server.
  • Account Manager: tools that together with the server edition of the Commerce Publisher help add access controls to your catalogues, allowing you to host several shops on a single server.
  • Carbo Server: iCat’s own add on for web servers, which handles creation of dynamic catalogues - on several different OSs, including Windows NT and Solaris.
  • Carbo Editor: a Windows tool that allows you to edit existing iCat templates, and create your own using iCat’s own ICL language.

ICat also include a range of server extensions, handling payment, tax, database connections and a SDK for creating your own ICL commands and Carbo Server add-ons. ICat gives you several different methods, but one of the most attractive is by using Open Market’s Transact payment and order management engine, which has the approval of several banks, and can be used at the heart of a payment and order control system.

The Data Entry Manager is built around the 4D database engine, and is used to develop the staging databases used by the iCat system. You can create new databases directly in the Data Entry Manager, or you can import data from any existing database or text file. By creating tag delimited entries from a desk-top publishing environment you can even import any of your existing paper catalogues, so that your site can be designed to give a similar look and feel. The 4D interface can also be used to monitor the status of your commerce web server, as well as acting as a test environment for ICL scripts.

Once a staging catalogue has been built in the Data Entry Manager, or installed in an external ODBC database, you can then use the Commerce Publisher tool to build your catalogue. This is a browser-based tool, and the first time you run it, launches a series of pre-defined scripts to configure your Carbo server and install various template files. You’ll also find (if you’re using a Windows environment) that it launches a local copy of the Sybase SQL Anywhere database.

The Commerce Publisher main screen is rather crowded, but it’s here you can do most of the work required in maintaining and running an online store. As well as using the Publisher to create and publish catalogues, you can use it to edit the contents of your catalogue databases - so you can work with a catalogue anywhere, not just on your development servers.

One of the first tasks you’re likely to want to do is to apply a template to the contents of a catalogue, to give your shop an easy to navigate look and feel. You can do this from the catalogue set-up screen, which allows you to edit various features of your catalogue. A second level screen, you can click on the edit buttons to launch the various sub-menus, which allow you to add plug-ins to your templates, and to add and modify payment methods. One thing you should remember, as this is a web application, always use the buttons on the page and not the browser’s own navigation buttons, as you’ll lose the page state (and any changes you might have made!). If you’re wanting to make sure that your catalogue entry staff don’t use these, you can put most of the latest browsers into a console mode, where navigation buttons are hidden.

The transaction set-up screen allows you to make a number of changes to the payment methods used by an iCat store. You can use this to choose a secure payment method, and the available secure methods included in iCat 3.01’s Professional Edition are: CCSSL, CheckFree, CyberCash, Open Market and SSL. Once you’ve chosen a method, pick the payment types you want to use. ICat is an American product, and some of the supported payment types aren’t available in the UK and Europe, so you’ll want to make sure that these are disabled before publishing your catalogue. If you want to use a different payment process, say a purchase order for business-to-business transactions, you can add new payment types of your own. Which ever payment method you choose, you will have to add the payment engine to your shop yourself.

The same section of the Publisher also allows you to set up available shipping methods, so you can choose between the default normal postal delivery and airmail delivery. It’s again possible to add your own features, so you can add a courier delivery service if you want. You can also add various sales taxes, though the tax system included in iCat is very US sensitive. Creating your own flat rate tax system, for VAT, is easy enough - just define a new tax type, and set the value required. As iCat’s electronic commerce functions are driven by dynamically generated HTML forms, you can also determine which fields in the forms are mandatory - so you can make sure that customers put in their addresses in full, as well as credit card numbers and expiration dates. Confirmation emails can also be sent to both the merchant and any customers.

Once you’ve set all the options you’re ready to publish your catalogue. Don’t publish it as a live catalogue at first, it’s always worth testing as a staging catalogue on your development server. The main screen of the Publisher has a “Publish Catalogue” option. Check all the options are as you expect, and then click the rather unobtrusive publish button to create your test shop. The whole publishing process is controlled by ICL scripts. Once the catalogue has been created, you can then test it out. Publishing can be slow, and you’ll probably prefer to use Netscape rather than Internet Explorer to run the Publisher - as IE tends to time out on long HTTP connections.

You can then publish a live catalogue, which transfers all the data from the 4D Data Entry Manager into an ODBC SQL database, ready for use on a live web server.

The key to the flexibility of iCat is the ICL scripting language used to build the complex templates used by the Carbo server to deliver data from the databases. The Carbo Server reference manual contains all the information you’ll need to write your own ICL scripts. The syntax is fairly straight-forward, and any developer with experience in object-based scripting languages like VBScript or JavaScript will find it easy to get to grips with ICL.

ICL is designed to be database aware, and contains commands that allow you to work directly with SQL databases. You’ll fin it easy to create a new table in a database, with the CREATE TABLE command. The following code snippet connects to a database, and then creates a new 3 column table, containing a key, and two text fields:

{iCat Use iCatDSN, icatdata, sa, Null}
{iCat Create Table Demotable (ID int Null, Name char(20) Null, Address char(80) Null)}

To help with complex applications, ICL is able to wrap database actions in transactions, and can work with up to 6 separate ODBC connections at the same time. You can then use iCat to front end database query driven web applications that operate across several data stores.

Building a shop using Actinic Catalog

Actinic Catalog is designed to offer similar features to iCat, but is a much simpler system. Actinic call Catalog an eCommerce system for small and medium enterprises, who are unlikely to want the complexity of a full-blown online payment system. Instead, this is a plug and play catalogue development and publishing system, tied into a specific web server, where all the scripts used to handle shopping carts and payments are held. This can be your own web server (running Perl 5.0) or can be a service provided by an ISP reseller.

 Instead of offering links to payment systems, Actinic is designed to allow you to batch up orders on a server for later download, and for use within a company’s existing payment regime. Security isn’t an issue, as Actinic use 128-bit encryption on the server to store orders, and the keys are unique to each installation of the software - so if you need to reinstall make sure that you’ve downloaded and unencrypted all outstanding orders!

If you have organised a “customer-not-present” merchant number from a credit card payment system, then you can use orders captured in Catalog to take credit card numbers. The information held in Actinic can then be used as inputs to your order fulfilment system.

There’s very little programming required for working with Actinic Catalog, as the CGI-scripts used to handle the transactions are provided by Actinic. You can use the preferences files provided to configure and customise the look and feel of the application, or else can edit the HTML templates provided by Actinic - though this isn’t normally recommended. Pages are created by the desktop Actinic Catalog application, and are then uploaded to the catalogue server, using a built in FTP tool. The same tool downloads any fresh orders, ready for decryption and fulfilment.

The electronic check out in Actinic Catalog can be through either an Internet Explorer specific ActiveX control, or a Java applet. These handle the encryption process on the client PC before delivering payment details to the server, where they are stored until you’re ready to download them. All orders are stored in the local Actinic Catalog database application.

Actinic is a simple system, but one that is likely to bring electronic commerce to the many thousands of small businesses around. The team running the company have found an interesting niche market, and Actinic Catalog is implementing an interesting Internet shop model that will be well worth tracking.

Setting up shop

Using a tool like iCat or Actinic to create a shopping system based on a database driven catalogue isn’t all you need to consider when setting up an e-commerce site. There’s a lot to do in organising payment facilities, making sure your site is secure, and in testing your web application.

Building an online shopping site can be fraught with problems. It’s still very difficult for British companies to get a merchant number from credit card companies for Internet commerce - and especially for online card verification, and almost as difficult to get a server certificate to run a trusted secure server outside of the US. It is possible to get around these hurdles - there are several companies that offer online payment services, though these are more expensive than handling payments yourself.

Once you’ve built an online shop you’re likely to be a target for crackers after stored credit cards - so try to implement as secure an application architecture as possible. If you use a network address translation firewall, with a service-based approach to security, you should keep your commerce server behind the firewall, with access limited only to its HTTP port. You can also configure most routers to give the same effect, using access control lists, but a good firewall will give you more security, by in some cases inspecting the contents of all the IP packets sent to your web server - as well as alerting you to any attacks.

It’s well worth trying known attacks on your site before allowing live transactions - for an online store denial of service is as costly as someone attempting to steal data from your servers. You will also need to run site testing to be sure that your site is working. As web applications are distributed you’ll need an effective suite of testing tools, and packages like Cyrano’s WebTester come into their own here. With WebTester you can build a script that can navigate through a site testing for response times and key test - even if pages are dynamically generated. If you have the Business Edition, you can schedule regular scans to make sure your site is running at all hours of the day - as a web-based online store is a 24/7 operation!

Once your site is secure, and thoroughly tested, and you’ve organised payment facilities and a server certificate for secure connections, you’re ready to go live. With a bit of judicious advertising (avoiding any netiquette violations like spamming!) you’ll soon start to see customers buying from your online shop. Don’t expect to make a profit from it at once though - even Amazon are still making a loss!

Summary

  • There are several routes to building an online shop - ranging from commerce servers to out-of-the-box catalogues.
  • Two of the easiest approaches are to use the iCat Commerce Suite or Actinic Catalog.
  • iCat offers you a transactional programming language you can embed in HTML templates.
  • Actinic Catalog is a programming free tool for creating online stores for small businesses
  • Both tools are a quick route to implementing an online store front

 

Building an Online Shop - The Quick Way
Home
Columns