Modular Software - Home PicLan-IP - Home

PicLan-IP for D3/Linux

September 5, 1999

PicLan-IP is now available for D3/Linux (ProPlus) version 7.1 and 7.2.

Modular Software is pleased to announce the immediate availability of PicLan-IP for Pick Systems D3 DBMS system hosted on Linux.

PicLan-IP brings a new level of performance, versatility, and simplicity to internet applications that make use of D3.  Instead of relying on tenuous links to non MultiValue internet services, PicLan-IP implements these same internet standard functions completely within the MultiValue environment.  The result is a standards-based solution that is efficient, cost-effective, and elegant.

Contents: ... The PicLan-IP Coyote Web Server
The PicLan-IP Web Client
The PicLan-IP Mail Server
The PicLan-IP TCP/IP Sockets API
PicLan-Ip for D3/Linux Implementation Details

The Coyote Web Server

PicLan-IP web solutions are quite simply the most elegant, efficient, and reliable way to deploy your MultiValue application with a web browser interface. Whether you are deploying within a corporate intranet, or world-wide via the public internet, PicLan-IP provides a robust solution to your web application needs.  PicLan-IP includes a full-featured, internet standard HTTP/1.0 web server.  Instead of relying on external, non-MultiValue web server modules, PicLan-IP implements the entire HTTP server engine within the MultiValue environment.

There are a number of reasons why running the Web Server as a MultiValue application makes sense:
PicLan-IP Coyote
Other MultiValue
Web Solutions
Web Server Built-In Requires External Server
Performance Very fast - all processing takes place in a single centralized location within a single process model. Slow - numerous processes have to exchange information using slow interfaces like CGI and pipes.
Setup Easy - all configuration items are controlled within the MultiValue environment. Difficult - Multiple products must be installed and configured in several run-time environments.
Control Excellent - All web functions are controlled within the MV environment. Poor - Web Server functions are beyond the reach of MV applications.
Compatibility Excellent - Use any web browser with HTML forms support. Javascript, Java, and Active-X can be used but are not required. Some good, some poor - Some solutions require Java or Active-X components complicating client configuration issues.
Logging Excellent - MV applications control all web logging function in MV format.  You control what informaton is logged and in what format. Poor - Web Server logging functions are controlled by the external web server and are difficult to manipulate with MV applications
MultiValue Applications
Programming Interface
Excellent - Active Server Pages with embedded mv/BASIC source code.  All processing occurs in MV code with MV format data structures. Poor - Application must map MV data to ODBC or use cumbersome subroutine based APIs.
Development Environment Excellent - Use any HTML editor.  Application error messages can be configured to go to the browser, monitor console, or log files. Use of mv/BASIC debugger is supported. Proprietary or none - MV interface uses obscure subroutine calls or non-MV data structures.
Error Reporting Excellent - Application errors are logged and user-controlled error displays are generated in plain english to the end-user. Poor - Application errors usually result in generic "no response" messages with little indication of the source of errors.
Live Development Excellent - Applications can be updated real-time with live users on-line. Poor - server components may need to be restarted with many type of application changes.
Application Persistence Excellent - mv/WEB environment handles persistence transparently with added support for timed item-locks. Some good, some poor - Hidden input fields and cookies may require manual decoding of HTTP headers and input fields.  Unknown support for item-locks.
Reliability Excellent - All server functions are fully watch-dogged. True 24x7 operation is designed in. Poor - Many server functions reside in environments that require manual intervention upon failure.  Poor implementation for 24x7 applications.
Cost Low - The PicLan-Ip licensing cost is all that is required. You do not need to license external servers.  PicLan-IP also runs on MultiValue phantom processes, so no MultiValue user licenses are consumed. Low to High - Depending on the configuration, you may need to license external web server software or even purchase additional host computers. Some solutions also consume MultiValue user licenses depending on their implementation.

The Web Server Implementation Standard

Even though the PicLan-IP web server is implemented completely within the MultiValue environment, it is a full featured HTTP server that features:
HTTP/1.0 Standard PicLan-IP implements the entire HTTP/1.0 standard.  Web users have no way of knowing they are conversing with a MultiValue host (unless you tell them).
Virtual Hosting PicLan-IP supports up to 50 independent sets of web content. One MultiValue host can appear to the world as many independent web sites and applications.
Versatile Content
The PicLan-IP web server supports user-definable web content including HTML, TXT, GIF, JPEG, EXE, ZIP, WAV, and other types that you can easily define.
The PicLan-IP web server implementation is fully multi-threaded taking full advantage of multi-CPU hardware platforms and overlapped I/O and CPU processing.
Server-side Caching The PicLan-IP web server makes extensive use of server-side caching to reduce server overhead when a page is accessed more than once. Nearly every concievable web element, from HTTP headers to active server page merge logic, is "compiled" the first time a page is accessed. This logic allows the web server to use intelligent "machine code generation" techniques to produce web interfaces that are actually faster than could be hand coded.

The Web Server Programming Interface

The PicLan-IP web server is programmable through the use of "active server pages".  An active server page is an HTML document that seamlessly blends the capabilities of HTML and mv/BASIC.  You create PicLan-IP active server pages with a standard HTML editor such as Microsoft Front Page or NetScape Composer.  PicLan-IP "active server pages" can consist of the following elements: PicLan-IP Web Server active server pages can be used in three different scenarios:
Standard Any web page can include mv/BASIC source code to generate dynamic web responses.
Default You can setup web directories, or entire IP addresses to call a single default active server page for any URL.  This allows you to easily implement global security and access control, sense browser configurations, etc. all from a single block of mv/BASIC source code.
Error If web processing results in an HTML error condition (such as page not found), you can specify an error page that can then present this error to the user with additional information beyond the simple error code. These error pages are specified independently for each IP address that the server is servicing.

The PicLan-IP Web Client

The PicLan-IP Web Client is not an application program with a user interface, but is instead designed to give your mv/BASIC program access to the web. With the PicLan-IP Web Client, your mv/BASIC programs can perform HTTP operations with a simple one-subroutine interface.  This allows automated mv/BASIC functions access to a world-wide information base.

Some applications for the PicLan-IP Web Client might include:

The PicLan-IP Web Client can also be uses as a powerful "Remote Proceedure Call" engine that works both in intranet and public internet environments. With the PicLan-IP Web Client and a remote PicLan-IP Web Server running, you can easily setup applications that "remote execute" MultiValue application code.  You can pass parameters and retrieve results.  This "loosely coupled" architechure using HTTP as a protocol is ideal for distributed processing applications where the performance and/or reliability of the communications link between sites is less than perfect.

The PicLan-IP Mail Server

The PicLan-IP Mail Server is a standards-based internet mail server. Support is included for the SMTP and POP3 protocols including full DNS MX record resolution.  This allows the PicLan-IP Mail Server to participate as an on-line internet mail server with all mail structures stored in the MultiValue environment.

Having a mail server in the MultiValue environment has the advantages of:

The PicLan-IP TCP/IP Sockets API

The PicLan-IP TCP/IP Sockets API provides an easy client-side interface for applications to directly communicate with TCP/IP streams.  This allows applications programs to use TCP/IP stream connections to exchange data with other applications or systems.  The PicLan-IP TCP/IP Sockets API is also standardized from system to system, so an application can more easily be ported between MultiValue host systems.

PicLan-IP for D3/Linux Implementation Details

The PicLan-IP implementation on D3/Linux takes full advantage of both the D3/Linux (ProPlus) environment as well as the 32-bit Linux networking environment to provide a robust, high-performance internet application environment. Full PicLan-IP support is implemented including HTTP web client and server, SMTP/POP3 mail client and server, TELNET client, and TCP/IP sockets API.

PicLan-IP server functions are implemented as event-driven mv/BASIC applications that execute on D3 phantom processes.  PicLan-IP does not consume any D3 user licenses, regardless of the number of TCP/IP connections utilizing PicLan-IP services.  PicLan-IP server process "threads" are user configurable to take advantage of multi-processor hardware configurations and scale well with system configuration.

All network traffic is fully buffered using an event-driven Linux deamon written in the native Unix environment.  This offloads most network control functions from the mv/BASIC environment allowing a very small number of PicLan-IP server processes to service literally thousands of concurrent TCP/IP connections.

Implementation Performance

Initial testing with PicLan-IP on single processor Pentium systems show that the D3/Linux environment is capable of driving full T-1 or greater internet web applications assuming a reasonable application design. There appears to be no reason to distribute most applications to multiple systems or to use external web server engines. On more substantial systems (dual-processor Pentium 400MHz systems) some benchmarks actually saturated fast ethernet (> 80Mbit/sec) so accurate numbers are difficult to determine. Active page hit rates above 200hits/second (720,000/hour) have been measured  Users interested in performance or security options should look at the "PicLan-IP for NT Security and Performance White Paper".  With PicLan-IP, you can run both your internet and local user solutions from a single centralized host.  If you wish to discuss performance specific issues, including the results of webstone benchmarks, please contact

Modular Software - Home PicLan-IP - Home

© Copyright 1996-1998  Modular Software Corporation.All rights Reserved.