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

Component-based development methods
Code
Semes-
ter
Hours: C+S+L
Credits
Type
Section
MI363
2
2+2+0
9
compulsory
Programare bazată pe componente - în limba engleză
Teaching Staff in Charge
Prof. PÂRV Bazil, Ph.D., bparv@cs.ubbcluj.ro
Aims
At the completion of this course, the students will be able to:
a) have a good understanding of the specifics of component and component-based system development
b) know the roles involved in component-based software development
c) know how to use Java technologies for developing Enterprise JavaBeans applications
Content
1. Component-based architectures
1.1. Two-tier application architecture
1.2. Traditional three-tier application architectures
1.3. Early Web-based application architectures
1.4. J2EE application architectures
2. Team structure and roles in the component development
2.1. Component developer
2.2. Application assembler
2.3. Deployer
2.4. System administrator
2.5. EJB container and server provider roles
3. Enterprise JavaBeans Components
3.1. Enterprise bean home interface
3.2. Enterprise bean remote interface
3.3. Enterprise bean class
3.4. Deployment descriptor
3.5. Container tools and services
4. Session Beans
4.1. Where to use session beans
4.2. The state of a session bean
4.3. Stateful session beans
4.4. Stateless session beans
4.5. Container-generated artifacts
4.6. Managing session beans at runtime
5. Entity Beans
5.1. The client view of an entity bean
5.2. Home and remote interfaces
5.3. The primary key and object identity
5.4. Entity object life cycle
5.5. Entity bean handles
5.6. The developer view of an entity bean
5.7. Entity object persistence
5.8. Entity bean class methods
5.9. Entity bean instance life cycle
5.10. Using the ejbLoad and ejbStore methods
5.11. Designing the entity bean remote interface
5.12. Concurrent invocation of an entity object
6. Transaction management
6.1. Declarative transaction demarcation
6.2. Programmatic transaction demarcation
7. Security issues
7.1. System administrator's responsibilities.
7.2. Container provider's responsibilities.
7.3. Application provider's responsibilities.
7.4. Deployer's responsibilities.

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. Starting the development of a distributed application using Enterprise JavaBeans. Define the problem
2. Team members and their roles. Requirements specification.
3. Business processes and business entities. The client application.
4. Design issues. Where to use session beans and where to use entity beans
5. Using stateful session beans
6. Using stateless session beans
7. Using command beans for accessing databases
8. Using entity beans with BMP
9. Using entity beans with CMP
10. Integrating parts from multiple providers
11. Application deployment
12. Application ready to use. Administration issues
References
1. Enterprise JavaBeans 1.1 Specification, Final Releasem 1999-2000, Sun Microsystems.
2. Java 2 Platform, Enterprise Edition Specification, Sun Microsystems., 1999. http://java.sun.com/j2ee/docs.html
3. V. Matena, B. Stearns, Applying Enterprise JavaBeans: Component-Based Development for the J2EE Platform, Addison-Wesley, The Java Series, 2001.
4. Ed Roman, Mastering Enterprise JavaBeans and the Java 2 Platform, Enterprise Edition, John Wiley and Sons, Wiley Computer Publishing, 1999.
Assessment
The assessment method is written exam. The final mark (on a ten points scale, one point by default) will be obtained as:
a) Seminar activity: 2 pts
b) Written exam: 7 pts