28.06.2013 Views

Papers in PDF format

Papers in PDF format

Papers in PDF format

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

types. These are used to restrict the k<strong>in</strong>ds of files that can be attached to the form.<br />

HTML 3.0 will never become a standard, (because of the slow process of standardization?!)<br />

and has been replaced by the HTML 3.2 specification that <strong>in</strong>corporates some of the suggestions<br />

of Netscape (Navigator) and Microsoft (Internet Explorer). Important features like FIG<br />

or FRAME have not yet been "standardized", but tables and applets are now available. (The<br />

HTML tables specification (RFC1942) has been ratified as an IETF proposed standard.) Thus,<br />

for widest portability I suggest to use HTML 2.0 elements and tables <strong>in</strong> addition.<br />

If you want to use frames please provide a version that is also usable without a browser able to<br />

display frames. Applets should also be used careful, because there have been security problems<br />

<strong>in</strong> the past and thus many users may not be will<strong>in</strong>g or allowed to enable applets. Keep <strong>in</strong> m<strong>in</strong>d:<br />

enabl<strong>in</strong>g an applet means that a (perhaps malicious) program is executed at your computer.<br />

How the further standardization process of HTML will cont<strong>in</strong>ue is not clear.<br />

4.2.2 The Common Gateway Interface<br />

After a form has been submitted the WWW server calls the correspond<strong>in</strong>g CGI program with<br />

the variables as parameters. In addition to the user <strong>in</strong>put, server variables can be accessed.<br />

Unfortunately, different servers offer different variables. Important ones that are used by the<br />

most servers are for example: HTTP_USER_AGENT (which client), HTTP_ACCEPT<br />

(MIME <strong>format</strong>s that the client understands), REMOTE_ADDR (IP-address of client), RE-<br />

MOTE_HOST (name of client), GATEWAY_INTERFACE (k<strong>in</strong>d, version). Other variables<br />

depend on the client that is used, for example HTTP_UA_PIXELS, and HTTP_UA_COLOR<br />

can be used with Mircosoft Internet Explorer 3.0, and HTTP_REFERER with Netscape Navigator<br />

3.0<br />

In the first step the CGI program has now to decode the variables and to derive a query. Then<br />

it can send the query, e.g. to a database server demon.<br />

Note: Be very careful when writ<strong>in</strong>g or us<strong>in</strong>g CGI scripts, especially if you are<br />

do<strong>in</strong>g it <strong>in</strong> PERL. There are a lot of security problems. Read the World<br />

Wide Web Security FAQ [24] to get an idea.<br />

4.2.3 Database server demon<br />

Aga<strong>in</strong>, because it is really important I want to mention the database server demon. It should<br />

open the database and keep it open to avoid the time needed to open the database for every<br />

request [25]. After the demon has opened the DB, it should provide a socket where requests<br />

can be sent. Queue and socket management with some k<strong>in</strong>d of dispatcher are a nice additional<br />

features. The output of the query can be returned to the CGI/API script via the socket. The<br />

script then <strong>format</strong>s the HTML output depend<strong>in</strong>g on the user profile and the results.<br />

4.3 Tools<br />

A lot of tools for <strong>in</strong>terfac<strong>in</strong>g a database with the WWW have been developed by users and<br />

database vendors. O2 offers O2Web, Oracle the Oracle WWW Interface Kit, IBM DB2WWW,<br />

and there are many, many others. For W<strong>in</strong>dows and W<strong>in</strong>dows NT there are a lot of programs<br />

available allow<strong>in</strong>g the usage of the open database connectivity (ODBC) <strong>in</strong>terface and high level<br />

languages like visual basic. There are commercial as well as freeware products. There are big<br />

differences concern<strong>in</strong>g performance and functionality. Some <strong>in</strong>terfaces are used only for que-<br />

-16

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!