Why URLe

URLe is a mere enhancement of the classic URL protocol. It is quite the same thing, with 2 substantial differences: more protocols allowed, different parameter encoding.

But let's take a look to a URLe string to understand what I mean.

sql://www.aserver.cmx/DBName?"SELECT * FROM tblUsers;"&"opt=lock"

This is read in the followeing way:

What will this command do? First of all will tell the client/browser to search the domain machine named www.aserver.cmx; then will ask to obtain access to the sql service. It is responsability of the machine to know which SQL service expose the DBName, istance if more then one provider is avaibalbe. But the user won't know that.

Once located the appropriate resource, the parameters will be submitted and a response will be send back, hopefully in XML or other Markap language.

The server name

It is a standard name for an internet domain. It will be resolved using a DNS.

The protocol name

I used for this example a protocol not available throuth URL nowadays as SQL is. But there will be plenty of them in the future. The protocol name is a mnemoic string of length inferior to 8 characters (number, letters or simbol of the standard ANSI table).

It is to be used with the NSM sercvice so it will be used as literal and not decoded into a numeric value.

The resource

It is an indentificator to a specific resource that you will access. It cuold be a file, a virtual folder, a database instance or other. It depends on the protocol. It uses the UNIX directory standard.

[/folder[/folder[...]]]/resource

The parameters

It contains a list of parameters enclosed in apixes(') or quotes(") separed by an amp simbol (&). The number, the type and the format of them will depend on the service itself

Protocol samples

In this paragraph I will put a number of protocols that I'll like to see on URLe. Note that not all the protocol can be called by a web page. In example, if a Web Page calls a shutdown:// request in a link, the browser must ignore it.

On the other hand if the user types the reqest itself, then it must be executed. Note that the specific user rights are not mentioned here. It is the server itself that must know if the user can do an action or not (again, see the NSM sercvice for details).

Servicefunctionby linkresourceparams.output
shutdown://Reset or shut down the machineNononetimeSuccess/error message
execute://executes a command in the remote machineNothe application tu executecommand's parametesStd Output: note that functions that will try to open windows will be automatically aborted
upload://upload a fileYesDestination pathoverride old file requestCopying status message
download://download a fileYesSource filenoneCopying status message
sql://Execute an SQL queryYesinstance namequery and eventually parametersan xml response file with the result of the query
pay://Execute a payment transactionNoType of accountAccount dataResult of the transaction.
telnet://Open a telnet session on a special clientYesTelnet like servicenoneOpens a local telnet window; note that there's no UserID or password request

Last modified in 26/01/2006