Babes-Bolyai University of Cluj-Napoca
Faculty of Mathematics and Computer Science
Study Cycle: Graduate

SUBJECT

Code
Subject
MID0009 Systems for Design and Implementation
Section
Semester
Hours: C+S+L
Category
Type
Computer Science
6
2+0+2
speciality
compulsory
Information engineering
6
2+0+2
speciality
compulsory
Teaching Staff in Charge
Lect. COJOCAR Grigoreta Sofia,  grigocs.ubbcluj.ro
Lect. CIOBAN Vasile, Ph.D.,  vciobancs.ubbcluj.ro
Lect. SIMON Karoly, Ph.D.,  ksimoncs.ubbcluj.ro
Aims
At the completion of this course, the students will be able to:
a) have a systematic knowledge concerning application development methodologies
b) be familiarized with the modern concepts and preocupations in the field of developing application software
c) know the use of computer-aided software development tools
Content
1. Fundamentals of .NET and C#
- .NET platform: comparison with Java platform
- C# language: comparison with Java language

2. .NET Libraries
- Collections
- IO
- Delegation, events
- Graphical user interfaces

3. Reflection
- Reflection in Java and .NET
- Dynamic loading of Java classes
- .NET late binding and dynamic loading of assemblies
- Applying reflection to: persistence, abstract factory, interface dependencies, and dynamic replacement of

interface implementation


4. Client-Server applications based on TCP communication
- Communication between applications using TCP
- Model client-server applications that use TCP communication
- Creating and starting threads in Java and .NET
- Client applications in Java and C#
- Server applications in Java and C#

5. Remote procedure call based client-server applications
- General model: remote interface, registry (of servicies),communication channel, remote object, skeleton object
- Remote method invocation in Java - java.rmi package
- Remote object on .NET platform - System.Runtime.Remoting

6. Database access components
- .NET tables for data - System.Data
- ResultSets in Java
- Database connections, implementations

7. Servicies and Relational data sources
- Relational data source
- Relations between relational data sources and servicies
- Data transfer objects between applications

8. Object oriented models and relational databases
- Correspondance between class diagram and relational tables
- Separating bussines model from database using mappers
- Transactions and late loading

9. Application servers
- n-tier systems: client tier -server tier -data tier
- Internal structure of application servers
- Synchronized access of client applications and data consistency

10. XML Processing
- XML language and XML documents
- XML documents type
- Object oriented model for documents (DOM)

11. XML documents applications
- sequenctial parsing of XML documents (SAX) - javax.xml si System.Xml
- DOM implementations - javax.xml si System.Xml
- XML messages for applications communication
- Remote procedure call between applications on different platforms

12. Web applications
- layered systems: browser - web server - application server - database server
- Web server structure
- Patterns for web applications


References
1. Eckel, B., Thinking in C#, MindView Inc, 2004.
2. Larman, C.: Applying UML and Design Patterns: An Introduction to OO Analysis and Design and Unified Process, Berlin, Prentice Hall, 2002.
3. Fowler, M., Patterns of Enterprise Application Architecture, Addison-Wesley, 2002.
4. Hohpe, G., Woolf, B., Enterprise integration patterns, Addison-Wesley, 2003.
5. ***, Microsoft Developer Network, Microsoft Inc., http://msdn.microsoft.com/
6. ***, The Java Tutorial, SUN Microsystems, Inc, 2004. http://java.sun.com/docs/books/tutorial/index.html
1. Eckel, B., Thinking in Java, 4th edition, Prentice Hall, 2006.
Assessment
The final assessment method is a practical exam, consisting in implementation of mini client-server application.
The final mark will be obtained as:
A. Lab activity: 40%
C. Practical exam: 60%
Links: Syllabus for all subjects
Romanian version for this subject
Rtf format for this subject