Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licență

FISA DISCIPLINEI

Codul
Denumirea disciplinei
MID0009 Medii de proiectare şi programare
Specializarea
Semestrul
Ore: C+S+L
Categoria
Statutul
Informatică
6
2+0+2
specialitate
obligatorie
Ingineria informatiei
6
2+0+2
specialitate
obligatorie
Titularii de disciplina
Lect. COJOCAR Grigoreta Sofia,  grigocs.ubbcluj.ro
Lect. Dr. CIOBAN Vasile,  vciobancs.ubbcluj.ro
Lect. Dr. SIMON Karoly,  ksimoncs.ubbcluj.ro
Obiective
* consolidarea deprinderilor de analiza si proiectare a sistemelor soft prin aplicarea acestor deprinderi asupra tipurilor de aplicatii client-server si web
* insusirea unor sabloane in ceea ce priveste structurarea aplicatiilor client-server si web
* insusirea unor cunostinte de baza despre integrarea aplicatiilor prin transmitere de mesaje
* insusirea unor parti din bibliotecile .NET si Java cu ajutorul carora se pot defini aplicatii de aceste tipuri
Continutul
1. Elemente de baza .NET si C#
- Platforma .NET: prezentare comparativa cu platforma Java
- Limbajul C#: prezentare comparativa cu limbajul Java

2. Biblioteca de clase .NET
- Colectii
- Intrari-iesiri
- Delegari, evenimente
- Interfete grafice utilizator

3. Reflectie
- Reflectie in Java si .NET
- Incarcare dinamica a claselor Java
- Legarea intarziata a tipurilor .NET si incarcare dinamica a executabilelor
- Aplicatii ale reflectiei: persistenta, fabrica abstracta de obiecte, dependenta de interfete si posibilitatea inlocuirii dinamice a implementarilor

4. Aplicatii client-server bazate pe comunicare TCP
- Comunicarea intre aplicatii folosind TCP
- Modelarea aplicatiilor client-server ce folosesc comunicare TCP
- Crearea si lansarea firelor de executie in Java si .NET
- Aplicatii client Java si C#
- Aplicatii server Java si C#

5. Aplicatii client-server bazate pe apelul metodelor la distanta
- Model general: interfata la distanta, registru (de servicii), canal de comunicare, obiect la distanta, obiect inlocuitor
- Apelul metodelor la distanta pe platforma Java - pachetul java.rmi
- Obiecte aflate la distanta pe platforma .NET - System.Runtime.Remoting

6. Componente de acces la baze de date
- Tabele .NET pentru memorarea datelor - System.Data
- Multimi rezultat Java
- Conexiuni la baze de date si implementari ale acestora

7. Servicii si surse de date tabelare
- Surse de date cu organizare tabelara
- Relatia intre surse tabelare si servicii
- Obiecte de transfer a datelor intre aplicatii

8. Modele obiectuale si baze de date relationale
- Corespondenta intre diagrame de clase si tabele relationale
- Independenta intre model si baze de date prin obiecte de corespondenta (mappers)
- Tranzactii si incarcare intarziata

9. Servere de aplicatii
- Sisteme pe mai multe nivele: aplicatie client - aplicatie server - server baza de date
- Structura interna a serverelor de aplicatii
- Accesul concurent al aplicatiilor client si consistenta datelor

10. Prelucrarea documente XML
- Limbajul XML si documente XML
- Tipul documentelor XML
- Model obiectual pentru documente (DOM)

11. Aplicatii ale documentelor XML
- Parcurgerea secventiala a documentelor XML (SAX) - javax.xml si System.Xml
- Implementari ale modelului DOM - javax.xml si System.Xml
- Mesaje XML transmise intre aplicatii
- Apelul metodelor la distanta intre aplicatii situate pe platforme diferite

12. Aplicatii WEB
- Sisteme pe mai multe nivele: navigator - server web - server aplicatie - server baza de date
- Structura unui server web
- Sabloane pentru aplicatii Web
Bibliografie
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.
Evaluare
Nota finala este calculata astfel:
A. Activitatea de laborator: 40%
C. Proba practica: 60%
Proba practica este sustinuta in timpul sesiunii ca si examen final. Proba practica consta din implementarea unei aplicatii mici client-server pe calculator.
Legaturi: Syllabus-urile tuturor disciplinelor
Versiunea in limba engleza a acestei discipline
Versiunea in format rtf a acestei discipline