this page out so that you can use it for a reference throughout the course.
Client/Server Development and Remote Data Access in Visual
April M. Adams
This intermediate 7-week course teaches how to implement
database access through client/server architecture over the Internet in Visual
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.
of Visual Basic - Basic familiarity with database concepts.
Visual Basic 6.0 MS Access
2000 Internet access
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.
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.
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.
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.
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.
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
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.
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.