Page 3 of 3
Some background: One of the great benefits of using Internet technologies is the simple but elegant construct of a universal resource locator (URL). In today's world, URLs typically point to static HTML pages. This may be more an artifact of Internet history than a design limitation. The reality is that URLs can (and increasingly will) point to other resources -- especially programs. URLs are an excellent mechanism for interfacing with programs because they consist not only of a network address but of an argument list that can be interpreted by an intelligent resource.
When a program resides at the end of a URL address, these arguments can simply become arguments to a program and can be executed
on a remote server. Through two simple calls, GET to pass a single packet of information to the server and POST for arbitrary-length requests that can amount to entire files, a client can pass a complex stream of information to the server
for interpretation and execution. When the server application is a program (a C++ program is the best example), it is quite
possible to use this simple mechanism to do the equivalent of a remote procedure call over the network.
The URL address points to the server application, the application invokes a method on the server, and the URL's arguments
are input to this method. Where the method accesses a database through an existing standard like ODBC, the arguments can execute
typical database constructs such as INSERT, DELETE, and UPDATE. Results are returned to the client via the standard HTTP protocol for interpretation and display by the browser. The results
may be converted by the server program into any standard HTML content type or any available plug-in. Typically the conversion
will be to an HTML page that replaces the typical dialog box in a standard ODBC environment.
Since the concept of a URL is built into Java, and since Java applets are capable of executing on many browsers, the language provides a flexible environment for distributing logic across clients and servers. The nature of Java promotes the use of object-oriented constructs and the notion of method passing as the primary interface between client and server. The fact that the client is a Java applet running in a browser, and the server is a C++ program executing as part of an HTTP server, is only relevant to the harried developer.
Databases are the center of the corporate universe and central to Java's future. When the history of information management is written by some hominid in the future, most of the paragraphs that include the word Java will also include the word database. While JDBC will be the focus of this history, existing standards like ODBC will be much more than a footnote, and they are readily accessible to the creative programmer today.