Java EE Modular Solutions

From sheep
Jump to navigation Jump to search

Web tier access EIS direct or though EJB

use of tiers

Decide on requirements

Based on:

  • functionality
  • complexity
  • scalability

EJB tier

  • security
  • transactions
  • distributed processing

Web tier use of JDBC implications

  • ideal for small simple applications with few transaction requirements
  • implements all core functionality
  • implements transaction management - JTA

Implies:

  • poor scaling with complexity
  • monolithic

Using Web and EJB tier

  • better for:
    • building large scale complex applications
    • complex security/transaction requirements
    • performance requirements
  • implications
    • Splits business logic into EJB tier
    • web tier becomes mainly request processing and view

Use of distribution

Must be designed for distributed architecture Use of:

  • service locator - to hide location/naming resolution
  • business delegate - to hide remote nature
  • composite entity/transfer object assembler - to reduce fine grained access

Local

  • same virtual machine
  • no network overhead
  • no serialisation overhead
  • low latency
  • allows for fine grained control/access

Remote

  • more modular
  • more reusable
  • lower dependency between components
  • higher overheads - data copying, latency
  • security considerations
  • typically more scalable (horizontally) - can split and run on more machines
  • more highly available - easier to migrate to different machine in the event of failures