Cross Platform Language Layer in Ecommerce Applications

By: Ajmal Khan

Software languages and development platforms used in 's eCan product

and their functionality are an important aspect of any Information Systems and Technology project due to the potential performance and functional gains that it provides. This section will compare the available technologies and whether they are executable and will specify the drains on the resources. The licensing issues, hardware requirements and feasibility will be considered.

Background information on hardware and software

such as, RedHat Enterprise 4.0 and Windows Server System require reasonable high-specification computer systems to run on due to the inherent drag on resources as the systems are used by remote clients and local administrators to serve websites, active directories and synchronise Windows and NIS authentication systems.

The average server systems these days comprise of:

Intel (or equivalent) CPU ~ 2.1Ghz

1Ghz RAM

NFS/Samba Share or 80GB HDD



o Back-up Tape Drives

o NIC Interface (10/100/1000 Mbps)

Average server software installations include:

Enterprise Server

Windows Server System

Windows 2000/NT

Windows Server 2003

Enterprise Linux

RedHat Enterprise 4.0


Debian Sarge

Ubuntu Enterprise


o WebServer

o Shared Resources

o Shared I/O

Enterprise-class products are those that have specific functionalities embedded in the core aspects of the software to allow administrators to control the use of the network and the available resources. There are "free" (as in "free" to use and "free" to share) distributions as well as "paid-for" products which often include support contracts and priority security updates delivered directly to the system using advanced transparent delivery mechanisms.

There are several points that must be considered:





Frequency of updates

License Type

o OpenSource GNU licences

o Closed-source proprietary licenses

.NET framework

Mono .NET framework provides developers with the programming power and flexibility to engineer applications for Windows and Linux while maintaining cross-platform capabilities that have previously only been thought to exist with Java and the Sun JVM. One of the great advantages of Mono is that it allows developers and engineers to cross-compile and thus, develop applications which can theoretically function properly on both Windows and Linux.

Cross-Language Interface Layer

It is aim to utilise some advanced features available in several semantically different languages. This can only be achieved by creating a Cross-Language Interface Layer, which will allow the various languages to function together properly. This will require the usage of messaging systems and pointer passing to allow the transfer of data from one programming language to the other.

PHP and Perl both allow the dynamic loading of Linux Shared libraries directly at run-time which will allows the creation of entry points for those specific languages. ASP.NET will require either the creation of COM classes which are installed as system-wide libraries or the usage of Dynamic Linked libraries (DLLs) which can be loaded at run-time.

Reasons for the application of multiple languages and their benefits:


PHP is extremely simple and has advanced features.

PHP has excellent text processing features, from the POSIX Extended or Perl regular expressions to parsing XML documents.

For parsing and accessing XML documents, PHP 4 supports SAX and DOM standards. The XSLT extension can also be used to transform XML documents. PHP 5 standardizes all the XML extensions on the solid base of libxml2 and extends the feature set by adding the SimpleXML and XMLReader support.

Integrated MAIL function.


Perl is structurally similar to C-like languages

Excellent regular expression handling and pattern matching functions

Excellent extensibility

Easily embeddable into command shell

Common language semantics


Fast access to shell and system commands

Rapid Development platform


A large database of OpenSource Libraries


Core Microsoft Languages allowing Intercommunication

A large array of Database connectivity functions

Compiled instead of interpreted

Access to Microsoft foundation classes

Provides some interoperability with Java

The Cross-Language Interface Layer will aim to provide interface functionality for all these languages either through XML interpretation of scripts or via core changes made to specific Open Source distribution.


» More on Programming