Part 1: An Overview of the Web
The World Wide Web (WWW) refers to a set of publically available (but not
necessarily free) resources and tools that are a part of the world-wide
internet. These tools include servers and browsers, protocols, markup languages,
addresses, and scripts. Each of these components work together providing
a user with access to information from around the world.
One of the most successful aspects of the web is that the user interacts
with the environment with much of the underlying infrastructure hidden.
Details of protocols, routers, domain name servers, and the like are largely
hidden from view.
Hypertext Markup Language
The first thing about the web that makes it truely useful is the language
that the web speaks. This language is called Hypertext Markup Language
or HTML. HTML provides a method of displaying text and graphics
integrated on a page and including within that text and graphical information,
links from location to location. If you have ever used windows help, this
is a hypertext system where a keyword or phrase may be underlined and clicking
on the link takes you to that new location where information is stored.
What is interesting about hypertext links in HTML is that the links can
not only branch to information in the same document, but to other documents
and even other web sites as easily.
HTML includes some of the typical things that you would expect in a
page description language. You can specify text color, font size, and alignment.
You can place graphics and use tables. HTML also omits some things that
you may find quite suprising. It can be difficult to control exact placement
of characters. There is limited control of font styles. And elements like
flowing columns and page breaks are non-existant. Most of these limitations
stem from the original days of HTML where HTML was a layout language designed
for publishing arcane computer documentation.
Most of the complexity of modern-day HTML usage stems from web page
designers trying to produce visually appealing page layouts using a language
that does not lend itself well to page layouts. As such, a number of HTML
features are now used in manners that are very strange indeed. For example,
if you wish to layout a page with two columns, you create an HTML document
that defines a table and use each table cell as a column.
One of the other problems, as well as one of the strengths, of HTML
is that the finished document may display differently depending on the
client that is in use. These variances can be due to screen resolutions,
the version of browser software in use, and other factors. While this at
first appears to be a severe handicap, it is actually a big bonus as well.
You see, web pages that display on a 1024x768 high-resolution computer
monitor are still usable at 300x200 on Web TV.
Hypertext Transfer Protocol
The next element of the web that makes it useful is the interaction protocol
that is used between the client (browser) and host (web server). This protocol
is called Hypertext Transfer Protocol or HTTP. HTTP is actually
a very lighweight file transfer protocol that works like this. A cleint
(browser) makes a request for a file (also called a resource). This request
may include just the name of the file or it may include the name along
with a number of parameters. The host (web server) will respond to this
request for a file with a single responce. After the host delivers the
response to the client, the host can forget about the client and go on
to other work.
This whole operation is very batch oriented. A single request is transmitted
from the client to the host and the host responds with a single response.
In the first implementation of HTTP (version 0.9), an individual TCP/IP
stream connection would be opened and closed for each request/response
transaction. With later versions of HTTP, this individual connection could
be maintained for longer periods to improve performance. Being batch oriented
again has its benefits and problems. With the public internet, performance
can have very high latency. This means that even though the amount of data
that can be moved from point to point may be high, it may still take a
long time for the data to get there. By running in screen-at-a-time batch
mode, this latency has minimal effects on the usefulness of the application.
The downside of batch mode is that it is batch mode. Interactive conversations
with the host are not supported except when requesting a completely new
page. This can make conversing with a user somewhat less efficient than
a traditional terminal or windows GUI application.
Data Entry and Forms
Yes, you can do data entry on the web. One of the features of HTML is called
"Forms". A form is a collection of input controls that you can include
in an HTML page. A form can include input fields that the user can type
in, buttons to press, boxes to check, and lists to pick from. The process
model is still batch-mode, so the user must fill in all of the information
and then hit the "submit" button. At this point, the next request to the
host (web server) will include the not only the next file to retrieve,
but also the information the the user entered on the form. HTML data entry
forms can be quite simple or quite comprehensive. These is esentially no
limit to the number of fields allowed on a form and the fields are formattable
with the same proceedures as are used for laying out other HTML elements.
What is missing from HTML input forms is field-by-field validation. If
you have information that only the host can validate, then the error cannot
be detected until the entire form is completed and submitted to the server.
Only at that point can the server detect errors and ask the user to correct
Static vs. Dynamic Content
So far, we have described the webs operation in terms of what is referred
to as "static content". Static content indicates that the user will view
information that does not change based on information that they supply.
Static content is like publishing an electronic book. There may be links
from place to place along with pretty pictures, but the actual content
does not vary. This is not to say that static content is not useful for
many purposes. If you are a consultant and you want to allow perspective
clients to view your resume on the web, then static content makes a lot
of sense. The same goes for publishing an employee manual for in-house
The web really gets interesting when it's use goes beyond static content.
In this case, the users is not only displaying pre-built information, but
also interactively using dynamic information that is the result of their
input. Dynamic web content is probably more accurately referred to as a
"web application". The host (web server) not only stores pre-built HTML
and image files, but also stores database and program files that allow
the user to dynamically interact.
The Anatomy of a Web Server
Now we start to get to the nuts and bolts of publishing on the web. If
you wish to publish information on the web, you need a place to store your
information and a computer system that will respond to the HTTP requests
from the user. This means that you need a computer system connected to
the internet with appropriate web server software. This is a web server.
It contains the following components:
This is obviously a pretty standard computer. It can be a native Pick system,
a system running Unix, a Windows 95 or Windows NT system, or a mainframe.
Again, provided that the web server software and interface to the internet
are available, the system can run anywhere. Of course, some system are
better suited for one application over another, but that is not important
here. Assuming that the web server has the minimum set of requirements,
it can publish information on the web. Not only can it publish information
on the web, but assuming that it is running the correct protocols (TCP/IP
and HTTP), it is absolutely indistinguishable from any other web server
on the internet.
Web Server Software
A physical "full-time" connection to the internet
A Traditional Stand-Alone Web Server
Web servers like Internet Information Server (IIS from Microsoft), Netscape
Commerce Server, or Apache all consist of a stand-alone Unix or Windows
NT program that waits for HTTP requests and produces HTTP replies. None
of these programs have anything to do with the MultiValue environment.
These web servers provide APIs (Application Programming Interfaces)
that allow you to write programs that interace with the web servers. These
APIs are not designed to interace directly with the MultiValue database
environment and either require database access through SQL and ODBC, or
require scripts using Common Gateway Interconnections (CGI) or 'C' programs
to pass data to and from the MultiValue environment. This results in a
multi-layer environment that only adds complexity and overhead in accessing
your MultiValue data and applications.
The PicLan-IP Web Server
The PicLan-IP web server is much the same as IIS, NetScape Commerse Server, or
Apache in that the same protocols are used and the same web pages can be presented
to the user. What is different about PicLan-IP is that instead of being implemented
as a stand-alone Unix or Windows NT program, PicLan-IP is implemented as a native
MultiValue program. So instead of requiring a bridge or middle-ware from a non-MV
environment, PicLan-IP is designed from the beginning to support the MultiValue
database environment directly. You can use your MultiValue data directly in MultiValue
format with attributes, values, and subvalues. You can use your MV/Basic, ACCESS,
and even PROC-based software directly without translating through a foreign environment.
2 3 4 5
6 7 8 9