“대외사업 중지에 따라 그룹 계열사 중심 확산 예고”
삼성SDS(대표 전동수)의 금융시장 겨냥 자바를 얘기할 때는 아쉬움이 남는다.
올해 기업은행 차세대를 마치면, 사실상 금융업종별 즉 은행, 증권, 카드, 보험 등 전 분야의 레퍼런스를 확보하게 되는데, 전략적 금융 대외사업이 중단됐기 때문이다.
삼성SDS가 참여하지 않는 프로젝트에 자사 프레임워크를 적용하기는 만무하고 따라서 삼성금융계열사 외에 삼성의 자바 솔루션을 만나보기는 쉽지 않을 전망이다.
삼성SDS가 만든 ‘애니프레임 자바(Anyframe JAVA)’를 소개하고 프레임워크가 어떤 사상을 갖는지, 그 기술적인 토대가 어떤지 풀이해 볼 예정이다.
◆스프링 기반 기업용 솔루션 ‘애니프레임 자바’ = 삼성SDS의 표준 프레임워크 ‘애이프레임 자바’는 범용 오픈소스 코어인 ‘스프링(Spring)’에 기반한 프레임워크로 Community Ed.(오픈소스)과 Enterprise Ed.(상용)의 2가지 버전의 라인업을 가지고 있다.
금융권이 오랜 기간 사용해왔던 ‘코볼’이나 ‘C’기반에서 자바 기반의 시스템으로 옮겨가면서 자바 기반의 다양한 기능이 필수적으로 대두되었고, 이러한 니즈에 발맞춰 삼성SDS는 '애니프레임 자바 엔터프라이즈(Anyframe Java Enterprise) Ed.(상용)' 중심으로 다양한 기능을 확보해 왔다.
이 제품은 2013년까지 삼성생명 차세대, 국세청 차세대, 기업은행 차세대, 삼성카드 차세대, IMK 차세대 등의 대형 프로젝트를 통해 지속적으로 발전돼 왔고, 공공·제조·서비스를 비롯한 모든 산업 분야의 차세대에서 폭넓게 사용되고 있다.
◆범용 코어 기반의 유연한 확장 플랫폼 = 기업에서 프레임워크는 운영과 유지보수까지 영향을 주며, 인적 자원 양성의 가장 중요한 역할을 담당한다.
기업내의 프레임워크 유형이 늘어나면 그만큼 추가적인 비용이 발생하는 반면 단일 제품으로 코어 시스템, 정보계 및 다양한 웹 환경을 동시에 지원하는 것은 어려운 숙제가 되곤 한다.
이를 위해서는 ‘프레임워크’는 높은 수준의 범용성과 확장성 및 기능성을 동시에 갖춰야 한다.
‘애니프레임 포 자바’는 오픈소스의 유연성을 최대한 활용하면서도 자바 표준을 기반으로 기업용 환경에 필요한 고도화된 기능을 제공한다.
◆자동화 및 표준화를 위한 개발 IDE = 자바 기반으로 복잡한 코어 로직을 손쉽고 빠르게 개발하면서 유지보수를 위한 표준화를 동시에 추구하기 위한 ‘개발 IDE’는 선진 프레임워크라면 필수적으로 제공해야 한다.
‘애니프레임’은 다수의 프로젝트를 통해 ‘애플리케이션 라이프사이클 매니지먼트(Application Lifecycle Management) 측면에서 업무 로직의 설계, 구현 및 테스트를 수행하기 위한 DAO(Data Access Object) 객체 생성/편집 툴, VO(Value Object) 객체 생성/편집 툴 및 비즈니스 규칙과 명세를 정의하고 구현하기 위한 시각적 로직 명세 툴을 제공한다.
아울러 애니프레임은 팀간의 협업이 중요한 자바의 특성을 위해 형상관리의 업무소스를 클린(Clean)하게 유지할 수 있는 코드 품질 관리 및 아키텍처 점검 환경을 함께 제공한다.
◆차세대 거래 처리 유형을 위한 실시간 온라인 환경 = 순수 자바로는 충분하지 않은 다양한 거래 처리 유형은 프레임워크의 표준 아키텍처와 함께 제공되며 기술적 관점의 비동기 처리, 트랜잭션 분리, 트랜잭션 동기화는 물론 책임자 승인 거래, 연동거래, 대량 출력 등의 도메인 특화 처리를 위한 확장된 유형을 지원한다.
유일성 보장을 위한 ‘유니크(Unique) ID 관리 체계’를 통한 트랜잭션 추적 기능으로 이체·입금·지급 등의 은행 거래의 정합성을 보장하는 구조를 제공한다.
또한 개방형 표준 환경에서 증가하는 EAI, ESB, 모바일, 웹서비스, JMS 등의 다양한 연계 채널을 지원하고 제어하기 위한 환경도 ‘애니프레임’의 코어에 통합돼 있다.
고정길이 전문, 웹서비스, REST, JSON 등의 다양한 프로토콜의 지원은 물론 비동기 처리를 위한 ‘트랜잭션 콘텍스트(Transaction Context)’ 저장, 복원, 제어 기능으로 IT 구축에 필요한 어떤 유형이라도 손쉽게 확장해 지원 가능하다.
◆대량 일괄 처리를 위한 배치 및 분산 병렬처리 환경 = 대량 처리시의 성능 문제는 버추얼 머신(Virtual Machine)으로 기인하는 자바 환경의 구조적 특징이며 고가용성 이슈와 함께 자바의 진입을 막았던 어려움이었다.
애니프레임은 특허 받은 ‘레이지 인코딩(Lazy Encoding)’ 기능으로 대량 파일 처리 속도를 향상시키는 한편 프로듀스 컨슈머(Produce-Consumer)‘을 비롯한 여러 병렬처리 유형을 지원해 코어 시스템의 수억 건에 달하는 데이터도 빠른 시간 내에 처리할 수 있는 환경을 제공한다.
이외에도 트리거 기반의 데몬 배치와 온라인 배치 처리를 통해 대내외에서 발생하는 다양한 비즈니스 이벤트를 신속히 감지하고 처리하는 기반을 제공한다.
대량 병렬 처리 환경으로 다수의 WAS에서 수백 개의 ‘쓰레드(Thread)를 이용해 멀티서버, 멀티코어의 시스템 자원을 100% 활용한 빠른 작업처리를 가능하게 한다.
실시간 처리 현황 모니터링과 고가용성을 위한 장애복구(Fail-Over)구조는 함께 제공된다.
◆고가용성을 위한 운영관리 환경 = 애플리케이션 수준의 높은 고가용성을 위한 운영관리 환경 없이는 구축된 시스템의 안정적인 운영 자체가 불가능하다. WAS 자체만으로는 운영관리가 매우 어렵기에 프레임워크에 포함돼 제공된다.
업무 서비스 중의 개별 WAS 상태를 한눈에 확인하고, ‘멀티 쓰레드(Multi-Thread)’ 환경의 처리 현황 관제 및 실시간 ‘쓰레드’ 상태 조회, 시스템 이벤트 기록, 오류 현황 조회 등의 운영관리 기능으로 서비스 오류 발생시 즉시 원인을 찾아 제어하고 통제할 수 있다.
장애 방지를 위해 서비스단위 용량제어, WAS단위 용량 제어 등은 메모리와 CPU 등의 시스템 자원 사용량을 안정적으로 유지할 수 있는 기반을 제공해 고가용성 수준을 높인다.
긴급한 WAS의 재기동이 필요한 경우는 24*365 기반의 무중단 재가동 아키텍처를 이용하면 서비스 장애없는 실시간 재기동을 지원한다.
◆‘인메모리’ 지원 = 최근 기존의 환경을 벗어난 다양한 IT 기기에서 기업은 끊임없이 새로운 데이터를 생성하고 저장하며 스마트 폰의 확산과 소셜 미디어 사용의 증대로 처리할 데이터량이 빠르게 증가하고 있다.
여기에 대응할 기술인 ‘애니프레임 데이터 그리드(Anyframe Data Grid)’는 ‘인메모리 데이터 그리드(In-Memory Data Grid)’를 적용, 분산환경에 최적화된 아키텍처를 제공, 대용량, 고성능의 데이터를 실시간으로 처리하고 분산 컴퓨팅 환경에서의 신뢰성, 용량, 성능, 확장성에 최고의 효과를 제공한다.
데이터 그리드를 활용한 ‘세션 클러스터링(Session Clustering)’ 지원은 이기종 WAS 간의 세션 클러스터링을 가능하게 한다.
향후 데이터 그리드의 활용으로 JVM의 ‘힙 메모리(Heap Memory)’의 제약을 극복하고, RDBMS를 대체한 IMDB(In-Memory Data Base)로써 클라우드 스토리지로 활용하며, ‘데이터 캐시(Data Cache)’의 범위 확대는 물론 대용량 이벤트를 실시간으로 수집·분석·처리할 수 있도록 고속 처리 플랫폼을 제공, CEP 서비스를 지원하기 위한 기반을 제공한다.
2014년 3월에는 오픈소스 ‘애니프레임 자바 엔터프라이즈(Anyframe Java Community) Ed. 5.6.0’이 릴리즈 예정이다.
◆자바 EE7기반의 확장된 기능 지원 = 3월 선보이는 새 버전은 웹소켓, JMS 2.0 등 자바 EE 7과 서비릿(Servlet) 3.1에서 제공하는 최신의 기술 아키텍처를 제공, 제티(Jetty), 톰캣(Tomcat), 글래스피쉬(Glassfish)와 같은 오픈소스 표준 ‘서블릿 컨테이너(Servlet Container)’ 뿐 아니라 제이보스(JBoss), 웹로직(Weblogic), 웹스피어(Websphere), 제우스(JEUS)와 같은 상용 미들웨어에 대한 운용 검증을 통해 신뢰성 높은 기술 아키텍처 서비스를 제공한다.
◆차세대 웹 표준 ‘웹 애플리케이션’ 개발 지원 = 모바일 및 멀티브라우져 환경을 본격적으로 대비해 애니프레임 자바는 HTML5, 자바 스크립트, 웹소켓 및 논 블로킹 디스패처(Non-blocking dispatcher) 기술을 활용한 양방향 실시간 유저 인터페이스를 위한 향상된 웹 애플리케이션 개발 환경을 지원하한다.
특히, 웹 기반의 기업용 시스템 구축 시 사용자 만족도를 높이고 정확한 정보를 양방향으로 적시에 전달하는 진보된 웹 어플리케이션 개발을 지원한다.
◆글로벌 사업수행을 위한 국제화 지원 강화 = 스프링 4.0에서 강화된 ‘로케일 컨텍스트(LocaleContext) 기반의 진보된 국제화 지원 기능을 활용, 해외사업 적용 요건을 강화한다.
다양한 언어, 시간, 도량형 등 글로벌 사업환경에서 발생할 수 있는 다양한 요구사항들을 보다 빠르게 반영하며, 글로벌 적용을 위한 국가별 최적화 아키텍처 기반을 제공한다.
이외에도 ‘라이브러리 디펜던시(Library Dependency)’ 최적화를 통해 잘 사용되지 않는 요소 기술들을 정리하고, 검증된 최신버전의 ‘써드파티(Third-party)’ 라이브러리를 제공, 현장 활용성을 제고하고 생산성을 향상시킬 예정이다.
이 밖에도 ‘이클립스’ 기반의 애니프레임 자바 IDE 사용편의성 강화를 통해 생산성 향상에 기여할 수 있는 다양한 요소들이 추가될 예정이다.
빅데이터 지원 및 클라우드도 강화된다.
삼성SDS 자체 클라우드 기반 개발환경 탑재 및 최적화를 통해 클라우드 환경의 IT 생산성을 높이고 ‘멀티 테넌시(Multi-Tenancy)’ 환경의 실행환경으로 즉시 배포해 운영할 수 있으며, No-SQL 및 빅데이터 기반의 클라우드 인프라를 애플리케이션 레벨에서 즉시 지원하기 위한 클라우드 기반의 어플리케이션 프레임워크로 발전하고 있다.
◆삼성SDS가 전망하는 2014년 ‘자바’ = 2014년 자바 솔루션은 2013년까지의 행보와 크게 차이가 날 것으로 보인다.
휴대폰과 태블릿 기반의 모바일 환경이 기업시장으로 본격 진출하며 웹기반의 사용성이 대두되고, 다수의 웹기기에 대한 대용량, 비동기처리에 적합한 웹소켓 및 유관 자바 EE 7 기술이 적극적으로 활용되는 등 변화의 물결이 일 것으로 전망된다.
또한 글로벌 시장의 중요성이 부각되면서 해외 시장에서 통용될 수 있는 글로벌 프레임워크가 대두되고 있다.
애니프레임은 이같은 환경 변화에 발맞춰 기능과 비기능을 모두 충족시키기 위해 연구 투자 역량을 집중, 2014년의 자바 기반을 확대할 예정이다.
<김동기 기자>kdk@bikorea.net