Web based School

Chapter 2

Visual InterDev: Up Close and Personal

On Chapter 1, you learned about the need for a new kind of tool like Visual InterDev to address the urgent void of application development tools for the Web. Developers have been clamoring for an integrated development tool that provides comprehensive support for the various tools, languages, and technologies for creating Web applications. There has been a lot of press about Visual InterDev and how this tool finally addresses many of these concerns. ToChapter, you will have an up close and personal tour of Visual InterDev, and see its fascinating features. You also will learn the answers to the following questions:

  • What is Visual InterDev?

  • Why use Visual InterDev?

  • How should I use Visual InterDev?

Throughout the Chapter, you will see application examples that have been built using Visual InterDev. ToChapter's objective: exploring the integrated development environment of Visual InterDev and discovering how the tool can immediately begin enhancing your applications and productivity.

What Is Visual InterDev?

The World Wide Web (WWW) has made the Internet come alive for many new users. In the initial stages, users realized that they could view numerous documents on various topics from all over the world. Through the WWW, people have access to a plethora of knowledge. Not only can you read about many interesting topics on the Web, but you also can find information about your favorite products and services.

Once you have gained this knowledge, you will invariably want to act on it. Some companies have built Web-based applications, enabling you to buy their products and services electronically over the Internet. Other companies enable you to fill out registration information to begin receiving certain services. The point is, applications enable the user to act on the knowledge they have gained. Businesses can capitalize on opportunities sooner by becoming closer to the customer through a virtual marketplace. Visual InterDev provides all the necessary tools to build these vital applications for the Web.

Visual InterDev is a comprehensive, Web-based application development tool. Visual InterDev provides an integrated environment that brings together various technologies to work towards a common goal of building robust and dynamic applications for the Web. Visual InterDev achieves this integrated development environment through the use of the Developer Studio shell interface, first used in Microsoft's Visual C++. You can open and work on Visual C++ and Visual J++ projects while simultaneously creating your Visual InterDev project. This feature greatly enhances productivity, especially when you're building COM and DCOM components and incorporating these components into your Visual InterDev application.

Visual InterDev enables the developer to build applications that are dynamic and interactive. YesterChapter you learned about the difference between static and dynamic web pages. Visual InterDev enables the developer to build dynamic web pages through the use of client- and server-side script. VBScript is the default scripting language, but JavaScript also can be used.

Database integration is vital to any application. Visual InterDev provides a rich and robust set of visual database tools to immediately enhance your productivity. Visual InterDev supports the major ODBC-compliant databases, both on the desktop and the server.

Managing your web site once it has been developed is a very crucial function. Visual InterDev provides a set of tools to view and maintain your site. These tools are similar and compatible with the site management tools found in Microsoft FrontPage.

Visual InterDev supports the major object-based technologies that exist for developing Web-based applications, including ActiveX controls and Java applets. Visual InterDev supports the use of third-party ActiveX controls and enables you to integrate your own custom ActiveX controls. Visual InterDev also provides Design-time Controls that enable you to set control properties when you're designing your application and then use this functionality at runtime without the overhead of a typical ActiveX control.

In a nutshell, Visual InterDev is an exciting new tool that significantly augments a Web developer's productivity. In this next section, you will learn why you need to use Visual InterDev instead of other development tools.

Why Visual InterDev?

The basic premise behind the creation of Visual InterDev was to provide a tool that enabled developers to build dynamic and interactive applications for the Web. On the first Chapter, you read about some of the similarities and differences between client-server application development and application development for the Web. Essentially, these two modes of computing were the same in that they both used the client-server model. That is, client-server and Web applications both facilitate the client making a request of the server. The main difference is the degree to which they distribute the application logic between the client and the server. Figure 2.1 depicts the distribution of logic for a typical client-server application.

Figure 2.1.

A typical configuration for a client-server application.

While a client-server application distributes a mix of presentation, application, and database logic between the client and server, Web applications typically parcel almost all of the logic to the server. Using this mix, Web applications can provide the thinnest client of all, where the only component that's installed on the client machine is a browser. Figure 2.2 shows the configuration for a typical Web-based application.

Figure 2.2.

A typical configuration for a Web-based application.

NOTE: The previous architecture diagrams represent a typical configuration for both client-server and Web-based applications. You can distribute the presentation, application, and database logic to varying degrees between the client and the server in both computing models. This comparison is meant to show the benefit of the Web-based style of computing over client-server in terms of software distribution, version control, and administration.

The benefit of Web-based applications hinges on providing a universal client to all users that make requests of a centralized application stored on the server. This application is comprised of HTML pages, client- and server-side script, object-based controls, and other server-side components that provide robust application processing. With a client-server application, you still have a client component that you have to install with every new enhancement and change to your application. With a Web-based application, the browser and, hence, the client remain unchanged, and the application changes are made centrally, in one place at one time on the server. Administration, software distribution, and version control are significantly simplified under this model.

A problem occurs under the Web-based model in that the Internet doesn't inherently support interactive sessions with the user like the client-server model. Visual InterDev supports the use of server-side components to accomplish a persistent dialogue with the user and, thus, an interactive session.

Visual InterDev provides the tool to take advantage of the new Web-based model of computing. Some development tools focus on supporting a single Internet technology. Others support several technologies for Web-based development but don't provide visual tools to accomplish these tasks. Visual InterDev exceeds existing Web development tools by providing a way to integrate multiple technologies and supplies visual tools to greatly enhance a developer's productivity. Visual InterDev also surpasses and extends the reach of client-server tools to the Internet and the Web.

The Essence of Integration

The American Heritage Dictionary defines the word integration in the following manner:

"1. To make into a whole; unify. 2. To join with something else; unite."

Truly, Visual InterDev unifies and unites the technologies of the Web through its integrated development environment. You can use the environment to rapidly build a robust application. You have at your disposal all of the tools necessary for Web-based application development in one integrated package. In this sense, the whole really is greater than the sum of its parts.

Visual InterDev Development Environment

Visual InterDev provides an integrated container for a variety of visual tools. The integrated development environment is like a house with many rooms. Each of the rooms has its own specific function that contributes to the overall purpose of the house. Similar to the rooms of a house, each function contributes to the well-being of the developer or resident. No single tool is more important than the other, just as no room is more important than another. In a typical house, you can eat, sleep, and take care of your personal hygiene all under the same roof. With Visual InterDev, you can develop your web pages, connect them to a database, and deploy your web site all within the confines of the same development environment.

The Visual InterDev development environment utilizes an implementation of the Developer Studio shell that was first found in Microsoft's Visual C++. Microsoft's Visual J++ also incorporates this development environment. By using the Developer Studio workspace, multiple projects and tools can be supported. Microsoft is bringing its Visual Tools family together by using the same initial shell across products. Developers can open many types of projects created with Visual InterDev, Visual C++, and Visual J++.

The advantage of this integrated support is found in using multiple applications to provide a robust solution. You can build a Java applet using Visual J++, incorporate the applet into your Visual InterDev web application, and test and debug the application all within the same environment. The same holds true for building an ActiveX control using Visual C++. Again, "integration" is the key word. Figure 2.3 illustrates the ability to open multiple types of projects from within the Visual InterDev integrated development environment.

Figure 2.3.

Opening projects with Visual InterDev.

Figure 2.3 shows the Visual InterDev File Open Project dialog window. Notice the ability to open multiple types of projects from within the environment.

When you open your Visual InterDev project, you're viewing your actual web site. The Visual InterDev development environment uses the Explorer interface to view and manage your web site files and folders. This interface simplifies the task of creating and maintaining your web site files and folders. Also, the interface enables you to fully organize the construction of your Web-based application. The integrated development environment enables easy site creation through the use of wizards, and enables developers to reuse files from other sites.

Visual InterDev enables you to easily import existing files into your web site structure. The Explorer interface enables you to accomplish this task through a point-and-click metaphor, just as you copy and paste files and folders on your PC. Figure 2.4 shows a Visual InterDev project using File View.

Figure 2.4.

A typical Visual InterDev project.

The File View is the default view for a typical Visual InterDev project. Notice the tabs at the bottom of the pane on the left-hand side of the workspace. File View enables you to see the structure of your web site including files and folders. This view displays the entire contents of your site, including HTML pages, images, controls, applets, and other files. The pane to the right of this workspace displays the object that is selected based upon its file type. For example, if you selected an HTML page from the list on the left, the HTML code would be displayed in the window on the right.

DataView is the other tab located next to the FileView tab. This view shows all of your database objects, including tables, views, stored procedures, and triggers. The Data View provides a direct connection to your ODBC datasource to enable remote configuration and maintenance as well as interaction. Figure 2.5 demonstrates the Data View showing a sample Access database.

Figure 2.5.

The Data View.

NOTE: The Data View only appears as an option for web projects after you have inserted a database connection. The Data View also is displayed for Database Projects.

Visual SourceSafe Integration

Visual InterDev supports integration with Visual SourceSafe to provide version control cap-abilities like check-in/check-out. Similar to any application development effort, source code control becomes a big issue when you're building a site with multiple team members. Developers can check out their portion of the site, make the appropriate changes, and send the file back to the server to be incorporated with the other developers' files. Effective team development is covered in more detail on Chapter 19, "Working Effectively in Teams with Visual SourceSafe."

Browser Integration

Another feature of Visual InterDev is the integration of a browser within the development environment. Visual InterDev includes an implementation of the Microsoft Internet Explorer 3.0 browser. This implementation supports all of the same features of the commercial version of Internet Explorer, including Java applets, ActiveX controls, ActiveX documents, VBScript and JavaScript, style sheets, and HTML 3.x features such as frames and tables. By using the Preview in Browser feature, you don't have to use one tool to build the application and then open up your browser to view it. With Visual InterDev, you can build your Web-based application and view the results all from within one environment. This feature adds to the speed with which a developer can create and update applications and web sites.

You do have the capability to use the Browse With function to view your web site from within the browser's native window. For example, you could configure Internet Explorer or Netscape Navigator and view the site from within the production browser environment. You probably will want to use this feature during final testing of your web site. If you're deploying your site for use with the Netscape Navigator browser, you have to use this feature.

You can use either of these features by selecting an HTML file and right-clicking the mouse to display the shortcut menu. Figure 2.6 shows the Preview in Browser and Browse With menu options on the shortcut menu for an HTML file.

Figure 2.6.

Browser viewing options.

Taking a Closer Look at the Components

The previous section discussed how Visual InterDev provides an integrated development environment from which to work. You saw the basic Visual InterDev workspace and the different views that are available. In this section, you get a guided tour through each of the features and components that make up Visual InterDev.

Visual InterDev Editors

Visual InterDev provides several visual editors for designing and developing your HTML web pages. The following list outlines those that are available:

  • HTML Source Editor

  • FrontPage Editor for Visual InterDev

  • HTML Layout Editor

  • Object Editor

HTML Source Editor

Using this editor, you can create and edit your HTML code, which is color-coded, providing a visually appealing syntax. You can incorporate many objects and controls, such as HTML layouts and controls, ActiveX controls, and Design-time ActiveX controls. The editor also supports the use of script with your HTML web page. Figure 2.7 highlights standard HTML code using the HTML Source Editor.

Figure 2.7.

The HTML Source Editor.

FrontPage Editor for Visual InterDev

This editor is an implementation of the Microsoft FrontPage Editor created for Visual InterDev. This editor is completely compatible with the full version of Microsoft FrontPage and provides a visual tool for developing HTML web pages. You may already be familiar with Microsoft FrontPage. The FrontPage Editor uses a WYSIWYG approach to develop HTML code. This approach enables you to add HTML features to your web page through a graphical, point-and-click metaphor. For example, to add a table, you select the Insert Table menu item from the Table menu and then visually set the parameters, such as number of rows and columns. With the FrontPage Editor, you can visually work with objects instead of the underlying HTML to construct your web pages. This method can substantially save development time. Once you have constructed a web page using the graphical editor, you can access and manipulate the generated HTML code and add your own custom HTML.

The FrontPage Editor also supports the incorporation of plug-ins, ActiveX controls, and Java applets. Figure 2.8 highlights the WYSIWYG features of the FrontPage Editor for Visual InterDev.

Figure 2.8.

The FrontPage Editor for Visual InterDev.

HTML Layout Editor

The HTML Layout Editor is the same editor that was first included with the ActiveX Control Pad from Microsoft. This editor provides a way to accurately position all of your ActiveX controls on your web page. The interface is very similar to tools like Visual Basic, which enable you to position your objects on forms. With this layout editor, you can drag and drop controls onto the layout and establish their properties and exact position within the web page. When the form is displayed by the browser at runtime, the controls are positioned at the exact coordinates that were specified at design time. The toolbox enables you to add and delete controls. You also can use the Script Wizard to automatically add scripting code for use with your controls. Figure 2.9 displays the HTML Layout Editor.

Figure 2.9.

The HTML Layout Editor.

Object Editor

The Object Editor enables you to establish the properties for your ActiveX and Design-time ActiveX controls as well as Java applets and Netscape plug-ins. The Object Editor is activated after you insert an object into your HTML source code. For example, to position an ActiveX control on your web page, you would right-click the mouse where you wanted the object to be placed within your HTML code.

NOTE: You must click between the <HTML> and </HTML> tags that signify the beginning and ending of your code.

You can then choose between regular and Design-time controls. Once you have chosen a control, the Object Editor is displayed, enabling you to set the properties for the given control. Figure 2.10 exhibits the Object Editor for a typical ActiveX control.

Figure 2.10.

The Object Editor.

As you can see, there are several editors that you can choose, based on the task that you're trying to accomplish. These editors are covered in-depth later in the week. You also will get a chance to use each of these editors to experience their features during the first week.

ActiveX Controls and Java Applets

Visual InterDev includes and supports the use of ActiveX controls. ActiveX controls are the next generation of OLE controls, .OCX files. These controls use less overhead and memory and are perfect for transporting over the Internet. These controls also can be used with other client-server development tools, like Visual Basic and Visual C++. ActiveX controls extend the reach of HTML controls and enable you to create effective user interfaces. Using the editors mentioned in the previous section, you can visually set the properties for the ActiveX control.

Visual InterDev also supports the use of Java applets and Netscape plug-ins. You can work within the frame of either of these controls to visually establish their properties.

Design-Time ActiveX Controls

Visual InterDev uses Design-time ActiveX controls to provide similar functionality to regular ActiveX controls without the processing overhead. Design-time ActiveX controls enable you to visually set properties for the control at design time. The Design-time control then generates HTML and scripting code based on the properties that you select. Regular ActiveX controls differ in that they include a run-time component that executes within the context of the browser.

Design-time ActiveX controls have no run-time component. Their script is processed on the server, and the HTML and results are returned to the client. Visual InterDev provides many Design-time controls, including some very powerful controls for building database connectivity. You can also build your own design-time controls with tools such as Visual Basic and Visual C++.

On Chapter 14, "Extending Web Pages Through Design-Time Controls," you will see how to extend your Web-based applications through the use of design-time controls. On Chapter 16, "Building Design-Time ActiveX Controls," you will have the opportunity to design and develop your very own design-time control.

Active Server Pages

Visual InterDev enables you to add powerful processing for your application on the server through the use of Active Server Pages. If you remember from yesterChapter's lesson, Active Server Pages are a combination of HTML and scripting code that resides on the server. The script is processed before the page is returned to the client machine. Some common uses of Active Server Pages include interacting with a database and performing loop operations on a web page.

Active Server Pages seamlessly integrate with your HTML files. These pages remove the need to link separately compiled programs to accomplish robust application tasks. The other benefit to using Active Server Pages involves the use of ActiveX Server Components. You can build an ActiveX Server Component with tools like Visual Basic and Visual C++ to handle additional application processing.

In a distributed environment, ActiveX Server Components can be used to spread the processing across several application servers. Scripting code is very useful but has its limitations, like the inability to perform file I/O or provide access to system resources. ActiveX Server Components extend the limitations of scripting code by providing these features as well as other robust features. You should use a combination of Active Server Pages and ActiveX Server Components to provide the best solution for the server side of your application equation.

The Script Wizard

Once you have created your basic HTML page and included a few objects, you will want to make your objects come alive. The Script Wizard enables you to accomplish this task, providing a method for adding script to enhance your ActiveX controls. Those of you who have used the ActiveX Control Pad will be familiar with this wizard. You activate the Script Wizard by right-clicking the mouse in an HTML file that contains the object you want to add script for. The Script Wizard provides two basic views: List View and Code View. List View enables you to associate actions with the available events for that control. The script is automatically generated based on the actions that you choose. Code View enables you to directly modify the generated script code as well as add your own custom code. Although the default scripting language is VBScript, Visual InterDev also supports the use of JavaScript. Figure 2.11 shows the Script Wizard in List View.

Figure 2.11.

The Script Wizard as seen through the List View.

File Components

You will be working with various files when developing your Visual InterDev project. The following list outlines some of the most relevant files that you will be working with:

  • HTML files

  • Active Server Page files

  • ActiveX Layout files

  • Global files

  • Multimedia files

HTML Files

HTML files are the most basic file created by Visual InterDev. These files are specified by the .asp extension and contain the HTML code for your web pages. I mentioned earlier toChapter the Visual InterDev editors that are available to edit your HTML code. Visual InterDev supports the HTML 3.2 standards as well as some Microsoft Internet Explorer and Netscape Communicator browser extensions.

Active Server Page Files

Active Server Pages are special HTML pages that provide ActiveX scripting on the server. A few common uses of Active Server Pages include executing loops and connecting to a database. An Active Server Page is denoted by the .asp filename extension. These files reside and are processed on the server before the page is sent to the client machine. The script is never seen by the client. The results are the only thing that are passed back to the browser.

NOTE: Script code is designated by the <% and %> delimiters.

TIP: You can create an .asp file by changing the filename extension of an existing .asp file to .asp.

ActiveX Layout Files

These are files that are created and maintained by the HTML Layout Editor. This editor, as discussed earlier in the Chapter, enables you to visually construct the layout of your web page and controls. An .alx file is created when you use this editor. Your HTML file references this file and incorporates the layout at runtime. You can edit these files by directly opening the file from within File View or by right-clicking the mouse within the <OBJECT> tag for the HTML layout and selecting Edit HTML Layout from the shortcut menu.

Global Files

These files are denoted with the .asa filename extension. A global file, by default, is constructed when you use the Web Project Wizard to create a new project. The global file is very useful for both application and session initialization and termination routines.

Multimedia Files

While enhancing your web page you will probably create images, sounds, music, and other multimedia files to enhance your web page. Some of the multimedia products included with Visual InterDev will be presented in detail later this week. For now, it's important to mention that you can incorporate these files within the context of your Visual InterDev project. Some of the more common image filename extensions include .jpg, .gif, .img, .mic, and .bmp. Some of the more common audio and video extensions include .mid, .mmp, .avi, and .wav. These file types will be explained on Chapter 6, "Spicing Up Your Interface with Images and Multimedia."

File Management Components

So far you have seen different components and files that make up a Visual InterDev project. The benefits of having an integrated tool to manage these components has been emphasized. Visual InterDev provides comprehensive site and file management tools to help maintain your components during every phase of development and deployment.

The File View enables you to view and manage all of the file types located in your project. The left-hand pane of the Visual InterDev workspace behaves just like the Windows Explorer, enabling you to drag and drop files. Full right-mouse button functionality is also provided. The shortcut menu makes it easy to change the names of files, to move files within your web site hierarchy, and to copy files to other Visual InterDev projects. You can create folders that represent the sub-directories for your web site. You can copy the sub-directories, including all of the files, to another web site. Another powerful feature is the Copy Web command. This feature enables you to copy an entire web site from one place to another. This can save time when preparing your site for deployment. By using this command, you can migrate your site from a development server to a testing server and, eventually, to a production server.

Visual InterDev automatically verifies links between pages and ensures that no links have been changed or broken. Upon detection of a broken link, Visual InterDev is able to repair these broken links. For example, if you changed the name of a file that was used by a web page in your project, Visual InterDev would detect the link and prompt you to update the web page reference to the file.

The Link View provides a powerful tool for viewing the entire structure of your web site. This tool enables you to graphically see the content of your web site, how each object is related, and filename and property information of each object. This view is similar to using an entity relationship diagram to graphically view a database. You can double-click on any item in the view to use the appropriate editor to manipulate the object. You also can select parameters to view only certain objects or files. Figure 2.12 illustrates the power of the Link View.

Figure 2.12.

The Link View.

Visual InterDev incorporates many components to provide a very robust and powerful development platform. You will have a chance to use each of these components in due time. For now, though, it's time to discuss some of the multimedia tools that accompany Visual InterDev.

Multimedia Tools

Several multimedia tools are included with Visual InterDev. These tools are separate applications but can be initiated from within the Visual InterDev development environment. Each of these products also can be purchased separately from Microsoft. The multimedia tools include

  • Image Composer

  • Music Producer

  • Media Manager

NOTE: The Image Composer and the Music Producer are covered in detail on Chapter 6.

Image Composer

The Microsoft Image Composer enables you to develop professional-looking graphics through an easy-to-use interface. The Image Composer is capable of many of the features of other graphics packages, but differs from them in that it supports images as objects, or sprites. Sprites are independent objects that have a defined shape. Sprites enable you to easily edit images by selecting, moving, and changing the individual sprites that make up the image. Figure 2.13 displays the Image Composer environment.

Figure 2.13.

The Image Composer.

Music Producer

The Microsoft Music Producer enables you to create sounds and music for your web site. The Music Producer includes many musical styles for building creative and innovative musical compositions. Once you select a musical style, you can then choose the personality of the music as well as the band. A band can include up to six different musical instruments. You then compose the music based on your selections while modifying the tempo, timing, and key of the music. Sounds and music can definitely enliven the web page experience for your users. Figure 2.14 depicts the Music Producer workspace.

Figure 2.14.

The Music Producer.

Media Manager

The Media Manager provides a tool to manage your multimedia files. This tool is incorporated into the Windows Explorer to enable proper file management of all your multimedia components. Special folders are created for each of your multimedia file types. You can create thumbnail sketches of your files based on the file type to see a quick view of the file without launching its host application. This feature is similar to the Quick View feature of the Windows Explorer. Figure 2.15 shows the Windows Explorer with the special folders for your multimedia files.

Figure 2.15.

The Media Manager.

Finally!...Database Integration

There has usually been a tradeoff between the power of database tools and their ease of use. The development tools that have provided the most robust power in terms of features have not been very intuitive to use. Likewise, those tools that have been very easy to use haven't provided the most powerful features. With Visual InterDev, you now have both: powerful features and an intuitive, easy-to-use interface.

Another component that has been missing specifically in Web-based development tools has been database connectivity and integration. You typically have had to use one tool to develop your web site and another tool to provide the database connectivity. Connecting to a database is extremely important when building a Web-based application. Visual InterDev takes care of this aspect, as well, by incorporating the Visual Data Tools within the Visual InterDev development environment. These visual tools significantly augment a database programmer's capabilities and productivity.

Data View

The Data View is one of the main views available within Visual InterDev. This view enables you to see all of the database components contained in your project. These components include tables, fields, views, stored procedures, and triggers. Through this view, you can directly manipulate the objects in your database. By selecting an object, you can view detailed information about the object in the display area to the right of the Data View pane.

Query Designer

The Query Designer enables you to visually build SQL queries for your application. The Query Designer uses the Microsoft Access interface and significantly improves development time for building database interaction. Similar to the Access interface, you can drag and drop objects onto the design pane area. You can then construct your query by associating various tables and fields. As you build your query, the results are displayed in the design pane. You can view the SQL as it's constructed as well as the query criteria upon which the SQL statement is comprised. You can stack the different windows within the design pane display area. For example, you might want to view the tables, SQL statement, and results, all within the design pane. Using this layout, you could manipulate your SQL statement while validating the results, all within the confines of the design pane. Figure 2.16 demonstrates the graphical nature and power of the Query Designer.

Figure 2.16.

The Query Designer.

As you can see from Figure 2.16, the query designer visually displays your database objects. This picture illustrates how you can stack a diagram of the tables, the query criteria, the constructed SQL, and the query results all in the design pane display.

The Query Designer saves an inordinate amount of time in building your SQL statements. You may choose to manipulate the generated SQL or build SQL statements on your own. Visual InterDev enables you to easily accomplish all of these tasks.

Database Designer

Visual InterDev provides the Database Designer to help you design and implement your SQL database. This tool currently only supports Microsoft SQL Server. The Database Designer provides a visual tool for creating and maintaining your database. You can directly manipulate the properties of your database objects, or you can generate the necessary Data Definition Language (DDL) scripts to execute against the database. Figure 2.17 shows some related tables using the Database Designer.

Figure 2.17.

The Database Designer.

One of the most laborious tasks for database administrators (DBAs) is changing a field type for a table that has existing data. I remember how cumbersome this process was from my early Microsoft SQL Server DBA Chapters. First, you had to back up the existing data. Then, you had to execute a DDL script that would drop the table and create a new table with the revised field type. Finally, you restored the data back into the revised table.

The Database Designer enables you to change field types for your database table by selecting the type from a drop-down combo box. The Database Designer handles the data type conversion for you. Again, the ease of the Microsoft Access interface has been used to make cumbersome administrative tasks relatively easy.

Stored Procedure/Trigger Editor

This tool enables you to create and maintain stored procedures and triggers for your application. Stored procedures are SQL statements that are precompiled in the database. You call a stored procedure by name from your application, passing it the appropriate parameters. Stored procedures are more efficient than dynamic SQL because they reduce the number of steps to execute the SQL call. A trigger is a special type of stored procedure that executes based on some event that occurs in the database. For example, you might create a trigger to execute whenever a row is deleted in an Order Header table, ensuring that referential integrity is maintained and no Order Detail records exist for the deleted Order Header.

Visual InterDev enables you to create, view, and maintain stored procedures for Microsoft SQL Server 6.x and Oracle 7.x databases. You also can establish who has permission to execute this stored procedure or trigger. You can debug your stored procedures through the use of the Visual InterDev debugger.

ActiveX Data Objects

Visual InterDev achieves database integration through the use of the ActiveX Data Objects model (ADO). The ADO model has been specifically designed for database connectivity over the Web. These database objects are more efficient than previous database controls used with existing client-server tools. Also, ADO easily accommodates the management of binary objects like images and other multimedia objects. The ADO model supports the use of stored procedures and cursors for robust database access.

Database Design-Time Controls

Visual InterDev includes several database Design-time controls. These controls enable you to easily establish database connections for your applications by setting database connection properties for the particular control. After you have set these properties, the Design-time control automatically generates all of the necessary scripting and connection information for you. Examples of database Design-time controls include the Data Command control and the Data Header and Data Footer control. These powerful controls enable you to construct a web page that interacts with a database and displays the results with little or no programming. You will get a chance to use these controls on Chapter 8.

Database Wizards

Visual InterDev provides several database wizards that significantly reduce the time for developing database connections for your web pages. These wizards guide you through the process of establishing connectivity with your database. Examples of Visual InterDev database wizards include the New Database Wizard and the Data Form Wizard. The New Database Wizard guides you through the process of creating a new SQL Server database. The Data Form Wizard enables you to create an ActiveX HTML form that is database-enabled. In other words, this form can execute all of the relevant database functions including inserting, selecting, updating, and deleting information.

NOTE: The Data Form Wizard creates an Active Server Page, or .asp, file to execute the database calls. This .asp file must reside on a server that supports the ActiveX Server framework.

How Should I Use Visual InterDev?

With all of the features introduced toChapter, you may be wondering where to begin. Also, you may be asking questions about how to use these features when building your Web-based application. Visual InterDev should be used as a high-end development tool for building applications for the Web. The key words in the last sentence are "high-end" and "applications." If all you want to do is publish basic information on the Web, you might want to consider another tool like an HTML editor. Visual InterDev is too powerful for a menial task like document publishing. This prior example would be synonymous to having Charles Barkley, forward for the Houston Rockets, carry the suitcases for the team on all the road trips. He could do it, but there are people better suited for this task.

Visual InterDev is specifically designed to meet all of your application development needs while providing compatibility with other tools like FrontPage. In fact, for your development team, you may want to include functional members such as a marketing person to construct the content for the various web pages, using a tool like FrontPage. Then, application developers can incorporate that content into Visual InterDev and build a robust Web-based application. The different roles of development team members are discussed in more detail on Chapter 5.

The following is a checklist for deciding how to use each of the features of Visual InterDev:

1. Define what are you are trying to accomplish.

Identify the alternatives for accomplishing this task.

Assess the strengths of each method.

Choose the best alternative.

Implement to perfection.


As you can see, Visual InterDev is a very comprehensive and powerful tool. In toChapter's lesson, you were taken on a guided tour of Visual InterDev. You have been given a taste of the features and components that make Visual InterDev such a powerful application development tool for the Web.

When the Chapter began, Visual InterDev was described, and the question of why you should use this exciting new tool was answered. An in-depth discussion of its components and features followed. I talked about the powerful integrated development environment, which significantly enhances your productivity and makes Web programming fun again by enabling you to build your applications within the confines of a single tool. I then covered each of the major Visual InterDev components. In reading about the components, you saw how their features could be used to develop your application.

Database integration is one of the most significant features of Visual InterDev. For this reason, this topic was saved for the end of the Chapter to keep your attention. Visual Data Tools that enable you to use an intuitive, visual environment while constructing and executing powerful database commands were discussed, as were database wizards, which can make your life easier by guiding you through complex processes.

Remember, this material is just scratching the surface of the power of this tool. Over the next few weeks, you will be exploring and learning about the power of Visual InterDev. You should set a goal to learn how to incorporate each of these features into building more robust and powerful Web-based applications. Your overall goal, however, should be to learn to use Visual InterDev to its fullest capacity. Your users will thank you for it when they interact with your applications.

You have already learned a lot so far. YesterChapter, you learned about the relationship between applications, the Web, and Visual InterDev. ToChapter, you went on a guided tour of the features and components of Visual InterDev. These two lessons have set the stage for tomorrow when you will learn the final component necessary for developing applications for the Web. On Chapter 3, you will learn about development and deployment considerations when designing, constructing, and promoting Web-based applications. After tomorrow's lesson, you will be ready to start building your first Visual InterDev project, which you will do on Chapter 4.


Q What is the difference between Visual InterDev and FrontPage?

Visual InterDev is a development tool for building Web-based applications and is a part of the Microsoft Visual Tools family. Other tools in this group include Visual C++, Visual Basic, and Visual J++. FrontPage is a Web authoring tool for non-programmers and is an extension of the Microsoft Office family. While FrontPage focuses on content and publishing, Visual InterDev focuses on application development. Visual InterDev and FrontPage are completely compatible. Visual InterDev also includes the FrontPage Editor for Visual InterDev, which is a special implementation of the editor included in the commercial version of FrontPage.

Does Visual InterDev support Java?

Yes. Visual InterDev supports the incorporation of Java applets and Java components.

Q How can I get ActiveX Controls for my applications?

Visual InterDev includes many ActiveX and Design-time ActiveX controls. You also can choose from over 1000 third-party controls on the market. Finally, you can create your own ActiveX and Design-time ActiveX controls with tools like Visual Basic and Visual C++.


Think about previous client-server or Web-based application development that you may have done. Think about the tools that you used and the strength of their features. For those of you who have developed for the Web, I want you to specifically think about how many tools you have used in the past to develop and deploy your application. Compare that list to Visual InterDev and how you think it will make your life easier. For all developers, write down your expectations and anticipated benefits. Save this list for the third and final week and see if Visual InterDev exceeds your expectations.

You may want to have an HTML reference on hand as you venture on through the week. HTML 3.2 and CGI Unleashed by John December and Mark Ginsburg is a very good reference.


1. What is the main benefit of Web-based applications over typical client-server applications?

What is the purpose of the HTML Layout Editor?

What is the difference between Active Server Pages and ActiveX Server Components?

What is the difference between an ActiveX control and a Design-time ActiveX control?

Name a multimedia tool that is included with Visual InterDev and its purpose.

Quiz Answers

1. The main benefit to Web-based applications is that code changes to the client are practically reduced, thereby simplifying software distribution, version control, and administration. The reason for this is the use of a browser as a universal client and the use of the server as the primary location of the presentation, application, and database logic. In a client-server configuration, an executable file resides on the client. When you make changes to your application, you have to re-deploy the application to each of the client machines. In the Web-based model, you make your changes in one place on the server.

Similar to the ActiveX Control Pad, the HTML Layout Editor enables you to accurately position ActiveX controls onto your web page.

Active Server Pages are a combination of HTML and scripting code that enable you to perform dynamic actions for your applications at the server. All of the script is processed on the server and the results are sent back to the client. Active Server Components are executable programs or dynamic link libraries that execute at the server to handle tasks such as file I/O and resource-intensive processes. The difference is that an Active Server Component is a compiled program. Active Server Pages are not compiled, and are typically used to call ActiveX Server Components.

ActiveX controls differ from Design-time ActiveX controls in that ActiveX controls include a run-time component that executes within the context of the browser. Design-time ActiveX controls provide a visual guide for establishing properties that are generated into HTML and scripting code. Design-time ActiveX controls don't incur processing overhead because they don't have a run-time component.

Possible answers include the following:

Image Composer--Design and development of graphic images
Music Producer--Creation of music and sounds
Media Manager--Management of multimedia files