CS 412 - Enterprise Software Systems
Moodle
Page
Course Description
This course starts out by introducing the concept of Enterprise Software by going over its unique
properties and requirements. The popular and widely-accepted J2EE
specification is used throughout the course to demonstrate the basic
elements of Enterprise Software Systems.
The course will draw comparisons between different software development
approaches in terms of design, initial development cost, maintenance,
troubleshooting, complexity and training. J2EE/Application server
technologies will be compared with the other commonly used technologies.
We will discuss how the J2EE spec is shaping the software
industry and analyze the factors that are making many companies invest
so much in this new technology.
This course particularly concentrates on the middle tiers that are
located between the Database Management System and the Presentation
Tier. Remote Method Invocation (RMI), Enterprise
Java Beans (EJB), Persistence and Transactions are some of the main
topics that will be covered in the course.
Slides
- Overview
of JEE (From
JavaPassion.com)
- Persistence
- Overview of EJB
- Session Beans in EJB 2.x
- EJB 3.0
- Transactions (JPA Transactions)
- Servlet Basics
- Advanced Servlets
- Session Management
- Jsp Basics
- Web Tier
- Enterprise Java Beans
- Persistence
- Advanced Topics
- Clustering
- EJB 3.1 Proposed Changes
Resources
Books
Topics in Detail:
Java and J2EE Multi-tiered application development Analyzing application components Understanding J2EE spec J2EE standard services Application servers Vendors: IBM WebSphere, BEA WebLogic, JBoss Promise: scalability, client agnosticism, server management, development Java Servlets and JSP Remote Method Invocation (RMI) Remote interfaces Declaring Implementing Stubs and Skeletons RMI Clients Enterprise Java Beans Entity Beans Session Beans Statefull Stateless Entity Beans vs Session Beans Message-Driven Beans (MDB) EJB Container Functionality Scalability using resource pooling The life of an entity bean The life of a session bean Transactions Container-managed transactions (CMT) Bean-managed transactions (BMT) Persistence Container-managed persistence (CMP) Bean-managed persistence (BMP) EJB Passivation/Activation Transactions Atomicity Two-Phase Commit Protocol Local vs Distributed Transactions Optimizations, removing two-phase commit Isolation levels and associated problems Serializable, Read-Committed, etc. Phantom reads, etc. Bean-managed transactions Container-managed transactions Mandatory, Required, RequiresNew, Supports, NotSupported,Never Nested transactions
|