Synopsis:
- Seminar, Praktische Informatik, Hauptstudium
- 2h each week, over one semester (2 SWS).
- Target Audience: Students who wish to develop
applications using the Enterprise JavaBeans (EJB) server-side component
model.
Credits and grading:
In order to obtain credits for this seminar, participants
are expected to:
- Attend regularly (at least 90%).
- Be adequately prepared for discussion (read informal introduction for each topic BEFORE its presentation).
- The seminar covers several topics, as outlined in the syllabus. Each student has to select one topic for presentation (30 min, PowerPoint), followed by a discussion (30 min)
(selected documents available).
- Presenters have to summarize their presentation and discussion in a WIKI page.
- Presentations may be given in English or German. All documents are in English (exceptions may be granted).
Prerequisites: - Successful completion of PI-1.
- Good knowledge of the Java programming language
- Experience with relational databases and SQL
Assignments (Themenvergabe):
- First round of assignments: Tuesday, October 19, 2004, 9-11AM, RUD 26, Room
1.307 (regular time and place).
Syllabus: (click on
item to reveal details)
- Introduction (will be prepared by
course instructor) [Introduction_1] [Introduction_2]
- eBay Case Study
- Distributed Objects, Server-Side Components, Component
Transaction Monitors, Enterprise JavaBeans
- Architectural Overview (Bayarkhuu Munkhbaatar)
- Enterprise Bean Component, Classes and Interfaces (Remote/Home),
Deployment Descriptor (DD), Packaging
- Bean-Container and Container-Server Contract
- Primary Services (Sebastian Scholz)
- Resource Management (Instance Pooling/Swapping, Bean Activation/Passivation)
- Concurrency, Transactions, Persistence, Distributed
Objects, Asynchronous Messaging, Timer, Naming, Security
- Remote Method Invocation (RMI) (Lars Westmeier)
- Location Transparency, Transport Protocols, Limitations
- Developing EJBs (Jan Hegewald)
- Setting up EJB Server
- Developing Entity, Session and Message-driven Beans
(Interfaces, Bean Class, Deployment Descriptor, Packaging, Creating
DB-Schema, Deployment, Writing Client Application)
- Client View (Andreas Furtner)
- Locating Beans (Naming Service)
- Client-API (Remote and Local): Home and Business
Interfaces, Primary Key Classes, Handles
- EJB Persistence Model (Martin Degenhardt)
- Abstract Persistence Schema
- Container-Managed Persistence
- Container-Managed Relationship
- Bean-Managed Persistence
- EJB Query Language (EJB QL) (available)
- Declaring EJB QL (Finder and Select-Methods)
- Operators (logical and arithmetical)
- Limitations (comparison with SQL)
- Bean-Container Contract (Carsten Evers)
- Lifecycle of Entity-Beans (CMP and BMP), Session
Beans (stateless and stateful), Message-driven Beans (MDB)
- Asynchronous Messaging (Carsten Jacob)
- JMS Messaging Model (Publish-and-Subscribe, Point-to-Point)
- Message-driven Beans (Interfaces, Listener, Message-Selector)
- Transactions (Sebastian Scholz)
- ACID
- Declarative Transaction Management (scope, attributes, isolation levels)
- Container-Managed and Bean-Managed Transactions
- Security (available)
- Declarative and Programmatic Security
- Timer Service (available)
- EJB and WebServices (Beate Krause)
- SOAP, WSDL, UDDI, JAX-RPC, EJB Endpoints
- Design Strategies (available)
- EJB-Design Pattern
- Performance Aspects
- Further Topics (available)
- EJB and CORBA/.NET
- Other Persistence Models – Java Data Objects (JDO)
- What's new in EJB 3.0
Assignments (Themenvergabe):
Date |
Instructor |
Topic |
19.10.04 |
Anatolij Zubow |
Presentation, Assignments |
26.10.04 |
Anatolij Zubow |
Introduction |
02.11.04 |
Bayarkhuu Munkhbaatar |
Architecture Overview |
11.11.04 |
Anatolij Zubow |
Primary Services |
16.11.04 |
Lars Westmeier |
Remote Method Invocation |
23.11.04 |
Jan Hegewald |
Developing EJBs |
30.11.04 |
Andreas Furtner |
Client API |
07.12.04 |
Martin Degenhardt |
EJB Persistence Model |
14.12.04 |
Anatolij Zubow |
EJB Query Language (EJB QL) |
04.01.05 |
Carsten Evers |
Bean-Container Contract |
11.01.05 |
Carsten Jacob |
Asynchronous Messaging |
18.01.05 |
Beate Krause |
EJB and WebServices |
25.01.05 |
Sebastian Scholz |
Transactions |
01.02.05 |
|
Security |
08.02.05 |
|
Timer Service |
15.02.05 |
|
Design Strategies & Further Topics |
Suggested Readings (Books):
- Enterprise JavaBeans Specification, 2.1, http://java.sun.com/products/ejb/docs.html, Sun Microsystems, 2002
- Enterprise JavaBeans
by Richard Monson-Haefel, Covers EJB 2.1, O'Reilly, 2004, ISBN 0-596-00530-X
- Java Message Service
by R. Monson-Haefel, D. Chappell, O'Reilly, ISBN 0-596-00068-5
- Enterprise JavaBeans 2.1
by Martin Kompf, Galileo Computing, 2004, ISBN 3-898-42420-0
- Java Enterprise in a Nutshell
by J. Farley, W. Crawford, D. Flanagan, Covers EJB 2.0, O'Reilly, 2002, ISBN 0-596-00152-5
- EJB Design Patterns
by Floyd Marinescu, John Wiley & Sons, 2002, ISBN 0-471-20831-0
- Developing Java Enterprise Applications
by
S. Asbury, S.R. Weiner, Covers EJB 2.0, John Wiley & Sons, 2001, ISBN 0-471-40593-0
- Java RMI
by W. Grosso,
O'Reilly, 2002, ISBN 1-565-92452-5
- Professional EJB
by
Ardatia, Arni, Gabhart, ..., Wrox Press, Covers EJB 2.0, 2001, ISBN
1-861-00508-3
- Java Data Objects by Jordan, Russell,
O'Reilly , 2003, ISBN 0-596-00276-9
Documents available
for presentation. |
|