Universitatea "Babes-Bolyai" Cluj-Napoca
Facultatea de Matematica si Informatica
FISA DISCIPLINEI

Programare bazată pe componente
Cod
Semes-
trul
Ore: C+S+L
Credite
Tipul
Specializarea
MI365
1
2+2+0
9
obligatorie
Programare bazată pe componente - în limba engleză
MI365
1
2+2+1
9
obligatorie
Metode formale în programare - în limba engleză
Cadre didactice indrumatoare
Prof. Dr. PÂRV Bazil,  bparvcs.ubbcluj.ro
Obiective
La terminarea cursului, studentii trebuie sa posede:
a) întelegerea importantei modelelor de conectare a componentelor
b) cunoasterea modelelor obiect discutate, cu asemanarile si deosebirile dintre ele
c) deprinderi de folosire a limbajelor de programare (C++, Java, Component Pascal) pentru implementarea de cpmponente COM, CORBA, Java Beans si Component Pascal
Continut
1. Modele de conectare a componentelor
1.1. Caracteristicile unui model de conectare a componentelor
1.2. Tratarea obiectelor într-un mediu distribuit
1.3. Relatii între interfete si polimorfism
1.4. Identificarea si localizarea obiectelor
1.5. Documente compuse
2. Modelul OMG CORBA
2.1. Functiile unui ORB (Object Request Broker)
2.2. CORBA si Object Management Architecture OMA
2.3. Specificarea CORBAServices
2.4. Implementari CORBA
2.5. Specificarea CORBAFacilities
3. Modelul Microsoft COM/DCOM
3.1. COM - specificarea modului de conectare a obiectelor
3.2. Interfete COM si polimorfism
3.3. Crearea si manipularea obiectelor COM
3.4. COM si Distributed COM
3.5. Specificarea serviciilor COM
3.6. Documente compuse si OLE
3.7. Controale: de la VBX la ActiveX
4. Modelul Sun Java/JavaBeans
4.1. Limbajul de programare Java si programarea bazata pe componente
4.2. Limbajul de programare Java si obiectele distribuite
4.3. Specificarea componentelor JavaBeans
4.4. Servicii Java
4.5. Modelul obiect distribuit Java
4.6. Interfete native Java
5. Compararea modelelor
5.1. Alte modele de conectare a componentelor
5.2. Caracteristici comune ale modelelor
5.3. Caracteristici particulare ale modelelor
6. Probleme deschise
6.1. Standarde de domenii
6.2. Impactul componentelor asupra ingineriei programarii
6.3. Agenti mobili
6.4. Specificarea contractelor
7. Arhitecturi de componente
7.1. Rolurile unei arhitecturi de componente
7.2. Conceptualizarea arhitecturii
7.3. Termeni de baza
7.4. Arhitectura stratificata de componente
8. Cadre de componente
8.1. Rolurile unui cadru de componente
8.2. OpenDoc
8.3. BlackBox Component Framework
8.4. Comparatie între OpenDoc si BlackBox

Tematica seminariilor
S1 - Surse de informatie disponibile pe Internet si Intranet
S2 - Planificarea referatelor
S3 - S14 - prezentari de referate cu urmatoarea tematica
1. Modelul CORBA (4 referate)
1.1. OMG IDL
1.2. CORBA ORB - prezentare generala
1.2. CORBAServices
1.3. CORBAFacilities
2. Modelul COM/DCOM (3 referate)
2.1. Interfete COM
2.2. Servicii COM
2.3. DCOM si COM+
3. Modelul Java/JavaBeans (3 referate)
3.1. Interfete si clase Java. Gestionarea exceptiilor. Threaduri si sincronizare
3.2. JavaBeans: evenimente si conexiuni, proprietati, introspectie
3.3. Alte servicii Java: reflectie, serializare
4. Modelul OpenDoc
5. BlackBox Component Builder si Component Pascal
Bibliografie
1. D'SOUZA, DESMOND FRANCIS - WILLS, ALAN CAMERON: Objects, Components, and Frameworks with UML : The Catalysis Approach, Addison-Wesley, 1999.
2. SZYPERSKI, CLEMENS: Component Software. Beyond Object-Oriented Programming, Addison-Wesley (1st ed. 1998, 2nd ed. 2002).
3. BlackBox Component Builder, [http://www.oberon.ch/BlackBox.html].
4. Component Technology Homepage, [http://www.fja-odateam.com/cop/].
5. Java Platform, Enterprise Edition, Sun Corp., 1999-2004. [http://java.sun.com/j2ee/].
6. Microsoft Component Object Model Technologies, [http://www.microsoft.com/com/ default.mspx].
7. OMG CORBA/IIOP Specifications, [http://www.omg.org/technology/documents/ corba_spec_catalog.htm].
Evaluare
Nota finala va reflecta activitatea de laborator (proiect), de documentare si rezultatul la examenul scris. Se acorda:
1p din oficiu
1p prezenta la laboratoare
2p proiectul realizat
2p referatul prezentat.
4p examenul scris