Biomedical Engineering Reference
In-Depth Information
system.
Operating systems and browser environments are areas where interoperability is possible because of
standardization around a handful of operating systems and Web browsers (either the Netscape
Navigator or Internet Explorer). Although Windows is the most popular operating system worldwide,
the most popular operating systems used in bioinformatics are various flavors of UNIX, followed by
Windows 95/98/NT/2000/XP and MacOS/OS X. Linux is the most popular version of UNIX used on
Intel-compatible workstations. Systems based on the X-Windows System—a consortium-developed
open source client-server system—running on top of UNIX are common on high-end workstation
hardware from DEC and Sun Microsystems. Globus, the most popular distributed operating system
for creating high-performance clusters, is typically used with dozens to hundreds of inexpensive PCs
in order to create a grid computer.
However, there is often a connectivity issue with hardware running other operating systems, even
though the major operating system companies provide software utilities to network computers
running some version of their operating system. At the lowest level, most systems support file
transfer between disparate systems. However, executing software designed for, say X-windows under
MacOS requires an appropriate emulator—software that allows users of each platform to access and
use programs written to run on the other. X-Windows emulators are available for both Windows and
the MacOS. Similarly, there are built-in utilities to the MacOS that allow Macintosh users to read files
from Windows-formatted disks, and emulator programs allow a Macintosh to execute programs
written for Windows. However, emulators are typically too slow for many computationally intensive
bioinformatics applications, many of which already tax the hardware platform running in native mode
on the intended hardware.
Standard interfaces that enable communication between software applications and users (graphical
user interfaces—GUIs) and between programs and the operating system (application programming
interfaces—APIs) also support interoperability. For example, a common GUI decreases the learning
curve for someone working with a new program. A user fluent with a few programs written for
Windows should be able to quickly learn other Windows-based programs that follow the same GUI
standards. Both Apple and Microsoft have published standard GUI guidelines for software developers
in order to foster a common look-and-feel among applications running under the same operating
system.
Similarly, the standardization of APIs, the interfaces between applications and the underlying
operating system, reduces the burden on programmers who must otherwise devise novel methods of
making operating system calls every time they create a new program. Following an API standard,
such as the IEEE P1520 standard for networks, allows programmers to learn and use one set of
programming routines, regardless of the application and differences in the underlying hardware.
Before discussing grass-roots methods of standardizing applications and application development, it's
important to consider that interoperability doesn't imply identical results. For example, several
protein structure rendering programs may be interoperable, in that they can read and write the same
data formats and seamlessly share results with other applications. However, the results of each
program may be different, depending on the underlying algorithm and assumptions used by the
programmer. Rendering programs that use the PDB file format must interpret the bonding
information, typically using different algorithms. One way around this dilemma is to use a file format
such as the MMDB, which contains explicit bonding information. As a result, protein structures are
consistently rendered.
Open Source
As noted in the discussion of standard tool and data accessibility, one way for a company or
academic laboratory to influence the development of standards is to simply offer to let developers in
other companies use the formerly proprietary standards with no or nominal license fees. Giving away
a standard has benefits to all parties involved. For the original standards developer, offering a
standard to the industry provides it with a competitive advantage in the marketplace. Not only does it
have a high level of expertise, but its engineering investment in the standard may provide the
Search WWH ::




Custom Search