BAF Team IT Engineering Center 금융 부분의 소프트웨어 아키텍처와 프레임워크와의 관계 백창현 수석보 2008년 7월 12일 BAF Team IT Engineering Center Samsung SDS
Introduction 최적화된 프레임워크의 구조는 소프트웨어 아키텍처와 깊은 상관 관계를 가진다. 기능, 비기능(품질 속성), 품질 속성 시나리오... 금융 부분의 소프트웨어 아키텍처와 프레임워크의 상관 관계에 대한 비교를 통해 소프트웨어 아키텍처의 접근 방법과 프레임워크의 본질에 대한 보다 깊은 이해를 가능하게 할 것이다. J2EE 플랫폼 기반 구조의 사례임
소프트웨어 아키텍처의 정의 Definition Software Architecture “ The software architecture of a program or computing system is the structures of the system, which comprise the software elements, the externally visible properties of those elements, and the relationships among them” Software Architecture Architecture of Software Intensive System Software + Hardware ( Knowledge ) Software Intensive System 소프트웨어에 의해서 핵심 기능들이 수행되는 소프트웨어 중심의 시스템. 단지 소프트웨어 만을 의지하지는 않으며, H/W도 포함됨
프레임워크의 본질? 어플리케이션의 구조에 맞게 사전에 만들어진 반제품 형태의 하부 구조. 외부 변화요인 고객요구의 다양화 내부 변화요인 신규 비즈니스 모델 Framework 반제품 상태의 성능 튜닝 된 하부구조 서 비 스 비즈니스 어플리케이션 개방형 표준아키텍처 수용 고객요구의 다양화 연계 전문/프로토콜 증가 신규고객 채널증가 다양한 전산환경통합 통합 관리 체계 미흡 표준개발/운영 프로세스부재 유지/보수 비용증대 System 구축 운영 통합 신기술 접목용이 Biz. Agility 표준 기술 기반에서의 구조화, 단순화, 표준화 및 기존 컴포넌트의 재사용 어떻게 할것인가 ?
금융 시스템의 특징 Financial 분야의 특징 Financial 분야 개발의 특징 高 성능 高 신뢰성 高 가용성 高 보안성 매우 많은 수의 소스 모듈 다양한 솔루션 연계 백-엔드 연계 안정적인 운영 서비스 지향 ( SOA ) Financial 분야 개발의 특징 복잡한 개발 환경 다양한 표준 준수 : 용어 사전, 설계 표준, 명명 표준 개발 통제 : 불필요한 변경 최소화 유지 보수성의 강조
Data Analysis, Data Warehouse 금융 부분의 아키텍처 개념도 멀티 레이어 아키텍처로 일반적으로 채널 부분과 Integration부분, Core Business 부분이 레이어 상에 분리되어 있으며, 레이어는 다시 개별 시스템으로 세분화 Client Web Broswer, 전용 소프트웨어 외부 시스템 Multi Channel B2B 연계 부분 Call Center 통합 단말 (내부 사용자) 웹 기반 고객 서비스 Channel Integration Hub ESB, EAI, MCI 솔루션 Core Business CRM Customer Data Integration Data Integration Data Analysis Data Warehouse 대외 채널 (B2B Service Gateway) ESB / EAI Core Business Component Call Center 통합 단말 서버 Orchestration Risk Mng Customer Data Integration CRM Service Provider Consumer Integration Channel Integration Secured Zone ( B2B ) Micro-Flow Data Analysis, Data Warehouse
Business Application Layer 금융 차세대 소프트웨어 아키텍처 이미지 SOA 사상이 반영되어 코어 비즈니스 어플리케이션과 채널이 분리되고 대내외 채널 통합을 위한 Integration Layer 기반의 차세대 소프트웨어 아키텍처의 전형적인 이미지 Q) 영역별 각 프레임워크의 구조와 설계는 유사할까? Multi Channel Layer Business Application Layer Database Layer Interface Layer Operation Layer Workflow Layer Application Logic Layer Domain Logic Layer DataAccess Layer Interface Layer DataBase & Information Storage Channel (Web) UI Integrity UI Model Presentation Controller Business Delegate Business Façade Record & Log Manager Recording &Logging Application Business Utility Record Repository SSO A&A Channel (ASP) Web Services Integrity Service I/F Operation Business Component Persistance Component I/F Business Class DAO Class Channel (Call Center) I/F Business Façade Business Utility Business Class DAO Class Channel Framework Channel Integrator Web Collaborator Message Broker Business Worker Data Ware House Service I/F Business Collaborator Integration Adaptor Outgoing Agent Business Delegate Business Façade Monitor Router Monitor Queue IQ Processor Business Class DAO Class In Queue OQ Processor Out Queue Integration Adaptor Business Collaborator Business Class DAO Class Data Mart Incoming Agent Service I/F IQ Processor I/F Integration Adaptor In Queue OQ Processor Out Queue I/F Application Framework Integration Framework Application Builder Core Library Interface Exchanger Adaptor/Agent Generic Platform DAO Platform
소프트웨어 아키텍처와 프레임워크와의 관계 소프트웨어 아키텍처와 프레임워크의 기본 관계 상호 보완적임 소프트웨어 아키텍처는 어플리케이션의 골격 구조와 틀, 처리 유형을 제시한다. 프레임워크는 업무 구현 어플리케이션의 공통된 하부 기반 구조를 제공한다. 코어 비즈니스 S/W 아키텍처 개념 구조도 프레임워크 개념 구성도 Service Façade Record & Log Manager Recording &Logging Application Business Utility Record Repository 공통 서비스 컴포넌트 커뮤니케이션 플랫폼 인프라 데이터 억세스 서비스 온라인 트랜잭션 서비스 배치(Batch) 비즈니스 로직 서비스 관리 및 모니터링 서비스 공통 비즈니스 유틸리티 Service I/F Business Component Persistance Component Data 1 Business Class DAO Class Service Façade Business Utility Business Class DAO Class Business Worker Data 2 Service I/F Business Collaborator Service Façade Business Class DAO Class Data 3 Business Collaborator Business Class DAO Class Service I/F 차세대 어플리케이션 시스템 골격 구조 정의 실행 기반 제공
Center Cut ( Online Batch ) 소프트웨어 아키텍처 Vs 프레임워크 기능적 측면 업무 처리를 위한 다양한 업무 형태를 지원할 수 있는 프레임워크 업무 기능별 처리 구조 분석 비기능적 측면 ( 품질속성 측면 ) 소프트웨어 아키텍처의 품질 속성의 일부를 프레임워크 관점에서 기능/비기능적인 요소로 지원함. 유틸리티 트리 형태의 분석 품질 속성 F/W 고려 사항 ONLINE 성능 업무 공통 모듈 지원 성능 변경용이성 BATCH 성능 개발자들간 실시간모듈 공유 안정성 유지보수성 Center Cut 성능 서버 개발, 배포, 테스트지원 신뢰성 개발생산성 업무 처리 로직 무결성 메소드 내부 로직 구조 시각화 후행 처리 트랜잭션 보장 개발 모듈의 메타 정보 연계 재사용성 … 클래스간의 호출 관계 분석 통합 서비스 모니터링 업무 처리 유형 ( 기능) ONLINE Center Cut ( Online Batch ) Batch Deferred
업무 처리 기능의 반영 – 처리 유형별 업무 처리 기능 : 대표적 기능 : 유스케이스 기반 또는 SOA 서비스 기반의 업무 처리 유형 중심으로 S/W 아키텍처에 기반함. 실행 관점의 기반 구조를 제공하며, 프레임워크가 집중적으로 지원해야 하는 부분을 도출하는데 효과적임. Component & Connect View의 Run-Time 아키텍처 관점에서 공통 기능과 업무 처리 로직을 구분하여 정의 대표적 기능 : Online 처리, Deferred 처리, Batch 처리, Online Batch 처리 처리유형 설명 특징 프레임워크 고려사항 Online Online Transaction Processing 처리 유형으로 시스템 사용자나 외부의 이벤트에 의해서 구분됨 Layer 구조 중심의 업무 기능 처리로 일반적으로 단일 트랜잭션으로 구성 성능 및 안정성 통합 실행 제어 Deferred ( 후행 처리 ) Online 처리 이후 부가적인 업무 수행을 위한 로직으로 동기화가 필요 없는 추가 처리 부분에 사용 실시간 처리가 필요하지 않은 업무에 대한 처리로 실시간 처리에 대한 부담을 최소화 함 Message Queue를 이용한 비동기화 처리의 트랜잭션 안정성 Batch Batch 작업을 수행하기 위한 업무 로직을 기술함. 대량의 데이터에 대한 업무 로직이 반영된 일괄작업으로 업무별 결산, 정합성 확인 등에 사용됨. 파일 처리, DB 처리 속도 Online Batch ( Center Cut ) Online업무를 대량으로 발생시키는 Batch 처리 특정 온라인 로직을 대량으로 수행하기 위한 배치 ( ex : 급여일 급여 자동 이체 급여 이체를 수십 만건 일괄 수행 ) 통합 관리 멀티 쓰레드 기반 성능
비기능적 속성의 반영 - 품질 속성 유틸리티 트리 품질 속성 유틸리티 트리 : SEI에서 제시한 소프트웨어 아키텍처의 속성을 표현하기 위한 트리 형태의 분석틀 S/W 아키텍처, F/W 아키텍처에 대한 체계적인 분석이 가능 ( 장점 ) F/W 아키텍처에 대한 구체적인 품질 속성 시나리오의 도출이 특히 어려움 ( 단점 ) F/W 개발 일정, 범위와의 충돌 구체적인 시나리오를 Top-Down으로 도출할 수 있다면, 활용 효과는 매우 높음 명시적, 암묵적 활용이 가능함. 품질 속성 고려 사항 품질 속성 시나리오 ( 예시 ) 성능 OLTP 처리시의 서비스 별 성능 정보 기록 및 통합 4대의 서버, 16개의 WAS Instance로 분리되어 수행되는 온라인 업무의 성능 정보는 실시간으로 집계되어 통제 Admin화면에서 즉시 모니터링 되어야 한다. Batch 처리시의 SAM 파일 읽기 속도 1200만 건의 처리 데이터가 포함된 정산 처리용 SAM파일을 JAVA기반의 Batch 작업으로 처리 하기 위해, 파일 읽기 라이브러리는 C 기반의 파일 읽기 라이브러리 성능의 70%의 성능을 제공해야 한다. Center Cut ( Online Batch ) 처리시의 분산 멀티 쓰레드 기반 병렬 처리 2대의 서버, 8개의 Was Instance로 분리되어 수행되는 Center Cut 의 성능을 확보하기 위해, 업무 처리 로직은 제한된 시스템 자원 하에서 Multi-Thread 환경으로 병렬로 처리 되어야 한다. 운영 용이성 실시간 업무 서비스 통합 제어 4대의 서버, 16개의 WAS Instance로 분리된 온라인 업무의 각 업무 서비스에 대한 “중지”,”재개” 명령을 통제 Admin화면에서 각 WAS Instance 별로 내릴 수 있어야 한다. Center Cut의 분산 멀티 쓰레드 통합 제어 8개의 WAS Instance로 분리되어 수행되는 Center Cut의 수월한 운영을 위해 각 WAS Instance의 Center Cut 업무 처리는 중앙의 통제 Admin에서 “시작”,“중지”,”재개” 명령을 통해 제어될 수 있어야 한다. 유지 보수성 복잡한 업무 서비스 구현 코드의 구조화 단일한 Java Method로 구현된 2000라인 이상의 복잡한 보험 처리 구현은 소스 코드의 흐름이 시각적으로 Eclipse IDE 상에서 구조화되고 가시화되어 수정하고 싶은 부분을 바로 찾아갈 수 있어야 한다. …
Multi Channel Integration Online OLTP 처리 구조 처리 프로세스 : 통상적인 온라인 업무처리를 위한 프로세스이며 클라이언트에서 요청을 받아 서버에서 트랜잭션 처리 후 결과를 반환 처리 구조 : 통상적인 Layer 아키텍처와 유사 ( Application Logic, Domain Logic, Data Access ) 당행이체 비즈니스 인터페이스 1 MCI 온라인 컴포넌트 호출 순서 당행이체 프로세스 컴포넌트 2 <Activity> 출금처리 입금처리 <Policy> 수수료정산 <DAO> 수수료 고객정보 2-2 2-3 이체가능여부 확인 잔액/평잔 한도 2-1 2-4 2-1-1 2-1-2 2-4-1 2-4-2 Message Adapter OLTP 처리 구조 공통 유틸리티 컴포넌트 캐싱 세션 관리 객체 풀링 로깅 설정 네이밍 접근 제어 통합 DB 데이터 Policy Component Business Class Process 컴포넌트 Data Access Layer Application Logic Service Interface Domain DAO Multi Channel Integration 컴포넌트 처리 순서 당행이체 비즈니스 인터페이스: 당행이체 비즈니스를 수행을 위한 인터페이스 담당 당행이체 프로세스 컴포넌트: 당행이체 프로세스 수행 이체가능여부확인 Policy 컴포넌트: 이체한도 및 잔액 체크 한도 DAO 컴포넌트 : 일일 한도 데이터 접근 잔액/평잔 DAO 컴포넌트 : 통장 잔액 데이터 접근 출금처리 Activity 컴포넌트: 출금통장 출납처리 수행 입금처리 Activity 컴포넌트: 입금통장 입급처리 수수료정산 Policy 컴포넌트: 고객등급 및 이체유형에 따라 이체수수료 정산 ~ 수수료,고객정보 컴포넌트: 고객등급 및 수수료 정책 데이터 접근 1 2 2-1 2-1-1 2-1-2 2-2 2-3 2-4 2-4-1 2-4-2
후행 처리 ( Deferred ) 처리 구조 처리 프로세스 : 온라인 처리 응답 후 추가적인 별도의 업무 처리를 수행하기 위한 비동기화된 업무 처리 처리 구조 : 메시지 Queue를 통해 구현됨 ( Message Delivery, Message Digesting 으로 트랜잭션 분리) 컴포넌트 호출 : 프레임워크 공통 서비스 부분 Database 메시지큐 Deferred Service Manager Logging invoke thread execute query : 개발자 개발 부분 업무 전처리 업무 로직 업무 후처리 Deferred Service 후행처리 결과조회 처리 요청 처리응답 재처리큐 재처리 1 당행이체 비즈니스 인터페이스 2 당행이체 프로세스 컴포넌트 Message Adapter MCI 2-1 <Policy> 이체가능여부 확인 2-2 2-3 2-4 <Activity> 출금처리 <Activity> 입금처리 <Policy> 수수료정산 2-4-1 2-4-2 2-1-1 <DAO> 수수료 <DAO> 고객정보 <DAO> 한도 2-1-2 <DAO> 잔액/평잔 Message Adapter <Activity> 집계 <Activity> 결산
Framework 배치 기능(AnyFrame) 배치 처리 구조 처리 프로세스 : 대량의 업무 데이터에 대한 일괄 가공 ( DB , SAM 파일 대상 ) 처리 구조 : 데이터를 다량으로 읽어 들여 메모리 상에서 일괄적으로 변경,가공하고 결과를 다량으로 DB와 파일로 기록함 배치 어플리케이션 구조 (예시) 관리자 단말 배치 스케쥴러 스케줄설정파일 배치 Application 배치전문 Writer 복제DB [배치모듈] JVM 작업 모니터링 배치 서버 1.배치설정 2.스케줄 배치기동 (날짜,시간,파일체크등) SAM 파일 배치트랜잭션 처리기 DAO Class [온라인모듈] Shell Script#1 ETL Script#2 Script#N 3. Shell Script 기동 Framework 배치 기능(AnyFrame) 배치모듈실행 온라인모듈호출 ETL Server Client Layer 배치전문 Reader Biz Service 배치 프레임워크 지원 기능 기능 항 목 세부 내용 배치전문처리 .대량의 SAM파일에서 고속으로 건 단위로 읽어 들여 로직을 태워 처리할 수 있는 환경 지원 배치 커넥션 처리 .배치 작업에서 사용하기 위한 DB 커넥션을 제공 배치 트랜잭션 처리 .배치 작업의 트랜잭션을 제어하기 위한 환경을 제공 배치 DBIO .배치 작업에서 DB를 접근하고 데이터에 접근하기 위한 IO기능 지원 온라인 모듈 호출 .필요 시에 온라인 공통 모듈을 호출하여 사용할 수 있는 환경 제공
시스템의 분할에 따른 품질 속성 상관 관계 하나의 시스템에는 서브 시스템이 포함되어 있음. 서브 시스템은 상위 수준의 시스템의 기능의 일부 서브 시스템의 품질 속성은 상위 시스템의 품질속성을 기준으로 정의됨. 상위 시스템의 품질 속성은 서브 시스템의 기능으로도 반영됨 시스템 포함 관계 품질 속성 연관 관계 금융 차세대 시스템 품질속성 지침&가이드 App Framework 품질속성 지침&가이드 Run-Time F/W 품질속성 Online Batch 품질속성
온라인 배치 ( = Center Cut ) 프로세스 처리 프로세스 : 대량의 온라인 업무에 대한 일괄 처리 ( 급여 이체, 지급 등) 처리 구조 : 온라인 업무의 병렬적 처리를 위해 입력 테이블에서 읽어 들여 멀티 프로세스 & 쓰레드 구조로 병행 처리함. Online Batch 처리 구조도 job 1 ~ 10000 job 10001 ~ 20000 job 20001 ~ 30000 job 30001 ~ 40000 901 ~ 1000 801 ~ 900 701 ~ 800 601 ~ 700 501 ~ 600 401 ~ 500 301 ~ 400 201 ~ 300 101 ~ 200 1 ~ 100 통제정보 (재처리 및 결과 통계) job 601 ~ 10000 job 201 ~ 300 예) Commit단위 : 100건 배치 스케줄러 배치 프로그램 Online Batch Admin Job Scheduler Batch Scheduler Controller Job Admin Admin UI ( GWT on Tomcat ) Online Batch Admin Daemon Online Batch Scheduler Script Quartz Agent Policy Data Engine 1 Online Batch Engine Business Logic Thread Spring Batch Spring Common ( Con. Pool. ) Engine 2 Online Batch Engine Business Logic Thread Spring Batch Spring Common ( Con. Pool. ) Engine 3 Online Batch Engine Business Logic Thread Spring Batch Spring Common ( Con. Pool. ) Engine 4 Online Batch Engine Business Logic Thread Spring Batch Spring Common ( Con. Pool. ) 품질 속성 시나리오 처리 Thread 통제 분산 처리 기반의 운영 시에 각 Thread별로 업무처리를 통제 Admin에서 중단 시키면, 각 Thread는 트랜잭션의 완료 후에 작업을 중단해야 한다. 작업 종료 시간 예측 관리자는 분산된 서버에서 실행 중인 작업의 진행 상황과 예상 완료 시간을 통제 Admin에서 원하는 시점에 볼수 있어야 한다. Business Data Input Table output Table
개발/실행/운영 관점의 차세대 프레임워크의 범위 프레임워크 기능의 완성 프레임워크에 대한 사상의 반영 실행 이외의 개발/운영 관점에서의 통합된 환경을 프레임워크 차원에서 지원 개발과 운영에 관련된 다양한 기능/비기능 요건에 대한 반영 필요 실행 프레임워크와 연계되어 개발자의 생산성을 높이고 운영자의 유지보수성을 향상 시키는 환경 개발/실행/운영 관점의 차세대 프레임워크의 범위 복합적인 분산구조의 단순화를 통한 개발 생산성 향상 통합 개발 인프라 및 공통 컴포넌트 제공을 통한 재사용성 증가 검증되고 표준화된 아키텍처 기반의 개발로 안정성과 신뢰성 확보 개발자간의 모듈 검색과 공유 및 각종 공통Module 작성 및 관리 IO 개발 및 테스트 툴 지원 통합 개발환경을 종합적으로 제공 서비스 및 I/F 변화에 대한 유연성 제공(Toolkit/화면 등) 시스템 모니터링, 제어, Reporting, Logging 등의 Admin 기능을 통한 통제 장애에 대한 발견/통보/관리 및 성능 분석에 대한 기반 제공 수만 본의 서비스 프로그램들이 최적의 상황에서 운영 될 수 있도록 Application Level에서 종합 관리 장애의 사전방지를 위해 핵심서비스들에 대한 Monitoring & Control등의 통합 운영환경을 종합적으로 제공 성능 검증이 완성된 시스템 하부구조 제공 개발/운영 환경의 하부 실행구조로 처리 프로세서의 집합으로 구성되어 있는 핵심 기반 환경 OLTP 실행 환경 Batch 실행 환경 Batch Type Online 실행 환경 DB 접근, 공통 처리 등의 실행 제어 환경 개발(Development) 환경 실행 (Runtime) 환경 운영(Managenet) 환경 Operating System Java Virtual Machine Web App Server Framework 비즈니스 어플리케이션
개발 관점의 프레임워크의 기능 완성 개발 프레임워크 완성을 위한 ALM ( Application Lifecycle Manageement ) 관점의 접근 클래스로 구성된 업무 모듈의 LifeCycle 중심으로 Eclipse IDE와 통합 금융 부분 고려 사항 배포를 위한 패키징을 어떻게 편리하게 할 수 있을까? 런타임 기반을 어떻게 구성할 까? 모듈 개발 계획, 개발 관리를 어떻게 체계적으로 지원할 것인가? 다수의 개발자 지원 개발/실행/운영의 지원 다량의 모듈에 대한 통제, 관리 복잡하고 긴 모듈의 개발과 유지보수 %최소 X0,000본 이상 분석, 설계 툴의 연계 운영 및 유지 보수 솔루션과의 효과적 연계 라이프 사이클 계획(변경) 설계 개발 배포 테스트 이행 모듈의 입출력과 내부 구조의 정의를 어떻게 효과적으로 할 것인가? 소스 코드 생성의 자동화. 모듈 공유와 사용을 어떻게 쉽게 할 것인가? 서버에 존재하는 모듈을 어떻게 테스트할 수 있을까? 반복적인 테스트를 어떻게 보다 편하게 할 수 있을까? 만들어진 모듈을 어떻게 손쉽게 배포할 수 있을까? 잘못 만들어진 모듈을 어떻게 통제할 수 있을까? 유연성 재사용성 표준화 개발 생산성 성능 신뢰성 유지 보수성 개발관리
개발 프레임워크 – 아키텍처 예시 Eclipse 기반의 개발 프레임워크 구조 Eclipse IDE 개발 서버 Package Explorer Eclipse Plug-In 업무 시스템 모듈 관리 Plug-In Deploy & Analyzer 업무 DB Business Logic Test Agent Run-Time Core I/O 관리 Plug-In Parser (AST) Source Handler Framework Server Server Source Code Java Editor 모듈 테스트 Plug-In Server Adaptor Deployment Manager Template Engine DAO 모듈 구조 시각화 Plug-In Local Source Code 형상 관리 형상 관리 Meta DB Configuration Item
개발 프레임워크 - 모듈 공유 기능 예시 4 해당 모듈 Drag&Drop 5 사용 샘플 코드 자동 생성 6 형상 관리 개발 서버 업무 시스템 Anyframe Server Test Agent Server Adaptor Run-Time Core Business Logic 업무 DB Deployment Manager Server Source Code Meta DB Anyframe DAO Configuration Item 해당 모듈 Drag&Drop 4 사용 샘플 코드 자동 생성 5 필요 소스 코드 자동 다운로드 6 모듈 검색 2 서버 공유 모듈 정보 검색 3 연계 대상 모듈 1
신뢰성 대응 기능 상세화 – 실행 서비스 예외 처리 선언적 예외 처리 서비스 Online 처리를 지원하기 위한 기능의 하나 예외 상황의 발생은 일괄적으로 잡아내어 기록하고, 관리자에게 통보. 신뢰성 품질속성 시나리오에서 도출됨 선언적 예외처리 구조 선언적 예외처리 개요 2:서비스 메소드 Call 3:메소드 Call 설정 파일을 이용한 선언적인 예외 처리 ExceptionHandler를 통한 일관성 있는 예외처리 가능 ( 중복코드 제거) Exception API를 이용한 표준화된 예외처리 방법 제공 사용자 로케일에 따른 key, value쌍의 properties File 형태의 메시지 리소스 사용가능 Database를 이용한 메시지 리소스 활용 가능 1:Request Request Processor 화면 화면 컴포넌트 컴포넌트 DAO DAO 4:throw Exception 5:throw Business Exception 에러화면 7:Forword load XXException Config XML Exception Handler BaseException 코어 비즈니스 S/W 아키텍처 개념도 Service Façade Record & Log Manager Business Component Persistance Worker Class I/F Collaborator DAO Utility Recording &Logging Application Record Repository Data 1 Data 2 Data 3 MessageResouce Factory <global-exceptions> <exception path=“ktfErrorpage" key="" type="com.ktf.exception.DCCException" handler=“com.dccexception.handler.ExceptionHandler" /> <exception path=“dccErrorpage" key="" type="java.lang.Exception"/> </global-exceptions> Properties 파일 Database msg_ko msg.err=실패 msg.success=성공 id locale Msg msg.err ko 실패 msg_en msg.err=fail msg.success =success msg.err en fail
이야기의 정리 프레임워크는 적용 도메인의 아키텍처에 많은 영향을 받음. 금융 부분에 적용되는 프레임워크는 금융의 업무 처리 유형을 기반으로 구성됨. 통상적인 프레임워크와 기본 개념과 시작점은 동일 만들어지는 기능의 형태에는 차이가 있음 ( Online, Deferred, Batch, Center-Cut ) S/W 아키텍처는 프레임워크를 포함한 통합된 아키텍처를 표현 S/W 아키텍처 품질 속성은 프레임워크의 품질 속성으로 정제. 이후, 기능으로 반영. S/W 아키텍처 분석을 통해서 프레임워크의 기능을 정제하고 완성도를 높일 수 있음. 프레임워크의 완성에는 추가적인 사항들이 필요함 기반 기술 플랫폼 ( J2EE vs C/S ) 적용 오픈 소스 / 제품 ( Eclipse , Spring ) 프레임워크에 대한 개념과 사상 프레임워크의 접근 방향과 범위
고려 사항 : 금융이 아니면?... 이동 통신사의 코어 비즈니스 처리를 위한 프레임워크는 어떤 구조와 기능을 가질 것인가? 고려 사항 : 금융이 아니면?... 이동 통신사의 코어 비즈니스 처리를 위한 프레임워크는 어떤 구조와 기능을 가질 것인가? 서비스 중심으로 코어 비즈니스가 분리된 구조는 유사 업무 처리 유형은 다량의 조건 비교 후 일괄 처리 구조가 많음. 기업 내의 연계 대상의 시스템이 매우 많으며, 성능은 내부/외부 시스템과의 연계 처리 시간에 의존적임. Use Case 메시지 분해 우수기변 UI Flow 고객조회서비스 공통 전처리 Component 고객조회 고객등급조회 (우수기변대상자확인) Service Component Processing Item Implementation 타사 번호 개통 금지 SKT, LGT 연계 KTF 업무용 개통 금지 Internal Check 가입 한도 회선수 체크 위성 DMB 별도 회선수 체크 DMB해지후 재가입은 PC 재가입후에 가능 가입비 계산 여부 체크 특판 번호(판매번호) 유효 체크 USIM단독 개통일 경우, 단말기 정보 체크 2G->3G 전환, 택시폰가입비면제 신용불량자 가입비/단말기대금완납으로만 가능 한신정 연계 분납 계약자, 익월 청구 정보 존재 여부 체크 …… 서비스 단순 가입 처리 Transaction 네스팟 단말기 ICIS 연동 처리 ICIS 연계 KTF KT 개통시 별도 이력 관리 이력 Transaction 폰세이브 선납 고객 별도 이력 관리 우수기변선택 판매번호 선택 판매번호 조회 & 단말기 모델 조회 단말기 모델조회 단말기 가용성 선체크 단말기 입력 단말기 보조금 조회 할부조건입력(개월수) 기존 단말기 반납정보 입력 저장 Service 기기변경개통 공통 전처리 공통 전처리
이야기의 끝. Question & Answer ? 감사합니다. 이야기의 끝. Question & Answer ? 감사합니다. E-mail : ch.h.baek@samsung.com , parnx@naver.com 블로그 : http://blog.naver.com/parnx