The PicLan-IP Web Server now has a name, Coyote. Here are the answers to some frequently asked questions.
Coyote is the web server component of the PicLan-IP software suite. With Coyote, your Multi-Value host system can directly publish both static and dynamic web content over either in-house intranet or world-wide internet connection.
The Coyote web server is the only HTTP server that is implemented within the Multi-Value environment. Instead of relying on external servers, Coyote allows the Multi-Value environment to control the complete web environment. The unique design of Coyote and PicLan-IP provides for unmatches simplicity, performance and versatility while allowing you to fully utilize your Multi-Value expertise.
Why is it so important to control the web from within the Multi-Value environment?If you are currently using a Multi-Value host system to run your business applications, we think that you should use the same system to host your web applications. The reasons are simple. You know the MV environment and programming languages. You data is in the MV environment. And you want to be able to leverage what you have to get what you want. A world-wide view of your existing application and data. Coyote lets you do this without having to abandon your existing expertise, data, or applications.
The Coyote web server is not licensed based on users, system size, number of connections, or other parameters that you may be used to with MV systems. Instead, Coyote is licensed based on the amount of network bandwidth that will be generated by web pages. Coyote licenses are available starting at $1495 for 8K/second and range upward through $5995 to drive a full T-1 line. A complete PicLan-IP end-user price list is available here.
Does Coyote use MV licenses?No. The PicLan-IP suite of server products runs completely on Multi-Value "phantom" or "background" ports and does not consume any MV user licenses or seats. Because PicLan-IP communicates with network connections using high-performance socket calls instead of terminal I/O streams, applications run on processes that are not communicating with individual users and as such do not consume MV licenses.
Ins't licensing based on bandwidth expensive?We think the answer to this is no. Coyote is usually far less expensive than other products when you consider all of the costs involved. Coyote is completely self-contained. With other solutions, you need to license additional web servers products, often purchase external server hardware, and license MV user seats for web applications. This can make a solution with Coyote as little as 10% of other solutions.
Another way of looking at it is that cost of the Coyote software license is about the same as two months of internet connection costs. This means that the overall cost of running a public web site is dominated by the cost of your connection and not by the cost of software.
As an example, compare Coyote with Pick Systems Flash Connect. With Flash connect, you pay $1000 plus $350-$400 (a Pick user license) for each "user" that is running a web application. If you need to support 100 concurrent users on a T-1 line, this would cost $36,000 for Flash Connect versus $3995 for Coyote.
What happens when you hit Coyote's license bandwidth?If you have more activity that your Coyote server is licensed for, the nework connections just slow down. This is exactly the same situation as saturating your internet connection. New connections are not refused and the software does not generate any error messages. The outbound bandwidth just hits the limit and stays there.
Measuring web server performance is both easy and hard. Even though programs like webstone and WebSpec allow web server performance to be stated quantitatively, evaluating web server performance is still a tricky task. Our testing of Coyote shows that any modern MV host should be able to drive a full T-1 line to saturation without great difficulty. This can also be stated as 30-70 hits/second or 1800-4200 hits/minute. If the average page size is 5K, then this translates to 175K-350K bytes per second which is more than a T-1.
The fastest test that we have run with Coyote maxxed out at about 1400K/second which is faster than normal Ethernet. This was done on a dual-proc Pentium 200 MMX server with mvBase and is far from the fastest system you can build. It was a test with large pages with very little mv/BASIC interaction and is probably not representative of what you could get from a real application with live data.
Achieving decent web server performance within Coyote is pretty easy. Getting this level of performance out of your application code may be a bit harder and depends on your code design, database design, and coding style. In other words, you mileage may vary.
As a side note, we have looked high and low for other products that state performance numbers. We have not seen any Multi-Value products that were willing to post actual data. As a comparison, Microsoft has quoted 50 hits/second for CGI applications running with IIS. It is assumed that this test was done on a quad-processor Pentium PRO-200 system (this is what Microsoft generally runs).
Web pages can be stored either as items in standard MV data files, or external to the MV environment in host accessible directories (for hosted MV platforms) or in PicLan DSG accessible directories (for native Pick platforms). Storing web content in MV data files is the most efficient and best performing solution whereas storing content in external directories may streamline web development.
How can Coyote store binary files in MV data files?If you configure Coyote to serve binary documents from MV data files, the binary data is stored in HEX. Coyote also includes the tools that you need to import these items into the MV environment and correctly convert their storage formats.
Is Coyote efficient at serving binary files?In general, yes. The Coyote web server is optimized to serve web pages that are from 0K to about 200K-500K in size. As the page size grows, the PicLan-IP processes have to load the entire page into memory before they can be transmitted over the network. This makes Coyote a quite capable web server for most "normal" web content, but you should probably not use it for serving multi-megabyte ZIP archives.
Coyote web applications are a combination of HTML and mv/BASIC. You have two basic choices on how web applications are organized. You can either develop "active server pages" that include mv/BASIC source code within your HTML documents, or you can use the mv/WEB framework to build multi-page application with transparent support for persistence.
I thought "active server pages" were specific to Microsoft's IIS.The concept of active server pages is simply the concept of including application source code directly within HTML pages. Microsoft's IIS does this with VBscript. Coyote does this with mv/BASIC. If you want to write your application in VBscript accessing an ODBC-only database, then you want to use IIS. If you want to write your application in mv/BASIC accessing a Multi-Value database, then you what to use Coyote.
What is the mv/WEB framework?The original release of the PicLan-IP web server (now named Coyote) included MV active server pages. This in conjunction with HTML form hidden input fields allowed developers to write multi-page application that implemented "persistence". The mv/WEB framework makes this process much easier by allowing you to develop multi-page web application using the same top-down programming model that you are used to in developing MV terminal applications.
If you are developing very simple, single-page applications, you will probably want to use active server pages. For more serious applications, including converting entire terminal applicaitons into web applications, the mv/WEB framework is definately the way to go.
If you are deploying a public web server, you do need to be concerned with security. The PicLan-IP suite of products are quite secure in and of themselves, but the underlying host system may not be so fortunate. We have prepared an article on security and performance with some more specific recomendations.
You recomend running the web server on our main MV host. Is this safe?If your web application needs access to live MV data from your main MV host, then we think you should run the web server on that host. This is the fastest and most reliable configuration that you can construct. If you are concerned about security, you should be concerned regardless of where the web server resides. Having the web server resident on your main host system does little to either increase or decrease your exposure to outside threats.
What about SSL and electronic commerce?Coyote is an HTTP server. Coyote is not currently an HTTPS server. It does have the ability to support electronic commerce applications, but does not directly implement SSL (Secure Sockets Layer). Implementing SSL directly in Coyote is being investigated, but is not currently complete because of the maze of product licensing and royalties, US goverment export regulations, and a host of other complicated issues. If your application does need SSL support, Modular Software is providing an SSL "redirector" that allows the SSL portion of your e-commerce application to sit behind IIS providing secure transmission to your users for credit card and other similar high-security transactions. This redirector layer is easy to setup with IIS and allows your MV application to continue to run within the Coyote web server environment while providing your users confidence in e-commerce transactions. You can also setup the Microsoft Proxy Server on Windows NT to echo secure web connections to Coyote. Each of these methods provides a completely secure framework for running your MultiValue web application.
Applications that you write within the Coyote environment can themselves use other PicLan-IP functions such as electronic mail. HTTP client, and TCP/IP socket services. This allows you web application to fully utilize both Multi-Value data and resources as well as other internet resources that are either local or remote to your company.