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
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
|
|
|
Day 2
|
|
|
Day 3
|
|
|
Day 4
|
|
|
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.