OSIDs are programmatic interfaces which comprise a Service Oriented Architecture for designing and building reusable and interoperable software.
Some characteristics that make software more easily reusable are modularity, loose coupling, high cohesion, information hiding and separation of concerns.
Improved efficiency and performance of the data layer since it is standard reusable software.
Building blocks are components of software, mostly reusable, which can be utilised to create certain functions.