In a service-oriented architecture business software implementation, the enterprise service layer is the highest level of abstraction.[1]
Any application programming interface defined at the enterprise service layer can cross domain boundaries; it calls directly the domain device layer, which in turn interacts with the application service layer or the RDBMS Service Layer. Therefore, any application programming interface which must access multiple domains to execute correctly must exist at the enterprise level.[2]
Since the enterprise service layer is the application programming interface of the entire enterprise, all the components in the enterprise can call it directly, and it can sometimes be accessed from outside the service-providing entity.[1]
The enterprise service layer exposes a number of application programming interface considerably lower than the application service layer because it works at a higher level of abstraction.