contact us
about us
site map

A comprehensive tutorial on UML

OOAD/UML courses in Stockport (near Manchester)

13 May 2002

17 June 2002


      TriReme International Ltd - back to home page
your requirementscustom solutionsexpert helpwhitepapers

  architect e-business applications - syllabus for 5 day course


- learn the modelling techniques necessary to architect e-business applications
- know which technologies to use and how they work together
- practice implementing designs with Java Web and enterprise technologies

- use UML and patterns as a language to communicate about architecture and design
- practice the proven techniques in architecting agile systems
- know the major tasks required to develop enterprise components

- examine issues of distributed components, such as lifecycle, security, and transactions
- architect an e-business application with the J2EE SDK
- explore how to overcome limitations with EJB specific patterns

This course covers the design of e-business applications for the J2EE platform.  It shows you how to model an e-business architecture with UML; as well as how to use Java Web and enterprise technologies to implement designs.   Design issues are central to the course, in particular how to:

- divide and distribute an application by business logic roles
- control component lifecycle for scalability, performance, and reliability
- use the advanced services of container management - CORBA benefits without the headaches
- make component design choices
- use proven EJB patterns
- partition your applications

The course is suitable for software architects and designers familiar with Java and UML.  It is based on the J2EE platform, and the development language is of course Java.  The operating system can be either Solaris or NT.  The course is presented by one of our senior consultants, each of whom has at least ten years' experience in software development, and at least three years' experience as a trainer and consultant in a diverse range of application areas.  Ideally this training should be preceded by one or both of the courses: design and develop Java applications and object oriented analysis and design with UML.


1. e-business application design
Introduces the fundamental parts to an e-business application
- server technology
- client/server Vs n-tier

- e-business components
- distributed applications
- JDBC for dynamic data
- access to stored procedures
- various models for e-business application design

2. Model-based e-business architectures
The model-based approach to developing e-business systems has become the de facto standard.  This section introduces the main areas and shows why this method has been so successful
- business model
- requirements model
- responsibilities and collaborations
- component model
- interface model

3. UML for e-business
This section introduces those parts of UML relevant to e-business architectures
- static models
- objects, types, attributes, snapshots
- subtypes
- dynamics
- use-cases and tasks
- event charts
- state charts
- building a business model
- finding use-cases
- connecting use-case and class views
- the dictionary
- documentation style

4. e-business enterprise component specification
This section deals with the specification of e-business enterprise components
- system context models
- high-level operation specs
- state charts for system models
- event charts: horizontal and vertical expansion
- elaborating models
- relating the levels of detail
- building a system spec
- system context
- defining system use-case goals
- component specification
- precision in English and in OCL

5. Enterprise component design
This section covers the both the key enterprise component design stages: assign responsibilities and collaborations, decouple roles and components.
- separating core from GUI, persistence, and other layers
- selection of control objects
- designing system operations with messages
- decoupling, extensibility, reusability
- dependencies and visibilities
- the class dictionary
- translation to code

6. Design patterns
Basic patterns true for all application design are introduced here.  Patterns specific for developing distributed e-business applications with J2EE, are listed later.
- Two-way Link
- Observer
- Recursive Composite
- State Delegation
- Interface Decoupling

7. Domain coupling
The linkage of the 'core(s)' to presentation, persistence, and other layers.
- and reification of use-cases in UI objects
- persistence: proxy and building atop object and relational DBs
- networks: layering

9. Component technology
- pluggable code and connector protocols
- component kits, Beans, and building tools
- component architecture
- common models
- common couplings
- wrapping existing assets
- product Vs component building
- frameworks: generic models
- generalization of two example static models
- collaborations: generic designs for interactions
- roles
- synthesis of collaborations

10. J2EE platform
- comparisons between CORBA, DCOM, and Java RMI
- lifecycle, access, and permanent storage
- glue technologies
- database access with JDBC and future connectors
- object access with JNDI
- remote access with RMI and RMI-IIOP
- the role an OODBMS can play
- the 'Object Web' ideal
- decalarative Vs procedural architectures
- XML and J2EE

11. J2EE distributed services
Manage lifecycle, transactions, and security with Enterprise Beans
- bean managed persistence
- component transaction management
- Java Transaction API (JTA) and Java Transaction Service (JTS)
- root CORBA OTS mechanics
- accessing multiple databases - support for two-phase commit
- transactions in Web components and initiating from the client
- isolation levels
- security and roles
- serialization control

12. J2EE containers
Convert to using the distributed services of EJB containers
- common business object requirements
- container management mechanics
- migrate from bean-managed to container-managed persistence
- declarative Vs programmatic authorization

13. EJB technical review

Complete technical review that covers all the necessary syntax and semantics for both Entity and Session Beans.
- standard server-side component model
- Java RMI basis
- home / remote interfaces and implementation
- entity and session beans
- container management
- EJB as business logic nirvana
- stateless and stateful EJBs
- passivation

14. Design with Session Beans
Separate business logic from application control with Session Beans
- client sessions
- benefits of stateless Session Beans
- business logic encapsulation
- modelling user interaction
- command beans - a high performance alternative
- data access objects
- value objects
- façade to Entity Beans

15. Design with Entity Beans
Separate data from the application with Entity Beans
- data and rules encapsulation
- Enterprise Information Systems (EISs)
- one row Entity Beans (single table mapping)
- joins, views, and database issues
- updating the model in MVC architecture
- persisting transactions

16. Web and enterprise technology collaborations
- Web-based applications with Servlets and JSP
- state management
- life-cycle of Web objects
- the common language solution
- Servlet chains
- JSP tag libraries
- accessing EJBs

17. Distributed application design
- wider issues of remote invocation
- EJB properties
   - security
   - persistence
   - built in performance, eg load balancing
   - transaction control
   - setting properties at deploy time
- overview of distributed object patterns within the J2EE platform (Factory, Call-back, Multiple Instance, Command and Value Objects, and Reference Counting)
- overview of EJB-specific design patterns

18. e-business application templates