[SK C&C 대표 기업용 솔루션] NEXCORE의 모든 것을 말하다 #2_NEXCORE J2EE Framework
NEXCORE J2EE Framework는 JAVA언어를 기반으로 한 SK C&C의 프레임워크 제품입니다.
기업의 IT 프로젝트는 과거에 비해 시스템 규모가 커지면서, 사용하게 되는 기술도 다양해 지고, 이에 따라 프로젝트 참여인원도 급속히 늘어나게 되었습니다. 과거와는 달리, 많은 인원이 참여하는 프로젝트에서는, 개개인의 능력이 아닌 표준과 일관성을 잘 유지하면서 생산성과 품질 향상을 이뤄내는 것이 프로젝트의 성공과 애플리케이션의 품질을 결정하는 핵심 요소입니다.
기업 시스템의 구축에 사용할 수 있는, 다양한 오픈소스 프레임워크와 특정 기능에 특화된 제품이 많이 있으나, 각각의 제품의 특성을 이해하고 통합하는 것은 시간과 노력이 많이 들고, 유지보수, 기술지원 등의 Risk 또한 크기 때문에, 여러 요소들이 유기적으로 잘 통합된 상용 프레임워크 제품을 선택하는 것이 바람직합니다.
NEXCORE J2EE Framework는 다양한 고객사의 BMT/PoC를 통해 검증된 대량의 트랜잭션을 빠르고 안정적으로 처리하는 기술력과 500여 프로젝트에서 쌓인 Know-how와 고객의 요구사항이 반영되어 만들어 졌습니다.
NEXCORE J2EE Framework는 개발환경, 실행환경, 운영환경에 이르는 기업 시스템 구축에 필요한 핵심 기능들을 모두 보유하고 있으면서도, 개방성과 유연성, 그리고 확장성을 유지하고 있기 때문에, 오픈 소스와 상용제품 사이에서 고민하는 많은 IT관계자 여러분에게 가장 명쾌한 해결책이 될 것입니다.
이처럼 NEXCORE J2EE Framework를 적용함으로써, 프로젝트의 개발 생산성 향상을 통한 TCO절감은 물론, 안정적인 시스템 운영을 기대할 수 있습니다.
효율적인 개발과 테스트
NEXCORE J2EE Framework 사용시, 공통 및 시스템 관리 부분은 프레임워크가 담당하여 처리하게 됩니다. 따라서, 개발자는 선언, DB연결, 초기화, 로깅, 예외처리 등의 작업에 대한 코딩을 신경 쓸 필요 없이 순수 업무 로직만 구현하게 되므로 효율성을 높이는 것은 물론 시스템 안정성을 보장할 수 있도록 하였습니다.
또한 기존에 수작업으로 이루어지던 Component와 I/O 설계, SQL 테스트, 단위 테스트, 코드 인스펙션, 빌드 및 배포 등의 활동은 자동화도구를 활용한 업무 수행이 가능하도록 통합 개발 환경을 제공하여 생산성 향상은 물론 작업의 정확성을 높일 수 있습니다.
아울러, 외산 상용 Batch 스케쥴러 등 경쟁 제품에 비해 국내 시장에 적합하고 뛰어난 성능과 관리기능을 제공하는 NEXCORE Batch Scheduler1)를 별도 제공함으로써, 기업용 애플리케이션에서 많이 사용되는 Batch 업무의 개발과 테스트, 디플로이가 용이합니다.
대량 트랜잭션의 안정적이며 빠른 처리
NEXCORE J2EE Framework는 온라인 트랜잭션의 처리를 위한 다양한 업무 요건들을 반영할 수 있는 유연한 구조로 개발되었습니다. 온라인, Batch 및 후처리를 포함하는 NEXCORE J2EE Framework만의 아키텍처를 통해 대량 트랜잭션을 안정적으로 처리하고 업무 로직의 추가 및 변경 등의 변화에 빠르게 대응할 수 있습니다.
또한 체계화된 채널 처리, 거래 선/후 처리, 동기/비동기 거래, DB서비스와 Cache, Logging, Monitoring, Component Container, Center-cut, Hot Deploy, 실시간 거래 제어 등 프로젝트에서 많이 사용되는 다양한 기능들을 위한 인프라를 기본적으로 제공하여 더 효율적인 프로젝트 진행이 가능하도록 지원합니다.
효과적인 운영을 위한 지원도구 제공
프로젝트를 위한 운영환경을 별도로 구축하는 것도 효율적인 시스템을 위해 매우 중요합니다. NEXCORE J2EE Framework에는 환경설정, 거래제어, 리소스 및 Asset 관리 등을 기본적으로 지원하는 운영지원도구를 제공함으로써, 최소의 운영요원으로 Multi Instance 환경의 대규모 애플리케이션들을 효과적으로 운영할 수 있도록 지원합니다.
NEXCORE J2EE Framework 기능 상세
NEXCORE J2EE Framework의 제공 기능은 다음과 같습니다.
개발 및 테스트 환경
NEXCORE J2EE Framework의 통합 개발 환경은 과거 수작업에 의존하던 복잡한 개발 활동의 많은 부분을 자동화하여 개발 생산성 및 품질을 제고하는 방향으로 개발되었습니다.
Eclipse 기반의 통합 개발 환경은 NEXCORE 자동화도구들과 유기적으로 연계되어 데이터 모델링, 코딩, 코드 인스펙션, 테스트와 배포까지의 단계를 일괄적으로 제공합니다.
이러한 NEXCORE J2EE Framework만의 특징은 고객의 요구사항을 기반으로 애플리케이션 설계, 개발, 테스트, 운영에 이르는 프로젝트 라이프 사이클 전반에 걸쳐 아래와 같이 개발 생산성과 품질을 획기적으로 제고할 수 있게 합니다.
① 작업 효율성 제고
- 각종 산출물의 자동 생성 지원
- 도구간 데이터 연계 활용성 제고
② 품질 제고
- 프로젝트 공정별 단계별 검사 가능
- 사전 결함방지로 생산성 및 품질 향상
③ 가시성 제고
- 테스트 결과를 종합하여 제공
- 통계 및 진척상황에 대한 결과 실시간 제공
④ TCO 절감
- 타 상용도구의 별도 구매 비용을 절감
- 자동화를 통한 공수 절감 및 생산성 향상
SVN과 같은 널리 사용되는 소스 관리 툴이나, Maven, Jenkins 등의 형상/배포 관리 도구와도 연계되며, NEXCORE 제품군이 아닌 다양한 도구와도 연결할 수 있는 유연성과 개방성을 지니고 있습니다.
또한 하나의 개발 환경에서 온라인 애플리케이션은 물론 Batch 애플리케이션 개발까지 지원함으로써, Batch의 개발, 테스트, 배포까지 통합 수행할 수 있게 하여 개발자의 편의성을 극대화 하였습니다.
실행환경
NEXCORE J2EE Framework의 실행 환경은 크게 온라인, Batch, 후처리 아키텍처로 구성되어 있습니다. 제품의 모든 아키텍처는 글로벌 표준 기반의 오픈 아키텍처를 채택하고 있어, OS나 WAS, DBMS의 종류에 상관없이 사용할 수 있고, 이에 따라 솔루션 벤더에 따른 의존성을 최소화 할 수 있습니다. 2007년 8월 Sun Microsystems사(현, Oracle)에서 인증하는 J2EE 표준 인증을 획득하였으며, 이 외에도 다양한 산업계 표준을 준수함으로써, 시스템간 연계가 용이합니다.
아래 [그림1]처럼 NEXCORE J2EE Framework에서는 각각의 Layer가 독립된 형태로 연계되어 있어(Loosely-coupled Architecture) 시스템 요구사항 변경이나 기존의 System과의 연계가 필요한 경우 실시간으로 유연하게 대응이 가능합니다.
또한, 표준 Load Balancing 및 Fail-over 아키텍처를 적용하여, Workload 분산을 통해 자원 활용을 최적화 할 수 있습니다. 이러한 NEXCORE J2EE Framework의 아키텍처는 각종 BMT와 PoC에서 성능과 안정성 측면에서 타사 대비 높은 성적으로 증명된 것처럼, 높은 성능과 가용성을 보장합니다.
아울러, SOA 지원, EAI/ESB 연계 지원은 물론, 트랜잭션에 대한 Workload가 증가하는 경우 노드를 증설할 수 있는 등, 수직/수평적 확장이 가능하도록 지원합니다.
마지막으로, 개발된 애플리케이션을 System Down Time 없이 바로 적용할 수 있는 Hot Deploy 기능과 성능 및 장애 상황에 대한 제어 체계와 모니터링 기능을 제공함으로써 급변하는 상황에 실시간으로 대응할 수 있도록 하여, 안정적인 시스템 구동이 가능하도록 합니다.
실행 환경의 주요 제공 기능을 정리하면 다음과 같습니다.
다채널 인터페이스
동기/비동기/후행 처리
실시간 거래 제어
예외 처리 지원
Cache 서비스
국제화 서비스
Hot Deploy
표준화된 거래처리
Plug-in 방식의 선/후 거래 처리
Biz. Logic/DB 서비스의 분리
로그의 실시간 범위/수준 변경
실시간 거래 모니터링
부하조정/Center-Cut
운영환경
NEXCORE J2EE Framework에서 제공하는 운영지원도구는 Framework의 모든 정보를 한 눈에 보고 관리할 수 있도록 하여, 시스템의 운영을 효과적으로 지원합니다.
운영 지원도구에서 지원되는 주요 기능들은 아래와 같습니다.
① 기본 정보 관리
- 프레임워크 노드
- 업무 그룹
- 메시지
- 코드 그룹, 코드 항목 등
② 응용 분석
- 응용 Component(단위, 메소드, I/O 등)
- 응용 서비스 호출 관계 [그림2]
- SQL문 조회
③ 로그 분석
- 거래 로그
- 전문 로그
- 에러 로그
- 거래 통합 분석
④ 응용 제어 및 모니터링
- 룰 기반의 유연한 거래 통제(실시간)
- 로그 레벨 제어(실시간) [그림3]
- 캐시 모니터링(실시간)
- 거래 프로파일 관리
⑤ 시스템 모니터링
- 프레임워크 노드 상태 [그림4]
- 응용 서비스 처리량
- 데이터 소스
- 쓰레드
⑥ 디퍼드 관리
- 디퍼드 실행 규칙 관리
- 디퍼드 서비스 제어
- 디퍼드 서비스 결과/이력
이러한 운영지원도구의 제공을 통해 최소한의 운영 인력으로 대형 시스템의 효율적인 운영이 가능하여, TCO절감에 기여합니다.
NEXCORE Framework 주요 적용 프로젝트