OS

표준 프레임워크 개요

효진인데요 2023. 12. 1. 14:31

기말고사 준비 정리 겸.. 공부를 위해 화이띵..!

 

 

표준 프레임워크 이해 12

 

1. SW 프레임워크 개념 13

 

프레임워크란?

  • 클래스 및 패턴의 집합으로, 소프트웨어 개발의 효율성과 품질을 높이기 위한 반제품 성격의 소프트웨어

 

SW 프레임워크의 정의

  • 일련의 문제 해결을 위한 추상화된 디자인을 구현한 클래스들의 집합
  • 구체적이고 확장 가능한 기반 코드와 설계자가 의도하는 아키텍처와 디자인 패턴의 집합
  • 실전에서 얻은 회적화 개발 경험을 반영한 재사용 가능한 API의 집합
  • 반제품 성격의 소프트웨어
  • 라이브러리와 달리, 애플리케이션 틀과 구조를 결정하고 그 위에 개발된 개발자의 코드를 제어
  • 애플리케이션 개발을 도와주는 재사용 가능한 디자인 패턴 및 기반 소스코드의 집합

 

프레임워크와 컴포넌트 차이 15

  프레임워크 컴포넌트
목적 재사용성 / 이식성 / 확장성 재사용성 / 이식성
계층구조 애플리케이션에 종속적 / 다중 계층구조 / 복잡 단일 계층구조 / 독립적
내부구조 여러 목적을 가짐 / 내부 드러냄 / 다양한 구조에 대한 모델 제공 내부의 자세한 구현 감춤 / Black Box 지향
구성요소 컴포넌트 혹은 객체로 구성 객체로 구성
기본원칙 다양한 확장이 원칙 사용과 배치의 편리함이 원칙
적용 상대적으로 다양한 애플리케이션의 형태로 존재 EJB, .NET의 표준환경 가짐
기능 개발을 위한 하부 구조 제공 구체적인 로직 및 알고리즘 구현 제공

 

 

SW 프레임워크 개념 16

  • 개발 용이성 - 패턴 기반 개발과 비즈니스 로직에만 집중한 개발 가능 / 공통 기능은 프레임워크가 제공
  • 운영 용이성 - 변경이 용이 / 비즈니스 로직과 아키텍처 파악이 용이
  • 시스템 복잡도 감소 - 복잡한 기술은 프레임워크에 의해 숨겨짐 / 미리 잘 정의된 기술 셋 사용
  • 개발 코드의 최소화 - 반복 개발 제거 / 공통 컴포넌트와 서비스 활용
  • 이식성 - 플랫폼 비의존적인 개발 가능 / 플렛폼과의 연동은 프레임워크에서 제공
  • 변경 용이성 - 잘 구조화 된 아키텍처 적용 / 플랫폼에 비의존적
  • 품질보증 - 검증된 개발 기술과 패턴에 따른 개발 / 개발자 간 차이 줄임
  • 설계와 코드의 재사용성 - 프레임워크의 서비스 및 패턴의 재사용 / 사전에 개발된 컴포넌트 재사용

 

Model 1 vs Model 2 17

Model 1 Model 2
개발 속도 빠름 소스코드가 역할별로 구조화
배우기 쉽고 빠르게 적용 가능 유지보수가 편리
JSP 페이지에 프리젠테이션 로직과 비즈니스 로직이 혼재 대규모 시스템에도 잘 적용
복잡하고 분업 작업 어려움 분업이 편리
코드 알아보기 힘듬  

 

 

 

2. 전자정부 프레임워크 개념 19

 

개발방식 20

  • 프레임워크 기반 템플릿 프로그램을 통해 개발 인력은 비즈니스 로직에만 전념
  • 개발 생산성 향상
  • 템플릿 기반의 개발 표준화를 통한 품질 보장 및 위험요소 극소화

 

표준화 21

  • 동일한 표준 프레임워크 기반 개발
  • 공통 컴포넌트 재사용으로 생산성 및 서비스 품질 향상
  • 중복 개발 방지로 예산 절감
  • 중소기업의 사업 참여 기회 확대

 

 

3. 전자정부 표준 프레임워크 배경 및 목적

  • 전자정부 서비스 품질 향상 및 정보화 투자 효율성 향상
    • 국가 정보화 투자 효율성 제고
    • 중소 SI 업체 경쟁력 확보
    • 선진 국가정보화 추진 기반환경 제공

 

 

표준 프레임워크 구성 24

 

1. 표준 프레임워크 구성 25

 

구성 원칙 25 

  • 국가 정보화 개발 표준 수립을 위해 표준화 원칙 정의
  • 표준 프레임워크 구성

표준화 요구사항

  • 사용이 편리하고 기능이 풍부한 환경 제공
  • 다양한 기술, 업무 요건 수용 가능한 유연한 구조
  • 신속한 기술 지원 서비스 체계
  • 지속적인 유지보수와 적시적인 버전 업 체계
  • 개방 표준 (Open Standard)의 준수
  • 관련 기관 및 업계의 의견을 충분 수렴
  • 특정 사업자에 대한 종속성 배제
  • 전자정부 표준 프레임워크 인력 양성
  • 기술 공개를 통한 중소기업 참여 활성화
  • 오픈소스 프레임워크 기술 수용
  • 업계의 최신 개발 프레임워크 제품 기술 수용

표준화 원칙

  • 협의회의 구성과 운영
  • 상용 솔루션 관련 영역은 배제
  • 표준을 제공
  • 오픈 소스 적극 활용하여 기술 종속성 제거
  • 호환성 보장
  • 산출물 및 소스코드의 공개

구성도 29

표준 프레임워크는 실행, 개발, 관리, 운영 등 4개의 환경과 모바일 표준 프레임워크, 공통 컴포넌트로 구성

 

 

 

2. 표준 프레임워크 실행환경 30

화면처리, 업무처리, 데이터처리, 연계처리, 공통기반, 배치처리 등 6개 레이어의 표준 프레임워크 실행 환경 구현

구현기능 예시 구현내용
화면처리 레이어 Ajax Support UI 컴포넌트에 대한인터페이스 및 화면 구현에 필요한 아키텍처 제공 (UI Adaptor)
업무처리 레이어 Spring 비즈니스 로직을 서비스로 구성하여 처리하는 기능 제공 (MVC 패턴)
데이터처리 레이어 MyBatis 데이터베이스와 관련된 각종 접속 및 SQL 처리 기능 제공 (DB 연결, SQL 처리)
연계/통합 레이어 CXF 웹서비스, 연계 메타정보 등의 기능 제공 (Web Service)
공통기반 레이어 Iog4j 서버 기능의 다양한 재사용 컴포넌트 및 개발에 필요한 유틸리티 제공 (Bean 관리, 공통 활용 기능)
배치처리 레이어 Batch Core 대용량 일괄 처리를 위한 설정 및 실행 기능 제공

 

 

3. 표준 프레임워크 개발환경 31

구현도구, 테스트도구, 형상관리도구, 배포도구 등 쉽고 편리한 프레임워크 개발환경 구현

구현기능 예시 구현내용
구현도구
Implementation Tool
UML Editor / ERD Editor UML, ERD Notation을 작성할 수 있는 도구
통합 플러그인 실행환경 기반 개발을 위해 필요한 각 도구를 직관적으로 사용 가능한 화면
DBIO Editor Sql을 작성 및 수정 가능,
테스트 수행을 통해 Sql 결과값 확인 도구
테스트도구
Test Tool
Test Case 실행 가능한 테스트 코드를 작성할 수 있는 도구
Test Coverage 테스트 수행 커버리지 분석 및 리포팅
Test Reporting 테스트 결과를 다양한 포맷으로 리포팅
배포도구
Deployment Tool
개발자 Build 도구 라이브러리 종속성 관리 및 개발자 PC에서 빌드할 수 있는 도구
배포 관리 이관 대상 및 주기를 설정 가능
형상관리도구
Configuration Management
Configuration Management 형상 요소의 식별 및 등록, 히스토리를 지원
Change Management 이슈를 관리할 수 있는 이슈 트래킹 시스템

 

 

4. 표준 프레임워크 관리환경 32

표준 프레임워크에 대한 다양한 문의 및 서비스 요청에 대한 접수 및 내부 프로세스 처리

관리 환경 기능
SR관리
(Service Request Management)
기술지원, 활용 및 적용 시 문의사항 등 각종 요청에 대한 접수 및 처리 관리
변경관리
(Change Management)
관련 문서, 소스코드의 기능 개선, 오류 수정 등에 대한 변경 및 형상 관리
현황관리
(Status Management)
적용 프로젝트 및 관련 업무 현황 (SR, 변경 등 ) 의 각종 지표 및 동계 관리
표준 관리
(Standard Management)
관련 표준 (버전업, 기능추가) 에 대한 과제 수행 및 표준변경결과 적합성 심의

 

 

 

5. 표준 프레임워크 운영환경 33

전자정부 표준 프레임워크 기반 위에 실행되는 애플리케이션에서 발생하는 동작 정보와 수행 로그를 에이전트를 활용하여 수집하고, 이를 기반으로 운영자는 시스템 상태 모니터링

모니터링 도구
에이전트 관리 에이전트는 스케줄, 로깅 등의 설정을 기반으로 모니터링 대상 시스템에서 실행
모니터링 정보 수집 에이전트가 실행되며 시스템 정보 및 프로그램 로그 수집 기록
운영자 GUI 운영자에게 수집된 정보를 그래프, 차트를 활용해 다양한 현태로 표현

 

 

6. 공통 컴포넌트 34

  • 공통컴포넌트는 표준 프레임워크 기반의 표준 준수 및 유연성을 확보하여 재사용성을 극대화
  • 기존 웹 뿐만 아니라 모바일 공통 컴포넌트를 추가하여 모바일 웹 구현 시 활용 가능
구분 상세 기능
공통기술서비스 (129종) 보안 실명확인, 권한관리, 암호화/복호화 등 8종
사용자 디렉토리 / 통합인증 일반 로그인, 인증서 로그인, 로그인 정책관리 등 3종
사용자 지원 사용자관리, 상담관리, 설문관리, FAQ, Q&A 등 56종
협업 게시판, 동호회관리, 커뮤니티관리, 주소록관리 등 28종
시스템 관리 공통코드, 메뉴관리, 로그관리, 기관코드수신 등 25종
시스템 / 서비스연계 연계현황관리, 연계기관관리 등 4종
통계 / 리포팅 게시물 통계, 접속통계, 보고서 통계 등 5종
요소기술서비스
(유틸리티 / 91종)
달력, 포멧/계산/변환, 번호유효성/포맷유효성체크 등 91종
모바일 웹 공통 컴포넌트
(40종)
게시판, 주소록 등 기존 공통 컴포넌트 전환 30종
위치정보연계, 실시간 공지 등 신규 10종

 

 

최적의 공통 컴포넌트 개발 

UML 기반 산출물 표준화 표준용어 및 표준코드를 사용한 산출물
명확하고 알기 쉬운 설계 유스케이스 기반으로 요구사항이 추적 및 관리 되도록 설계
재사용이 쉬운 설계 중복 기능의 모듈화 및 환경파일을 분리하여 설계
테스트 기반의 개발 생산성 및 관리 효율성을 위한 테스트 기반 개발
생명주기 기반 서비스 제공 통합개발환경 구축으로 개발 및 유지보수의 편의성 제공

 

 

7. 모바일 표준 프레임워크 35

표준 프레임워크를 기반으로 모바일 서비스 제공을 위한 사용자 경험 지원 기능, 모바일 공통 컴포넌트 등을 추가적으로 구현한 모바일 웹 프레임워크

 

 

 

 

표준 프레임워크 적용 36

 

1. 표준 프레임워크 적용방안 37

  1. 도입 검토 - 표준프레임워크가 요구하는 시스템 요건 검토
    1. JVM을 설치하고 운용할 수 있는 서버 플랫폼
    2. J2EE, JDBC 스펙을 준수한 WAS 및 DBMS에 대한 제약은 X
    3. JDK 1.8 이상에 최적화, .NET 환경에는 적용 불가
    4. 자바 기반 웹 애플리케이션 구축 사업에 원칙적으로 적용 가능
  2. 사업계획 수립 - 표준 프레임워크 도입에 대한 사업계획 수립
    1. 표준프레임워크 개념에 대한 이해
    2. 표준프레임워크 도입 관련 사업계획서 반영
    3. 재사용 가능한 공통 컴포넌트를 선정, 소요예산 조정
    4. 표준프레임워크 경험 인력 확보 방안 수립
  3. 적용 전략 수립 - 표준프레임워크 적용 전략 수립
    1. 도입되는 HW/SW 등과의 목표 아키텍처 설계
    2. POC등을 통한 목표아키텍처 검증
    3. 표준프레임워크 실행환경 기반의 UML 설계
    4. 개발자 및 SW아키텍트 대상 표준프레임워크 정규 교육 수강
  4. 적용 및 기반 개발 - 표준프레임워크 적용 및 프레임워크 기반 개발
    1. WAS, DB, 형상관리 등 구축 환경 설정
    2. 표준프레임워크 실행환경, 개발환경 설치 및 환경 설정
    3. 프레임워크 템플릿 커스터마이징
    4. 표준프레임워크 아키텍처 및 개발가이드 수립

 

기존 개발 프레임워크가 있는 경우 표준 프레임워크 적용방안 38

 

 

전자정부 표준프레임워크 라이선스 39

  • Glueware 라이선스 - Apache 2.0 / MIT
  • OSS의 라이선스 - 배포 상호주의 (Reciprocity) 조항에 따라 기존 OSS 라이선스를 그대로 준용함

특징

  • 무료이용
  • 배포허용
  • 소스코드 수정가능
  • 2차적 저작물 공개의무 없음
  • 상업적 이용가능

제약

  • 저작권 표시 의무
  • 수정내용 공지 등

 

Glueware란?

  • OSS를 서로 연결해 프레임워크의 기능을 수행하도록 하기 위해 개발된 소스코드
  • OSS를 사용하지 않은 순수 개발 소스코드

상호주의 ( Reciprocity )란?

  • 배포에서의 상호주의란 라이선스 적용코드를 제3자에게 배포할 때 원 라이선스와 동일한 라이선스로 배포하도록 요구하는 조항
  • 보통 Copyleft 조항이라고도 함

 

 

표준프레임워크를 수정하고자 할 시 고려해야하는 기준 40

실행환경
(임의 변경 불가)
아파치 2.0 라이선스 준수
상호운용성 확보를 위해 변경은 허용되지 않음
변경이나 개선 필요 시 표준화 위원회에 변경요청을 하여 검토 후 변경 가능
개발환경
(임의 변경 가능 / 신규 개발 가능)
다양한 개발 환경 및 패턴을 지원하기 위하여 기능 변경 및 추가 가능
구성된 오픈소스의 상용 솔류션과의 조합으로 사용 가능
공통 컴포넌트
(임의 변경 가능 / 신규 개발 가능)
요소 기술과 공통 기술 컴포넌트를 제공
업무에 따른 공통 컴포넌트를 추가 개발하여 사용 가능
개발된 공통 컴포넌트는 별도 관리 또는 공통 컴포넌트로 등록하여 공개 사용 가능
모바일 표준프레임워크
(임의 변경 불가)
MIT 라이선스 준수
상호운용성 확보를 위해 변경은 허용되지 않음

 

 

적용지침

 

 

 

 

2. 표준 프레임워크 활용 43

 

표준프레임워크 43

  1. 표준 프레임워크 통합개발환경 다운로드
  2. 표준프레임워크 설치
  3. 표준프레임워크 템플릿 프로젝트 생성
  4. 업무로직 추가
  5. 컴파일 및 빌드
  6. 실행 및 테스트

 

공통컴포넌트 44

위저드 방식을 이용해 한 번의 클릭으로 공통컴포넌트 선택 및 설치하는 기능 제공

공통컴포넌트 설정부터 테이블 생성까지 바로 실행 가능한 코드를 생성하는 기능 제공

 

  1. 통합개발환경 (eGovFrame Perspective)
  2. 공통컴포넌트 생성 조립도구 실행
  3. 공통컴포넌트 선택
  4. 실행가능한 소스코드 Template Engine에서 생성 (DB 생성 포함)
  5. 생성된 공통컴포넌트 실행
  6. 설정정보 변경 및 설정 반영된 공통컴포넌트 실행

 

모바일 표준프레임워크 45

전자정부 모바일 웹 사이트 구현을 위한 템플릿 제공

템플릿 기반의 개발 수행

 

 

 

 

3. 표준 프레임워크 적용사례 47

 

신규 시스템 구축 모듈 구성도

 

 

신규 시스템 구축

표준프레임워크는 개발 환경 (구현, 테스트, 빌드), 실행환경 (화면, 업무, 데이터 처리 등) 및 공통 컴포넌트를 활용하여 개발 생산성 및 재사용성 향상

 

개발, 실행환경 제공 및 상호운용성 보장

시스템 요구사항 OS에 따른 개발 및 운영환경에 영향이 없어야 함
(window 및 unix에 비종속적인 프레임워크 기반 필요)
Ajax 기반의 플랫폼의 UI툴과의 연동 호환 필요
외부기관과의 연계 필요
(지방해양청, 항만공사 등)

 

 

적용결과  시사점
표준 프레임워크는 사용이 편리하고 기능이 풍부한 개발환경 및 실행환경 활용, 테스트, 빌드 화면 UI 툴 업체 Adapter 모듈 적용을 통한 표준 프레임워크와의 화면 및 데이터 처리 고려
UI 툴과의 데이터 연동처리 시 호환성을 제공 타 기관과의 연계 시 활용되는 기술 중 연계방법에 따른 표준프레임워크와의 호환성 검토가 필요

 

728x90