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. | |