2-1. OAM 프레임워크 필요성

OAM Client Framework – 목차

■ 운용관리에 관한 이론적 고찰
1-1. OAM의 정의  1-2. EMS의 정의  1-3. OAM 표준화 동향  1-4. 3GPP 32 Series

■ OAM 프레임워크
2-1. OAM 프레임워크 필요성  2-2. OAM 시스템의 구성  2-3. OAM 요구사항  2-4. OAM 배포 아키텍쳐  2-5. OAM을 위한 Database의 구성 2-6. OAM 인터페이스  2-7. 구성 관리  2-8. 장애 관리  2-9. 성능 관리  2-10. 보안 관리

■ OAM 클라이언트 프레임워크
3-1. OAM Client 프레임워크 개요  3-10. 효과분석  3-2. 개발방법  3-3. 요구사항  3-4. 산출물 정의  3-5. 개발환경  3-6. 아키텍쳐 3-7. UI 정의  3-8. 프레임워크의 개발  3-9. 프레임워크를 사용한 개발

2-1. OAM 프레임워크 필요성

OAM 시스템은 망 장비의 운용, 관리, 유지 보수, 프로비저닝, 문제해결의 기능을 통합하여 관리하며, 장애 발생 시 복구시간 등을 최소화시켜 비용을 절감하는데 목적을 둔 망 장비 관리 시스템으로서 빠르게 변화 하는 통신 환경에서 운용상에 나타나는 결함(Defects), 이상(Anomalies), 장애(Failures), 고장(Fault)등을 실시간으로 빠르게 발견하고 운용자에게 알려주는 기능을 가진 시스템이다.[주:김세원, “스마트폰 기반 OAM의 QoS를 위한 Pull 메시지 스케줄링 방식”] OAM 클라이언트는 운용자 정합 기능(Human Interface Function)을 제공하여 운용자가 보다 효율적으로 망과 시스템을 관리할 수 있도록 GUI환경의 운용 환경을 제공한다.

서비스 제공사(Service Provider)의 입장에서는 서비스를 구현하는 시스템의 개발 뿐만 아니라 운용과 관리의 목적으로 하는 OAM 시스템을 함께 개발하여 제공하게 된다. 같은 도메인(Domain)에서의 운용과 관리를 위한 요구사항들은 반복적이거나 유사한 경우가 많지만, 이를 지원하기 위한 OAM 시스템을 매번 새로 개발하는 것은 코드의 재사용 측면에서 매우 불합리하다. 따라서 반복적으로 나타나는 특화된 문제 영역을 지원하기 위한 클래스와 인터페이스의 집합을 구성하여 검증된 코드의 재사용을 높인다면 애플리케이션의 품질이 높아지고, 개발비용과 유지비용이 낮아지는 효과를 가져 온다.

코드의 재사용을 높이기 위해서는 특정 기능을 수행하는 컴포넌트를 묶어서 공용 라이브러리로 만들 수도 있다. 하지만 이동통신망이라는 도메인에서 OAM이라는 비즈니스에 특화된 문제를 반복적으로 해결하기 위해서는 설계의 원칙까지도 재활용되어야 하므로, 이미 반은 만들어진 어플리케이션(semi-complete application)을 구축하고 이를 재사용과 확장하여 하나의 어플리케이션을 완성할 수 있다.[주:Ralph Johnson, “Evolving Frameworks “, http://st-www.cs.illinois.edu/users/droberts/evolve.html, 1994년] 이처럼 어플리케이션의 기본 체제와 하부 구조를 제공해 주는 컴포넌트와 인터페이스들의 집합을 프레임워크라고 한다. 아래는 다양한 관점에서의 프레임워크의 정의들이다.

  1. 더글라스 슈미츠: 프레임워크는 도메인 기반의 지식으로 구성된 객체 구조와 기능을 가지고 있는 “반쯤 완성된 애플리케이션”이다.
  2. 랄프 존슨 : 추상클래스들의 집합과 상호 협조하는 클래스들의 인스턴스 동작방법으로 이루어진 재사용 가능한 디자인
  3. Erich Gamma z : A set of cooperating classes that makes up a reusable design for a specific class of software.
  4. The united modeling language user guide : An architecture pattern that provides an extensible template for application within a domain.
  5. Johnson & Foote : Framework is a reusable, semi-complete application that can be specialized to produce custom applications.
  6. Carey : A set of components working together so they address a under of problems in one or more domains.
  7. Johnson & Russo : A framework is the design of a set of objects that collaborate to carry out a set of responsibilities.

위와 같이 프레임워크에 대한 다양한 정의가 존재하나, 소프트웨어 개발에서의 프레임워크는 재사용(reuse)와 확장(extension)이라는 공통적인 키워드를 포함하고 있으며, 이러한 키워드를 통해 ‘semi-complete application’ 이라는 프레임워크의 특징을 도출해 낼 수 있다.[주:오기창, 김삼남, 최광준, 소프트웨어 개발 생산성과 품질 향상을 위한 어플리케이션 프레임워크 구현방안 (J2EE Data Access Logic 자동 생성 기술 중심)]

프레임워크를 기반으로 하는 OAM 어플리케이션을 개발하기 위해서는 다양한 계층의 프레임워크의 지원을 받아 개발할 수 있다. 일반적으로 인-하우스 개발팀에서 만든 닷넷 프레임워크 또는 자바 프레임워크는 파운데이션 프레임워크(Foundation Frame)라고 한다. 이 위에 특정 도메인에 종속적인 어플리케이션의 개발을 지원하기 위한 ‘어플리케이션 프레임워크(Application Framework)’를 올리게 된다. 어플리케이션 프레임워크를 사용함으로써 일관된 개발을 지원하고, 경계설정을 강제함으로써 모듈성(Modularity), 재사용성(Reusability), 확장성(Extensibility), 단순성(Simplicity), 유지관리성(Maintainability) 등의 이익을 얻게된다. 일반 소프트웨어 개발 회사의 프레임워크 팀은 어플리케이션 프레임워크를 개발하는 팀을 말한다. ‘어플리케이션 프레임워크’는 문제 영역에 특화된 작업을 하는 ‘Domain-Specific Framework Layer’와 문제 영역에 관계없이 모든 문제 영역에서 공통적인 문제 해결을 지원하는 ‘Cross-Domain Framework Layer’로 구분할 수 있다. ‘Cross-Domain Framework Layer’를 구현하기 위해서는 MVC 프레임워크, Entity Framework, Spring 프레임워크와 같은 오픈 소스 프레임워크를 주로 사용한다.

사용자 삽입 이미지

[프레임워크의 계층 구조]

CC BY-NC-ND 2.0 KR

이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용할 수 있습니다. 크리에이티브 커먼즈 라이선스

저작권과 관련된 파일요청 및 작업요청을 받지 않습니다.

댓글 남기기