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