O modelo de compoñentes CORBA (CCM), definido en CORBA 3.0, separa o código puramente de aplicación (relacionado co negocio) do código de infraestrutura, de xeito que divide un sistema software en:
- Compoñentes: provén dos servizos no negocio.
- Contedores: son os elementos que encapsulan os compoñentes e provén das funcionalidades de infraestrutura (middleware) relacionadas coa instalación e co ciclo de vida dun compoñente nun contorno determinado.
Neste modelo, un compoñente defínese en función de:
- Servizos dos que prové (de que interfaces IDL prové).
- servizos que utiliza (que interfaces IDL utiliza).
- Eventos que publica.
- Eventos que consome.
- Atributos básicos do compoñente.
O Modelo de compoñentes CORBA pódese entender como unha xeneralización dos Enterprise Java Beans (EJB), válidos para a súa utilización independente de linguaxe de programación.