Einer der Zentralpunkte von Enterprise JavaBeans ist die Aufteilung der Entwicklungszuständigkeiten in verschiedene Rollen. Dadurch wird es erreicht, daß sich jeder auf das konzentriert, was er am besten kann. Somit werden Synergieeffekte erreicht. Die folgende Abbildung zeigt die verschiedenen Rollen und deren Zusammenspiel:
Die Superkomponente Bestellabwicklung ist auf die Bedürfnisse eines Unternehmen abgestimmt. Diese Superkomponente setzt sich aus verwendbaren Komponenten Lieferant, Einkaufsteil und Bestellung zusammen.
Der Bean-Deployer hat Aufgabe, die Komponenten in einem Container zu installieren. Dazu gehört die Bedienung des Tools des Container-Providers sowie die richtige Parametrisierung der zu installierenden Beans.
Der Container-Provider liefert den Komponenten eine komfortable Laufzeitumgebung. Er setzt auf den Schnittstellen des Server-Providers auf und hat die Sorge dafür zu tragen, daß der Zugriff auf die Beans ausschließlich über den Container erfolgt und ebenso die Kommunikation der Beans mit ihrer Umwelt.
Der Server-Provider liefert einen Application-Server, der Komponenten enthält und verwaltet. Es gibt eigentlich kein Unterschied zwischen EJB-Container und EJB-Server. Es gibt einige EJB-Container-/Server-Produkte wie z.B. BEA´s Weblogic, Sun Microsystem´s NetDynamics, IBM´s WebSphere, Oracle´s Oracle 8i usw.
Der Systemadministrator überwacht den EJB-Server mit Hilfe der vom Hersteller gelieferten Tools zur Laufzeit und sorgt für die zum Betrieb eines Servers notwendige Infrastruktur.