Developing Web-based  Database-Enabled Applications using Microsoft products 2001 ACE/NETC Conference Toronto, Canada Fred Rodriguez  Texas Agricultural Extension Service
Presentation Outline Web-development Philosophy Web-development Choices Web-development System  Examples of Applications Questions and Answers
Web Development Philosophy
Web Development Philosophy WWW browser is a Universal Interface Dynamic content has advantages over Static content Object-Oriented development can cut costs Server-side Scripting is a must Databases can empower your site
Web Development Philosophy  (continued) Production environment must be kept separate from the Development environment
WWW Browser is a Universal Interface   The internet has become synonymous with computers and information WWW browsers are freely available WWW browsers are easy to use WWW browsers are powerful WWW browsers are the interface of choice
Dynamic content has advantages over Static content Easier to Maintain Content and Presentation can be dealt with separately Mass changes to content are easily made Eliminate numerous HTML files that must be maintained Easily add HTML functionality without re-writing any HTML
Dynamic content has advantages over Static content  (continued) Keep one copy of Universal Information without having to “link” to it or “include” it on multiple pages Enhanced Search Capabilities Context-Sensitive Searches Complex Searches Multiple Site or Partial Site Searches
Object-oriented development can cut costs Classes of Objects can be dealt with as a whole Objects can be shared and reused more easily than non-Objects Use HTML Objects which have some characteristics of HTML operators, but they can have enhanced or controlled behaviour
Server-side Scripting is a must More reliable than Client Side Scripting Does not create classes of users Eliminates need for obtrusive techniques like cookies Can implement security features easily Can be a bottleneck
Databases can empower your site Better match for Dynamic Environment than a file-oriented system More powerful and universal methodology than file-oriented system Scales well Economical
Production environment must be kept separate from Development Reliability key to application acceptance Must have an environment to explore possibilities Must have an environment to test new procedures and programs on Testing should not impact production
Web Development Choices
Server Platform Microsoft Windows NT/2000 Advanced Server  (with Internet Information Server IIS) Economical (Cost $250) Easy to setup Well-suited to Database and Applications Active Server Pages make system powerful, easy to develop on, and very dynamic Expandable (Clustering)
Database  SQL Server 6.5 or 7.0 Economical (~$300) Easy to setup and use and administer Powerful (Transactions a must) Access 97 or 2000 Economical (~$100) Easy to setup and use and administer
Visual Basic Scripting Economical (free/part of Operating System) Easy to learn and use Powerful Somewhat Object-Oriented Unfortunately also proprietary Already familiar with
Web Development System DODADS Dynamic Object-oriented Database-driven Application Development System
Dodads - Tables Application Table Screens Table Screen Sections Table HTML Objects Table Server/Database/Table/Fields Tables
Dodads - Application Table Title/Logo Server/Database/Tables Needed Server/Database/Tables relationships Security (if any) Navigation between screens Key Field
Application Table Fields HA_Key:  19  HA_Name:  Discuss  HA_Title:  Discuss/Chat Board HA_Logo_URL:  http://multimedia.tamu.edu/images/logos/resources.gif HA_Security_Profile_XID:  1 HA_Background_Image_URL: HA_Background_Color: HA_Background_Music_URL:
Application Table Fields -  continued HA_Link_Color:  HA_Visited_Link_Color:  HA_Active_Link_Color:  HA_Font_Face:  HA_Font_Size:  HA_Font_Color:  HA_Status_XID:  HA_Status_Message:
Application Table Fields -  continued HA_Default_First_Screen_XID: 54 HA_Subfunction_Screen_Map:  Display,Menu,54,Display,Messages,51 HA_Sort_Field_Names:  Chat_Date_Time DESC HA_Reports_Screen_Map:  HA_Key_Field_Name:  Resources/Development/Chats/Chat_Key HA_Criteria:
Application Table Fields -  continued HA_Selection_List_Fields_Line1: HA_Selection_List_Fields_Line2: HA_Selection_List_Fields_Line3: HA_Selection_List_Fields_Line4: HA_Selection_List_Fields_Line5:  HA_Selection_Field_Names: HA_SDT_Future:  16|#|,Cannot ADD this Record|#|
Application Table Fields -  continued HA_SDT_Application:  Resoururces/Development/Servers|#|,Resources/Development/Databases|#|,Resources/Development/Tables|#|,Resources/Development/Fields|#|,Resources/Development/Chats|#|,Resources/Development/Resources|#|,Resources/Development/Projects|#|,Resources/Development/Project_People_Roles|#|,Resources/Development/People|#| HA_SDT_System:  Resources/Development/Servers|#|,Resources/Development/Databases|#|,Resources/Development/Tables|#|,Resources/Development/Fields|#|,Resources/Development/HTML_Applications|#|,Resources/Development/HTML_Screens|#|,Resources/Development/HTML_Screen_Sections|#|,Resources/Development/HTML_Objects|#|,Resources/Development/HTML_Screen_Images|#|,Resources/Development/Email_Requests|#| HA_SDT_Log_Transactions:  HA_SDT_Deletions: HA_SDT_Relationships:  Resources/Development/Chats/Chat_Resource_XID\=\Resources/Development/Resources/Resource_Key|#|,Resources/Development/Chats/Chat_Topic_XID\=\Resources/Development/Projects/Project_Key|#|,Resources/Development/Chats/Chat_Resource_XID\=\Resources/Development/People/People_Key|#|
Screen Table Fields Screen Number and Name Screen Last Updated Date/Time Screen Last Generated Date/Time Screen Always Regenerate Flag
Screen Section Table Fields Screen Section Key/Name Screen ID Section ID Sequence Number Server/Database/Table Criteria
Screen Section Table Fields -  continued Database Start At Database Read Records Process Start At Process Records Repeat Loop Conditional Existence
HTML Object Fields Object Key Object Type (Rich set of Types) Object Name Object Value Object Properties Object Conditional Existence
Server/Database/Table/Fields Fields Server Name/Number Database Name/Number Table Name/Number Field Name/Number/Properties
Web Development Examples

2001

  • 1.
    Developing Web-based Database-Enabled Applications using Microsoft products 2001 ACE/NETC Conference Toronto, Canada Fred Rodriguez Texas Agricultural Extension Service
  • 2.
    Presentation Outline Web-developmentPhilosophy Web-development Choices Web-development System Examples of Applications Questions and Answers
  • 3.
  • 4.
    Web Development PhilosophyWWW browser is a Universal Interface Dynamic content has advantages over Static content Object-Oriented development can cut costs Server-side Scripting is a must Databases can empower your site
  • 5.
    Web Development Philosophy (continued) Production environment must be kept separate from the Development environment
  • 6.
    WWW Browser isa Universal Interface The internet has become synonymous with computers and information WWW browsers are freely available WWW browsers are easy to use WWW browsers are powerful WWW browsers are the interface of choice
  • 7.
    Dynamic content hasadvantages over Static content Easier to Maintain Content and Presentation can be dealt with separately Mass changes to content are easily made Eliminate numerous HTML files that must be maintained Easily add HTML functionality without re-writing any HTML
  • 8.
    Dynamic content hasadvantages over Static content (continued) Keep one copy of Universal Information without having to “link” to it or “include” it on multiple pages Enhanced Search Capabilities Context-Sensitive Searches Complex Searches Multiple Site or Partial Site Searches
  • 9.
    Object-oriented development cancut costs Classes of Objects can be dealt with as a whole Objects can be shared and reused more easily than non-Objects Use HTML Objects which have some characteristics of HTML operators, but they can have enhanced or controlled behaviour
  • 10.
    Server-side Scripting isa must More reliable than Client Side Scripting Does not create classes of users Eliminates need for obtrusive techniques like cookies Can implement security features easily Can be a bottleneck
  • 11.
    Databases can empoweryour site Better match for Dynamic Environment than a file-oriented system More powerful and universal methodology than file-oriented system Scales well Economical
  • 12.
    Production environment mustbe kept separate from Development Reliability key to application acceptance Must have an environment to explore possibilities Must have an environment to test new procedures and programs on Testing should not impact production
  • 13.
  • 14.
    Server Platform MicrosoftWindows NT/2000 Advanced Server (with Internet Information Server IIS) Economical (Cost $250) Easy to setup Well-suited to Database and Applications Active Server Pages make system powerful, easy to develop on, and very dynamic Expandable (Clustering)
  • 15.
    Database SQLServer 6.5 or 7.0 Economical (~$300) Easy to setup and use and administer Powerful (Transactions a must) Access 97 or 2000 Economical (~$100) Easy to setup and use and administer
  • 16.
    Visual Basic ScriptingEconomical (free/part of Operating System) Easy to learn and use Powerful Somewhat Object-Oriented Unfortunately also proprietary Already familiar with
  • 17.
    Web Development SystemDODADS Dynamic Object-oriented Database-driven Application Development System
  • 18.
    Dodads - TablesApplication Table Screens Table Screen Sections Table HTML Objects Table Server/Database/Table/Fields Tables
  • 19.
    Dodads - ApplicationTable Title/Logo Server/Database/Tables Needed Server/Database/Tables relationships Security (if any) Navigation between screens Key Field
  • 20.
    Application Table FieldsHA_Key: 19 HA_Name: Discuss HA_Title: Discuss/Chat Board HA_Logo_URL: http://multimedia.tamu.edu/images/logos/resources.gif HA_Security_Profile_XID: 1 HA_Background_Image_URL: HA_Background_Color: HA_Background_Music_URL:
  • 21.
    Application Table Fields- continued HA_Link_Color: HA_Visited_Link_Color: HA_Active_Link_Color: HA_Font_Face: HA_Font_Size: HA_Font_Color: HA_Status_XID: HA_Status_Message:
  • 22.
    Application Table Fields- continued HA_Default_First_Screen_XID: 54 HA_Subfunction_Screen_Map: Display,Menu,54,Display,Messages,51 HA_Sort_Field_Names: Chat_Date_Time DESC HA_Reports_Screen_Map: HA_Key_Field_Name: Resources/Development/Chats/Chat_Key HA_Criteria:
  • 23.
    Application Table Fields- continued HA_Selection_List_Fields_Line1: HA_Selection_List_Fields_Line2: HA_Selection_List_Fields_Line3: HA_Selection_List_Fields_Line4: HA_Selection_List_Fields_Line5: HA_Selection_Field_Names: HA_SDT_Future: 16|#|,Cannot ADD this Record|#|
  • 24.
    Application Table Fields- continued HA_SDT_Application: Resoururces/Development/Servers|#|,Resources/Development/Databases|#|,Resources/Development/Tables|#|,Resources/Development/Fields|#|,Resources/Development/Chats|#|,Resources/Development/Resources|#|,Resources/Development/Projects|#|,Resources/Development/Project_People_Roles|#|,Resources/Development/People|#| HA_SDT_System: Resources/Development/Servers|#|,Resources/Development/Databases|#|,Resources/Development/Tables|#|,Resources/Development/Fields|#|,Resources/Development/HTML_Applications|#|,Resources/Development/HTML_Screens|#|,Resources/Development/HTML_Screen_Sections|#|,Resources/Development/HTML_Objects|#|,Resources/Development/HTML_Screen_Images|#|,Resources/Development/Email_Requests|#| HA_SDT_Log_Transactions: HA_SDT_Deletions: HA_SDT_Relationships: Resources/Development/Chats/Chat_Resource_XID\=\Resources/Development/Resources/Resource_Key|#|,Resources/Development/Chats/Chat_Topic_XID\=\Resources/Development/Projects/Project_Key|#|,Resources/Development/Chats/Chat_Resource_XID\=\Resources/Development/People/People_Key|#|
  • 25.
    Screen Table FieldsScreen Number and Name Screen Last Updated Date/Time Screen Last Generated Date/Time Screen Always Regenerate Flag
  • 26.
    Screen Section TableFields Screen Section Key/Name Screen ID Section ID Sequence Number Server/Database/Table Criteria
  • 27.
    Screen Section TableFields - continued Database Start At Database Read Records Process Start At Process Records Repeat Loop Conditional Existence
  • 28.
    HTML Object FieldsObject Key Object Type (Rich set of Types) Object Name Object Value Object Properties Object Conditional Existence
  • 29.
    Server/Database/Table/Fields Fields ServerName/Number Database Name/Number Table Name/Number Field Name/Number/Properties
  • 30.