As the World Wide Web morphs under our fingertips, companies, engineers and developers are trying to determine the exact nature of an environment that embraces high bandwidths, new types of devices, increased connectivity, new languages and protocols, and ways of using the Web that did not exist even a year ago.
When faced with such a situation, the first rule of a software developer, embedded designer or systems designer is to define the problem, develop a conceptual framework, determine the critical parameters, find or build the appropriate tools and infrastructure, and then develop the hardware or software.
This was somewhat easier in the good old, much more closed, days of desktop computing, embedded control and even server design. But in the more open, virtually naked and certainly vitally dynamic environment of the new Web, how does an engineer, or a company developing hardware and software, cope?
Some of the largest corporations and alliances have attempted to develop frameworks to answer such questions and provide a coherent context within which to do development: IBM with its Application Framework for e-business, Sun with its open network environment (ONE), Microsoft with its .NET, Hewlett-Packard with its Cooltown/NetAction and Red Hat with its embedded client/server paradigm, among many others.
Anne Thomas Manes of Sun Microsystems defines Web services as any function or app accessed via the Web. Standards like XML help keep them tangle-free. |
As different as each of these frameworks is, all are looking at the new Internet environment through the prism of Web services, in which applications may or may not reside on desktop computers, embedded devices, information appliances and set-top boxes but do reside on the servers to which the systems are connected.
A Web service represents a unit of business, application or system functionality that can be accessed over the Web, be it from another server, a desktop computer, an embedded device, a set-top box, a wireless phone or a Web-enabled information appliance, said Anne Thomas Manes, director of market innovation at Sun Microsystems Inc. (Cambridge, Mass.), in her article for this special section.
"Web services are applicable to any type of Web environment, be it Internet, intranet or extranet, supporting business-to-consumer, business-to-business, department-to-department or peer-to-peer interactions," she said. And a Web-service consumer can be a human user accessing the service through a desktop or wireless browser, any application program on any device from a controller embedded in a household appliance, a device on the manufacturing floor or another Web service on another server.
Companies are also looking to use de facto standards such as the Sun-driven Java and the Extensible Markup Language (XML), which grew out of a World Wide Web Consortium-inspired standards effort. According to Manes, the power of XML is that it offers a truly platform-neutral mechanism for providing services across the Web, independent of the underlying language used to develop an application or the hardware or software that executes it.
"XML is the wrapper," Manes said. "As long as you wrap the application you want to distribute throughout the Web in XML, developers are free to write the applications in whatever language they want, be it Java, C, C++ or something entirely new and out of left field, such as Microsoft's C# C-sharp."
Despite the effort to standardize wherever possible, the net-centric computing environment is a complex one, with servers and desktop, handheld and embedded devices of various capabilities-and the environment the applications programs will be running in-highly dependent on the underlying hardware and software architecture.
"The problem space, then, in which you deploy these standardized mechanisms is highly variable, and you had better be sure of how all the elements in such a complex environment work together, their relative features and power, and the sources of potential conflicts and error conditions," said Rod Smith, vice president of emerging technology at IBM Software Group (Research Triangle Park, N.C.). For this reason, Smith said, IBM has had an ongoing effort, called the Application Framework for e-business (AFeb) under way for a number of years to allow it to more tightly define the nature of the new net-centric computing environment, IBM's strengths and weaknesses, the technologies needed and the standards that would have to be supported and enhanced.
As Marc R. Erickson, project manager at the IBM Embedded Systems Group, and Jim Colson, senior technical staff member at IBM Pervasive Computing, point out in their article on AFeb in this report, the framework methodology is not an uncommon practice in the industry, applied either formally or informally to define and delineate a complex system-level problem space and specify the relationships between active elements. "In essence," said Erickson, "the use of frameworks is simply good engineering and programming practices writ large."
Using such methodologies, companies are developing conceptual frameworks within which they can apply their expertise and technologies to the new problems and opportunities represented by net-centric computing. These frameworks incorporate information about the environment in which the company wants to be active, based on particular intellectual preconceptions and rationales. For example, the conceptual framework Michael Tiemann, chief technical officer at Red Hat Inc. (Research Triangle Park), describes in his article synthesizes the two major computing paradigms of the past: embedded and client/server computing.
Such a view, Tiemann said, only reflects how technology evolves. "The Internet revolution is a remarkable example of how evolutionary progress in a number of fields can combine to yield a result that transforms not only each field, but the world as a whole," he said. "The Internet revolution combined the fields of hypertext, computer networking and graphical user interfaces, each of which separately had been defining their own revolutionary paths." And at a critical junction, networking and the GUI merged to create something that each alone could never have predicted or realized, said Tiemann.
"At some point the separate components of the infrastructure combined synergistically, and the revolution took off," he said. "We believe that many of the building blocks are similarly in place now for the connectivity revolution, and that the infrastructure is close to its critical point of synergy."
Another conceptual framework based on the concept of Web services is .NET from Microsoft Corp., a concept built upon what the software giant has learned about computing on the desktop and in servers, and which it is trying to extend into Web services. Although ostensibly based on standards such as XML and allowing developers to write applications with virtually any programming language, the approach is based on a new object-oriented programming language, called C-sharp, designed to keep application developers committed to the Microsoft way. C-sharp, said Manes of Sun, allows Microsoft to promote standards on the record, but also to incorporate mechanisms that will tie developers as close to .NET as they were to the Windows API.
"The key to success for companies such as IBM, Microsoft and Sun in this new area of Web services is not secret sauces and proprietary hardware and software," said Smith of IBM Software. "Rather it is strict adherence to standards and developing the tools and middleware environment that allow developers to create new applications and services that can be migrated seamlessly across the Web."
For IBM, said Smith, the advantage of a methodology such as AFeb was threefold. "By giving us a comprehensive framework within which to view the new Web environment we were able to look at our existing hardware and software products and determine how to improve and modify them in the context of these new demands," he said. "Also, it reinforced a growing consensus within IBM that the key to our success in this new net-centric environment was not to build better hardware and software for servers or desktop computers or pervasive-computing devices, but to be the indispensable Internet and Web middleware software and services provider." This does not mean that IBM won't build such products, Smith said, but that it will build them with the aim of supporting the company's efforts in the Web-services middleware market.
Just as important, said Smith, is that such framework efforts have allowed the company to define the weak links in the standards and pinpoint how to fix them. The AFeb effort has also clarified the areas of research and development that IBM will pursue in the future.
"It is clear to us that the computing hardware at all levels will have to change," he said, pointing to the work the company has done to modify the pipeline structure and multithreading mechanism on its PowerPC CPUs designed for servers. "In the future we'll have to take a good hard look at operating systems in this new environment, whether in servers, desktops or in pervasive-computing devices. The traditional kernel architecture may be entirely outmoded. Services that have traditionally been inside the kernel may be more appropriate 'out there,' and vice versa."