Exercise 10

Application server platforms in e-commerce.

1. List some application servers in competition with ZOPE. Access the web and find the latest version of the application servers mentioned in the text. When were they released? Can you make any conclusion about the release cycle of Internet software in comparison to other business software (e.g. spreadsheet, word processor, accounting packages)?

An application server is suite of software that provides services for other applications. An internet application server would include all the services that a web application needs, including accepting HTTP requests, maintaining session state and pooling database connections.

Application Server Platform Application Server Name Initial Release Current Release
Java application servers WebSphere Application Server June 1998 9 September 2008, Version 7
  Sybase Enterprise Application Server (Sybase Inc)    
  WebLogic Server (Oracle) March 2001 July 2008, Version 10.3
  JBoss (Red Hat) 29 May 2002, 3.0.0 23 May 2009, Version 5.1.0.GA
  JRun (Adobe Systems) 1997 25 August 2005, Version 4
  Apache Geronimo (Apache Software Foundation) 5 January 2006 31 March 2009, Version 2.1.4
  Oracle OC4J (Oracle) February 2002, Version 1.5.4 May 2009, Version 10.1.3.3
  Sun Java System Application Server   21 January 2009, Version 2.1
  SAP Netweaver AS (ABAP/Java)    
  Enhydra Application Server January 15th 1999 date not available, Enhydra Server 7
.NET Framework Microsoft .NET Framework 13 February 2002, Version 1.0 11 August 2008, Version 3.5.30729.1 (3.5 SP1)
  Base4 2004 October 2006, Version 2.1
PHP Zend Platform    

I can’t make any conclusions about the release cycle for internet software in comparison to other business software based on the list presented. I assume that release cycles for internet application server software are due to many factors including bug fixes, new technologies appearing, standards, legal rulings, change of ownership etc. As well as constant improvements to the software, there may be external influences that play a part in forcing release cycles. However in regard to application servers, I would assume that release cycles are even more impacted because they are a software suite rather than a standalone, which therefore means that in terms of versioning it is possible to have software within the suite that is out of sync with the individual parts. A software suite would also require more testing to make sure each part works together without any faults. Therefore you could assume that major releases are few and perhaps dictated by other influences but updates and patches are common.

2. List the main web servers. What types of companies are offering the leading servers? Distinguish between open source and proprietary products. Who is providing support for the products? How much do they cost? Do you think the Web server purchase price is a significant factor for a large e-commerce initiative?

Web servers:

License Web Server Price $
Open Source Apache 0
Commercial Microsoft Internet Information Server (IIS) US$399 to $2,999
Open Source nginx 0
Commercial Zeus Not available
Open Source SunONE 0
Open Source Lighttpd 0
Open Source Mongrel 0
Open Source Zope 0
Open Source Caudium 0
Open Source Yaws 0

The types of companies are offering the leading servers are a mixture of community based open source organisations, under various licenses, and large commercial enterprises like Microsoft, Sun, Zeus, Oracle and IBM.

Who is providing support for the products?

In the case of the open source products they tend to be supported by a community of developers and commercial entities, for example IBM’s use Apache in its IBM HTTP Server. For commercial products they have the backing of that commercial entity, as in the case of Microsoft IIS.

Do you think the Web server purchase price is a significant factor for a large e-commerce initiative?

I believe a number of factors are considered before any decision over purchasing one web server over another is made. A particular web server for example may be free and this will significantly lower the costs for any e-commerce initiative. On a small e-commerce initiative it is significant as more time can be allocated towards development. On a large scale development factors such as scalability, robustness, documentation and technical support, licensing agreements, and the availability of third party tools that can leverage the web server, may take precedence over cost.

In addition, the organisation behind the web server has to have a competent reputation in the industry through continuous release cycles, community representation, updates and patches, technical support, and support for legacy systems. I do think cost is a significant issue, however other priorities may be more important. An organisations internal factors may play a role in the decision making process which again affects the level of priority given to choosing a web server, these include leveraging existing skills and existing software that can be integrated with the web server.

3. Go to the website of IBM, Oracle, Microsoft and Sybase. Is there any mention of e-commerce associated with their database products? What suite or partnership do they list with related e-commerce offerings? How do they compare with open source products like MySQL?

Doing a search of the IBM site returns 19,683 results for e-commerce, however they tend not to explicitly use the term e-commerce in the title of their site sections under the database section. They do however have a product called IBM WebSphere Commerce that is e-commerce software suite. Oracle as well returns 381 matches for e-commerce, and yet doesn’t mention e-commerce in their titles, except for “Siebel E-Commerce” and Oracle E-Business. Microsoft and Sybase also don’t mention the word E-commerce in their titles either. Sybase does make reference to it on its initial page however when referring to a case study. A search for e-commerce return 109 references at Sybase. Microsoft however does have a product called Commerce Server, which it describes as a scalable e-commerce platform for developing, deploying and managing e-commerce applications for the web.

What suite of partnerships do they list with related e-commerce offerings?

IBM WebSphere Commerce suite:

  • Web 2.0 Starter Store
  • Online and Pickup in Store cross-channel support via Distributed Order Management (DOM) solution integration implemented with vendor-neutral interfaces
  • Management Center, enabling workflow
  • Checkout and interactive marketing
  • Track and analyze cross-channel customer behavior
  • Integrate business processes and back-office systems
  • Payment Card Industry (PIC) security standards compliancy
  • Search Engine

IBM do have a partners section but that required registration.

Oracle E-Business Suite :

  • Asset Lifecycle Management
  • Customer Relationship Management
  • Enterprise Resource Planning
  • Channel Revenue Management
  • Financial Management
  • Human Capital Management
  • Project Management
  • Procurement
  • Product Lifecycle Management
  • Supply Chain Management
  • Supply Chain Planning
  • Logistics & Transportation Management
  • Order Management
  • Price Management
  • Manufacturing

Microsoft Commerce Server suite:

  • Business Analytics,
  • Product Catalog,
  • Targeting,
  • Profiling,
  • and Business Process Pipelines

How do they compare with open source products like MySQL?

According to MySQL, an organisation would save a minimum of US$424,000 for the database alone if they implemented their MySQL database over the commercial databases. To balance this though you would have to assume that the you are not getting a complete business suite.

I compared the database product offerings from Microsoft, Sybase, IBM and Oracle with MySQL here.

4. Access the web and find the current rate for website hosting. What are the criteria used by the ISP for pricing?

The current rate for website hosting depends on many criteria, one of these being the web server required to display the site. The main distinction is between Apache and IIS hosting. Apache in combination with MySQL is considerably cheaper. In my experience I have had to find hosting providers dealing with .Net hosting for licensing reasons they tend to be at the more expensive end of the hosting market. The following table describes some common hosting costs an ISP hosting IIS from three different vendors with similar plan details. Since there are literally thousands of hosting providers available I decided to review just three to get an idea of the costs involved.

In order to assess the current rate I would have to approach this exercise from the point of view of having a hypothetical set of minimum requirements (for illustrative purposes), these are:

  • Application was developed in .Net, therefore requires IIS and Sql Server.
  • Requires FTP access or other service for accessing files
  • Monthly traffic of about 10GB
  • At least 200MB of space
  • Allows emails to be sent
  • Allows online payments
Hosting Provider Plan Cost per month Plan Details (Criteria)
Web Host for ASP.Net Developer Plan US$9.75
  • Setup Fee Free
  • Server Hard Drive Storage 15GB
  • Monthly Bandwidth 100GB
  • POP Email Accounts unlimited
  • ASP.NET 1.1 / ASP.NET 2 / ASP.NET 3.5
  • 2 Domains
  • OS Commerce Shopping Cart
  • Pay Pal Shopping Cart
  • SQL Server Databases Included
  • FTP yes
Quadra Hosting Windows Value Au$24.95 per month
  • Setup Fee Free
  • Server Hard Drive Storage 600MB
  • Monthly Bandwidth 10GB
  • POP Email Accounts 15
  • ASP.NET
  • 5 Domains
  • SQL Server Databases $22
  • Unlimited POP Accounts
  • Dedicated SSL Support
  • E-Way, Camtech, DPS, St. George, Verisign, SafePay and all other Australian Payment Processors
Ausweb ASP.NET Enhanced Au$29.90
  • Setup Fee Free
  • Server Hard Drive Storage 600MB
  • Monthly Bandwidth 6GB
  • POP Email Accounts 15
  • ASP.NET 3.5/2.0
  • NO Multiple Domains

The table shows some variations across similar plans. Other factors to consider when choosing a plan is the customer service, this would be better sourced not from the hosting provider but from customers experiences and there are a lot of forums like whirlpool where customers post details about their experiences.

The criteria that ISP’s use for pricing include:

  • Type of web server
  • Number of domains
  • Number of Sub Domains
  • Storage Space
  • Bandwidth
  • Monthly Average Fee
  • Setup Fee
  • Scripting and Programming Languages
  • Frameworks
  • Databases
  • Content Management Systems
  • Applications for modifying content e.g. FTP, Plesk etc.
  • Email
  • Backup
  • Support

5. Why is the perception getting stronger that integration will become a critical factor in coming days? What is the role of ERP within the enterprise software architecture?

From my own experiences integration helps to speed up the delivery of development. If a software suite is integrated, e.g. WampServer, the developer doesn’t have to know everything about each individual component within the suite, they simply run the installer and work with the initial configuration, or make slight adjustments to suit their needs. We see examples of integrated software or software suites in many different areas of technology including programming languages, e.g. Ruby on Rails, in desktop applications, e.g. Microsoft Office, and in enterprise level software architectures, e.g. SAP. Another advantage is that by combining software and making them work together you end up with a much more productive and useful tool than an individual piece of software. It is also more modular as parts can be added and removed as required.

ERP stands for Enterprise Resource Planning, it is an integrated set of software packages combined to become a software system whose role is to manage a company’s business processes including:

  • Manufacturing
  • Supply chain management
  • Financials
  • Project management
  • Human resources
  • Customer relationship management
  • Data warehousing
  • Access control
  • Customisation

6. What is Customer Resource Management and why is it important to e-commerce?

When searching for a definition of Customer Resource Management it appeared that it is the same as Customer Relationship Management. Assuming this is the case then Customer Resource Management (CRM) is defined as a software system that helps an enterprise manage its customers relationships in an organized way. With the primary objective being to improve return on investment through an understanding of customer behaviour.

It is important to e-commerce because CRM allows online businesses to understand how to change to improve their current systems by receiving feedback from clients and customers which can then be used to improve their customer relationships, expand the business and increase profitability.

7. What are the differences between HTML and DHTML?

HTML stands for Hypertext Markup Language and is a markup language for displaying content in a web browser. It was invented by Tim Berners-Lee, whilst at CERN for researchers to use and share documents. It can also be used to present information in a certain way, however the movement in recent years, has been to move the role of presentation completely to Cascading Style Sheets (CSS), to separate presentation from content. Sometimes this is not possible so you will see a lot of presentation attributes within the HTML of a web page. In addition the same movement has made the distinction between content, presentation and behaviour, with client-side behaviour moved completely to a JavaScript framework. In the past, the description for mixing all three layers of the client-side development has coined the term ‘tag-soup’, in which the HTML page is rendered with an almost unreadable style, resulting in hours of time wasted when trying to maintain the page structure.

DHTML, refers to Dynamic HTML. It was a term used before Web 2.0 to describe web pages that employed a combination of JavaScript, CSS with HTML to affect changes to the document object model (DOM) in order to create effects, animations and enhanced interactivity, through the injection of elements into the HTML and CSS, and modification to the HTML and CSS via JavaScript.

In more recent years I have not seen the term used as often as before. I would assume this is because of the increasing sophistication and number of JavaScript frameworks that are available, e.g. Jquery, Moo Tools, YUI, script.aculo.us and Dojo Kit (to name few). In the case of Jquery which is arguably the most popular and widely used framework currently, the behaviour layer is completely separate from the content layer, which has led to the term ‘unobtrusive JavaScript’. What this effectively means is one layer can be separated without affecting the other, creating a more modular client-side architecture. All of the recent JavaScript frameworks are succeeding in replacing earlier DHTML frameworks by providing standardised API’s for building client-side interactivity whilst reducing the amount ‘boiler plate’ code required to do complex common tasks. They have also made it easier for the average developer to create interactive effects without having to understand JavaScript at an advanced level. Additionally they have been developed with an open source community framework mentality which has enabled them to grow exponentially.

8. Why was XHTML developed? Do you think this addresses most of the HTML weaknesses?

XHTML stands for Extensible HTML. It was developed after the advent of HTML and is a markup language for displaying content in a web browser but also conforms to XML syntax. Because XHTML conforms to XML syntax it means that it does not allow XHTML authors to use attribute minimisation, but allows for shorthand notation in tag structure and forces every open tag to have a close tag.

The motivating factors for the development of XHTML after HTML were:

  • To allow compatibility of the HTML standard XML compatible devices like mobile phones, and
  • To be able to include fragments of other XML based languages such as Scalable Vector Graphics and MathML

It would appear that XHTML addresses the first motivation of being able to use the functionality of HTML in non-traditional browser technology that was compatible with XML. Thus making it a more portable and therefore more widely used language.

As for the second motivation, it doesn’t appear that it has achieved that goal, although as it is continually developed it probably will.

One of the reasons why it has failed to completely replace HTML is because of its incompatibilities with popular, current web browsers, as a result both technologies are being developed in tandem.

9. What are the similarities between JavaScript, VBScript and ZOPE’s DTML?

JavaScript and VBScript are client side scripting languages that can also be used in server side scripting with Microsoft’s classic ASP. DTML is a tag-based, server side scripting language that is used with the ZOPE application server. It is tag-based so it has similarities to Cold Fusion Markup Language (CFML), XSLT, Perl’s HTML::Template package, and in some respects is similar to ASP.Net’s tag based system for adding controls. It is similar to JavaScript and VBScript in that it is a scripting language and provides a similar scripting functionality that all programming languages and scripting languages share.

10. What are the similarities and differences between ASP, JSP and PHP?

ASP refers to Microsoft’s Active Server Pages which have been superceded by ASP.Net since 2000, however it is still widely used. ASP can be written in VBScript or Javascript however it is most commonly written in VBscript. ASP and VB Script is not open source therefore requires the company backing them, Microsoft to drive improvements. Additionally it requires licensing fees to use in certain situations. It is a server side scripting language which means that it requires an interpreter to process the ASP pages before they are sent to the client browser.

JSP refers to Java Server Pages which are a Java based server side scripting language.

PHP, initially in the first release referred to Personal Home Page, but has since come to mean Hypertext Preprocessor. It is also a server side scripting language. PHP is cross platform and open source

Major similarities between ASP, JSP and PHP:

  • All are server side scripting languages.
  • All do similar tasks, receive client requests do some server-side processing and send the results back to the client.
  • The syntax of the scripting languages is similar.
  • They all have a large community backing them.

Major differences between ASP, JSP and PHP:

  • All use a different scripting language.
  • All require a different interpreter to be able to be used.
  • ASP is commonly associated with Microsoft web servers, although can run on other web servers.
  • ASP is licensed and largely supported by Microsoft.
  • PHP is commonly associated with the Apache web servers, although can run on other web servers.
  • PHP is open source, and supported by a large community of developers
  • JSP is commonly associated with the Apache Jakarta web servers.
  • JSP is licensed and supported by Sun

11. What are the differences between the various approaches to scripting?

  • Procedural vs Object-Oriented approach.
  • Template systems vs custom code.
  • The use of frameworks e.g. Ruby on Rails, Zope, Django, ASP.Net, Zend as opposed to writing custom code from the ground up.
  • ASP.Net Code behind, compiled code as opposed to interpreted code.
  • Tag based languages vs script based languages
  • Client side vs Server Side

12. List some of the shareware or freely available tools for web design. In addition to a good HTML editor, what utilities could be very handy to the developer?

Scripting editors:

Image creation and image manipulation tools:

Browsers for testing:

Multiple IE browser testing:

Browser add ons:

File & folder comparison and merge tools:

Source control:

FTP clients:

Testing web standards compatibility:

Development webservers

Databases

Database interfaces:

Content management systems:

Javascript frameworks:

Installers:

Planning tools:

Email for testing purposes

What utilities could be very handy to the developer?

As a web developer I tend to use Adobe Homesite, Visual Studio 2008 and occasionally Notepad++ and Netbeans, for scripting.

My preferred editor is Homesite. Which although offered commercially, no longer seems to be improved. I like this product because it has all the standard features of any text/html editor, and it includes the best (unless someone can point me to a better product) code snippet combined with hot key editor that I have seen. What this means is your typing productivity is increased significantly because rather than repetitively typing common programming constructs and html tags you press their equivalent hot keys that you define.

I’ve found that Beyond Compare has been useful when moving websites between hosting environments as it allows you to see which files have been modified, compare them and make changes, as well see what files are in each directory. It also has FTP and SFTP.

For testing purposes it is always good to have IE Tester handy, what it allows you to do is test your website on multiple versions of Internet Explorer all within the one application.

The developer toolbars in IE and Firefox, as well as Firebug in Firefox are very helpful for testing your HTML layouts, and debugging the JavaScript.


References

Question 1

enhydra (n.d.). Retrieved 16th June 2009 from http://www.enhydra.org

IBM WebSphere Application Server (WAS) (n.d.). Retrieved 16th June 2009 from http://en.wikipedia.org/wiki/IBM_WebSphere_Application_Server

Wikipedia – Oracle Weblogic Server (n.d.). Retrieved 16th June 2009 from http://en.wikipedia.org/wiki/Oracle_Weblogic_Server

Question 2

May 2009 Web Server Survey (n.d.). Retrieved 16th June 2009 from http://news.netcraft.com/archives/web_server_survey.html

nginx (n.d.). Retrieved 16th June 2009 from http://nginx.net/

IBM HTTP Server (n.d.). Retrieved 16th June 2009 from http://www-01.ibm.com/software/webservers/httpservers/

Question 3

MySQL TCO Savings Calculator (n.d.). Retrieved 16th June 2009 from http://www.mysql.com/tcosavings/

Question 4

webhostforasp (n.d.). Retrieved 17th June 2009 from http://www.webhostforasp.net/asp.net-web-hosting/plans.aspx

quadrahosting (n.d.). Retrieved 17th June 2009 from http://www.quadrahosting.com.au/hosting/windows.html

ausweb (n.d.). Retrieved 17th June 2009 from http://www.ausweb.com.au/html/Hosting-Windows-SQL-ASP_NET_PHP-AUSWEb.htm

Question 5

SAP (n.d.). Retrieved 17th June 2009 http://www.sap.com/solutions/business-suite/erp/index.epx

Enterprise resource planning (n.d.). Retrieved 17th June 2009 from http://en.wikipedia.org/wiki/Enterprise_resource_planning

Question 6

Definition of: CRM (n.d.). Retrieved 17th June 2009 from http://www.pcmag.com/encyclopedia_term/0,2542,t=CRM&i=40485,00.asp

Enterprise resource management (n.d.). Retrieved 17th June 2009 from http://www.bitpipe.com/tlist/Enterprise-Resource-Management.html

What is CRM (customer relationship management)? (n.d.). Retrieved 17th June 2009 from http://searchcrm.techtarget.com/sDefinition/0,,sid11_gci213567,00.html

Question 7

Tommy Olsson and Paul O’Brien (n.d.). Retrieved 17th June 2009 from What Is CSS? from http://www.sitepoint.com/article/simply-javascript/

Kevin Yank (27 June 2007) Simply JavaScript: The Three Layers of the Web Retrieved 17th June 2009 from http://www.sitepoint.com/article/simply-javascript/

Wikipedia – HTML (n.d.). Retrieved 17th June 2009 from http://en.wikipedia.org/wiki/HTML

Bear Bibeault, Yehuda Katz. (2008). jQuery in Action. pg3 – 4 .: Manning.

Question 8

Tommy Olsson and Paul O’Brien (n.d.). Differences Between HTML and XHTML Retrieved 17th June 2009 from http://reference.sitepoint.com/css/htmlxhtml

Wikipedia – XHTML (n.d.). Retrieved 17th June 2009 from http://en.wikipedia.org/wiki/XHTML

Question 9

Basic DTML (n.d.). Retrieved 17th June 2009 from http://www.zope.org/Documentation/Books/ZopeBook/2_6Edition/DTML.stx

Question 10

Paul Hudson. (06 July 2006). Finally! The difference between PHP, ASP and other scripting languages. Retrieved 17th June 2009 from http://www.cgidir.com/guides/Beginner/articles/ScriptingLanguages.html

Leave a Reply