비즈니스 프레임워크
본 장에서는 비즈니스 프레임워크의 개념과 모델에 대해 기술하며, 비즈니스 프레임워크 모델 중 애플리케이션 프레임워크에 대해 간략히 소개한다.
1. 개요
현대의 기업은 급격하게 변화하는 비즈니스 및 컴퓨팅 환경에 빠르게 순응하기 위해 적절한 변화가 필요하게 되었다. 특히 기업은 무한 경쟁 속에서 생존하기 위한 전략으로 IT 경쟁력을 키워야 한다는 인식을 하게 되었다. IT 경쟁력은 곧 비즈니스의 경쟁력과 연관된다. 따라서 기업은 프로세스 개선과 인터페이스의 표준화, 비즈니스의 모듈화가 필요하게 되었고 IT 환경에 대한 변화가 필요했다. IT 환경에 대한 변화의 대표적인 경우는 애플리케이션 아키텍처의 변화이다.
애플리케이션 아키텍처 변화
애플리케이션 아키텍처는 애플리케이션에서 시스템과 관련된 처리와 모든 부분을 직접 개발하는 구조에서 순수 업무 로직만을 구현하는 구조인 N-Tier 구조로 변화하고 있다. 즉, 애플리케이션은 순수 업무 로직 처리만 하고 그 이외의 기능은 미들웨어나 프레임워크가 담당하게 되었다.
이와 같은 애플리케이션 아키텍처의 변화로 인해 애플리케이션 개발, 실행, 운영에 대한 최적의 아키텍처를 보장하게 되었다. 또한 다른 시스템과의 인터페이스를 표준화하고 빠른 응용 프로그램 개발 및 디버깅도 쉬워졌다.
프레임워크
특히 애플리케이션 아키텍처 변화 애플리케이션 아키텍처 변화에서 프레임워크는 잘 정의된 애플리케이션 아키텍처와 표준화된 컴포넌트와 툴의 집합으로 이루어져 있다.
예를 들면 ProFrame가 제공하는 애플리케이션 아키텍처와 컴포넌트 및 툴은 다음과 같다.
-
RunTime Engine
-
기간계 아키텍처, 공통 컴포넌트
-
-
통합 서버
-
메타 관리
-
개발 툴 및 지원용 서버 API
-
-
통합 개발 GUI 툴
-
스튜디오, ProMapper, DBIO, EMB Designer 등
이 툴은 서비스 또는 업무 개발 생산성 및 유지보수성 향상에 도움을 준다.
-
기업이 다양한 비즈니스 요구사항에 대응하거나 개발 생산성 향상 등을 위해 프레임워크를 도입해야 하는 필요성은 다음과 같다.
| 기준 | 필요성 |
|---|---|
비즈니스 요구사항 |
프레임워크를 통한 개발로 다양한 고객의 요구사항에 대해 유연하게 대응할 수 있으며 프레임워크 패키지를 보유한 Best Practice를 제공한다. |
비용 |
시스템 및 업무 공통 등의 기능 모듈만을 도입할 수 있고 순수 업무 모듈만을 자체적으로 개발하여 개발인력 및 비용을 최소화할 수 있다. 또한 강제화된 표준과 유연한 아키텍처 플랫폼을 기반으로 유지보수할 때 추가 비용 부담이 감소된다. |
개발 생산성 |
개발 프레임워크를 통한 재사용성 및 업무 구현의 용이성 등이 개발 생산성을 극대화할 수 있다. |
신기술 수용성 |
시스템 및 업무 로직에 대한 안정성을 보장하고 3-Tier 구조를 바탕으로 SOA 등 IT 기술환경 변화에 유연하게 대응할 수 있다. |
위험 |
프레임워크 모듈의 선택적인 도입과 그 외 자체개발을 도입함으로써 소프트웨어를 구축할 때 전체적으로 위험 부담을 감소시켜 최적의 커스터마이즈를 수행할 수 있다. |
기업이 프레임워크를 도입하면 SI 자체의 개발 방식이나 패키지 도입 방식에 비해 자사 업무에 최적화되고 효과적인 기능 구현이 가능할 뿐만 아니라 고성능의 안정적이고 유연한 기반 플랫폼을 제공받을 수 있다.
다시 말해 검증된 프레임워크를 도입함으로써 새롭고 다양한 고객의 요구사항에도 유연하게 대처하며 안정적이고 고성능을 보장하는 아키텍처가 필요하다.
TmaxSoft 비즈니스 프레임워크
TmaxSoft는 기업의 비즈니스 경쟁력을 위해 기업의 전체 시스템을 SOA 사상을 반영하여 4개의 프레임워크 영역으로 제시한다.
4개의 프레임워크 영역은 UI 프레임워크, 인터페이스 프레임워크, 비즈니스 프레임워크, 데이터 프레임워크이다. 그 중 비즈니스 프레임워크는 기업의 업무를 위한 비즈니스 로직 처리를 담당하는 영역으로 애플리케이션 프레임워크와 비즈니스 룰, 상품 팩토리가 통합 및 연계되어 기업의 업무 시스템에 고성능, 유연성, 안정성을 보장한다. 비즈니스 프레임워크는 “서비스 기반의 통합 시스템” 구현의 핵심을 이루는 영역이다.
2. 구성요소
본 절에서는 비즈니스 프레임워크에 대해 간략히 소개하도록 한다.
TmaxSoft의 비즈니스 프레임워크는 다음과 같이 구성된다.
-
애플리케이션 프레임워크인 ProFrame
-
비즈니스 룰인 Tmax ProRule®(이하 ProRule)
-
상품 팩토리 솔루션인 Tmax ProFactory®(이하 ProFactory)
2.1. 애플리케이션 프레임워크
애플리케이션 프레임워크는 특정 애플리케이션 소프트웨어를 만들 때 사용하는 기반 구조로 반쯤 완성된 애플리케이션(semi-complete application)이다.
애플리케이션 프레임워크는 IT와 기업의 비즈니스 환경이 급속히 변화하면서 증가하는 채널과 서비스에 대해서 일관되고 민첩한 개발 요구와 동시에 여러 종류의 소프트웨어(WAS, WS, TP-Monitor, MCI, DBMS 등)와 연계하면서 발생되는 문제를 해결하기 위해 등장하게 되었다.
또한 개발의 생산성 향상뿐만 아니라 안정된 서비스를 보장하고 운영 관리의 효율성, 그리고 컴퓨팅 환경 등의 변화에 쉽고 빠르게 대응할 수 있는 IT 인프라의 요구를 만족하기 위해 등장하게 되었다.
TmaxSoft 애플리케이션 프레임워크
TmaxSoft의 애플리케이션인 프레임워크인 ProFrame은 EMB(Enterprise Module Bus) 기술을 기반으로 개발되었다. ProFrame은 업무를 처리하는 서비스 또는 업무 모듈을 만들어 모듈 Pool에 등록한 후 그 모듈들을 조합하여 다양한 업무 플로우 및 신규 서비스를 재구성할 수 있다. 기존 서비스 또는 업무 모듈을 재사용하여 코딩 없이 서비스를 개발함으로써 서비스 기반의 아키텍처 구현이 가능하다.
TmaxSoft의 애플리케이션 프레임워크는 대부분의 기업들이 고민하는 통합성, 확장성, 개발 생산성의 기반이 되는 시스템 등을 제공한다. 또한 업무 영역의 애플리케이션 개발만을 고려하여 업무 시스템을 완성할 수 있다. 완성된 기업의 업무 시스템은 일관된 애플리케이션 구조로 이루어져 있어서 관리가 용이하다.
2.2. 비즈니스 룰
기업의 IT 환경은 외부에 의해 비즈니스 변경이 증가되고 있다. 이러한 환경에서 애플리케이션은 IT 환경의 민첩성을 키우고 유지보수의 편의성을 위해 N-Layer화 되어 가고 있으며, 그 한 부분으로 BRMS(Business Rule Management System)가 등장하게 되었다. BRMS는 비즈니스 룰을 자유롭게 표현할 수 있도록 개선한 방식이다.
비즈니스 룰은 일을 수행하거나 처리하는 지식이나 규정, 규칙, 업무처리 방식이다. 예를 들어 “어떤 경우에는 이렇게 하는 것이 좋다.”, “이것은 무엇과 무엇의 값으로 계산한다.” 등과 같이 표현된다.
BRMS의 사용으로 기업은 더 이상 비즈니스 변경이 빈번하고 신속한 업무 반영이 필요한 영역에 대해 하드 코딩을 하지 않고 룰 기반으로 시스템을 구축하게 되었다. 룰 기반의 시스템은 비즈니스와 업무의 변경에 유연한 시스템을 제공하고 신규 서비스 또는 상품 개발기간을 단축할 수 있게 되었다.
하지만 여전히 상품의 구성요소는 파라미터 방식으로 관리하고 있기 때문에 데이터베이스 I/O의 증가와 새로운 상품에 대한 수용력이 떨어지는 단점이 남아 있다. 또한, 상품의 구성요소와 룰을 모델링하는 툴이 통합되지 않아 별도로 모델링해야 하는 불편함도 있다.
| 개발 방식 | 비교 설명 |
|---|---|
일반 개발 방식 |
|
BRMS 개발 방식 |
|
TmaxSoft 비즈니스 룰
TmaxSoft의 ProRule은 BRMS 기반의 개발 방식으로 설계 및 개발 단계에서 GUI 툴을 이용하여 쉽게 개발 생산성을 향상시킬 수 있다. 또한 실제 운영 단계에서는 룰 모듈 호출구조를 제공하여 시스템 성능을 보장할 수 있다.
ProRule은 신뢰성, 성능, 가시성, 편의성 등의 특장점을 기반으로 기업의 비즈니스 환경에 민첩하게 대응할 수 있는 정책 기반의 시스템을 구현한다.
2.3. 상품 팩토리
비즈니스와 IT의 관계가 밀접해지고 고객들의 요구가 다양해지면서 기업은 이러한 변화에 민첩하고 유연하게 대응할 수 있는 상품 개발 시스템이 필요하게 되었다. 이러한 고객의 요구를 충족시킬 수 있는 하이브리드 상품 개발과 상품 요구에 민첩한 IT의 획기적인 개선에 의한 Time to market(TTM)의 실현이 중요하게 되었다. Time to market(TTM이란 한 제품을 만들어 시장에 내놓는데 걸리 시간 또는 기간을 의미한다. 이러한 기업의 요구와 환경에 부합하기 위해 상품 팩토리라는 새로운 상품 개발 시스템이 나타나게 되었다.
상품 팩토리는 상품 기획, 개발, 운영, 평가의 전사 비즈니스 영역에서 시스템적인 기능을 지원하고 상품 형상을 개발하고 업무 시스템에 상품 정보를 제공하는 시스템을 의미한다.
지금까지의 상품 개발시스템은 상품의 정형적 속성이나 비정형적 규칙을 각각 파라미터나 룰로 구현하는 형태로 구축되어 왔다. 그러나 상품 팩토리 솔루션은 상품의 정형 및 비정형 정보를 함께 관리하여 형상을 정확히 정의하고 시스템에 반영한다. 그 결과, 상품 팩토리 시스템은 통합 상품관리 솔루션 방식으로 융•복합상품 및 다양한 상품의 유형을 표현할 수 있으며 상품의 Time to market을 위한 상품개발이 가능하게 한다.
TmaxSoft 상품 팩토리
TmaxSoft의 상품 팩토리 즉, ProFactory는 확장성, 유연성, 고성능의 상품을 정의할 수 있고 상품관리 및 운용의 용이성을 제공한다. 다시 말해, ProFactory는 향후에 시장에 출시될 어떤 유형의 다양한 복합상품도 예외 없이 빠르고 쉽게 개발할 수 있고 시스템의 속도를 저하시키지 않으며 업무량까지 줄일 수 있다. 또한 ProFactory는 객체지향 관점으로 상품과 서비스의 구조/속성/룰을 관리하고 이를 조합하여 다양한 신상품 정의를 지원하는 선진 상품 팩토리이다.
3. 도입 효과
비즈니스 프레임워크는 앞서 설명한 애플리케이션 프레임워크, 비즈니스 룰, 상품 팩토리의 구성 요소를 가지며, 비즈니스 구현과 운영에 필요한 솔루션이다.
-
애플리케이션 프레임워크
애플리케이션 프레임워크는 기업의 애플리케이션 아키텍처를 구성하고 지원하며 애플리케이션의 표준화를 통해 개발 편의성과 운영 및 유지보수 편의성을 제공한다. 또한 코어 아키텍처 영역을 지원함으로써 기업에서 설계하기 힘든 영역에 대해 Best Practice를 지원한다.
-
비즈니스 룰
비즈니스 룰은 기업의 비즈니스에서 변경이 잦은 업무에 대해 복잡한 로직을 손쉽게 적용 및 반영이 가능하게 해주며, 기업의 관여도가 높은 업무에 대해서는 기업이 직접 관리 및 적용하게 하므로 신속한 업무 적용이 가능하다.
-
상품 팩토리
상품 팩토리는 현재 기업에서 제공하는 많은 상품과 상품에 대한 서비스를 제공하기 위해 소요되는 시간과 상품 출시에 대한 검증을 용이하게 한다 또한 상품과 서비스를 민첩하게 고객에게 제공하여 상품개발에 필요한 과정(기획, 개발 및 운영, 평가)을 상품관리 시스템을 통해 개발하고 운영할 수 있도록 지원한다.
각각의 애플리케이션 프레임워크의 구성요소는 비즈니스 프레임워크로 연계 및 통합하여 관리되어 기업이 필요로 하는 비즈니스 업무 구현에 신속하고 민첩한 개발과 적용, 운영이 가능하도록 지원한다.