Надеюсь, что это из Oracle doc поможет кому-то, как я, понять тему EJB простым способом.
Что такое корпоративный бин? Написанный на языке программирования Java корпоративный компонент является компонентом на стороне сервера, который инкапсулирует бизнес-логику приложения. Бизнес-логика - это код, который выполняет цель приложения. Например, в приложении управления запасами корпоративные компоненты могут реализовывать бизнес-логику в методах, называемых checkInventoryLevel и orderProduct. С помощью этих методов клиенты могут получить доступ к службам инвентаризации, предоставляемым приложением.
Преимущества корпоративных компонентов По нескольким причинам корпоративные компоненты упрощают разработку больших распределенных приложений. Во-первых, поскольку контейнер EJB предоставляет сервисы системного уровня корпоративным компонентам, разработчик компонентов может сосредоточиться на решении бизнес-задач. Контейнер EJB, а не разработчик компонента, отвечает за сервисы системного уровня, такие как управление транзакциями и авторизация безопасности.
Во-вторых, поскольку бины, а не клиенты содержат бизнес-логику приложения, разработчик клиента может сосредоточиться на представлении клиента. Разработчик клиента не должен кодировать подпрограммы, которые реализуют бизнес-правила или обращаются к базам данных. В результате клиенты становятся тоньше, что особенно важно для клиентов, работающих на небольших устройствах.
В-третьих, поскольку корпоративные компоненты являются переносимыми компонентами, сборщик приложений может создавать новые приложения из существующих компонентов. Эти приложения могут работать на любом совместимом сервере Java EE при условии, что они используют стандартные API.
Когда использовать корпоративные bean-компоненты Вам следует рассмотреть возможность использования корпоративных bean-компонентов, если ваше приложение имеет любое из следующих требований:
Приложение должно быть масштабируемым. Чтобы удовлетворить растущее число пользователей, вам может потребоваться распределить компоненты приложения по нескольким компьютерам. Не только корпоративные компоненты приложения могут работать на разных компьютерах, но и их расположение останется прозрачным для клиентов.
Транзакции должны обеспечивать целостность данных. Корпоративные бины поддерживают транзакции, механизмы, которые управляют одновременным доступом к общим объектам.
Приложение будет иметь множество клиентов. Имея всего несколько строк кода, удаленные клиенты могут легко находить корпоративные компоненты. Эти клиенты могут быть худыми, разнообразными и многочисленными.