EJB components are server-side components written entirely in the Java programming language
EJB components contain business logic only - no system-level programming & services, such as transactions, security, life-cycle, threading, persistence, etc. are automatically managed for the EJB component by the EJB server.
EJB architecture is inherently transactional, distributed, portable multi-tier, scalable and secure.
EJB components are fully portable across any EJB server and any OS.
EJB architecture is wire-protocol neutral--any protocol can be utilized like IIOP,JRMP, HTTP, DCOM,etc.