Catalysis™ for EJB design

All system-level services are provided for, the architecture is easy to use, and EJB components are flexible — often loosely coupled or only fully defined at deploy time or even runtime. The most important, yet absent, piece of this component nirvana is how to take advantage of the standard. How do you specify components so that they are reusable and work within the larger architecture? Crucially, how do you build for change?

Catalysis™ is a set of industry proven techniques to specify components. Through training, workshops, and mentoring, Java developers are shown how to model business components that are flexible enough for today's online market. This course aims to bring everyone up to the same level knowledge on distributed component theory. As well as up to an equal ability to model business components with UML. The main benefit of the course is that it provides you with the best techniques to decouple all parts of system. Changes in one part then require the least possible changes in the rest of the system. Change is the only constant for today's applications.

Duration: 5 days

target audience

The course is suitable for Java analysts and designers wishing to develop skills in modelling EJB component architectures; and Java project managers and architects wishing to learn a development process focused around developing EJBs.

prerequisites

Ideally this training would be preceded by the course: develop EJB components.

Catalysis™ overview

A model-based approach to developing enterprise components

  • business modelling: concepts and tasks
  • system requirements models
  • responsibilities and collaborations
  • persistence, GUI, distribution
  • component-based design overview
  • components and interfaces
  • components kits and architecture
  • component and reuse culture
  • patterns in the process

EJB overview

Technical review of EJB.

  • 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

EJB component specification

This section deals with the specification of EJB enterprise components.

  • defining interfaces in UML
  • system context models
  • high-level operation specs
  • state charts for system models
  • meaning of 'model'
  • how to start abstract and get more detailed
  • event charts: horizontal and vertical expansion
  • elaborating models
  • relating the levels of detail
  • building a system spec
  • system context
  • defining system use-case goals
  • modelling patterns

EJB component design

This section covers the key 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

EJB patterns

  • Value Object
  • Batch Message
  • Publish/Subscribe
  • Bus Service
  • Federation
  • Session Token)

Federated architectures

The linkage of the 'core(s)' to presentation, persistence, and other layers.

  • GUI: MVC
  • and reification of use-cases in UI objects
  • persistence: proxy and building atop object and relational DBs
  • networks: layering

Repositories

  • component repositories
  • what's in the repository
  • components, frameworks, patterns, and plans

Collaborations between EJBs

  • pluggable code and connector protocols
  • component kits 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

EJB component standards

  • architecture

Catalysis™ process review

This section reviews the tasks and deliverables involved in a typical Catalysis™ development project.

  • the main tasks and artefacts
  • business/conceptual modelling
  • specification/requirements modelling
  • architecture
  • design, Implementation
  • integration and testing
  • short-cycle development
  • spiral model
  • phased development
  • role of prototyping

Please note, when taught at your site, this course is customizable. Modules can be adapted, removed, added from other courses, or even created.

timetable

Day 1

  • Catalysis™
  • EJB
  • EJB component specification

Day 2

  • EJB component design
  • EJB patterns

Day 3

  • Federated architectures
  • Repositories

Day 4

  • Collaborations between EJBs
  • EJB component standards
  • Catalysis™ process review

Day 5

course instructor

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.

print     printer-friendly version