본문 바로가기

* IT

프레임 워크란?

프레임 워크란?

 소프트웨어는 급격하게 발전하고 있다. 엄청나게 많은 소프트웨어들이 생겨나면서, 시스템을 운영하는 데 있어서 점점 더 어려움을 겪고 있다. 또한, 기업에서 차세대 시스템으로 넘어가면서 기존의 기능를 통합하는 대신에 새로운 소프트웨어를 이용하고자 하면서, 재사용 및 확장성이 점점 중요해지게 되었다. 

쉽게 얘기해보자.
자동차를 하나 만들기 위해서는 일정한 표준화된 틀을 먼저 만들어 낸다. 즉, 전체 뼈대를 만들어내고, 거기에 엔진은 2,0엔진이냐, 2.4엔진을 올려놓느냐, 바퀴는 16인치 휠이냐 17인치 휠이냐, 네비게이션은 탑재 하고, 가죽 시트를 넣을 것이냐... 등등 여러가지 옵션이 붙어진다. 하지만, 큰 틀은 정해져있다. 아...이러한 자동차의 틀 또한, 프레임이라고 한다-

이처럼, 소프트웨어를 구성하는데 있어서도 큰 틀을 만들어 놓고, 거기에 사용자의 입맛대로, 구성을 해놓게 만드는 것을 프레임 워크라고 할 수 있다.

삼성SDS에서 얼마 전, 오픈소스커뮤니티  및 오픈 프레임워크를 개설하였는데 (Anyframe) 여기서는 프레임워크를 아래와 같이 정의하고 있다.




프레임워크는 Black box 형태의 재사용을 통해 적은 공수를 들이면서도 빠른 시간 내에 안정적인 어플리케이션 구성을 가능하게 하는 반제품 형태의 SW 집합을 말한다.


 프레임워크는 다음과 같이 구분할 수 있다.

프레임워크 구분


프레임워크 구분


그렇다면, 이러한 표준 프레임워크를 이용하는 경우 어떠한 장점이 있을까?
역시 Anyframe에서 언급한 내용을 빌리자면,

1. 개발 표준화가 쉬워진다.
프리젠테이션/비즈니스/데이터 접근 레이어가 엄격하게 분리되어, 각 레이어별로 개발을 할 수 있어 개발자간 의사소통이 유연하게 이루어진다는 것이다.

2. 개발 생산성 향상
1.의 개발 표준화가 쉽게 되며, 개발자 간의 의사소통이 유연해지고, 개발 중복 등이 최소화되면서 개발 생산성 향상을 기대할 수 있는 것이다.

3. 유지보수성이 증가한다.
표준 프레임 워크를 적용함으로써 수직 및 수평 확장성이 유연해지므로, 빠르게 변하는 비즈니스 환경 변화에 쉽게 대응할 수 있다.

4. 품질 및 안정성 보장
다년간 프로젝트 수행 경험을 통해 검증된 공통 서비스들을 일괄 적용하여, 애플리케이션의 품질 및 안정적인 운영을 보장한다.