350 likes | 529 Views
Building the Best Visual Studio Database Applications George F. Goley IV Senior Partner Micro Endeavors Inc. WWW.MicroEndeavors.Com. PowerPoint Template Subtitle color. Select File/Save As Select File/Slide Setup choose On Screen Show See next slide for guidelines. Sample colors. Overview.
E N D
Building the Best Visual Studio Database ApplicationsGeorge F. Goley IVSenior PartnerMicro Endeavors Inc.WWW.MicroEndeavors.Com
PowerPoint TemplateSubtitle color • Select File/Save As • Select File/Slide Setup chooseOn Screen Show • See next slide for guidelines Sample colors
Overview • Review the Keynote Fox Tennis Club Project • Review of specs and code • Visual FoxPro in a world of components • When is FoxPro alone not enough? • When is FoxPro needed? • Roles of the members of Visual Studio
The Fox Tennis Club Project • Premise • replace paper system • enhance existing fox system • add to existing c/s system • Players want to make reservations: • on the web • in person, or on the phone • Staff need “view” of courts
Which tools were used? • Visual Basic 5 • Visual FoxPro 5 • Visual InterDev 1 • IIS and ASP pages • SQL Server • Internet Explorer
What code runs where? • Internet User • Any browser that supports forms • Intranet User • ClubFoxApp.exe or ClubVBApp.exe • Clireg32 pointer to foxkeymid clubfoxsvr • IE3 or 4 pointing to foxkeysvr/pClubAxDoc.htm • pclub.ocx(udcCourts2.ctl)
What code runs where? • FoxKeyMid • clubfoxsvr.exe • club.dbc, reservations.dbf • foxkeysvr • SQL Server members table • IIS club.asp & ActiveX Document
Why did you do that?! • Some corporate data in SQLServer = not File/Server • Server is busy = low Server use • Real-time requests= Visual FoxPro SPEED! • Business rules complex and TSQL is obscure • Error messages need to be useful • Visual FoxPro very flexible/familiar
Why did you do that?! • Internet = no connection • One or 2 tier solution won’t work • Intranet = Different front ends • Depends on “Corporate standard du jour” • Visual Basic and Visual FoxPro apps in office • Some users want browser-based ActiveX Documents
Why did you do that?! • ActiveX Control • for multiple front ends • Visual FoxPro server • easy business rule code • high speed, especially filtered • access to SQL Server • available to all front ends • ASP pages • pure html for Internet
Census • How many use • Fox in a 1 tier solution?? • VB in a 1 tier solution? • Microsoft SQL Server or other C/S? • Visual C++? • Visual J++ ? • Visual InterDev / ASP pages / IIS
Intranet Specs • Present staff with view of courts • Use colors for availability • Scrollable, resizable, matrix • View any day • DblClick to schedule
ActiveX Control for Courts • Written in Visual Basic 5 • Can be hosted by almost anything • RaiseEvent to allow various hosts to: • evGetData = populate the grid with reservations • evMakeReservation = attempt to reserve a court • Review udcCourts2
Hosts for udcCourts2 • Visual FoxPro exe (clubfoxapp) • Visual Basic exe (clubvbapp) • ActiveX Document (docclubaxdoc.vbd)
Visual FoxPro Middle Tier • Business rules • DBFs and remote views • Review of clubfoxsvr (easysvr.udcdatagiver) • club.dbc • mGetData • Fwrite vs. concatenating vars • mRequestReservation
Web Front-end Specs • Must run on all popular browsers • Must interact with Intranet data and applications • Present user with list of available courts for a specific date • User selects date • User enters names and Id • User chooses from open courts
Web Implementation • ASP page to produce “pure” HTML to run on all browsers • Visual FoxPro Server produce list of available courts for a date • Visual FoxPro Server process reservation requests • All business logic in Visual FoxPro server
George F. Goley, IV: Web ASP code • Visual InterDev to produce asp • Review clubAsp2.asp
When is n-tier a good idea? • Low-bandwidth connection • Internet • RAS • WAN • Over-loaded server • Multi-step processing of data • especially heterogeneous data • Under-powered work stations
Why use Visual Studio • Build ActiveX Controls • Build ASP pages • Visual Database Tools • Anomaly Tracking System
Why use Visual FoxPro • Currently, the best Microsoft tool for building database applications • Great middle tier server • Great interactive DBMS tool • DBC and ODBC make for fast local data store
When use Visual Studio • Other languages in use • Moving Visual FoxPro to web • Improving your resume
When use Visual FoxPro • Record oriented data smashing • Fast, heterogeneous data access • Filtered access to large tables • Single record retrieval from large tables • Complex, changing business rules • Any one or two tier database application
Notes: • Scalability • Number of copies of Visual FoxPro Servers that “fit” on one machine • Individual tables limited to 2 gigabytes • Security • Handled by MTS
Roles for Visual Studio Members • Visual FoxPro 6.0 • Visual Basic 6.0 • Visual C++ • Visual J++ • Visual InterDev
Visual FoxPro 6 Role • Build all-in-one apps using high-speed DBFs • Front-end to 2-tier applications (Off-line views) • Middle tier for data warehousing and data manipulation • Server for Visual Basic and Browser-based front-ends (Database container) • “Father” of ADO/RDO
Visual Basic 6 Role • Build Front ends to run in NT/95/98 • Build ActiveX Controls components for other applications • Build ActiveX Documents and ActiveX Controls for Browser-hosted front ends • Build DLLs for business and processing logic in middle tier for MTS and DCOM • Create all-in-one apps with MDBs or VFPODBC-hosted DBFs
Visual C++ Role • Build fast system-level components • Build small ActiveX Controls for web and Visual Basic • Build database apps using OLEDB • Faster, smaller, DLLs, OCXs, EXEs
Visual J++ Role Today • Cross-platform, Browser-hosted apps • Run-time apps without browsers • Database support through: • wrapped COM and ActiveX Controls • Callbacks through sockets • “Safe” applets for browsers
Visual J++ Role in future • Front end • Middle tier • No “native” database access • No inherent performance benefits • Fits COM model for building components
Visual InterDev Role • Create ASP, DHTML, and HTML pages • Server and Client-side scripting • Script Wizard, ActiveX wizards • HTML layouts • Visual InterDev not required for ASP and HTML, but does make it easier • Deploy browser-based applications
Questions • www.microsoft.com/vfoxpro • www.microsoft.com/vstudio • www.microendeavors.com • Visual FoxPro training • Visual FoxPro Development • Microsoft ATEC (Visual Studio) • George@microendeavors.com