architect e-business applications

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

Duration: 5 days

objectives

  • 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

target audience

The course is suitable for software architects and designers familiar with Java and UML. It is based on the J2EE, and the development language is of course Java; the operating system can be either Solaris or Windows.

prerequisites

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.

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)

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)

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)

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)

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)

Design patterns

Basic patterns true for all application design are introduced here. Patterns specific for developing distributed e-business applications with Domain coupling 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

Domain coupling

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

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

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)

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

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

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

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

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

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

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

Distributed application design

  • wider issues of remote invocation
  • EJB properties
    • security
    • persistence
    • built in performance, e.g. load balancing
    • transaction control
    • setting properties at deploy time
  • overview of distributed object patterns within the J
  • e-business application templates

e-business application templates

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

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