Component-based programming |
ter |
|||||
Teaching Staff in Charge |
|
Aims |
At the completion of this course, the students will be able to:
a) have a good understanding of the importance of component wiring models b) completely understand the object models discussed, with their common and specific features c) know how to use programming languages (C++, Java, Component Pascal) to implement COM, CORBA, and Java Beans, and Component Pascal components |
Content |
1. Component wiring models
1.1. The main features of a component 'wiring' model 1.2. Manipulating objects in a distributed environment 1.3. Interface relations and polymorphism 1.4. Identifying and localizing objects 1.5. Compound documents 2. The OMG CORBA model 2.1. The main functions of an ORB (Object Request Broker) 2.2. CORBA and Object Management Architecture OMA 2.3. CORBAServices Specification 2.4. CORBA implementations 2.5. CORBAFacilities Specification 3. The Microsoft COM/DCOM model 3.1. COM - how to connect objects 3.2. COM interfaces and polymorphism 3.3. Creating and using COM objects 3.4. COM and Distributed COM 3.5. COM services specification 3.6. Compound documents and OLE 3.7. Controls: from VBX to ActiveX 4. The Sun Java/JavaBeans model 4.1. The Java programming language and component-based programming 4.2. The Java programming language and distributed objects 4.3. JavaBeans specification 4.4. Java services 4.5. The Java distributed object model 4.6. Java native interfaces 5. Model comparison 5.1. Other component 'wiring' models 5.2. Common features of the models discussed 5.3. Specific features of the models discussed 6. Open problems 6.1. Domain standards 6.2. The impact of the components on software engineering 6.3. Mobile agents 6.4. Contract specification 7. Component architecture 7.1. The roles of a component architecture 7.2. Architecture conceptualization 7.3. Key terms 7.4. A tiered component architecture 8. Component frameworks 8.1. The roles of a component framework 8.2. OpenDoc 8.3. BlackBox Component Framework 8.4. OpenDoc versus BlackBox Seminar activity S1- The survey of information sources available on Internet and Intranet S2 - Planning of the working papers S3 - S14 - Presentation of the working papers, with the following topics 1. The CORBA model (4 papers) 1.1. OMG IDL 1.2. CORBA ORB - overview 1.2. CORBAServices 1.3. CORBAFacilities 2. The COM/DCOM models (3 papers) 2.1. COM interfaces 2.2. COM services 2.3. DCOM and COM+ 3. The Java/JavaBeans model (3 papers) 3.1. Java classes and interfaces. Exception handling. Threads and synchronization 3.2. JavaBeans: events and connections, propierties, introspection 3.3. Other Java services: reflection, serialization 4. The OpenDoc Model 5. The BlackBox Component Builder and Component Pascal |
References |
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]. |
Assessment |
The final mark will cover lab (i.e. completing a project) and research (preparing a
research paper) activity, as well as the written exam results. It is computed as follows, on a 10-point scale: 1pt by default 1pt lab attendance 2pts the project 2pts the paper 4pts the written exam. |