"Babes-Bolyai" University of Cluj-Napoca
Faculty of Mathematics and Computer Science

Client/server applications
Code
Semes-
ter
Hours: C+S+L
Credits
Type
Section
MI072
8
2+0+2
10
optional
Informatică
MI072
8
2+0+2
7.5
optional
Matematică-Informatică
Teaching Staff in Charge
Prof. PÂRV Bazil, Ph.D., bparv@cs.ubbcluj.ro
Aims
Learning, understanding, and using of the core concepts of Component-Based Programming using ActiveX components. Developing and using ActiveX components to build client/server applications.
The course covers two main aspects of Component-Based Programming on Microsoft Windows platforms: the design of classes, and the design and use of ActiveX components. The development environment used is Microsoft Visual Basic.
Content
Part One. Programming with objects in VB
I.1. Objects and VB
I.2. Inspecting available classes using Object Browser
I.3. Creating new classes
I.4. Adding properties and methods to a class
I.5. Adding events to a class
I.6. Naming conventions for properties, methods, and events
I.7. Implementing polymorphism
I.8. Using the designed classes
I.9. Object models
I.10. Creating custom collection classes

Part Two. Developing ActiveX components in VB
2. Component-based programming and VB
2.1. Types of ActiveX components
2.2. In-process and out-of-process servers
2.3. Using ActiveX components (creating a reference to an object, using object's methods, properties, and events, releasing the references to an object)
2.4. Object models. Navigating in the object models
2.5. Error trapping and management of pending requests to an ActiveX component
2.6. Using the visual interface of an ActiveX component
3. Creating ActiveX DLL Components
4. Creating ActiveX EXE Components
5. Creating ActiveX Controls
6. General principles for designing ActiveX component

Partea One will be covered in four two-hour lectures (four weeks). Every chapter in the Part Two will take two weeks (a two-hours lecture every week). The lectures take the form of Microsofr Word presentations and live examples. The students are invited to read the course material in advance.

Lab work

In the first three weeks of the term, the lab work consists of:
1. The design of a simple VB class
2. The use of interface inheritance for implementing polymorphism
3. The design and implementation of custom collection classes.

In the 4th week, every student will receive a mid-semester project (MP), with the due date the 8th week of the term. The weeks 4 to 7 are dedicated to the completion of the MP work. MP will consist of designing and implementing an application which uses user-defined classes, custom collection classes, and a simple object model for manipulating some persistent data resident in a file or in a database.

In the 9th week, every student will receive a final project (FP), with the due date the last two weeks of the term. The weeks 9 to 14 are dedicated to the completion of the FP work. FP will consist of redesigning and reimplementing MP in a client-server architecture, in two approaches, one using ActiveX DLL components, the other ActiveX EXE components.
References
1. Microsoft Visual Basic 6.0. Ghidul programatorului, Teora & Microsoft Press, Bucureşti, 1998.
2. Documentaţia on-line de pe CD-urile MSDN (Microsoft Visual Studio 6)
3. Suportul de curs - disponibil pe serverul Departamentului de Informatică
- documente Word
- exemple demonstrative
Assessment
The assessment method is practical exam, which means the presentation (including a demonstration) of the two software projects: the middle-term project (MP) and the final term project (FP). The final mark (on a ten points scale, one point by default) will be obtained from the following elements:
a) Lab activity: 2 pts
b) Practical exam MP: 3 pts
c) Practical exam FP: 4 pts.