Some Net watchers call it chapter two of the Internet. Others refer to it as the Internet's third phase, the stage...
beyond mere brochureware sites or ordinary dynamic delivery of content. Whatever your preferred chronology, Web sites will soon cease to be isolated islands, and will become part of the main, capable of delivering genuinely useful, aggregated services.
At last month's Professional Developers Conference in Orlando, Paul Maritz, Microsoft's vice-president for platforms strategy and development, and Bill Gates sketched out the company's view of the future - their .Net (pronounced "dot net") strategy.
Sun, Oracle and IBM place similar stress on the importance of the Internet and the shifts coming about, including the delivery of application services remotely. Yet as Gates remarked at the conference, "The revolution that this digital world will bring is far greater than most people anticipate."
However, the matter of the automatic discovery and subsequent delivery of electronic services on an ad hoc basis seems not to have been addressed with any success by anyone other than Hewlett-Packard (HP) and Microsoft. In HP's case the technology, e-speak, was announced in mid-1999 and has been deployed on a growing number of sites for some months. Microsoft's technology, a logical development of its DNA strategy and related work, is available mainly in alpha and beta forms with a roll-out schedule beginning in the very near future but not set for completion for at least three years and probably longer.
Oracle introduced NCA (now renamed the Internet Computing Strategy, ICS) in 1996, and the database giant rewrote its products extensively to make XML central to its operation. But it has nothing comparable to allow the ready delivery of services across all computing platforms.
In Sun's case, the use of Java is growing and while there are some extremely sophisticated sites offering dynamic delivery of content, there is nothing really comparable to what is proposed by HP and by Microsoft.
Jini, often mentioned in this context, is essentially a technology for allowing network devices to link intelligently with others to deliver what are principally local services and, as such, should more accurately be compared with Microsoft's Universal Plug and Play or with HP's Chai.
E-services are simply services which are made widely available over the Internet, making use of applications that communicate intelligently with each other in order to locate and provide the necessary information. Such services will be capable of handling in real time the consequences of dynamic changes.
Imagine you are travelling by train from Dorchester to London for a meeting before catching a late afternoon flight from Heathrow to Palm Springs via Los Angeles. Because there are leaves on the line, your train is to be 90 minutes late leaving Weymouth. This means you can't attend your meeting as well as catch your flight, with its connection in LA for Palm Springs. Fortunately you subscribe to a travel alerting service, and your GPRS-enabled personal digital assistant (PDA) warns you of the rail delay and keeps you updated so that you don't have to leave for the station before you need to. Your meeting has been entered into your schedule and your meeting partners and principals are warned that you can't make the time agreed.
The service then checks later flights as well as your meeting partners' diaries. It finds that your realistic options are to cancel the meeting and get the original flight; hold the meeting later that afternoon, take a later flight to LA, stay overnight and catch an early morning flight to Palm Springs; or have a slightly shortened later meeting and reroute via Seattle on different airlines for a later arrival. Offered these alternatives you check with your meeting partners and quickly confirm the preferred revised schedule, leaving the service to make all necessary bookings.
The important point is that the fictional service is able to discover what other services it needs to invoke to respond usefully to an incident. These services need not already be known to it: indeed, they could not already be known, as holding information on all possible services would be an impossible task. Your alerting service needs also to handle intelligently the delivery of information to you, perhaps trying different delivery devices until it gets a properly authenticated response. It also needs to offer realistic options based on an understanding of circumstances including, say, time, convenience and cost, as well as your personal preferences.
Such a service does not yet exist but it will not be long before it does.
Par Andler, HP's European business development manager for e-speak, explains that his company's technology supplies what is necessary to make electronic services a reality. "What we are trying to do is to enable the new economy, using e-speak to set it up. People can take their core competencies and turn them into service components which can combine with others."
HP's vision is that of e-speak-enabled Web sites participating in a giant conversation spanning the globe. Any site can ask for information to which any other site can respond so that between them they can complete tasks, solve problems or conduct transactions irrespective of hardware or software platforms or device capabilities.
The e-speak platform consists of software, the Service Framework Specification (SFS) and various relevant tools and services. Central to the platform is the e-speak engine which performs the primary functions of discovery, negotiation, mediation and composition, as well as handling security matters. The e-speak SFS defines standards that allow these interactions among e-services.
Providers of services register with an e-speak engine which might be on their own site or hosted elsewhere by some specialist or portal. Anyone with any service on offer, whether direct or background, can become an e-speak broker. Current service providers include Ariba, ViaLink, OpenSkies, Security First Network Bank and MapQuest, all of which both consume and supply various services.
HP recently established an e-services bazaar, with centres in Helsinki, Singapore and Los Angeles, as a means of helping smaller suppliers package and offer their services and make contact with possible partners.
E-speak is written in Java, offered as an open source product and makes extensive use of XML. "The major difference between Java and e-speak is that e-speak is on the services level while Java is on the technical level," says Andler. He sees Simple Object Access Protocol (Soap) - the wire-services protocol utilising XML and HTTP to allow disparate, remote components to interact and which was developed and subsequently presented for standards ratification by Microsoft, IBM, HP, UserLand, DevelopMentor and others - as complementary technology.
The .Net platform
The central vision of .Net is not very different from e-speak. However, it is also far wider and deeper, seeking to blur the boundaries between devices, between Internet and local use, offering means of directly programming across the Internet and of distributing applications and data so widely that unique location identity will become irrelevant.
Where this vision differs significantly from similar views expressed by others, particularly Oracle and Sun, is that Microsoft insists that local devices, whether desktop systems, PDAs or completely new products such as its proposed tablet PC, will need to offer power and processing capabilities. ".Net speaks to the idea of having a platform that partly runs on the Internet, and also runs on a variety of devices," says Gates. "Today we have a world of applications and Web sites and we think of those as two different worlds.
"With .Net these become one thingÉ the really successful Web sites will have code that comes down and integrates in with the creativity software that runs on that PC. But we'll relabel those to be services instead of applications," he adds.
Central to the .Net strategy is the .Net platform - effectively the means for providing .Net products and services, whether deriving from Microsoft or from third parties. Microsoft also sees a major shift towards providing services, not just as rented applications but as facilities, such as authentication, and as content. Sun and Oracle may be Microsoft's big competitors in the enterprise IT market but the real longer-term competitors are AOL/Time-Warner and the like.
What Microsoft calls the .Net platform is a development of its earlier work on Com, MTS, MSMQ and Active Server Pages (ASP), all part of DNA. Com+ now encompasses the first three while ASP+ is a new platform for the dynamic delivery of Web data which is both faster and more versatile and, importantly, is easier and more intuitive to program. Web services are server-side components, roughly comparable with Enterprise Java Beans, which use Soap and other relevant protocols to interact with other such components and to deliver various services to disparate remote platforms.
Microsoft is building native XML support into all enterprise servers with these scheduled to appear during the rest of this year. SQL Server for CE is the last and is due out around the end of the year. New and enhanced development tools are being offered under the general name of Visual Studio.Net and there is a new .Net-orientated development language called C# (pronounced "C sharp").
This derives from both C and C++ and brings in, Microsoft claims, considerable productivity benefits at a cost of some small loss in raw power. Although cynical observers might wonder what it means, it is interesting that Microsoft has handed over C# for consideration to standards body ECMA and seems determined to ensure that it is genuinely non-proprietary, in stark contrast to Java.
The most striking of the .Net platform initiatives is the offering of a common runtime facility. This goes well beyond simply using components written in one language or another, inheriting interface aspects, calling remote APIs or mixing different scripts. Rather, it allows the mixing of modules from different languages including, if necessary, inheriting implementation.
This means that existing code, perhaps in Fujitsu Cobol, as demonstrated at the developers conference, can be mixed with modules of C++ or VB and managed as a coherent whole through C#. At present something like 20 languages are supported and although Java is the highest-profile language missing, Rational is working on a Java compiler.
The future of e-services
E-speak is here and works, although HP's legendary marketing capabilities have seen to it that it remains a fairly well-kept secret.
Meanwhile, Microsoft's .Net platform is extremely interesting, as much for what it implies as for what it reveals. Although on the server side only Microsoft platforms are currently supported, the initiative is genuinely language- and client-side neutral. Intelligent server-side components and a language-neutral common runtime are extremely powerful initiatives which may persuade IT managers that the technology is worth exploring and that it can now be done without undue risk to their existing enterprise platforms.
More on software products can be found at IT Network