Building the Best Visual Studio Database Applications

Download Report

Transcript Building the Best Visual Studio Database Applications

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

Review the Keynote Fox Tennis
Club Project


Visual FoxPro in a world of
components



Review of specs and code
When is FoxPro alone not
enough?
When is FoxPro needed?
Roles of the members of Visual
Studio
The Fox Tennis Club Project

Premise




Players want to make
reservations:



replace paper system
enhance existing fox system
add to existing c/s system
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’s running where
Middle Tier
Server
VFP Server
VFP DBC
MSSQL Server
IIS
Intranet User
Internet User
VFP app exe
VB app exe
ActiveX Doc Object
Any Form capable Browser
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


Visual FoxPro server





for multiple front ends
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





Over-loaded server
Multi-step processing of data


Internet
RAS
WAN
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 highspeed DBFs
Front-end to 2-tier applications (Offline views)
Middle tier for data warehousing and
data manipulation
Server for Visual Basic and Browserbased 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)
[email protected]