The Common Object Request Broker Architecture (CORBA) is a standard for distributed object systems that allows objects written in different languages and running on different machines to communicate. CORBA uses Interface Definition Language (IDL) to define object interfaces and an Object Request Broker (ORB) to handle requests and responses between objects. The CORBA specification defines protocols like General Inter-ORB Protocol (GIOP) and Inter-ORB Protocol (IIOP) to allow ORBs from different vendors to interoperate. CORBA also provides services like the Naming Service for object lookup and Object Services for common needs like concurrency, events, logging etc.