Winter
2004

 Enterprise JavaBeans
(Seminar 2 SWS)

Instructor: Dipl-Inf. Anatolij Zubow


Computer Science Department
Systems Architecture Group

 

 
Abstract: Just as the Java platform has revolutionized the way we think about software development, Enterprise JavaBeans promises to revolutionize the way we think about developing mission-critical enterprise software. It combines server-side components with distributed object technologies and asynchronous messaging to greatly simplify the task of application development. It automatically takes into account many of the requirements of business systems, including security, resource pooling, persistence, concurrency, and transactional integrity. [Richard Monson-Haefel, Enterprise JavaBeans]
 
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)
    • Comparison with Quartz
  • 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.

 Links
SAR WiKi
Middleware Platforms
Sun Microsystems
Enterprise JavaBeans 2.1 (specification)
J2EE-Tutorial
Chapter 23: EJB
jGuru
"Short Course" on EJB
Workbook
WorkBook on EJB

Legal disclaimer. .  © 2024 Humboldt-Universität zu Berlin, Computer Science Department, Systems Architecture Group. Contact: sar@informatik.hu-berlin.de .