Client/Server Development and Remote Data Access in Visual Basic
Many applications today require access to a database located remotely, sometime over the Internet. This course will teach the student how to create both a server and a client application that can communicate with each other over the Internet and provide access to a central database.
The course is broken up into three main sections: Database Access, Communications, and the Final Project. The first section teaches different methods of data access and manipulation by creating a standalone Visual Basic application that binds a MS Access database. The second section introduces the student to communicating over the Internet with TCP/IP by creating simple server and client Visual Basic applications that utilize the Winsock control. The final project section builds on skills learned in the first two sections to create a server application that accesses a database and fulfills requests to a remote client.
This course puts an emphasis on hands on training. As a result, course work is often in preparation for the lab.
Pre-Requisites:
- Beginner-level knowledge of Visual Basic
- Basic familiarity with database concepts
Required Materials:
- Visual Basic 6.0
- MS Access 2000
- Internet access
Course material is presented through the use of a website with a username and password given to new students. Some of the material takes the form of Word Documents with screen captures of Visual Basic Forms. The remaining material takes the form of actual Visual Basic source code and executables. As a result, the sample lesson for week 1 is presented here as a summary of the information that is part of the course material and the first assignment.
This is a hands on course! While the material will help explain concepts and method of implementation, the majority of the learning is accomplished through actual development. Therefore, with the exception of Lesson 3 there is an assignment/lab associated with each lesson.
|
Upon completion of this course, the student will be able to:
- Use ADO controls or ADO objects and SQL in Visual Basic to manipulate a database
- Utilize the Winsock control to create and receive connections and transmit information between Visual Basic applications over the Internet
- Get a feel for what is required in client/server design and implementation
- Understand why an interface design is necessary for client/server development
- Gain experience in code reuse and refactoring
|
Student performance is assessed through the following means:
- Student’s ability to demonstrate a working knowledge of materials discussed in the course work through successful implementation of lab work.
- Project functionality reviews of the various labs
- Pass/Fail of the final project
|
Section 1: Database Access
Week #1: Databases and ADO Controls
The first week will review database concepts and GUI development in Visual Basic and introduce the student to ADO controls and the methods of control binding to a MS Access database.
Lab #1: The first lab will require the student to create a standalone application to manipulate a given MS Access database using the ADO controls.
Week #2: ADO Objects
An introduction to simple SQL queries and the ADO objects used to manipulate a database with SQL are the subjects for this week. The student will learn how to formulate a simple SQL statement to query and manipulate date in the database using ADO objects.
Lab #2: This lab requires the student to modify the application created in the first lab to use ADO objects and SQL to manipulate the MS Access database.
Section 2: Communications Section
Week #3: Introduction to TCP/IP, Winsock and Interface Design
This week introduces the student to communicating over the Internet with Visual Basic. The basics of TCP/IP are discussed and the methods of utilizing the Winsock control to allow Visual Basic applications to communicate over the Internet using TCP/IP are described. Concepts of interface design between a client and a server are explained by reviewing the interface design for future labs.
Week #4: Creation of simple Winsock client
Building on concepts discussed in Week #3, the requirements for communicating with a server application by a Winsock client are discussed in detail with focus on this week’s lab. The student will learn how to setup a Winsock control and connect to a remote server, how to send messages, and implement events to receive messages.
Lab #3: The student will create a client application utilizing Winsock to communicate with a server executable provided by the instructor.
Week #5: Creation of simple Winsock server
With the client created, focus is shifted to the requirements of the server application. The functionality of the server executable provided in Lab #3 will be discussed in detail with a focus on this week’s lab. The student will learn how to implement a Winsock control to listen for incoming connections, how to handle multiple connections, and connection management.
Lab #4: The student will create a server application to communicate with the client developed in Lab #3.
Section 3: Final Project
Week #6: The Server
The final project will convert a standalone application into a client/server system. This week focuses on the server and discusses methods in which to take an existing application and add a communications layer to it in order to provide server functionality.
Lab #5: Convert the standalone application from Lab #2 into a server application by adding a communications layer to it and removing the GUI. The instructor will provide a client executable.
Week #7: The Client
This week focuses on the client and discusses methods in which to take an existing application and add a communications layer in order to communicate with a server.
Lab #6: Convert the standalone application from Lab #2 into a client application by adding a communications layer and removing the database access functionality. This client will communicate with the server created in Lab #5. The completion of this lab indicates the completion of the final project.
Contact Hours: 28