David Blevins
deprecated stuff: (aka. 'optional')
- Entity Beans (CMP & BMP)
 - JAX-RPC -> replaced by JAX WS and JAX-RS
- XML-RPC
 - Soap Encoding
 
 
API Groups: EJB spec sliced in groups -- check if your JEE server supports your requirements:
- EJB lite
 - MDB
 - EJB remote
 - persistent Timers
 - JAX-WS
 - Embeddable EJB Container
 - EJB 2.x
 - Entity beans
 
small fixes:
- lifted restriction from EJB: "do not touch the file system" (wasn't enforced)
 - business interfaces: allow multiple interface implementation
 - interceptors: difficult method signatures -> 1 method can intercept all events
 - transactional callbacks: now allowed for @Stateful
 - passivation capable (EJB with CDI scopes)
 - timer service: more global, usable outside bean code (javax.ejb.Timer & TimerHandle)
 - security: implicit '**' role (= allow any authenticated user) and no more xml needed
 
Bigger fix: Message-Driven Beans (MDB)
- basics: (ongoing!)
- not specific to JMS! (= Connector-Driven Beans)
 - configuration outdated
- loosely typed
 - bad documentation
 
 - static interface (text)
 
 - learning from JAX-RS
- no interfaces
 - fluid method signatures
 - annotation-based config
- strongly typed
 - self-documenting
 - targeted (class, method or param)
 
 
 - api for creating your own connector:
- implement ResourceAdapter: bean invocation
 - MessageEndPoint
 - annotation in MessageDriven bean: @MessageDriven
 - demo: implementation accessible with telnet: custom command prompt / commands.
 - -> MDB is basis for accessing any legacy system
 - -> can replace JMX; portable / standard
 
 - ref: https://github.com/dblevins/mdb-improvements
 
future JEE8 (under development):
- CDI-EJB Alignment
 - scopes are similar
 - fundamentally the same: both return a "fake" Proxy object as interface
 - difference is services: EJB has extra security and transaction -> allow EJB services on CDI beans
 - life-cycle lineup: @Singleton, @Stateful
 - deprecate EJB (will take years...)
 
No comments:
Post a Comment