Enterprise Service Desk Software and Scripting Languages

PHP and Perl Scripted Help Desks and Service DesksMany Help Desk and Service Desk applications claim to be enterprise ready, although they fail to scale or integrate with most open standard interfaces and services now widely used across the majority of organizations. The following contrasts PHP (Hypertext Preprocessor) and Perl scripted applications claim of being enterprise ready compared to a tiered application server model.

Service Management Solutions

Help Desk and Service Desk applications take various forms including:

  • Scripting languages such as PHP and Perl that execute as a module in a Web server such as Apache
  • Microsoft Active Server pages that are integrated with Microsoft’s IIS server
  • Java servlets that execute in a separate Java virtual machine, and
  • Full web application servers using J2EE.

This study focuses on PHP and Perl scripted web applications compared to J2EE web applications. In particular, how a stand-alone PHP or Perl scripted application compares to a fully integrated application server deployment, such as LiveTime’s Service Management solutions.

New Enterprise IT Environment

Application servers emerged just recently to provide a standardized platform for developing and deploying scalable enterprise systems. And in a relatively short time, this basic piece of technology has evolved significantly. Today’s leading organizations consider web application servers as a core component of an enterprise system and an integral part of the new trend towards building ‘service-oriented architectures’ (SOA).

In a business environment where everything must interoperate and scale across distributed, heterogeneous tiers, web applications servers are required to ease the integration burden and directly assist with performance. The question CIOs must answer today is not whether to include an application server, but which web Application Server will form part of their strategy.

Utilizing web application server technology, LiveTime applications have been designed to enable organizations to reduce the cost and complexity of managing a Help Desk or Service Desk, by directly integrating and interoperating with the new corporate IT environment.

Scripted applications

When looking to adopt a Help Desk or Service Desk under intense time-to-market pressure, vendors often decide to re-purpose existing ‘fat client’ applications for the web using the fastest possible path. This means they frequently trade-off good design and architecture for fast-tracked HTTP scripting solutions like PHP or Perl, which neither scale nor directly integrate with new corporate IT platforms.

PHP (Hypertext Preprocessor) is a scripting language used to generate dynamic content over the web. PHP scripts are tied to the web server and require writing explicit database queries to generate dynamic content. In PHP, the application programmer writes the SQL queries and embeds them directly into the script, mixing presentation and business logic in the process. No direct support is provided for the management of component pooling and lifecycle management, client session management, database connection pooling, persistence, transaction management, authentication, and access control.

Perl is a general purpose programming language originally developed for text manipulation on Unix based systems. It has gradually been extended with various modules to support a range of tasks from system administration to network programming and web development. It is often used in web development to write CGI scripts. Like PHP there is no explicit support for session management, transactions, authentication and other essential components of a modern web application.

In contrast, web application server-based solutions like LiveTime takes advantage of industry best patterns like 3 tier architectures, MVC (model-view-controller) and industry standard interfaces to a number of enterprise services, to offer a truly best of breed support solution.

Specifically, LiveTime abstracts the Service Desk / Help Desk business logic from the underlying middleware while tapping into the many J2EE services to deliver a comprehensive solution. Under this model, it is the job of the application server to provide management of component pooling and lifecycle management, client session management, database connection pooling, persistence, transaction management, authentication, and access control.

SOA and SOAP Web ServicesFurthermore, organizations can integrate and customize LiveTime with J2EE services using the following APIs:

  • JDBC – to access RDBMS
  • JTA – to manage and coordinate transactions across heterogeneous enterprise information systems
  • JNDI – to access information in enterprise name and directory services including LDAP & Active Directory
  • JMS – to send and receive messages via enterprise messaging systems like IBM MQ Series
  • JavaMail – to send and receive email.

Using Web Services standards like XML / SOAP and WSDL, LiveTime provides mechanisms to integrate with virtually any application including popular CRM and Asset Management systems.

Performance & Scalability

PHP and Perl execute as modules that plug into the Web server, sharing the same process address space. Both servlets and EJB execute in a separate Java virtual machine, requiring inter-process communication between the Web server and the dynamic content generator. This separation allows an extra degree of freedom in configuring the system, so the servlets can be deployed on a separate machine from the Web server. These systems are designed for High Availability so that the application is never offline and supports full redundancy and replication, crucial in mission critical applications.

Although the computational demands of Java servlets are higher than those of the corresponding PHP or Perl scripts, the increased freedom can be used to improve the performance of Java servlets. In particular, applications that put significant load on the server front-end, can achieve better performance by locating Java servlets on a separate machine. Servlets add significant scalability that cannot be met by load balancing PHP or Perl based scripts.

Summary

Scripted Help Desk and Service Desk applications may appear to be easy to develop at first, but very quickly grow to become a nightmare to support and maintain. Further, they tend to struggle under high load conditions due mainly to the single-threaded access to the database. Scripted solutions are often stand-alone and are precluded from accessing the many enterprise services now in widespread use in IT environments. This limits their longevity and ultimately deems them useless in service-orientated enterprises.

Web Application Server technology solutions such as LiveTime are easily integrated with existing enterprise services whilst being very scalable. LiveTime is built using the same IT architectures, tools and techniques adopted by many organizations requiring to run the next generation of applications for their business, including SOA based systems.

There are very good reasons why the largest transaction servers in the world have adopted J2EE as a mission critical infrastructure. Examples include eBay, Google and Amazon.