도서관 지향적 건축
Library Oriented Architecture소프트웨어 엔지니어링에서 LOA(Library Oriented Architecture)는 특정 온톨로지 영역에서 제약된 재사용 가능한 소프트웨어 라이브러리의 형태로 소프트웨어를 설계하고 개발하기 위한 원칙과 방법론의 집합이다. LOA는 서비스 지향 아키텍처를 통해 소프트웨어의 추가 노출을 가능하게 하는 많은 대체 방법론 중 하나를 제공한다. 도서관 오리엔테이션은 일련의 공개 API를 통해 비즈니스 기능을 노출하는 라이브러리의 존재론적 경계를 규정한다. 라이브러리 지향 아키텍처는 모듈 프로그래밍과 유사한 관행을 더욱 촉진하고, 독립된 내부 오픈 소스 라이프사이클을 가진 내부 라이브러리 및 모듈의 유지관리를 장려한다. 이 접근방식은 좋은 소프트웨어 엔지니어링 원칙과 패턴을 촉진한다. 예를 들어 우려의 분리 및 구현과 반대로 인터페이스에 대한 설계가 그것이다.
원칙
라이브러리 지향 아키텍처 프레임워크의 세 가지 원칙:
- 소프트웨어 라이브러리 구현 및 주제 영역 전문성은 하나의 온톨로지 영역에만 국한되어야 한다.
- 다른 온톨로지 도메인의 개념과 아티팩트를 사용해야 하는 소프트웨어 라이브러리는 해당 온톨로지 도메인에 해당하는 라이브러리를 접속하여 재사용해야 한다.[1]
- 모든 도메인별 소프트웨어 라이브러리는 별도의 라이프 사이클로 유지 및 지원되어야 한다.[2]
혜택들
도서관 지향 아키텍처는 기존 소프트웨어 엔지니어링 관행과 소프트웨어 개발 라이프사이클에 서로 다른 프로세스 개선을 제공할 수 있다. 채택으로 얻을 수 있는 가시적인 혜택은 다음과 같다.
- 분산 시스템의 구성 [3]관리 단순화
- LOA 원칙의 고유한 속성과 제약으로 인해 신뢰성이 높은 소프트웨어 시스템을 구축하십시오.
- LOA를 사용하여 구축된 정보 시스템은 기술 독립적이다. 이러한 시스템은 지역적 영향과 업스트림 파급 효과를 최소화하면서 전체 라이브러리와 도메인 구현을 쉽게 대체하거나 교체할 수 있다.
- 분산 시스템 및 통합 리포지토리의 유지관리성 지수를[4] 높이십시오.
- 높은 결합의 위험을 최소화하십시오. 이는 대기업 시스템에서 더욱 명백해질 수 있다.
- 개발자에게 기존 시스템보다 더 신속하게 대규모 주문을 처리하도록 하십시오. 개발자와 팀을 라이브러리 및 도메인 온톨로지 간에 이동하고 원활하게 협업하십시오.
- 문제를 거의 즉시 찾아내고 제로인(zero-in)하십시오. 개발자가 디버깅을 하는 데 걸리는 시간에 대해 할 말이 있다.
- 소프트웨어 엔지니어링 팀의 버스 요소 극대화.[5]
참고 항목
- 온톨로지 (정보과학)
- 서비스 지향 아키텍처
- 분산형 시스템
- 모듈 프로그래밍
- 소프트웨어 라이브러리
- 소프트웨어 설계 패턴
- 우아한 코드 및 유지관리성 지수 작성
- 코드 메트릭 – 유지관리성 지수
참조
- ^ Gruber, Thomas Robert (1992). "Toward Principles for the Design of Ontologies Used for Knowledge Sharing" (PDF). International Journal Human-Computer Studies. 43: 907–928.
- ^ Triana, Michel. "Library Oriented Architecture". Retrieved 2012-04-09.
- ^ Crowley, Richard. "Developing Operability". Retrieved 2012-04-09.
- ^ Triana, Michel. "Writing Elegant Code and the Maintainability Index". Light of Bytes. WordPress. Retrieved 2012-04-12.
- ^ Redmond, Matthew C.; Paul Newton (2003). "Integrating GIS in the Engineering, Planning and Design Processes" (PDF). Retrieved 2012-04-12.
{{cite journal}}
: Cite 저널은 필요로 한다.journal=
(도움말)