Library Oriented Architecture

In software engineering, a Library Oriented Architecture (LOA) is a set of principles and methodologies for designing and developing software in the form of reusable software libraries constrained in a specific ontology domain.

LOA provides one of the many alternate methodologies that enable the further exposure of software through a service-oriented architecture.

Library Oriented Architecture further promotes practices similar to Modular Programming, and encourages the maintenance of internal libraries and modules with independent internal open-source life-cycles.

This approach promotes good software engineering principles and patterns such as separation of concerns and designing to interfaces as opposed to implementations.

Three principles rule Library Oriented Architecture frameworks: Library Oriented Architecture may provide different process improvements to existing software engineering practices and software development life-cycle.

"Library Oriented Architecture example diagram"
Library Oriented Architecture