Technologies required for e-Commerce

There are many technologies required in order for a business to build and operate a successful e-commerce system. Several of these technologies (including both hardware and software) are explained below.

Web Servers

Web Servers are networked computers that HTTP clients connect to. They send commands, receive responses and serve useful data to clients. They store and run all the files and software necessary to host an eCommerce website including HTML, CSS, Javascript, PHP (or other programming languages such as Java and C++), databases and media files. The two most popular web server operating systems are Linux and Windows. Linux is open source (free to use) and popular versions of Linux server operating systems include Ubuntu, Debian and CentOS. Windows operating systems are not free to use and require a licence. Web servers are very similar to regular desktop PCs however the main difference between the two is that servers typically require more processing power, memory and are designed to run 24/7. As a result, most businesses and website owners choose to rent web servers with a hosting company that specialises in web server hosting, management and provide guaranteed uptime. This usually makes more sense for businesses than buying, maintaining and securing their own server in their own office.

Browsers

A web browser is a software application used to locate, receive and display content received from web servers. HTML code, css, javascript and media files are all rendered by a browser to make the website display as the web developer intended in the browser window.

Popular web browsers include Google Chrome, Mozilla Firefox, Safari and Internet Explorer. Although the role of all browsers is the same, they may render content slightly differently. For example certain older versions of web browsers don’t support CSS3 or HTML5 features which means website content may not display as intended. It’s best practice for Web developers and User Experience Designers to test how a website displays in multiple browsers across multiple devices and screen sizes before making changes on a live website. By analysing website traffic using tools like Google Analytics, web developers can ascertain what browsers people are using and make changes accordingly. For example if a significant percentage of users are visiting through a new web browser, it’s best to start testing any new changes in that browser before they’re put live. As of 2015, Google Chrome is the most popular web browser.

Server Software

Web server software manages and interacts with the server’s hardware components in order to efficiently process requests from clients. Client machines request content (i.e. HTML documents, photos, videos or other files) and server software ensures the appropriate requested files are sent back to the client machine. For example, if an end user visits www.example.com in a web browser, the web server software knows a client is requesting specific information, so it processes that request and serves the appropriate files to the client which in this case for example may be index.html, example.jpg, example.css, example.js. The web browser then displays these files for the end user.

There are many types of server software which can include dedicated web server software, application software, database software, file server software and cloud computing software. Examples of popular web server software include Windows IIS (runs on Windows machines) and Apache (runs on Linux machines). Server software can be used on a physical server or alternatively on a virtual / cloud server.

Web Authoring Tools

A web authoring tool is a piece of software used by a web developer to create or modify web content. They range from basic text HTML text editors (such as Notepad++) to much more complex graphic authoring tools and content management systems with built in frameworks, debugging tools and collaboration features.

Popular web authoring software tools include Microsoft Visual Studio, Adobe Dreamweaver and Aptana Studio. All of these tools enable web developers to create, develop and test web applications and many also have built in tools which allow for easy synchronisation of files on web servers.

Other web authoring tools come in the form of graphic design packages such as Adobe Photoshop or Adobe Illustrator which enable users to design a user interface for a website and export the designs in to saved html and css file format.

Database System

A database management system is a collection of programs that enables you to store, modify and extract information from a database. In an eCommerce context, a database might store information about products, orders, staff, customers, suppliers. All products may have a name, description, price, images, colour, quantity. Upon ordering an item, a customer may have to create an account which could require name, address, phone number, email address etc.. this may be required in order to send an invoice to the customer and deliver the item.

A secure, robust database system is an integral part of any eCommerce website. Custom queries can be written to extract useful information from the database which can help business owners understand more about customer behavior. For example it may be useful to know how many sales took place between certain dates, which day of the week is the most popular sales day, what are the top 10 most ordered products etc… Popular database management systems include MySQL, Oracle and Microsoft SQL server.

Networking, TCP/IP and Other Protocols

The TCP/IP protocol defines how computers should be connected to each other over the internet and how they should transfer information. TCP stands for ‘Transfer Control Protocol’, IP stands for ‘Internet Protocol’.

Everyone using the internet to access websites uses the TCP/IP protocol without realising it. Common TCP/IP protocols are HTTP, HTTPS and FTP. HTTP (hyper text transfer protocol) handles communication between a web server and a web browser. HTTPS (the S stands for ‘secure’) handles secure communication between a server and a browser (such as credit card data and personal information). FTP (file transfer protocol) takes care of the transmissions of files between computers. This is used any time you download files in a browser such as a pdf document, a piece of software, an image etc… 

FTP is also used by web developers to manage files on a server. There are dedicated FTP clients made specifically for this purpose such as ‘filezilla’. You use an FTP client to log into an FTP server, navigate the server’s folder structure, and exchange files.

SSL – Secure Sockets Layer – is a protocol used to encrypt data for secure transmission. TLS – Transport Layer Security is a more updated and secure version of SSL. Web browsers will typically display a padlock in the address bar there is a secure connection between the browser and the website server. This is how you can tell if a website is using the SSL / TLS protocol. For an eCommerce website or any site that stores sensitive information, it is considered essential and end users / customers have come to associate it with security / trust.

Ports

The term port can refer to either physical or virtual connection points. Physical network ports allow you to connect cables to computers, routers, modems etc. Virtual ports allow software applications to share hardware resources without interfering with each other. Routers automatically manage network traffic traveling via their virtual ports.

Common port numbers include 80 (HTTP), 443 (HTTPS) 21 (FTP), 22 (SSH), 25 (SMTP). SMTP is an email protocol which stands for ‘Simple Mail Transfer Protocol’. If an e-mail server that runs on your device delivers messages, it always uses port 25 to transmit data to remote e-mail servers. If that port is blocked, no emails will be sent. Firewalls can often block ports in an attempt to tighten security but with the side effect of blocking legitimate data from being transferred smoothly.

Domain Names

In more recent years, registering a domain name that is instantly recognisable and comprised of dictionary words has become a difficult task as most of them have been registered already.

It’s advisable to use a name that closely matches what your website does so for example if you want to sell acoustic guitars online to a mainly UK market, a name like guitars.co.uk or acousticguitars.co.uk would be perfect. People can guess just by looking at the name what the site is about. That’s not the case with a name like ‘rockinstrings.co.uk’ for example.

Keyword domains also tend to perform better in Google search results too as more people search for ‘acoustic guitars’ than ‘rockin strings’. Google, like any human would, anticipates what a site is about just by reading its name.

If you’re targeting a global market or just want to protect your brand, registering the same name as a .com, .net, .org etc… may also be of use. If you want to specifically target the Irish market, a .ie address may give certain advantages (in search engines and also in the eyes of potential customers who tend to trust local domains more).

Programming Requirements

Everyone has their favourite programming language and there are different ways of going about building an eCommerce website. Each programming language, eCommerce framework and content management system comes with it’s own set of advantages and disadvantages but what is most important is that the end result fulfills all business objectives and adheres to best practices i.e. well documented, clean, accessible, efficient code, optimised and compressed images and css / javascript, a design that works equally as well on mobiles as on desktops etc…

You may decide to use PHP as a programming language if you’re most comfortable with PHP and may need to write code to accomplish the following tasks:

  • filter products by most viewed, most purchased, least expensive
  • store customer account information in database securely
  • store credit card data securely
  • create admin panel for staff to add / remove / edit products

You may also need to use Javascript to add items to a shopping cart and store them for the user using cookies so that the items still remain in the cart as the user navigates through the website.

Javascript is also used to embed social buttons on to websites (i.e. from Facebook and Twitter) and other third party scripts such as Google Analytics which helps you to monitor website traffic and gives you all kinds of information on what devices people are visiting your website on, where those people are located, what type of browser they’re using. You can use this information to make smarter business decisions. For example if 90% of your visitor are visiting your website from mobile devices but your site isn’t optimised for mobile devices, then that becomes a big problem because links / buttons / features may not work and display properly on mobile devices which could be preventing those users from ordering products.