Enterprise JavaBeans (EJB) are server-side components that allow for the development of scalable, transactional, secure distributed applications. There are three main types of EJB components: session beans which represent business logic and processes, entity beans which manage persistent data storage, and message-driven beans which consume messages from external systems like JMS. EJB provides a standardized architecture for building modular, portable enterprise applications that can be deployed across compliant application servers.