Creating Rich Web-Based LIMS With Programmable XML Technologies

Laboratory information management systems convert mass amounts of data into analytical information useful throughout the enterprise. Traditionally based on familiar client/server technology deployed in a local area network/wide area network (LAN/WAN) environment, these mission-critical computing systems have generally been isolated and fully accessible only to users connected to the laboratory’s LIMS network.

In the rush to develop products that deliver laboratory automation features through a Web browser interface, several LIMS vendors added browser front ends to existing products, offering Web-enabled software. A number of these packages integrate HTML-based portal-like features that allow data consumers to prelog-in requests for testing, view sample status, and access reports. Other vendors offer server-based options by employing emulation technology such as Microsoft Corp. (Redmond, WA) Windows™ Terminal Services (WTS) and Citrix Systems, Inc. (Fort Lauderdale, FL) MetaFram® enabling LIMS deployment over the Web.

Both of these methods focus on extending the existing application reach, making LIMS accessible to enterprise clients. These approaches presented limited graphical user interfaces (GUIs), and in some cases complex configuration management, with less than optimal response times. Shortcomings have fueled demand for true Web-based solutions purposely built to utilize advanced Internet technology as their computing platform. A true Web-based application delivers an uncompromising “rich” user experience, together with unlimited enterprise reach.

This article examines currently available Internet deployment options and illustrates the historical development of LIMS software from standard client/server technology through Web-enabled solutions to the arrival of rich, scalable Web-based LIMS applications. This technology is illustrated by the version 10 Web-based LIMS application (STARLIMS Corp., Hollywood, FL).

Deployment options for commercial LIMS solutions

Thick client—client/server applications

The familiar client/server model has powered LIMS and most other enterprise business and manufacturing systems over the years. Impressive progress in PC hardware and system technology has enabled comprehensive client-side computing with enhanced usability, flexibility, and scalability. In client/server LIMS architecture, the client processes the user interface and performs some or all of the application processing. Servers maintain databases and process requests from clients to extract data or update databases. A LIMS application server provides additional business processing for clients. Servers and clients are connected via a LAN or WAN.

Throughout the late 1980s and early 1990s, client/server was an industry buzz word, as applications were migrated from centralized minicomputers and mainframes to networks of desktop computers.1 Client/server architecture requires software installation and updating on all clients and is generally limited to LAN or WAN environments.

Thin client—terminal services based

To quickly deploy applications over the Web, many software developers, LIMS vendors included, adopted the terminal services approach—also referred to as server-based computing. An example of this is Terminal Services, in which all application execution, data processing, and data storage take place on the server. Applications and user desktops are displayed on clients using terminal-emulation software. 2 The advantage of this approach for LIMS and other enterprise system vendors was the ability to expand the reach of applications to user desktops and devices located throughout the network or beyond it via the Web. However, this approach requires upfront investments in robust servers and uncompromised network availability.

Thick client—Web-enabled applications

Originally written for client/server environments, several LIMS products were modified to allow connectivity through the Web. By replacing direct client–database connection (i.e., open database connectivity [ODBC]) with Web services protocols (i.e., simple object access protocol [SOAP]), remote access to databases was made possible. The advantages of this approach are accessibility to a central database from multiple sites and a familiar, rich user interface. The inherent disadvantage is the need to install and update client software on every user machine, thereby increasing IT management burden and limiting portability.

Early Web-based applications

Early Web-based applications offered efficient HTML tools for navigating the Web, and provided broad access to a wealth of content. These applications aim for reach—not rich—which means supporting the widest number of clients at the cost of some functionality.3 For example, the requisite from a LIMS results entry screen is that upon editing a cell, a set of simultaneous processes would be triggered including calculations, validations, and screen. In a pure HTML environment, complex solutions such as those described above could not be designed and constructed (see Figure 1).

Figure 1 - Evolution of Internet technology.

Modern Web-based applications

Recent developments in programmable eXtensible Markup Language (XML) and SOAP-based Web services are now allowing developers to provide the scalability and usability required by complex systems such as LIMS. Rich user interfaces created with XML form engines, such as the integrated XML STARLIMS Form Definition (XFD) designer (STARLIMS), can now replace static HTML pages with a rich, fully functional GUI equivalent to that achieved by thick client versions.

Leveraging these developments, Web-based version 10 was written for the Microsoft .NET platform using XML GUIs and Web services. The .NET platform was chosen because of its majority status in the enterprise market, accessibility to scores of programmers, strong framework for building rich GUIs, and built-in support of SOAP-based Web services. This technical infrastructure is powered by the configurable LIMS business logic developed over 15 years by STARLIMS Corp.

Key technical requirements for Web-based applications

Version 10 was built to meet the following technological requirements:

  • Rich, fully functional GUI leading to a rich user experience comparable to or better than client/server
  • Built to Internet standards, comprising design norms users have grown accustomed to on the Web, to significantly decrease training duration and complexity
  • Zero client side installs, eliminating the costly process of installing and maintaining every potential client machine both on the intra and extra-nets
  • Scalable, easily configurable additional hardware resources and ability to employ load balancing algorithms to supply uninterruptible service to a growing number of users
  • A single application for both design and run time, eliminating the need to maintain special power user versions on non-Web-based platforms
  • Full enterprise integration via Web services
  • Separation of user interface from business logic with standard Web services used to communicate between the two
  • Predictable response times
  • Easy-to-use design tools that allow client system administrators to enhance or modify system functionality as required by changing business requirements.

Architecture

As demonstrated in Figure 2, version 10 architecture follows that of standard Web-based applications, where the client side is a Web browser and the server side is composed of a scalable and extensible application and database server “farm.” Communications between the client and server are achieved through standard Web service messaging over hypertext transfer protocol (HTTP) or optionally secure HTTP (HTTPS) for a more protected environment.

Figure 2 - STARLIMS version 10 architecture.

To take advantage of all available processing power and allow for a rich user experience, version 10 splits its code into business logic, which is executed on the server side, and presentation code run by a .NET control residing on the Web client.

To provide scalability, STARLIMS application servers utilize hardware resources by dynamically creating execution threads that concurrently handle business logic requests. The scalable distributed server farm is continuously monitored by a balancing server, which analyzes the workload and directs requests to the optimal server.

The STARLIMS client is a standard Web browser that hosts a .NET control charged with dynamically presenting the user interface. The control, named the STARLIMS XFD Renderer, is automatically deployed on the client every time a new version is available. In addition to the classic GUI controls, such as labels, buttons, and textboxes, this technology supports more complex controls such as hierarchical data grids, tab controls, and selection boxes. For data-aware components, special business actions called data providers are used to interface the GUI with the data model that resides on the server. For increased security, client-side scripting code is run in an isolated (sand-boxed) environment, and the server side business logic code is separated from the client-side code. The STARLIMS XFD Renderer uses the local machine’s computational capabilities, resulting in reduced server and network loads (see Figure 3).

Figure 3 - STARLIMS version 10 screen.

The same STARLIMS client when set to design mode exposes the STARLIMS XFD designer, built to allow authorized users to intuitively configure business rules and processes as requirements change. Through drag-and-drop design tools, the STARLIMS XFD designer dynamically creates XML forms containing both layout tags, used in a declarative way for describing the user interface, and JScript.NET code, used to programmatically handle these elements, their corresponding events, and make remote calls to business logic services located on the server. Communications between the GUI and the business logic are achieved via standard Web services. The integrated designer is also used for creating Web services that are made available to third-party client applications for seamless interoperability between enterprise applications to STARLIMS.

Conclusion

Impressive advances in the technology continuum over the past few years have ushered in an era of demand for enterprise-wide LIMS data availability. This data availability, coupled with the emergence of rich, full-featured Web-based LIMS, is facilitating timely enterprise action, reducing the total cost of ownership, and enabling multisite organizations to conform to best practices.

References

  1. Computer desktop encyclopedia. Retrieved Jul 12, 2005, from http://www.answers.com/topic/client-server.
  2. http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/TechRef/2cb5c8c9-cadc-44a9-bf39-856127f4c827.mspx.
  3. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwinforms/html/clickonce.asp.

Mr. Toiba is Vice President, Research & Development, STARLIMS Corp., 4000 Hollywood Blvd., Ste. 515 S., Hollywood, FL 33021-6755, U.S.A.; tel.: 954-964-8663; fax: 954-964-8113; e-mail: [email protected].

Comments