Session E-WC

West Wind Web Connection
(& Visual WebBuilder)

Rick Strahl
http://www.west-wind.com


Web Connection

Web Connection is a complete Web application framework for developing and delivering scalable e-business solutions. It is a proven development platform for integrating browser, server and database technologies into Web applications for Visual Studio and especially Visual FoxPro developers. The framework features tools to build HTML based applications as well as rich distributed applications with clients in the Visual FoxPro or browser environment focusing on the latest in XML technology.

Connect Visual FoxPro to the World Wide Web with West Wind Web Connection and take full advantage of Visual FoxPro's powerful data access and programmability for creating dynamically generated Web content. Web Connection provides a scalable Web platform for building fast, powerful and flexible applications with ease. Take your pick between code based HTML creation or FoxPro based HTML scripting, dynamic form rendering or PDF Report generation, or powerful features for generating XML to create your Web output. The supplied classes and tools greatly simplify receiving Web server requests, using the provided information and generating the final dynamic HTML and other data content like XML or raw data to return to the client. In addition Web Connection includes powerful client side tools for accessing Web and Internet content from Visual FoxPro to build rich distributed applications utilizing XML and SOAP.

What is Web Connection?

Take advantage of Web Connection's cutting edge technology that leverages Microsoft Internet Information Server, ISAPI, COM, Windows DNA and Visual FoxPro for building high performance Web backends that can handle large scale production loads. Web Connection has been rigorously tested and deployed in a live environment on one of the busiest commercial online stores at the time on the Web running as many as 1.5 million Web Connection Server hits per day maxing out 3 full T1 lines. Web Connection has been tested in excess of 3 million backend hits a day on a single dual processor server during load testing. Although Web Connection works best with Microsoft Internet Information Server it can run on any ISAPI or CGI compliant Web server.

And Web Connection is ready for the next wave, too: The Enterprise Edition features a COM object pool manager that allows building VFP servers that can be scaled and at the same time interface with other Microsoft Internet Technologies like COM+. And unlike other tools from Microsoft, Web Connection makes it easy to develop COM applications. Build and debug the application interactively in the VFP IDE, then simply switch into COM operation mode from a Web link and take advantage of COM performance, scalability and administration without the development hassles of a pure COM environment - get all the benefits of COM without the development and administration pain. Compiled servers can run either as COM objects or as standalones for testing and debugging.

And that's not all. Web Connection even provides the tools to let you build powerful distributed Web applications that take advantage of XML, client side HTTP messaging, and data transformations for applications that rely on content other than HTML. Use a VFP backend (or a VFP->SQL Server/Oracle backend) to serve as an XML data server providing XML input and output from VFP cursors, SQL backends and stored procedures and even VFP and COM objects. Or use Web Connection's powerful Web Services feature that allow you to build SOAP based Web Services that can be called from any SOAP compliant client application. Call these XML server applications with wrapper classes from VFP clients or use plain XML messages to call it directly from browser, java or any client on other platforms. 

Get your business data online and have your VFP applications share data over the Web today without having to rely on clumsy HTML interfaces! Use VFP as a client and/or data server. The opportunities are endless. Check out our distributed Web demos for ideas on how to use this powerful technology. (These demos require IE5 and VFP6 installed on the client).

Web Connection includes a 2 meg help file for online documentation with a rich User Guide that includes a number of Step By Step guides to take you through various tasks. A complete class reference is also provided with rich examples. "The best documentation in the business", rave some of our customers. There are also over 30 sample requests that demonstrate the features of Web Connection and several demo applications that put the pieces together for a full fledged application. The West Wind Message Board forum software is provided with full source code, including the offline reader which demonstrates using a VFP client side application sharing data with an online Web application.

Web Connection is a developer tool and ships with full source code for the object oriented Web framework and all of the support tools and sample. This is a fully open architecture that you as the developer have control over - no hidden away black box code here! Use the source to customize, learn and protect your investment into the future.

But don't take our word for it: You can download a fully functional shareware version to try for yourself. You may also want to check out what some of our customers are saying about Web Connection and check out some of the commercial sites that are running Web Connection today.

Put the power of Microsoft Visual FoxPro, ISAPI, COM and Microsoft Internet Information Server to work for you today!

Base Features:

·Take advantage of Visual FoxPro to its fullest extent. Build on what you know inside of the Visual FoxPro Development Environment. Focus on your app, not the Web.

·        Easy installation and continuing configuration using the Web Connection Management Console.

·        New Project, New Process and System Configuration Wizards make it easy to create new applications and get them installed on a server.

·        Develop applications interactively inside of the VFP IDE and debug live Web requests. 

·        Compile your server into COM objects only for deployment, not while debugging!

·        Run multiple servers on local and/or remote machines for improved response times and scalability to take advantage of additional CPU power.

·        Use the Web Connection to write your application without having to learn all the Web logistics - be productive now and learn as you go!

·        Active Server Compatible object names. Move between Web Connection and ASP easily. Web Connection can even create ASP components that can be called from ASP pages. Test and debug your Web requests in VFP then hook them up to ASP without changes! All you do is recompile as a COM DLL.

·        Easily generate HTML from tables and records with single method calls.

·        Bullet proof error handling and logging to avoid hanging your server.

·        High and low level HTML generation class methods.

·        Full arsenal of XML functions for converting VFP data and objects to and from XML. 

·        Active Server like scripting engine supports ASP syntax with FoxPro code including ASP object support. Includes 'live' debugging.

·        'Run' external HTML pages containing FoxPro script code.

·        Support for creating VFP client server apps over HTTP. Send and retrieve files and run queries from a VFP client, talking to a VFP Web backend.

·        Access COM components over the Web from any XML enabled client application or a VFP client application.

·        Complete Web Connection Server management via HTML and/or VFP interfaces (start, stop, maintenance mode, hold requests, online code updates, server status etc).

·        Built in request logging and graphical log statistics.

·        Built-in support for SMTP Email, HTTP GET and POST, FTP, and RAS dialing.

·        Full source code is provided for the Visual FoxPro framework

·        Over 250 pages of documentation, tutorials and examples. 

Enterprise Features:

·        Automatic support for turning your application into COM objects. Every project can run as a standalone EXE or COM server, or as an MS Transaction Server DLL.

·        COM object pooling with the built-in ISAPI Pool Manager that allows for concurrent operation of servers on both local and remote machines. Web Connection's pool manager is more than twice as efficient than similar components hosted in MTS and called from ASP pages.

·        Up to 32 simultaneous server instances with full control over those instances.

·        Auto-recovery of crashed or timed out server instances.

·        Live binary code updates on the server. Update your COM objects without stopping the Web server (COM operation only).

·        Full remote administration of COM objects via HTML interface. Start, stop, control instance counts and live code updates.

·        Dynamically generate HTML from VFP forms! Run many forms 'as is' and keep business logic in standard business object or visual controls. Drive forms over the Web!

·        Create Adobe Acrobat (PDF) Web viewable and printable documents from your VFP reports (requires Adobe Acrobat).

·        Support for browser based file uploads and multi-part forms. Client side HTTP classes also support multi-part forms.

·        Create SOAP based Web Services by simply creating a new class! Use our SOAP client to call those services with a couple of lines of code over the Web.

·        Run SQL Queries and commands and return results over HTTP from VFP client applications. Return results as VFP cursors, ADO recordsets or XML.

·        West Wind Web Monitor application that can help you monitor your Web site and notify and correct problems as they occur.

·        West Wind Message Board and Offline reader sample applications with full source code. Learn from our examples of how to use a VFP client app to talk to a VFP Web server app over the Web for data transfers.

·        Powerful wwMSMQ class along with samples how to run asynchronous Web requests so you can offload processing to other machines.

·        Source Code to the Setup and Management Console application for building your own custom installs for vertical applications as well as Web Server configuration components to allow your VFP applications to create Virtual directories and script maps for all versions IIS, PWS, Apache, Website and Commerce Builder. 

Framework Info

Web Connection consists of two major pieces of software that make up the overall product. A small C++ based connector application (ISAPI dll or CGI exe) that implements the communication interface between the Web Server and your Visual FoxPro application, and an extensive framework of Visual FoxPro classes that makes it easy to build application specific Web code. The Visual FoxPro framework is open and is shipped with full source code with any registered version of the product. 

The Visual FoxPro framework consists of classes that manage communication with the Web connector ISAPI extension. They handle server management and administration, retrieving server and browser form variables from the server making them easily available to your code and providing a powerful set HTML classes and support tools that make short work of interactively building the HTML required to display your application on the Web. Web Connection provides access to all advanced HTTP based features including built in support for frame-management and displaying HTML script pages containing FoxPro code and expressions from disk. Many advanced features like HTTP Authentication, HTTP Cookies, Sessions, custom HTTP headers, request logging, remote administration and configuration and server load balancing are built into the product. And you can use Web Connection with tools like FrontPage or Visual InterDev to design your pages and still use Web Connection to run your FoxPro code inside of them and even call these pages directly from your code! 

The framework is a utility framework rather than an application framework such as FoxExpress, MaxFrame, Mere Mortals or the like. Rather you can use existing frameworks and their business classes with Web Connection. Web Connection provides the Web server plumbing and interface to your application, but not the business object framework. The idea is that this tool should not interfere with the way you build applications today - you use what you already know and add Web functionality to it. Keep in mind though, that Web Connection will not take an existing application and magically run it as a Web application. The user interface will need to change or at the very least have to be tweaked to be workable as a Web interface. You'll use Web Connection as the front end and build transaction based logic using either straight procedural FoxPro code, or business objects of your own. 

Web Connection also provides advanced tools for building distributed Web applications that use VFP or XML clients to access data and logic on the Web server. With Web Connection you can run SQL queries and execute COM objects over the Web or use plain manual Web requests to provide data to client applications. Web Connection provides the client side HTTP tools as well as high level XML conversion tools that make XML integration a snap. The Web isn't all about HTML and these data messaging features let you build powerful distributed applications that aren't limited by HTML output. 

There's ample of documentation in our help file and over 30 short examples and several sample applets that demonstrate a wide variety of the features available in Web Connection. All samples come with source code for you to check out and plug into your own code. 

There are also several small sample applications that show how to put individual features together into a working application. Among them is the the West Wind Message Board application used on the West Wind site, which ships with full source code and demonstrates a full blown Web application that provides an HTML interface as well as using a distributed architecture to share data over the Web using the Offline reader application. 

Web Connection has been field tested on a number of high volume sites. Web Connection has been run at over 1.5 million+ requests per day at www.surplusauction.com and not even close to maxing out. This busy site is (was – surplus merged with onsale.com) one of the top commercial sites on the Internet. 

…and what it isn't

Web Connection makes it easy to build Web applications, but it will not take an existing application and run it on the Web as is. Work is required to convert the interface to an HTML based design and if your application mixes interface and database logic tightly, existing code might not be easily integrated into your new Web application. On the other hand if your business logic is separated clearly from the interface then reusing business rules and other rule based classes or procedures will be easily integrated into your Web applications. Keep in mind you will have access to almost all of Visual FoxPro's wonderfully powerful features with limitations on VFP's GUI features! 

Web applications are server based and respond to requests made from a Web page. As such they are not event driven or even really interactive. Rather a request made on your server is typically treated as an entire transaction in and of itself and must be fully self-contained. In the stateless world of the Web transaction based programming is the norm and it's rather different than typical Visual FoxPro based Windows application programming. In some ways it's more work to build the interface, in others it's strangely simple to build straight line processing code that grinds through data and spits out the results or a populated input form without having to worry about all the GUI logic (80% of most apps is spent on GUI issues?). 

Another option for existing standalone applications is to build a distributed application that use the Web as a data transfer mechanism. If you go this route your UI code can potentially be reused using data pulled down from the server using tools in the wwIPStuff library. See the Online Distributed Application Demo (requires VFP6!) for an idea of what you can do. 

If you're new to the Web take a deep breath and read on - there's lots of info in this document that will clarify the way the Web works. Web Connection makes it easy to leverage your FoxPro skills. Once you understand the basic flow of information over the Web things will fall into place and allow you to be productive very quickly. You can crank out quality high performance applications without having to learn all of the Web technology up front and you'll learn about Web technology as you use Web Connection to build applications. 

Web Connection was created by Rick Strahl and is published by West Wind Technologies, the premier producer of Internet tools and software for Visual FoxPro. For additional information on Web Connection please visit the Web Connection Web site at:

http://www.west-wind.com/webconnection/

Pricing Info:

Web Connection is available direct from West Wind Technologies

Price: $399.00 (Includes 1 server license and 1 single developer license)

For full pricing info, please visit:

http://www.west-wind.com/webconnection/wcpricing.htm

 

dFPUG c/o ISYS GmbH

Frankfurter Str. 21 b

 

D-61476 Kronberg

per Fax an:

+49-6173-950903

oder per e-Mail an:

konferenz@dfpug.de

© Texte, Grafiken und Inhalt: ISYS GmbH