Monday, April 03, 2006

XML research goals and Z++

A major XML goal is to act as a catalyst for interoperability among all languages. Another related goal is exposing services, as in Service-Oriented Architecture. Let us take a look at the role of XML in SOA, although attaining interoperability is a prerequisite.

Exactly, what are the languages used for creating the services that we intend to expose through SOA? I can think of COBOL and FORTRAN, neither of which is of interest or the target of XML, for that matter. Microsoft would rather take care of its proprietary languages like VB and C#.

Are we trying to expose C++ services through Java or Smalltalk? Or, we are not specific about the presentation language so long as we can expose the services? In other words, are we trying to solve a scientific problem, or are we trying to research the possible uses of Java? C++ services can be exposed directly via its superset Z++. Since Z++ includes C++ there is really not much to do in order to expose C++ services.

Another XML research goal is the discovery of services. The discovery and rendering of services requires sophisticated AI techniques and an extensive infrastructure, more complex than the one for locating IP addresses. It is unlikely that the infrastructure will be built in any language other than C, C++ or Z++.

A more reasonable approach for locating or discovery of services is to investigate the use of Autonomous Agents. An intelligent mobile piece of software is considerably more capable of solving this problem than an XML document.

Z++ is the most expressive software development language. The formalism facilitates focusing on the algorithms rather than considerations for implementation details. In particular, Z++ abstractions for remote linking, RPC and distributed components provide the mechanisms for solving the problems of Autonomous Agents, without having to deal with the mechanisms themselves. Code mobility is not an issue in Z++.

Considering the tiny size of the Z47 processor and its speed, Z++ software can easily penetrate the layer of Middleware. This is formidable for XML solutions, if not impossible. As for interoperability, CORBA was the best approach.

Z++ is freely available from ZHMicro.

Labels: , , , , , , ,