SlideShare uma empresa Scribd logo
1 de 16
West Wind Web Connection 
for Visual FoxPro 
by Rick Strahl 
Making Waves on the Web with 
Visual FoxPro 
(since 1995) 
West Wind Technologies 
http://www.west-wind.com/
West Wind Web Connection 
 Extensive and extensible VFP 
framework for Web development 
 Easy to install, easy to run! 
 Fast: Significantly faster than ASP 
 Works as COM or standalone EXE 
 Real-time, live debugging 
 Scalable 
 Highly efficient COM Thread Pool 
 Remote machine server support 
 Remote server management
How Web Connection works 
Internet 
Web 
Server 
IIS, Apache 
Persistent 
________________________ 
Web 
Connection 
Server 
Database 
Server and Form Request 
wc.dll 
_______________________________ 
ISAPI 
ASP.NET 
_______________________________ 
COM 
File Based 
HTTP/HTML Response 
FoxPro 
Code 
Fox Scripted 
HTML 
HTML 
GET/POST 
HTTP Client 
Browser 
Desktop App 
WC Framework 
(Fox classes) 
Your Code 
(Fox business logic)
Messaging modes 
How Web Connection communicates with the Web server 
File Based Messaging 
 Running as a standalone EXE or inside VFP IDE 
 Development and interactive debugging 
 Simple installation and administration 
 Multi-machine operation w/o DCOM 
COM Based Messaging 
 Deployment only option 
 Slightly faster 
 Can handle more traffic under load 
 Pool Manager provides scalability 
 Full remote administration and control of servers
File Based Messaging 
wc.dll 
ISAPI 
ASP.NET 
creates wc_*.tmp 
Content file 
waits for wc_*.ret 
reads HTML result 
from file 
WC Server 
(VFP) 
Form with Timer 
polls for wc_*.tmp 
wc_*.tmp contains 
request data 
Reads data and 
parses into 
Request object 
generates HTML 
into a file through 
Response object 
creates wc_*.ret 
on completion 
Content File 
Wc_xxx.tmp 
contains all 
form and server info 
HTML File 
contains the HTTP output 
to return to the server 
Wc_xxx.ret 
result message file
COM Messaging 
wc.dll 
ISAPI 
ASP.NET 
creates instance 
of COM Server 
(one time – from 
pool manager 
after that) 
creates content 
string 
calls COM Server 
w/ content string 
parameter 
reads HTML return 
value from 
method call 
WC Server 
(VFP) 
COM Server 
ProcessHit() receives 
content as string 
parameter 
Parses data into 
Request object 
generates HTML 
to a string through 
Response object 
returns result 
as a string 
Content String 
Request Info 
contains all 
form and server info 
returns HTTP output as String
Web Connection Framework Core 
wwServer 
Visual FoxPro class 
handles request routing on 
incoming requests. 
creates wwRequest 
Contains all Server and 
HTML Form Variables 
Passed to 
wwProcess 
Developer entry point where 
Web handling code is written. 
HTTP/HTML Response string Each request maps to a method. 
Uses 
wwResponse 
wwProcess uses this class 
to create all output 
Framework Classes 
Message/Worker Classes
How your code gets called 
wwServer 
::ProcessHit() 
Visual FoxPro form class 
handles request routing on 
incoming requests. 
invokes 
wwServer::Process() 
Routes request to 
your PRG file 
MyProcess 
creates new Process object 
and calls Process method 
wwProcess 
Contains MyMethod() that 
creates HTML output. 
Class can contain 
multiple methods. 
To process this URL: 
wc.dll?MyPRG~MyMethod 
Or script-mapped: 
MyMethod.map 
Returns HTML object
Process Classes ontop of the Core 
 Raw Process Class – Process Methods 
 Raw and fast low level engine 
 Methods mapped to requests 
 Very easy model to understand 
 Basis for any other engines 
 Web Control Framework 
 Object orientated Page abstraction 
 Fairly complex model ontop of base Process engine 
 Sophisticated state management and visual editing support 
 Web Services 
 Allows calling Web Services through Web Connection 
 .wwSoap files or Process class implementation
Using COM Automation 
 Better performance under load 
 COM servers can be controlled 
through the ISAPI extension 
 Servers load automatically 
 Remote loading and unloading 
 Auto-crash recovery on any failures or timeouts 
 Visual administration 
 Live online code updates
Creating COM Servers 
 No code changes 
 Web Connection detects mode 
 Adjusts objects for COM or File operation 
 Configure server with DCOM 
 Run DCOMCNFG 
 Find server by classname 
 Set Default Launch and Access permissions 
 Set Impersonation to Interactive User 
 MTS Components can also be used 
 Allows running within MTS transactions 
 Allows use of DLL servers 
 No performance benefits though!
Creating COM Servers (cont.) 
 Called with equivalent of: 
oServer=CREATEOBJECT("MyProject.MyServerClass") 
oServer.ProcessHit(”Query+String=wwDemo~Test") 
 Server should be compiled as Single 
Use EXE COM object. 
 Pool Manager manages multiple live 
instances of servers dynamically.
COM Pool Manager in Web Connection 
Serverx 
Single Use Exe 
Instance 2 
Clientx Clientx Clientx 
Pool Manager 
Persistent Client connections to the server 
ISAPI DLL 
Serverx 
Single Use Exe 
Instance 1 
Serverx 
Single Use Exe 
Instance 3 
HREF=“wc.dll?TestPage~Parm1”
Web Connection Administration 
DLL Functions 
Server Status 
Session Management 
Code Updates 
wwMaint Class 
Log Functions 
Status Functions 
Utility Function 
Server Window 
Server Status 
Display Input/Output 
View Logs
Web Connection & Community 
 We have a stable, mature product 
 We've put the Fox on the Web since 1995 
 Continually updated and kept up to date 
 Large number of installations 
 Strong support 
 We built it, we know it – we support it 
 We're very interested in customer feedback 
 Versions and changes are customer driven 
 Lively Web Connection Community 
 The West Wind Message Board 
 Lively peer to peer support 
 Deep technical discussions about Web development 
 Very high signal to noise ratio 
 We're proud of the very bright group of people 
who contribute regularily.
Buying Web Connection 
 Pricing 
 $399.00 per server/developer 
 10% discount at this conference 
 Licensing 
 Physical Server based License Model 
 Single License 
 1 Developer License 
 1 Server License for 1 physical server 
 Runtime Licenses available 
 50 Servers/developers ($699) 
 Unlimited Servers/developers ($1,599) 
 requires one dev license 
 Come see us at the booth 
 Demos 
 Questions & Suggestions 
 Be involved

Mais conteúdo relacionado

Mais procurados

ESB Online Training Part 2
ESB Online Training Part 2ESB Online Training Part 2
ESB Online Training Part 2Vince Soliza
 
AMF Flash and .NET
AMF Flash and .NETAMF Flash and .NET
AMF Flash and .NETYaniv Uriel
 
Advanced WCF Workshop
Advanced WCF WorkshopAdvanced WCF Workshop
Advanced WCF WorkshopIdo Flatow
 
ASP.NET Request Processing Internals
ASP.NET Request Processing InternalsASP.NET Request Processing Internals
ASP.NET Request Processing InternalsAbhijit Jana
 
Server Side Programming
Server Side Programming Server Side Programming
Server Side Programming Zac Gordon
 
Web services testing
Web services testingWeb services testing
Web services testingrammikn
 
Server side programming
Server side programmingServer side programming
Server side programmingSayed Ahmed
 
SOAP-UI The Web service Testing
SOAP-UI The Web service TestingSOAP-UI The Web service Testing
SOAP-UI The Web service TestingGanesh Mandala
 
Presentation on control panel in web hosting
Presentation on control panel in web hostingPresentation on control panel in web hosting
Presentation on control panel in web hostingSmritiSingh184
 
Custom connector development using mule DevKit
Custom connector development using mule DevKitCustom connector development using mule DevKit
Custom connector development using mule DevKitRamakrishna Narkedamilli
 
Improving end user experience using ManageEngine Applications Manager
Improving end user experience using ManageEngine Applications ManagerImproving end user experience using ManageEngine Applications Manager
Improving end user experience using ManageEngine Applications ManagerManageEngine, Zoho Corporation
 
Browser APIs for data exchange: types and application
Browser APIs for data exchange: types and applicationBrowser APIs for data exchange: types and application
Browser APIs for data exchange: types and applicationPavel Klimiankou
 
New Features of ASP.NET 4.0
New Features of ASP.NET 4.0New Features of ASP.NET 4.0
New Features of ASP.NET 4.0Buu Nguyen
 

Mais procurados (19)

ESB Online Training Part 2
ESB Online Training Part 2ESB Online Training Part 2
ESB Online Training Part 2
 
AMF Flash and .NET
AMF Flash and .NETAMF Flash and .NET
AMF Flash and .NET
 
Advanced WCF Workshop
Advanced WCF WorkshopAdvanced WCF Workshop
Advanced WCF Workshop
 
ASP.NET Request Processing Internals
ASP.NET Request Processing InternalsASP.NET Request Processing Internals
ASP.NET Request Processing Internals
 
Server Side Programming
Server Side Programming Server Side Programming
Server Side Programming
 
Web services testing
Web services testingWeb services testing
Web services testing
 
Server side programming
Server side programmingServer side programming
Server side programming
 
SOAP-UI The Web service Testing
SOAP-UI The Web service TestingSOAP-UI The Web service Testing
SOAP-UI The Web service Testing
 
Restful API's with ColdFusion
Restful API's with ColdFusionRestful API's with ColdFusion
Restful API's with ColdFusion
 
Presentation on control panel in web hosting
Presentation on control panel in web hostingPresentation on control panel in web hosting
Presentation on control panel in web hosting
 
Web Services Testing
Web Services TestingWeb Services Testing
Web Services Testing
 
Database & Database Users
Database & Database UsersDatabase & Database Users
Database & Database Users
 
Custom connector development using mule DevKit
Custom connector development using mule DevKitCustom connector development using mule DevKit
Custom connector development using mule DevKit
 
Soap ui
Soap uiSoap ui
Soap ui
 
Improving end user experience using ManageEngine Applications Manager
Improving end user experience using ManageEngine Applications ManagerImproving end user experience using ManageEngine Applications Manager
Improving end user experience using ManageEngine Applications Manager
 
Browser APIs for data exchange: types and application
Browser APIs for data exchange: types and applicationBrowser APIs for data exchange: types and application
Browser APIs for data exchange: types and application
 
Flex for php developers
Flex for php developersFlex for php developers
Flex for php developers
 
Hidden Gems in ColdFusion 2016
Hidden Gems in ColdFusion 2016Hidden Gems in ColdFusion 2016
Hidden Gems in ColdFusion 2016
 
New Features of ASP.NET 4.0
New Features of ASP.NET 4.0New Features of ASP.NET 4.0
New Features of ASP.NET 4.0
 

Semelhante a Webconnection

DevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetDevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetAdil Mughal
 
Asp dot net final (1)
Asp dot net   final (1)Asp dot net   final (1)
Asp dot net final (1)amelinaahmeti
 
Asp dot net final (1)
Asp dot net   final (1)Asp dot net   final (1)
Asp dot net final (1)amelinaahmeti
 
Web API or WCF - An Architectural Comparison
Web API or WCF - An Architectural ComparisonWeb API or WCF - An Architectural Comparison
Web API or WCF - An Architectural ComparisonAdnan Masood
 
Ims soa tm and db solutions evgeni oct 2011
Ims soa tm and db solutions evgeni oct 2011Ims soa tm and db solutions evgeni oct 2011
Ims soa tm and db solutions evgeni oct 2011evgeni77
 
Enterprise Software Architecture
Enterprise Software ArchitectureEnterprise Software Architecture
Enterprise Software Architecturerahmed_sct
 
58615764 net-and-j2 ee-web-services
58615764 net-and-j2 ee-web-services58615764 net-and-j2 ee-web-services
58615764 net-and-j2 ee-web-serviceshomeworkping3
 
Asp.net server controls
Asp.net server controlsAsp.net server controls
Asp.net server controlsRaed Aldahdooh
 
Dh2 Apps Training Part2
Dh2   Apps Training Part2Dh2   Apps Training Part2
Dh2 Apps Training Part2jamram82
 
Scalable Web Architectures and Infrastructure
Scalable Web Architectures and InfrastructureScalable Web Architectures and Infrastructure
Scalable Web Architectures and Infrastructuregeorge.james
 
9781423903055 ppt ch08
9781423903055 ppt ch089781423903055 ppt ch08
9781423903055 ppt ch08临枫 盖
 
Windows Azure AppFabric
Windows Azure AppFabricWindows Azure AppFabric
Windows Azure AppFabricDavid Chou
 
Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5Clint Edmonson
 
Introduction to the Client OM in SharePoint 2010
Introduction to the Client OM in SharePoint 2010Introduction to the Client OM in SharePoint 2010
Introduction to the Client OM in SharePoint 2010Ben Robb
 

Semelhante a Webconnection (20)

Asp dot net long
Asp dot net longAsp dot net long
Asp dot net long
 
Asp dot net final (2)
Asp dot net   final (2)Asp dot net   final (2)
Asp dot net final (2)
 
DevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetDevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp Net
 
Asp dot net final (1)
Asp dot net   final (1)Asp dot net   final (1)
Asp dot net final (1)
 
Asp dot net final (1)
Asp dot net   final (1)Asp dot net   final (1)
Asp dot net final (1)
 
Walther Ajax4
Walther Ajax4Walther Ajax4
Walther Ajax4
 
Web servers
Web serversWeb servers
Web servers
 
Web API or WCF - An Architectural Comparison
Web API or WCF - An Architectural ComparisonWeb API or WCF - An Architectural Comparison
Web API or WCF - An Architectural Comparison
 
Ims soa tm and db solutions evgeni oct 2011
Ims soa tm and db solutions evgeni oct 2011Ims soa tm and db solutions evgeni oct 2011
Ims soa tm and db solutions evgeni oct 2011
 
Enterprise Software Architecture
Enterprise Software ArchitectureEnterprise Software Architecture
Enterprise Software Architecture
 
WCF And ASMX Web Services
WCF And ASMX Web ServicesWCF And ASMX Web Services
WCF And ASMX Web Services
 
Asp.netrole
Asp.netroleAsp.netrole
Asp.netrole
 
58615764 net-and-j2 ee-web-services
58615764 net-and-j2 ee-web-services58615764 net-and-j2 ee-web-services
58615764 net-and-j2 ee-web-services
 
Asp.net server controls
Asp.net server controlsAsp.net server controls
Asp.net server controls
 
Dh2 Apps Training Part2
Dh2   Apps Training Part2Dh2   Apps Training Part2
Dh2 Apps Training Part2
 
Scalable Web Architectures and Infrastructure
Scalable Web Architectures and InfrastructureScalable Web Architectures and Infrastructure
Scalable Web Architectures and Infrastructure
 
9781423903055 ppt ch08
9781423903055 ppt ch089781423903055 ppt ch08
9781423903055 ppt ch08
 
Windows Azure AppFabric
Windows Azure AppFabricWindows Azure AppFabric
Windows Azure AppFabric
 
Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5
 
Introduction to the Client OM in SharePoint 2010
Introduction to the Client OM in SharePoint 2010Introduction to the Client OM in SharePoint 2010
Introduction to the Client OM in SharePoint 2010
 

Webconnection

  • 1. West Wind Web Connection for Visual FoxPro by Rick Strahl Making Waves on the Web with Visual FoxPro (since 1995) West Wind Technologies http://www.west-wind.com/
  • 2. West Wind Web Connection  Extensive and extensible VFP framework for Web development  Easy to install, easy to run!  Fast: Significantly faster than ASP  Works as COM or standalone EXE  Real-time, live debugging  Scalable  Highly efficient COM Thread Pool  Remote machine server support  Remote server management
  • 3. How Web Connection works Internet Web Server IIS, Apache Persistent ________________________ Web Connection Server Database Server and Form Request wc.dll _______________________________ ISAPI ASP.NET _______________________________ COM File Based HTTP/HTML Response FoxPro Code Fox Scripted HTML HTML GET/POST HTTP Client Browser Desktop App WC Framework (Fox classes) Your Code (Fox business logic)
  • 4. Messaging modes How Web Connection communicates with the Web server File Based Messaging  Running as a standalone EXE or inside VFP IDE  Development and interactive debugging  Simple installation and administration  Multi-machine operation w/o DCOM COM Based Messaging  Deployment only option  Slightly faster  Can handle more traffic under load  Pool Manager provides scalability  Full remote administration and control of servers
  • 5. File Based Messaging wc.dll ISAPI ASP.NET creates wc_*.tmp Content file waits for wc_*.ret reads HTML result from file WC Server (VFP) Form with Timer polls for wc_*.tmp wc_*.tmp contains request data Reads data and parses into Request object generates HTML into a file through Response object creates wc_*.ret on completion Content File Wc_xxx.tmp contains all form and server info HTML File contains the HTTP output to return to the server Wc_xxx.ret result message file
  • 6. COM Messaging wc.dll ISAPI ASP.NET creates instance of COM Server (one time – from pool manager after that) creates content string calls COM Server w/ content string parameter reads HTML return value from method call WC Server (VFP) COM Server ProcessHit() receives content as string parameter Parses data into Request object generates HTML to a string through Response object returns result as a string Content String Request Info contains all form and server info returns HTTP output as String
  • 7. Web Connection Framework Core wwServer Visual FoxPro class handles request routing on incoming requests. creates wwRequest Contains all Server and HTML Form Variables Passed to wwProcess Developer entry point where Web handling code is written. HTTP/HTML Response string Each request maps to a method. Uses wwResponse wwProcess uses this class to create all output Framework Classes Message/Worker Classes
  • 8. How your code gets called wwServer ::ProcessHit() Visual FoxPro form class handles request routing on incoming requests. invokes wwServer::Process() Routes request to your PRG file MyProcess creates new Process object and calls Process method wwProcess Contains MyMethod() that creates HTML output. Class can contain multiple methods. To process this URL: wc.dll?MyPRG~MyMethod Or script-mapped: MyMethod.map Returns HTML object
  • 9. Process Classes ontop of the Core  Raw Process Class – Process Methods  Raw and fast low level engine  Methods mapped to requests  Very easy model to understand  Basis for any other engines  Web Control Framework  Object orientated Page abstraction  Fairly complex model ontop of base Process engine  Sophisticated state management and visual editing support  Web Services  Allows calling Web Services through Web Connection  .wwSoap files or Process class implementation
  • 10. Using COM Automation  Better performance under load  COM servers can be controlled through the ISAPI extension  Servers load automatically  Remote loading and unloading  Auto-crash recovery on any failures or timeouts  Visual administration  Live online code updates
  • 11. Creating COM Servers  No code changes  Web Connection detects mode  Adjusts objects for COM or File operation  Configure server with DCOM  Run DCOMCNFG  Find server by classname  Set Default Launch and Access permissions  Set Impersonation to Interactive User  MTS Components can also be used  Allows running within MTS transactions  Allows use of DLL servers  No performance benefits though!
  • 12. Creating COM Servers (cont.)  Called with equivalent of: oServer=CREATEOBJECT("MyProject.MyServerClass") oServer.ProcessHit(”Query+String=wwDemo~Test")  Server should be compiled as Single Use EXE COM object.  Pool Manager manages multiple live instances of servers dynamically.
  • 13. COM Pool Manager in Web Connection Serverx Single Use Exe Instance 2 Clientx Clientx Clientx Pool Manager Persistent Client connections to the server ISAPI DLL Serverx Single Use Exe Instance 1 Serverx Single Use Exe Instance 3 HREF=“wc.dll?TestPage~Parm1”
  • 14. Web Connection Administration DLL Functions Server Status Session Management Code Updates wwMaint Class Log Functions Status Functions Utility Function Server Window Server Status Display Input/Output View Logs
  • 15. Web Connection & Community  We have a stable, mature product  We've put the Fox on the Web since 1995  Continually updated and kept up to date  Large number of installations  Strong support  We built it, we know it – we support it  We're very interested in customer feedback  Versions and changes are customer driven  Lively Web Connection Community  The West Wind Message Board  Lively peer to peer support  Deep technical discussions about Web development  Very high signal to noise ratio  We're proud of the very bright group of people who contribute regularily.
  • 16. Buying Web Connection  Pricing  $399.00 per server/developer  10% discount at this conference  Licensing  Physical Server based License Model  Single License  1 Developer License  1 Server License for 1 physical server  Runtime Licenses available  50 Servers/developers ($699)  Unlimited Servers/developers ($1,599)  requires one dev license  Come see us at the booth  Demos  Questions & Suggestions  Be involved