The original web infrastructure was a much simpler beast than what we see today, says Jonathan Ackerman, team leader and J2EE (a Java platform) architecture designer at Auckland IT services company Optimation.
He recently gave a presentation to businesses on the types of e-commerce infrastructure, how it developed and what firms need to consider in devising one.
Used as early as the 1980s, mainly by the academic community, Ackerman says original web architecture consisted of a web server in the middle, which served files to the web browser and received static content.
In the 1980s, the demand for less static data led to the dynamic content model, based on a web server that either returns files to the browser or launches a CGI-Bin application that streams HTML data to the client. The CGI-Bin application could communicate with databases, and so web applications were born. However, this system did not scale well, says Ackerman. If you had 100 people accessing the program, you needed 100 computers connected to the internet and this killed the server.
The web only gained mass appeal in the mid-1990s with the appearance of the graphical web browser and Netscape. “You would write a web page in normal HTML embedded within and there would be special tags or directions. The web server would process this and generate the dynamic content,” says Ackerman.
From this, people started using technology such as embedded Perl, Microsoft active server pages and Java server pages. Designers were able to add features to the web server to better support web applications and allow personalisation. Database “connection pooling” improved performance but the system was expensive to maintain as there was no clean separation between presentation and application logic, says Ackerman. It meant either good-looking websites that were poor or factual websites that were ugly.
The modern architecture used today is similar to that described, Ackerman says, but it introduces a business logic server that runs processes, with scripted web pages dealing with presentation. Business logic servers have features such as distributed transactions, database access and connectivity to corporate systems such as mainframes.
By the late 90s, the business-to-business space opened up, based on XML messages posted across the internet, says Ackerman.
He says e-business architecture is usually built on one of two main systems: the Microsoft set of technologies and the J2EE (Java 2 enterprise edition) platform.
Microsoft’s design includes an open database convergence (ODBC) engine, a Microsoft transaction server (in place of the business logic server) and message queuing (MSMQ), which allows synchronised messages between systems.
The J2EE architecture — a specification that uses Java as its key language — features no web server but a Java server pages engine. Its business logic is Enterprise Java Beans and the system has its own messaging system. Sun and IBM are Java’s biggest proponents. Around 80 vendors supply products for it. Vendors implement web servers from iPlanet, Apache or even Microsoft. Companies like Borland. Fujitsu, Hewlett-Packard and Silverstream supply EJB products.
“They tend to sell products they call an application server. Most application servers tie together the EJB and JSP container,” Ackerman says.
However, the Microsoft server just uses Microsoft products, and unlike J2EE, you cannot mix and match vendors.
Optimation, he says, is looking at Microsoft’s new .Net system, some of which is better than J2EE and some the same.