54
© 2008 IBM Corporation IBM Software Group April, 2008 금융권 차세대 시스템 구축을 위한 Application Framework Korea Industry Summit – 2008, Seoul 이형기 실장 Banking CoE, Korea Software Solution Lab. IBM AP Software Group Superworks

[0429 2 3] 금융권 차세대 시스템 구현을 위한 Appication Framwork …

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

© 2008 IBM Corporation

IBM Software Group

April, 2008

금융권 차세대 시스템 구축을 위한Application FrameworkKorea Industry Summit – 2008, Seoul

이형기 실장

Banking CoE, Korea Software Solution Lab.IBM AP Software Group Superworks

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation1 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

BusinessObjectives Innovation Top line

growthIncrease efficiency

Resources and IT Assets

Gain market share

…Legacy Claims

DatabaseHome Claims

SystemBusiness Partner Claims System

AutoClaims System

LifeInsurance

Claims

The Challenge: Business and IT Alignment

…Legacy Claims

DatabaseHome Claims

SystemBusiness Partner Claims System

AutoClaims System

LifeInsurance

Claims

Business Agility

Rebuild!Legacy Billing

Systems

Home Claims System

Distribution Management

System

AutoPolicy

Systems

Agent Authorization

Systems

Complex processes and systems

Complex applications and interfaces

Difficult to adapt quickly

Large portion of IT budget spent on maintenance, not on new value add investments

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation2 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

유연한 차세대 시스템 구축을 위한 서비스 기반 어플리케이션 아키텍처

현재의 시스템

Applications

차세대

Services

“서비스”들의 모임어플리케이션 Silo

Components

Processes

ServicesProvider

Consum

er

기존의 업무 시스템은 화면과 비즈니스 로직이 결합된 형태의 여러 어플리케이션으로 운영됨으로 인해 어플리케이션 사이의비즈니스 로직의 중복으로 일관성 문제 및 유지보수의 어려움이 있습니다. 차세대 시스템은 화면과 비즈니스 로직의 명확한 구분 및비즈니스 로직의 산업 표준 서비스화(SOA) 형태가 가능하게 하고, 화면을 수반한 어플리케이션 들은 비즈니스 요건에 맞게 준비된서비스들을 재사용하여 만들 수 있는 형태가 되어야 합니다. 기간업무 서비스는 가장 많이 공유되는 서비스들입니다.

신규 개발 시스템, …

비즈니스 프로세스

비즈니스 서비스

“자동화”

“도구”

“프레임워크”

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation3 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

차세대 시스템 구현은…유연하게 조합 가능 서비스들을 통한 SOA기반 솔루션을 구축하는 것

Composite ServiceAtomic ServiceRegistry

Data A

rchitecture and Business Intelligence

QoS

, Security, M

anagement, and

Monitoring Infrastructure

Service

Integration (Enterprise Service Bus Approach)

consumers

business processesprocess choreography

servicesatomic and composite

service components

operational systems

Service C

onsumer

Service P

rovider

JService Portlet WSRP B2B Other

OOApplication

CustomApplication

PackagedApplication

Governance

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation4 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

Information Services

App

s &

In

fo A

sset

s

Business Innovation & Optimization Services

Dev

elop

men

tSe

rvic

es

Interaction Services Process Services

Partner Services Business App Services Access Services

Integrated environment

for design and creation of

solution assets

Manage and secure

services, applications

& resources

Facilitates better decision-making with real-time business information

Enables collaboration between people,

processes & information

Orchestrate and automate business

processes

Manages diverse data and content in a unified

manner

Connect with trading partners

Build on a robust, scaleable, and secure services environment

Facilitates interactions with existing information and application assets

ESBFacilitates communication between services

IT S

ervi

ceM

anag

emen

t

Infrastructure ServicesOptimizes throughput, availability

and performance

Model

Assemble Deploy Manage

Information Services

SOA for Business Aligned IT Reference Architecture

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation5 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

차세대 IT 아키텍처

Core Business Services

Infrastructure & Management

Ban

king

Des

ktop

Channel Interaction Services

Process Services

Physical Infrastructure

Enterprise Service BusC

hann

el

Bus

ines

s Lo

gic

Pre

sent

atio

n

Ren

derin

g

Pre

sent

atio

n In

tera

ctio

n C

ontro

l

Pre

sent

atio

n D

ialo

g C

ontro

l

Dat

a Lo

gic

Reusable Business Logic Services

Business Integration

Logic

User and Interaction Domain Core and Information Domain

Process/IntegrationDomain

Use

rs /

Rol

es

Customer

Branch Manager

CC Agent

Financial Advisor

Mobile Sales

Loan Officer

Teller

단위 서비스 컴포넌트

프레임워크

복합 비즈니스 서비스

프레임워크

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation6 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

차세대 어플리케이션 개발 사상: SOA(서비스 중심) + MDA(모델 중심)

WSDLEXPORT

UML To UML

UML To EJB 소스코드자동생성

서비스설계

서비스분석

Websphere Business Modeler

프로세스구현

프로세스설계

프로세스분석

Rational Software Architect

Websphere Process Server

Websphere Integration Developer

Websphere Business Monitor

Rational Application Developer

WebsphereApplication Server

서비스컴포넌트구현

BPELEXPORT

BUSINESS ANALYST

INTEGRATION DEVELOPER

SOLUTION ARCHITECT

MODELMANAGER

DEPLOYMENTENGINEER

BUSINESS ANALYST

JAVA DEVELOPER

INTEGRATION DEVELOPER

Model Repository

BusinessObject Model

Analysis ProcessModel

Interface DesignModel

Design ProcessModel

Java DesignModel

서비스컴포넌트전개프로세스전개

프로세스성능모니터단위서비스 컴포넌트 프레임워크복합 비즈니스 서비스 프레임워크

모델링 표준 언어인 UML 모델에 대한 업무 모델로부터의 J2EE 코드 생성 및 서비스 코드 생성을 위한 UML 프로파일이 제공되며 이를 통해비즈니스 컴포넌트 모델로부터 J2EE 소스 코드 및 EJB 패키지까지 자동 생성이 가능하다. 이는 프로그래밍을 위한 기술적 요소보다는 비즈니스로직에 중심을 둔 업무 시스템 개발을 가능함으로써 보다 빠르게 비즈니스 요건에 대한 시스템 개발을 가능하게 한다.

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation7 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

차세대 SOA 어플리케이션 개발 과정

2. 서비스분석BUSINESS ANALYST

Business ObjectModel

Rational Software Modeler

1. 프로세스분석BUSINESS ANALYST

Analysis ProcessModel

Websphere Business Modeler

3. 서비스설계

Rational Software Architect

SOLUTION ARCHITECT

Interface DesignModel

Java DesignModel4. 프로세스설계

Design ProcessModelWebsphere Business

Modeler

INTEGRATION DEVELOPER

5. 프로세스구현

Websphere Integration Developer

INTEGRATION DEVELOPER

6. 서비스구현

Rational Application Developer

JAVA DEVELOPER

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation8 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

Step 1 – 프로세스 분석 with WBM

Extend the analysis process as per Model Customization RoadmapBUSINESS ANALYST

Customize Control Flow

Assign RolesIdentify Automated Activities

Define Business Concepts And Information Flows

PROCESS ANALYSIS

Analysis Process Model (APM)

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation9 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

Step 2 – 서비스 분석 with RSM

BUSINESS ANALYST

INPUTS (mapped to BOM Class)

Select and extend system use cases in BOM, directly derived from activities within the Process Models

Analysis Process Model (APM)

Business Object Model (BOM)

USE CASE – Service Candidate

OUTPUTS (mapped to BOM Class)

SERVICE ANALYSIS

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation10 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

Step 3 – 서비스 설계 with RSA

SOLUTION ARCHITECT

Operation parameters based on Use Case Inputs and Outputs

Define services within IDM based on BOM use cases

Business Object Model (BOM)Interface Design Model (IDM)

SERVICE DESIGN

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation11 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

Step 3 – 서비스 설계 with RSA

SOLUTION ARCHITECT

Export WSDL/XSD definitions of these IDM services using the generator plug-inWSDL includes Request/Response TypesXSD built based on aggregations and stereotypes

WSDL Interface and XSD (WID)

SERVICE DESIGN

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation12 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

Step 4 – 프로세스 설계 with WBM

ANALYSIS

DESIGN

Refine business items Refine process flow and add condition logicRefine resource assignments

PROCESS DESIGN

Analysis Process Model (APM)

Design Process Model (DPM)

Customisation SimulationAs-is / To be comparison

Legacy IntegrationPerformanceMonitoringBPEL Generation

Separation of concernsIterative process of assisted transformation steps

비즈니스 서비스 “S1” 호출 비즈니스 서비스 “S2” 호출

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation13 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

Step 5 - 프로세스 구현 with WID

BPELWSDL

Registry

Websphere Business Modeler

Process ModelsIntegration Models

Rational Software Modeler

Websphere Process Server

Run-time deployment

PROCESS IMPLEMENTATION

Websphere Integration Developer

Business Objects

Interfaces BPELProcesses

Human Tasks

Packaged Demo per industry available nowEasy to create demos for other business area

WID provides the wizard and capabilities to easily develop SOA solutions for deployment in Websphere Process Server

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation14 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

Step 6 - 서비스 컴포넌트 구현 with RAD SERVICE IMPLEMENTATION

Interface Design Model (IDM)

Java Design Model (JDM)

Generated Java code

UML to UML자동 변환

UML to JAVA 코드자동 변환

Transfer Object

Session EJB

Session Facade

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation15 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

차세대 추진을 위한 Options

1. Progressive Renovation or

Big-Bang

2. Package or

In-House?

Business TierPresentation Tier Enterprise Tier

Core OLTP/BATCH

Services

Infrastructure & Management

Bank

ing

Des

ktop

Channel Interaction Services

Enterprise Integration Services

Physical Infrastructure

Enterprise Service Bus

Use

rs /

Rol

es

Customer

Branch Manager

CC Agent

Financial Advisor

Mobile Sales

Loan Officer

Teller

CICS?

IMS?

Java EE?

C/C++?

SOA/BPMPortal & RIA

Core and Information Domain

Integration/Process Domain

User and Interaction Domain

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation16 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

차세대 어플리케이션 프레임워크 요건Mission-Critical 트랜잭션 업무 시스템은 전사 IT 시스템의 기간으로써, 모든 IT 시스템에서 공유되는 기간 서비스를 제공하게 됩니다. 따라서 전사적인 IT 어플리케이션의 아키텍처에 중요한 기반이 됨은 물론 비즈니스 요건에 따라 빠르게 반응할 수 있는 On-Demand 또는 RTE (Real Time Enterprise) 기업 IT 운영 환경을 위한 기반으로써, 이러한 차세대 시스템의 개발은 물론 유지보수 및 운영관리를 위한 프레임워크의 중요성은 아무리 강조해도 지나치지 않습니다.

복수의 다양한 채널 시스템 지원을 위한

화면기술과 무관한 (Loosely-Coupled) 트랜잭션 업무 개발 및 실행환경 제공

복수의 다양한 채널 시스템 지원을 위한

화면기술과 무관한 (Loosely-Coupled) 트랜잭션 업무 개발 및 실행환경 제공

트랜잭션 구현 기술 코드의 MDD 자동 생성 기술 적용으로

개발자가 업무 로직에 집중, 개발 및 유지보수 생산성 극대화

트랜잭션 구현 기술 코드의 MDD 자동 생성 기술 적용으로

개발자가 업무 로직에 집중, 개발 및 유지보수 생산성 극대화

트랜잭션 오류 및 장애의 신속한 판단을 위한

다양한 트레이스 및 로그 제어 관리 체계 제공

트랜잭션 오류 및 장애의 신속한 판단을 위한

다양한 트레이스 및 로그 제어 관리 체계 제공

다수 분산 시스템에서 수행중인 트랜잭션들에 대한

통합 트랜잭션 모니터링 및 각종 시스템 제어 제계 제공

다수 분산 시스템에서 수행중인 트랜잭션들에 대한

통합 트랜잭션 모니터링 및 각종 시스템 제어 제계 제공

유연한 차세대 시스템을 위한 SOA(서비스 지향 아키텍처) 기반의

Mission-Critical 트랜잭션 서비스 아키텍처 제공

유연한 차세대 시스템을 위한 SOA(서비스 지향 아키텍처) 기반의

Mission-Critical 트랜잭션 서비스 아키텍처 제공

온라인 트랜잭션 모듈을 사용하는 배치 처리 구현 및 제어 관리를 위한

Online Batch 프레임워크 제공

온라인 트랜잭션 모듈을 사용하는 배치 처리 구현 및 제어 관리를 위한

Online Batch 프레임워크 제공

1

2

3

4

5

6

산업 표준, 개방형 개발방법론/개발도구/프로그래밍 패러다임산업 표준, 개방형 개발방법론/개발도구/프로그래밍 패러다임7

IBM 프레임워크 vs 일반 프레임워크

트레이스는 가능하나 각각의 개별 서버에서만 가능

복수 서버 운영 시, 각 서버 별 관리 필요

통합 서버 트랜잭션 집계 서비스 없음

비표준/폐쇄젹 개발 방식 및 비표준 개발 도구

I/O 데이터 블록 위주의 비표준 개발 도구

도구 종속적 소스 코드/ 업체 종속적 유지보수

산업 표준 J2EE 기본 기능을 비표준 방식으로 제공

J2EE 사례 부족

신규 개발 및 검증에 대한 막대한 RISK!

비 표준 기반의 모니터링 및 제어

신규 개발 및 검증의 막대한 RISK!

모델링 지원 없음. 구현/코딩 중심

서비스 정의에 따른 컴포넌트 코드 자동 생성

기능 없음

비표준 방식 SOA

비표준 패킷 기반 트랜잭션 서비스 체계

프레젠테이션 프레임워크과도 비표준

프로그램밍 모델 공유

UML 모델로부터의 구현까지의 연계 미흡 / 코딩 중심의 도구만 제공

비 표준 도구 사용/ 폐쇄성/업체 종송적

적용화 어려움

25%

50%

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation17 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

IBM J2EE ADF (Application Development Framework)는 차세대 트랜잭션 서비스 애플리케이션을 위한Framework는 개발 측면에서의 편의성 및 생산성 향상을 위한 기능과 트랜잭션 시스템의 신속하고 편리한 트랜잭션 관리, 제어, 통계 기능 등의 운영 측면에서의 편의성 및 효율성을 위한 기능을 함께 제공합니다.

•프레임워크 요소 코드 자동 생성 - 개발 편의성 및 코드 표준화

•실시간 트랜잭션 모니터링 •분산 시스템에서의 요청 컨텍스트 트레이스

개발

아키텍처

•통합 개발 및 테스트 환경

•관리 체계로 인한 시스템 부하 최소화

•실시간 시스템 제어 관리 도구

•검증된 표준 공통 라이브러리 제공

운영

아키텍처 •트랜잭션 로그 및 저널 관리 체계

코어업무 트랜잭션

프레임워크

•계층적/독립적 컴포넌트 아키텍처 •메시지 통합 관리

•시스템 구성 패러미터 관리

•컴포넌트 시작 및 종료 전처리/후처리 제어

•배치(Batch) 개발 프레임워크

•팁 개발 지원 컴포넌트 패키징

•분산 클러스터 제어 관리 기능•트랜잭션 서비스 현황 집계 기능

•트레이스 및 디버깅 환경

•시스템 확장에 대한 관리 체계 지원

• 산업 표준 기술 기반 관리 체계

•실시간 이벤트 경고 체계

•표준 흐름 제어 구조(IoC) 및 업무 모듈 독립성

차세대 코어 시스템을 위한 IBM J2EE ADF

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation18 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

고객처리

U/W 처리

보상처리

Parts

Parts

Parts

Parts

Parts

DatabaseDatabase

업무 DB

업무 DB

업무 DB

System DB

DB 서버DB 서버

ESBESB

WebApplication

(Servlet,JSP)

WebApplication

(Servlet,JSP)

WebSphereWebSphereBegin / Commit

Begin / Commit

RMI/IIOP

JMS/MQ

Application Server DB Server채널서버또는 ESB

처리 메인

컴포넌트

IBM J2EE ADF Library(System and Application

Common Functions)

IBM J2EE ADF Library(System and Application

Common Functions)

WebSphere Application Server XD V6WebSphere Application Server XD V6

IBM J2EE Framework Library 기반트랜잭션서비스아키텍처

단위 업무

컴포넌트Application

Façade 컴포넌트

IBM J2EE ADF( Application Development Framework) 소개IBM J2EE ADF는 전세계 금융권으로부터 수렴된 트랜잭션 시스템의 요건을 반영하여 설계 개발된 Open환경의 J2EE 기술 기반의프레임워크입니다. IBM J2EE ADF는 IBM의 풍부한 금융권 트랜잭션 시스템 경험을 기반으로 개발되었으며, J2EE 기반으로 하는Mission-Critical 트랜잭션 시스템의 개발 및 관리를 할 수 있는 기반을 갖추고 있습니다.

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation19 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

IBM J2EE ADF 서버 구성IBM J2EE ADF은 어플리케이션 서버,제어서버,집계서버 3개의 서버로 구성되며, 어플리케이션 서버에서 업무가 수행되고 이 서버에서운영되는 Framework Library 및 application의 제어 및 모니터링은 제어서버에서 합니다. 또한 어플리케이션 서버에서 수행되는 트랜잭션정보들은 집계서버로 비동기 방식으로 집계가 됩니다.

Front-End 서버 노드Front-End 서버 노드

커맨드클라이언트

커맨드클라이언트

어플리케이션 서버 노드어플리케이션 서버 노드

어플리케이션 서버

어플리케이션 어플리케이션 …

어플리케이션 서버

어플리케이션 배치어플리케이션…

DB 서버 노드DB 서버 노드

DB 서버

- 사용자 DB- 어플리케이션라이브러리 DB

- Framework 시스템라이브러리 DB

System 관리 서버 노드System 관리 서버 노드

제어 서버

집계 서버커맨드

클라이언트

커맨드클라이언트

Channels

사용자

DB 서버 노드DB 서버 노드

DB 서버

FrameworkFront-endService

delegate

FrameworkFront-endService

delegate

커맨드클라이언트

커맨드클라이언트

시스템 관리자

어플리케이션 관리자

환경파일

로그

트레이스

환경파일

로그

트레이스

어플리케이션 서버 노드어플리케이션 서버 노드

어플리케이션 서버

어플리케이션 어플리케이션 …

어플리케이션 서버

어플리케이션 배치어플리케이션…

…환경파일

로그

트레이스

환경파일

로그

트레이스

메시지 메시지

메시지 메시지

메시지 메시지

메시지 메시지

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation20 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

IBM J2EE ADF 활용 영역차세대 구축의 핵심 부분인 NGS의 온라인 트랜잭션 업무 및 온라인 배치 업무 시스템의 개발 및 관리를 위한 기반 프레임워크로 적용되며, ESB 또는 J2EE 기반의 각종 채널 서버들에게 트랜잭션 서비스를 제공하게 됩니다.

멀티채널

Composite

Business

Services

시스템

NEFSS 온라인트랜잭션 서버

서버 관리 콘솔NEFSS 관리커맨드 콘솔

인터넷

영업 단말

콜센터

외부 채널 G/W

외부기관

정보 시스템(DW)

통합 개발 환경

Legacy 시스템

DB 서버

NEFSS 온라인트랜잭션 서버NEFSS 온라인트랜잭션 서버

NEFSS 배치서버

NEFSS시스템 관리 및서비스 통계 서버

DB 서버

NEFSS 배치서버

“Mission-Critical”기간계 OLTP 업무 시스템

(온라인 / 센터 컷 / 배치)J2EE

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation21 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

차세대 트랜잭션 업무 개발 및 시스템 관리 프레임워크IBM J2EE Application Framework는 전세계 금융 산업의 트랜잭션 시스템 개발 및 운영 환경을 위한 필수 요건에 대한 검증된 솔루션을 공급해 온 IBM의 풍부한경험과 사례를 기반으로 Open환경의 J2EE 플랫폼 기술 기반을 위해 설계하고 개발한 차세대 금융 솔루션 프레임워크입니다. IBM의 검증된 트랜잭션 어플리케이션개발 및 시스템 운영 경험을 기반으로 일본 IBM 및 미국 본사의 IBM 소프트웨어 개발 연구소의 협력으로 2년에 걸쳐 개발되었으며, 한국에서는 KSSL (Korea Software Solution Lab)에서 기술 지원 컨설팅 및 적용화 개발 서비스를 제공하고 있습니다.

MDA 코드 생성 도구MDA 코드 생성 도구

업무 개발 도구

DBIO 비즈니스 객체 관리 도구DBIO 비즈니스 객체 관리 도구트랜잭션 집계 서버트랜잭션 집계 서버시스템 제어 및 관리 서버시스템 제어 및 관리 서버 제어 관리 콘솔제어 관리 콘솔

ADF 관리 서버(J2EE)

EBF(Elementary Biz Func.)

EBF(Elementary Biz Func.)

DB IODB IO

공유 테이블공유 테이블

업무

DB

ADF 애플리케이션 서버(J2EE)

APP 컨텍스트APP 컨텍스트

프로퍼티 관리프로퍼티 관리 자원 접근 관리자원 접근 관리

Application Facade

Application Facade

공통 전처리

공통 후처리

거래 서비스

예외 상황 처리

애플리케이션 로깅트레이스/로그트레이스/로그

시스템 시작/종료 처리시스템 시작/종료 처리

트랜잭션 모니터트랜잭션 모니터

채번 카운터메시지 관리메시지 관리

REQ 컨텍스트REQ 컨텍스트

시스템

DB

ProcessMainProcessMain

EJB POJO POJO

온라인 배치 서비스

N E F S S L I b r a r y

Front-end 서버

(EAI)

Front-end 서버

(EAI)

애플리케이션호출자

요청 재시도

접속 로그

APP 컨텍스트

예외 처리

REQ 컨텍스트

신속 정확한 개발을 위한표준코드 자동생성 도구

분산 트랜잭션 시스템통합 모니터링 및 제어 도구

트랜잭션 업무 어플리케이션 아키텍처

표준 공통 라이브러리

주1) POJO: Plain Old Java Object주2) EJB: Enterprise Java Bean

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation22 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

ApplicationFacade

ApplicationFacade ProcessMainProcessMain

처리 메인 모듈:단독 호출 가능 업무 서비스

EBFEBF DAODAO 업무

DB

거래 메인 컴포넌트: 트랜잭션(UOW) 서비스 메인

1..* 1..*

기초 단위 업무 서비스 모듈:기초 단위 업무 서비스

표준 DB 접근 모듈

*

EJB POJO POJO

차세대 트랜잭션 업무 모듈 계층 체계

프레임워크 기반 어플리케이션 아키텍처산업 표준 J2EE 프로그램 설계 패턴과 아울러 IBM의 수많은 Mission Critical 대형 금융 시스템 어플리케이션 아키텍처의 Best Practice 설계패턴으로 차세대 업무가 구현됩니다.

BusinessDelegate

BusinessDelegate

트랜잭션 구현 템플리트 파사드 및 Strategy 구현자Plugin Pattern•표준화된 프랜잭션 코드의 자동 생성을 통한 개발자오류 근절 및 노력 경감•사용자 인증 및 권한의 설정 단위 컴포넌트•트랜잭션 호출 문맥 정보의 표준화된 트레이스•공통 전처리 모듈 플러그인 체계•공통 후처리 모듈 플러그인 체계•트랜잭션 Audit Log 및 서비스 처리 집계•모든 예외 상황에 대한 사용자 정의 핸들러 plugin확장 구조•사용자정의 컴포넌트 Startup/Shutdown 처리 플러그인 체계•사용자정의 컴포넌트 관리 기능 플러그인 체계-서비스 임시 통제/해제 등

Strategy Pattern

(User Plugin)

Strategy Pattern

(User Plugin)

Template Pattern (IOC)

Template Pattern (IOC)

POJO Business Logic Pattern

POJO Business Logic Pattern

POJO 업무 모듈 Pattern•EJB 기술과 무관한 단순java 형태의 업무 모듈 구현•업무 모듈 테스트의 편의성•업무 모듈 재사용의 편의성

Separation of Concern, Multi-TierSeparation of Concern, Multi-Tier

DAO Pattern•복잡한 DB 접근을 위한 표준 코드의 자동 생성을 통한개발자 오류 근절 및 노력 경감•데이터 모델 및 다양한 고급처리 옵션 설계를 통한 코드생성•표준적인 예외상황 처리 체계

DAO Pattern

DAO Pattern

주1) POJO: Plain Old Java Object주2) EJB: Enterprise Java Bean

Business Delegate & Facade•표준화된 트랜잭션 접근 코드의 자동 생성을 통한 개발자 오류 근절 및 노력 경감•개발자의 간편한 트랜잭션 서비스 접근•서버로의 호출자 문맥 정보 제공으로 분산된 서버에서 정확한 요청자 정보 저널 및 트레이스 가능•표준화된 예외상황 처리•공통적인 Entry/Exit 기능 제공•트랜잭션 서비스 로케이트 서비스•서비스 호출 오류 시, 자동 재시도 옵션•Course-Grained Façade를 통한 원격호출 부담 최소화

Business Delegate Pattern

Business Delegate Pattern

Facade Pattern

Facade Pattern

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation23 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

프레임워크의 주요 구성 요소 및 차세대 업무 시스템 구축IBM J2EE ADF는 금융기관의 트랜잭션 시스템 요건에 맞는 J2EE 환경에서의 업무 프로그램 개발 및 실행시간 처리를 위한 시스템 공통라이브러리와 업무 구현을 위해 공통적으로 사용하는 어플리케이션 라이브러리를 제공합니다. 차세대 트랜잭션 업무 시스템의 개발은프레임워크가 제공하는 자동 코드 생성 도구 및 프로그래밍 요소 라이브러리를 이용하여 다수의 업무 개발자가 표준화된 고품질의 코드를신속하게 개발할 수 있도록 해줍니다.

주요 F/W 구성 요소 차세대 트랜잭션 업무 시스템

분산 시스템 관리 및 제어 제계

Online Batch 프레임워크

분산 트랜잭션 모니터 및 서비스 집계

공유 테이블 관리

트랜잭션 엔트리 관리 및 제어

어플리케이션 로깅 프레임워크

채번(Counter)

자동 코드 생성 도구

SystemLibrary

ApplicationLibrary

차세대 트랜잭션업무 모듈

J2EE Container(WebSphere)

서버 미들웨어

업무 공통

개별 업무

차세대 업무공통 모듈

어플리케이션 개발프레임워크

업무

개발

•컴포넌트 서비스 호출자 및 컴포넌트 구현자의트랜잭션 제어 및 공통 전/후 처리, 예외처리, Audit 자동 제어

•Eclipse 기반 프레임워크 요소 코드 자동 생성도구를 통한 편리한 프레임워크 코드 개발

•온라인 트랜잭션 모듈을 이용한 BACTH 처리프레임워크

•어플리케이션에서 필요한 유일 번호 채번 라이브러리

•간편하고 안정적인 어플리케이션 특성별 다양한 로깅 체계를 제공하는 프레임워크

•분산 서버간의 고속 데이터 공유를 위한 메모리테이블 관리 체계

•Mission-Critical 트랜잭션 시스템의 성능 모니터링 및 서비스 집계를 프레임워크

•분산 시스템의 프레임워크 컴포넌트 및 사용자업무 모듈의 통합 제어 및 관리 서비스 및 콘솔

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation24 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

End-to-end 업무 처리 흐름 및 개발자 역할 분담업무 단말을 포함한 채널 시스템과 차세대 트랜잭션 서비스의 결합은 ESB를 통한 상호 유연한 연계구조를 제공함으로써 특정 채널의 기술 요소에무관한 차세대 트랜잭션 서비스를 가능하게 합니다. 아래 그림은 업무 화면부터 차세대 트랜잭션 서버까지의 전체적인 애플리케이션 계층 구조와업무 흐름 예시입니다.

단말클라이언트

데이터/규칙계층

브라우져(X-Internet

Player)또는

전용 단말클라이언트

브라우져(X-Internet

Player)또는

전용 단말클라이언트

신보험 DB

단말 서버 트랜잭션Façade 게층

프로세스 계층 기초 단위 업무계층

DBIO/PRE계층

Web Sphere Application Server

요청상태 확인R

Front-end 서버

System DB

계층아키텍쳐

업무예시

프로세스 객체

Application Facade

(EJB)

DBIODBIO

DBIODBIO

DBIODBIO

BizBiz

RULERULE

……

EBF 객체

EBF 객체

EBF 객체

DBIODBIO

프로세스 객체

프로세스 객체

프로세스 객체

NEFSS Library

XML/HTTP또는

TCP/IP

요청상태 확인화면

요청상태확인U

인수서류심사 EBF

변경확인 EBF 변경요청상태DAO

논리적 계층 :

변경요청 TBL

계좌송금 TBL

규칙 DB

계좌송금확인 EBF 계좌송금확인DAO

심사규칙 PRE

요청상태 확인요청

요청상태 확인결과

채널 서버채널 서버

Rule DB

NEFSS Library

ESB

BPM

서비스호출자

서비스

호출자

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation25 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

IBM J2EE ADF – Technology View산업 표준 개방형 J2EE 환경에서의 온라인 트랜잭션 시스템 및 배치 업무의 구현 및 관리를 위한 J2EE 응용 아키텍처를 제공합니다. 특히, 대용량트랜잭션 처리 지원을 위해 필수적인 분산된 J2EE 시스템에서 실행되고 있는 트랜잭션 서비스 모니터링 및 제어 관리를 위한 제어 관리 서버, 집계 서버, 관리 클라이언트를 제공합니다. 트랜잭션은 표준 EJB 방식으로 구현되어 EJB 인터페이스는 물론 Web Service, JMS등의 산업 표준인터페이스를 통해 접근 가능합니다.

J2EE Container

DBMSNGS Database

Java Business Logic

Java Business Domain

Data Access

Online 트랜잭션 EJB

Web Services

Batch Main EJB

Java BatchBusiness Domain

BatchData Access

Client.NET

Client.other

ClientJ2EE

Job SchedulerxJCL

제어 관리 서버

System Database

집계 서버

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation26 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

모델 중심 서비스 컴포넌트 개발 - MDD

업무 모델로부터프로그램 소스 코드

자동 생성

서비스 컴포넌트 모델링 in UML(외부 파일 IMPORT 기능)

산업표준 통합 개발 환경 eclipse Tooling

복잡한 EJB 기술 코드의 자동 생성, 업무 로직에 집중

업무 요건에 초점을 맞춘 체계적인 CBD 업무 모델링 없이 개별 기능의 코딩 편의성에만 중점을 두는 프레임워크로는 진정한 차세대 업무 개발프레임워크라고 할 수 없습니다. CBD 기반으로 분석 설계된 UML 형태의 업무 컴포넌트는 IBM ADF가 제공하는 변환 규칙에 의해 서비스 컴포넌트 및업무 객체로 자동 변환됨으로써, 업무 설계로부터의 코드 개발을 자연스럽게 연결해줍니다.

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation27 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

사용자를 위한

서비스 컴포넌트 코드

자동 생성

IBM J2EE ADF의 코드 생성 도구는 EJB 트랜잭션 서비스를 간단한 정의만 함으로써 비즈니스 업무 로직 부분 이외에 필요한 제반 프레임워크관련 공통 코드를 자동 생성해줌으로써 혁신적인 개발 생산성 향상은 물론 다수 개발자들의 코드 표준화를 자동화 해주는 도구입니다.

모델 중심 서비스 컴포넌트 개발 – 사용자는 업무 로직에 집중

실제 업무 Logic 구현 Class

(개발자 개발 부분)

개발자가 손대지 않아도 되는Strong-Typed Technical Classes

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation28 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

모델 중심 서비스 컴포넌트 개발 –자동 생성된 코드 예시IBM J2EE ADF 코드 생성도구에 의해 필요한 클래스들이 생성되면 개발자는 업무 로직 구현 클래스에 업무 로직만 추가 하면 되므로, Transaction 처리 방식이나 Framework에 대해 숙지하지 않아도 쉽게 개발 할 수 있습니다.

/**

* 급여이체청구및이체현황-내역조회

* <P>Only <code>BilChungguFacadeBean</code> is allowed to call this.

* <P>Implements user process if necessary.

* @param Yb011pmRequest Parameter for Yb011pmRequest

* @return com.dbli.bil.chunggu.context.Yb011pmResponse

* @exception com.dbli.std.exception.NAException Parameter for naException

*/

public com.dbli.bil.chunggu.context.Yb011pmResponse yb011pm(com.dbli.bil.chunggu.context.Yb011pmRequest Yb011pmRequest)

throws com.dbli.std.exception.NAException {

com.dbli.bil.chunggu.context.Yb011pmResponse response = null;

response = Yb011pmResponseAccess.getYb011pmResponse();

//get execute parameter from request object

Cwag cwag = (Cwag) Yb011pmRequest.getCwag();

CwagTs cwagTs = (CwagTs) Yb011pmRequest.getCwagTs();

Yb011pmW00Param yb011pmW00Param = (Yb011pmW00Param) Yb011pmRequest.getYb011pmW00Param();

//call call()

Yb011pm pm = new Yb011pm();

pm.call( this.getClass(), cwag, cwagTs, yb011pmW00Param);

//set execute parameter

response.setCwag(cwag);

response.setCwagTs(cwagTs);

response.setYb011pmW00Param(yb011pmW00Param);

//==================================================

//Please do not change anything before this.

//==================================================

//Describes yb011pm process code here.

//==================================================

//Please do not change anything after this.

//==================================================

return response;

}

업무 로직 구현 Class 개발자의 업무 로직 구현 부분

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation29 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

UML 업무 모델로부터 코딩 템플릿 자동 생성외부에서 호출되는 모든 트랜잭션 서비스는 EJB 컴포넌트 형태로 구현됩니다. 코드 생성 도구는 이러한 EJB 트랜잭션 서비스를 간단한정의만 함으로써 비즈니스 업무 로직 부분 이외에 필요한 제반 프레임워크 관련 공통 코드를 자동 생성해줌으로써 혁신적인 개발 생산성향상은 물론 다수 개발자들의 코드 표준화를 자동화 해주는 도구입니다.

서비스컴포넌트모델

Transaction 처리공통기술코드가이미포함된

EJB 관련 Code 들자동코드생성

비즈니스객체 모델

Business ObjectJava Code 들

생성자동코드생성

트랜잭션(서비스)

외부 인터페이스

설계자 또는 아키텍트 트랜잭션 업무 로직 구현자

비즈니스 객체 구현자비즈니스 객체

모델러/설계자

BO를 이용한 트랜잭션

처리 로직 구현

Modeling Perspective

(산업표준 UML2)

J2EE Perspective

«ApplicationFlowParam,Serializable»

LiquidDepositCreditWithdrawMainInput

«ApplicationFlowParam,Serializable»LiquidDepositCreditWithdraw

MainOutput

+ accountBalance : long+ availableBalance : long

«Value,Serializable»LiquidDepositCreditWithdrawMainSpecific

Input

+ cardNumber : long+ mediaNumber : Str ing+ transactionAmount : long+ cashTransferGroup : String+ digestCode : String+ transferCus tomerNumber : String+ pinCode : Str ing

+ getSampleTransferAccountNumber ( )+ getTransferPossessionBranchCode ( )+ getTransferAccountNumber ( )+ getTransferAccountTreeNumber ( )

«AppLib»PinManagerApi

+ validate ( )

«ApplicationFlow»LiquidDepositCreditWithdrawMain

LiquidDepositFrame

«instantiate»

«use»

«use»

«instantiate»

«use»

«AppLibParam»PinInput

+ 銀銀コ コー+ 本本本本+ 取取取取取取+ 媒媒媒媒媒号(カ コー )+ 暗暗媒号+ 媒 番番号

+ 契契番番+ セセセセセセ番番+ パパパ パパパパパパー 表 表参

«use»

«instantiate»

«LogData»TransactionLogDa ta

+ bankCode : short+ workstationPhysicalInstallationBranchCode : String+ transactionCode : String+ workstationIdentifier : Str ing+ businessDate : Date+ transactionStartTime : Date+ userIdentifier : String+ logCategory : String+ transactionNumber : String+ batchOnlineType : Str ing+ customerNumber : String+ posessionBranchCode : String+ allProductCode : Str ing+ sampleAccountNumber : Str ing+ bookingDate : Date+ パパパ パパパパパパー 表 表参

«Value,Ser ializable»ApplicationItems

+ bankCode : short+ businessDate : Date+ bookingDate : Date+ bookingDateMode : String+ transactionStartTime : Date+ workstationSerialNumberOfTransaction+ transactionNumber : long+ transactionCode : Str ing+ workstationPhysicalInstallationBranchCode : Str ing+ processingBranchCode : String+ workstationBranchMode : Str ing+ workstationAccountDateMode : Str ing+ effectiveDate : Date+ futureDate : Date+ channelIdentifier : String+ workstationIdentifier : String+ workstationTimestamp : TimeStamp+ userIdentifier : Str ing+ customerNumber : Str ing+ allProductCode : String+ accountDate : Date+ batchOnlineType : String+ logDividedC ode : String+ logCategory : Str ing+ iSO4217CurrencyCode : Str ing+ calculationBasisAuthoritiy : String

+ getSampleAccountNumber ( )+ getPossessionBranchCord ( )+ getAccountNumber ( )+ getAccountTreeNumber ( )

«NonParts»LiquidDepositCreditWithdraw

MainInputCheck

+ creditValidateWPC ( )+ withdrawValidateWPC ( )

«use»

«use»

«SharedTable»CWFlag

+ transactionCode<key> : String+ creditWithdrawType : String

+ getCreditWithdrawType ( )

«use»

«instantiate»

«SharedTable»CWFlagManager

+ getCWFlagByPrimaryKey ( )

«instantiate»

«ProcessParam,Serializable»CashCreditWithdrawInput

+ accountDate : Date+ workStationPhysicalInstallationBranchCode : String+ channelIdentifier : Str ing+ workstationIdentifier : Str ing+ iSO4217CurrencyCode : String+ sampleAccountNumber : Str ing+ possess ionBranchCode : String+ transactionAmount : long+ busines sDate : Date+ transactionStartTime : Date+ transactionCode : String+ transactionNumber : String+ bookingDate : Date+ bankCode : short+ processingBranchCode : Str ing+ outlineCode : Str ing

«ProcessParam,Serializable»CreditWithdrawOutput

+ accountBalance : long+ availableBalance : long+ arrangementIdentifier : long

«use»

«use»

«ProcessParam,Serializable»PassbookEditManagerEditInput

+ possessionBranchCode : String+ sampleAccountNumber : Str ing+ bankCode : short+ arrangementIdentifier : long+ mediaNumber : String+ bookingDate : Date+ businessDate : Date+ transactionStartTime : Date+ パパパ パパパパパパー 表 表参

«ProcessParam,Serializable»Passbo okEditManagerEditOutput

+ パパパ パパパパパパー 表 表参

«use»

«instantiate»

«CustomParts»StandardParameterManager

+ createWPC ( )

«CorebankParam,Serializable»StandardParameter

+ 取取本+ 銀銀コ コー+ 端端端端端端コ コー+ 端端ID+ 端端パタタタパパタ+ CB 限権 チチパチ可可 = 0+ パパパ パパパパパパー 表 表参

«instantiate»

«use»

«Process»LiquidDepositCreditWithdraw

+ cashWithdrawWPC ( )+ cashCreditWPC ( )+ transferWithdrawWPC ( )+ transferCreditWPC ( )

«use»

«instantiate»

«Process»PassbookEditManager

+ mediaCode

+ editWPC ( )

«use»

«instantiate»

出出取で、媒媒媒媒媒号(カ コー )に値が入入さささいい場場のの 銀実 すす

通通通通取のの

Cash~パメパコののののCashCreditWithdrawInput,StandardParameterののが入入パパパ パー 。Transfer~パメパコののののTransferUniqueCreditWithdrawInputが入入パパパ パー ににににす。

«ProcessParam,Serializable»TransferUnique CreditWithdrawInput

+ sampleTransferAccountNumber : String+ transferPossesionBranchCode : Str ing

«use»

«CorebankParam»StandardParameter

...

«use»

«CustomParts»CWFlagWrapper

+ getCWFlagByPrimaryKeyWPC ( )

«use»

«AppLib»LoggerApi

+ put ( )

«instantiate»

«use»

«use»

«use»

«use»

«instantiate»

«use»

出出取:validateWithdraw()入出取:validateCredit()

«SharedTable»RemarksDataManager

+ getRemarksDataByPrimaryKey ( )

«SharedTable»RemarksData

+ remarksCode<key> : Str ing+ remarksKanji : Str ing

+ getRemarksKanji ( )

«instantiate»

«CustomParts»RemarksDataWrapper

+ getRemarksDataByPrimaryKeyWPC ( )

«use»

«use»

«use»

«Value,Serializable»PassbookPrintInformation

+ sampleAccountNumber : String+ posessionBranchCode : Str ing

- _PassbookPrintInformation*

«Value,Ser ializable»PassbookPrintInfo rmationEntry

+ bankCode : short+ transactionCode : String+ bookingDate : Date+ cashTransferGroup : Str ing+ transactionAmount : Str ing+ outlineNameKanji : Str ing+ processingBranchCode : Str ing+ passbookBalance : Str ing

- _PassbookPringInformationEntry*

- _PassbookPrintInformation*

«CustomEntity»DepositConstants

+ CREDIT_WITHDRAW_TYPE_ENTRY : entry+ CREDIT_WITHDRAW_TYPE_PAYMENT : payment

«use»

現出・振振 振区 が振振の場場の、入出入、出出入の2回回ぶ

«Value,Serializable»Sa mpleAccountNumber

- possessionBranchCode : String- acc ountNumber : Str ing- acc ountTreeNumber : String

- _SampleAccountNumber1

«Value,Serializable»SampleAccountNumber

- possessionBranchCode : String- acc ountNumber : Str ing- acc ountTreeNumber : String

- _SampleTransferAccountNumber 0..1

詳詳の、現出の場場:流流流流出入出出タプセタ(現出入出出チパタ図を 表参振振の場場:流流流流出入出出タプセタ(振振入出出チパタ図を 表参

流流流流出入出出タプセタ

出入出出出出タプセタ

詳詳の、出入出出出出タプセタチパタ図を 表参

出集媒媒パ パー

詳詳の、カタパタパ パー出集媒媒パ パチパター 図を 表参

«CustomParts»BalancerManager

+ putForBookkeepingWPC ( [in] PutForBookkeepingInput )

«CustomPartsParam»PutForBoo kkeepingInput

+ accountDate+ workstationAccountDateMode+ allProductCode+ iSO4217CurrenvyCode+ inter lockingT ype+ cashTransferGroup+ accountCreditWithdrawType+ transactionA mount

«CustomPartsParam,Serializable»BalancerManagerInputBase

+ bankCode : short+ process ingBranchCode+ possessionBranchCode+ businessDate+ channelIdentifier+ workstationIdentifier+ userIdentifier+ bookingDate+ transac tionStartTime+ reversalDiscr imination

«use»

«instantiate»

«use»

パパパ パパパパパパー 表を 表参

복잡한 EJB 트랜잭션 및 처리흐름 공통 코드들의

대부분을 자동 생성, 사용자는 사용자 영역만 코딩하여 채우면 됨

사용자

업무로직 개발 부문

1

1

2

3

2

4

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation30 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

SOA-Ready 차세대 프로그래밍 패러다임 - “Strong-Typed” API style

transactionCall(“stockTrade”, inBuffer, outBuffer)

inBufferoutBuffer

•모든 트랜잭션에 대해 입출력 프로토타입이 같은 “One API” 방식으로 외형적 구분 어려움•“Fixed Format” 방식으로 포맷의 변화에 대한 어플리케이션 유연성 어려움

•* API 경직성으로 인한 Composition 의 어려움

대부분의 TP Monitor 방식으로 설계된 프레임워크는 모든 트랜잭션을 하나의 transaction call() API를 통해 호출하고, 입출력 전문을 패러미터 기반으로 처리하는방식인데, 이러한 트랜잭션 호출 방식은 SOA에서 말하는 ‘명확히 구분되는’ 서비스 형태로 바로 제공되기 어려운 반면, J2EE 플랫폼에서는 트랜잭션 별 구분된 함수호출을 통해 이루어진다. 따라서 개별 트랜잭션에 대한 각각 구분된 서비스 정의(WSDL)가 가능하며 TP Monitor 방식과 같은 별도의 I/O 전문 파싱이나 조립이 필요없다. 이러한 구분된 서비스들은 비즈니스에 따른 대응이 가능한 유연한 서비스 조립 방식의 SOA IT 시스템 구현에 최적 환경을 제공한다.

long transactionCall (char* tpName, char* inBuffer, char *outBuffer)

transactionCall(“accountDetail”, inBuffer, outBuffer)

표준 J2EE/EJB 방식의 트랜잭션 호출 및 처리

TP Monitor 방식의 트랜잭션 호출 및 처리

모든 트랜잭션은구분된 서비스 API로 호출

트랜잭션 호출 API 구분이 아닌 호출 데이터로 서비스 분기I/O 전문 패러미터의 파싱 및 조립이 명시적으로 요구됨

개별 트랜잭션별WSDL 표시

하나의 트랜잭션 서비스I는구분된 이름과 입/출력 객체를통해 명시적으로 선언

웹 서비스(WSDL)

Repository & Governance???

IO 매핑 ???

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation31 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

SOA 환경에서의 서비스 인터페이스J2EE 기반으로 신규 구축하는 기간계 서비스 컴포넌트의 호출/응답 인터페이스는 트랜잭션 서비스 별 구분된 “Strong-Typed” 인터페이스가권장됩니다. SOA 기반 환경에서의 엔터프라이즈 시스템에서는 서비스 제공자와 사용자사이의 지속적인 서비스 자원 관리가 아주 중요하며, 각 트랜잭션 별 구분된 서비스 인터페이스는 불필요한 서비스 매핑 계층의 제거를 통해 성능 향상은 물론 서비스 관리를 용이하게 합니다.

Govern

Service Consumers

Service Lookup SubscriptionNotification

Publish Find Enrich GovernManage

WebSphere Service Registry and Repository

ClaimsProcessing

CRMSystems

PaymentProcessing

On Demand Capacity

Service Providers

Service RegistrationPublishing

“Standard & Well-defined”Service 정의

(WSDL들)

Development Time&

Runtime

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation32 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

서비스 조합 : SOA vs CBD서비스의 조합이라고 SOA 또는 서비스라는 말을 할 수는 없습니다. SOA는 “개방형 산업 표준 기반의 Well Defined, 서비스 연계 및 조합”입니다. 비 표준 기반의 조합은 SOA라고 할 수 없습니다.

Business Process

End Points:

A B C

a1

Business Service Repository

CompositionStudio

Business Services Dynamic Assembler

a2 a3 b1 b2 c1 c2 ……. N

WB

SF M

odul

es Business Services:

PoliciesMeta-Data

개방형 표준 기반 서비스 검색, 조립, 변경

실행시간 서비스 end-point 연계

Strong-Typed J2EE service components, Legacy, etc.

비 표준 서비스 조합 = SOA??

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation33 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

통합 개발 및 테스트 환경IBM J2EE ADF는 개발 서버 환경이 없이도 개인 PC 환경에서 단독으로 개발 및 테스트가 가능한 개발 환경을 제공합니다. 업무개발 통합 개발 도구의산업표준인 eclipse 기반의 도구와 통합되어, UML 업무 모델링은 물론 업무 모델로부터의 소스 코드 생성, 생성된 EJB 코드의 컴파일, 프로젝트 빌드, Java 단위 테스트는 물론 개인 eclipse에 탑재되는 서버 테스트 환경까지 제공함으로써 서버 환경에서의 통합 테스트까지 가능하게 하는 완벽한 통합 개발 환경을제공한다.

개발자들은 각 자신의 개발PC 에서 자유로운 개발/단위테스트/디버깅 및 패키징은 물론

서버환경과 같은 환경을 로컬에서 개별적인 테스트필요 시 서버에 코드 적용

PRODUCTION 서버개발자 PC

WebSphere TEST 환경WebSphere TEST 환경WebSphere AP 서버WebSphere AP 서버

NEFSS Eclipse Plug-InNEFSS Eclipse Plug-In

형상 관리 서버

(CVS, ClearCase 등)

코드 check-out

코드 check-in

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation34 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

서비스 컴포넌트 모델링/개발/테스트모델링 단계에서 설계된 UML 모델에 따라 UI를 포함한 테스트 환경을 자동 소스 생성 가능하도록 하며, 로컬에 내장된 WAS를 통하여실제 실행하여 테스트 할 수 있도록 합니다.

34

모델링단계 개발단계 테스트단계

모델링 단계에서 프레임워크에서

제공되는 <<WebService>> Stereo Type을 해당 메쏘드에 적용하여 테스트

환경을 자동 제공합니다.

개발단계에서 테스트를 원하는 해당

메쏘드를 지정하여 테스트 환경을 자동

생성하도록 할 수 있습니다.

테스트단계에서는 로컬에 내장된

WAS상에서 미리 생성된 테스트 환경

(UI포함)을 로딩하여 해당 메서드를

테스트 할 수 있습니다.

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation35 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

어플리케이션 아키텍처Front-end 시스템은 UML 모델로부터 자동 생성되는 Business Delegate를 통해서 간편하고 안전하게 트랜잭션 서비스를 이용할 수 있으며, 모든 업무 트랜잭션 서비스는 Application Façade 컴포넌트를 통해서 제공됩니다. Façade에서 호출되는 Process Main에 Business logic 을 추가하거나 사용자가 정의한 Component를 호출하는 로직을 기술할 수 있으며, 필요에 따라서 공통 라이브러리를 호출하여Framework제공 기능을 사용 합니다

Front-end 서버

(채널 서버

또는

ESB)

Front-end 서버

(채널 서버

또는

ESB)

BusinessDelegate

요청 재시도

접속 로그

APP 컨텍스트

예외 처리

REQ 컨텍스트

트랜잭션 처리 집계 서버트랜잭션 처리 집계 서버시스템 제어 및 관리 서버시스템 제어 및 관리 서버 제어 관리 콘솔제어 관리 콘솔

관리 서버

EBF(Elementary

Biz Func.)

EBF(Elementary

Biz Func.)DB IODB IO

공유 테이블공유 테이블

업무

DB

어플리케이션 서버

APP 컨텍스트APP 컨텍스트

프로퍼티 관리프로퍼티 관리 자원 접근 관리자원 접근 관리

Application Facade

Application Facade

공통 전처리

공통 후처리

거래 서비스

예외 상황 처리

애플리케이션 로깅트레이스/로그트레이스/로그

시스템 시작/종료 처리시스템 시작/종료 처리

트랜잭션 모니터트랜잭션 모니터

채번 카운터메시지 관리메시지 관리

REQ 컨텍스트REQ 컨텍스트

시스템

DB

ProcessMainProcessMain

EJB POJO POJO

온라인 배치 서비스

Application Facade

EJB Stateless Session Bean으로 생성

Entry/Exit 기능 제공

트랜잭션 Audit Log

트랜잭션 예외 처리

애플리케이션 컴포넌트 공통 전/후 처리 및 각각의 서비스 별 전/후처리

수행

Application 개발노력 경감

Business Delegate

•Business Delegate를 위한 서비스 호출 API 객체

•Business Delegate의 코딩 단순화

•Entry/Exit 기능 제공

•애플리케이션 요청 문맥 초기화

•서비스 EJB Locator 서비스

•재시도 옵션 제공

•예외사항 변환

컴포넌트 클라이언트(채널 또는 ESB 서버)

•차세대 업무 서비스를 호출 또는 사용하는 모든

어플레케이션은 프레임워크에서 제공되는 서비스

Business Delegate 객체를 이용하여 필요한 서

비스 호출 가능

• Servlet, JMS/MDB, WSIF 등 다양한 Java

프로그램에서 사용 가능

자동생성컴포넌트

사용자정의컴포넌트

공통라이브러리

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation36 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

전처리

전처리BusinessDelegate Application

Facade (EJB)

RMI/IIOP

Application Facade

(EJB)Application

Facade (SLSB)

공통/서비스 전처리

거래서비스

서비스/공통 후처리

Application Façade에 복수개의 메소드가 정의될 수 있으며 Application Façade를 위한 거래서비스 클래스 1개,전/후 처리 클래스1개와 복수개의 메소드를 위한 전/후 처리클래스들이 생성됩니다.

- setUp() 메소드에 전처리 로직을 삽입합니다.- teadDown() 메소드에 후처리 로직을 삽압합니다.

Business Delegate는 환경파일의 설정에 따라 로컬 또는 원격에 있는Application Façade를 호출하며Framework에 의해서 자동 생성되므로 Application Façade를 호출하는복잡한 코딩 내용을 알 필요가 없습니다.

거래서비스 플러그인 클래스안에 정의한 메소드들이생성됩니다. 해당되는 메소드안에 거래서비스에 필요한 로직을 삽입합니다.

Web Sphere Application Server

Transaction Entry/Control – 트랜잭션 흐름 제어 서비스Framework에서 자동생성 해주는 애플리케이션 호출자(Business Delegate)는 재시도 횟수, 접속 로그, 예외처리를 자동적으로 관리하여주며, 온라인 거래는 체계화된 입력 전처리 거래서비스 후처리 순서로 수행될 수 있게 코드가 자동생성 되어 고품질의 코드를 신속하게 개발할수 있게 해줍니다. Application Façade별 공통 전후처리 모듈, 메소드별 전후처리 모듈이 생성되어 해당 단계에 각종 처리가 가능하며 각단계를 수행하면서 발생할 수 있는 예외상황을 자동적으로 관리해주므로, 거래서비스 개발자가 트랜잭션 서비스 접속을 위한 복잡한 코딩을 알필요가 없습니다.

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation37 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

예외 처리 표준화 서비스 실행환경

트랜잭션을 수행하면서 발생할 수 있는 어플리케이션 에러는 트랜잭션을 rollback하고 예외처리 플러그인 기능을 통하여 에러코드 및 에러 메시지관리를 통하여 코드 수정 없이 동적으로 변경 가능하며, 장애 상황 로깅 및 담당자 다양한 자동 통지가 가능합니다.

Application Facade (SLSB)

전처리

거래서비스

Audit Log

예외 처리

후처리

BD

Rollback

Transaction Flow

Exception

어플리케이션 에러는 rollback을 수행하고 예외처리

플러그인에서 적절한 업무를 수행합니다.

에러코드 및 에러 메시지는 메시지 파일을 사용하여 처리

가능합니다.

어플리케이션 에러(데이터베이스 에러 등)는 왜

일어났는지를 파악하여 재시도를 수행합니다.

재시도 여부 및 횟수는 코드 변환 없이 환경파일의

수정으로 가능합니다.

예외 메시지는 메시지 파일을 관리하여 에러 메시지를

동적으로 출력할 수 있습니다.

예외처리

NFSA1009E=Missing category [{category}] in the application log management table.\nThe stack trace of the exception is as follows:\n{$ExTrace}

NFSA1010E=An exception occurred while parsing date and time: Format={format}, Value={dateString}, Error offset={errorOffset}\nThe stack trace of the exception is as follows:\n{$ExTrace}

NFSA1011E=Application logger instance does not exist in the application log request context.\nThe stack trace of the exception is as follows:\n{$ExTrace}

에러 메시지 파일

특정 부분에 상황에 따라 알맞은 메시지를 입력하여 동적으로 에러 메시지를 구성합니다.

E-mail, SMS 등의 상황 자동 통보 가능

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation38 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

분산 Shared Data Cache 서비스 실행환경

단순히 일련의 데이터 세트를 메모리 로딩하고 접근하는 것 만으로는 프레임워크의 기능이라 할 수 없을 정도로 모든 개발자들이 상식적으로 사용하는 단순한 기법이다. 기간계 업무 데이터의 캐쉬 기능은 트랜잭션 수행 시점 및 데이터 적용 시점에 따라 정교하게 관리하는 제제를 제공해야 한다. 뿐만 아니라 프레임워크가 제공하는 제한된유형의 캐쉬가 아니라 사용자가 원하는 공유 데이터 테이블의 내용을 사용자가 자유롭게 정의하고 쉽게 개발할 수 있고, 실행시간에 사용자가 정의한 공유 테이블에 대한온라인 제어 관리도 가능하게 하는 프레임워크의 제공이 필수이다.

수행중인 트랜잭션의 시작 시간

캐쉬 데이터의 유효시간

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation39 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

Log Service분산된 어플리케이션에서 발생하는 로그, trace, audit 데이터들을 각 서버별 파일 또는 JMS Queue로 저장할 수 있습니다. JMS Queue로저장하는 경우 queue에 저장되는 로그를 제어서버 또는 집계서버로 전달하여 DB 또는 파일로 저장할 수 있으며, method 단위까지 layer로지정할 수 있어 trace 를 method 단위까지 자유롭게 설정할 수 있습니다.

실행단계

트랜잭션 처리 집계 서버트랜잭션 처리 집계 서버시스템 제어 및 관리 서버시스템 제어 및 관리 서버 제어 관리 콘솔제어 관리 콘솔

관리 서버

EBF(Elementary

Biz Func.)

EBF(Elementary

Biz Func.)

PREPRE

DB IODB IO

공유 테이블공유 테이블

업무

DB

RuleDB

어플리케이션 서버

APP 컨텍스트APP 컨텍스트

프로퍼티 관리프로퍼티 관리 자원 접근 관리자원 접근 관리

Application Facade

Application Facade

공통 전처리

공통 후처리

거래 서비스

예외 상황 처리

애플리케이션 로깅트레이스/로그트레이스/로그

시스템 시작/종료 처리시스템 시작/종료 처리

트랜잭션 모니터트랜잭션 모니터

채번 카운터메시지 관리메시지 관리

REQ 컨텍스트REQ 컨텍스트

시스템

DB

ProcessMain

ProcessMain

EJB POJO POJO

온라인 배치 서비스

Common Logger

File

JMS Queue

개발단계 시스템개발자

•아키텍처에 맞게 Logging할 layer를 정의 합니다.

•생성된 코드를 테스트하고 배포합니다.

RSA(Eclipse기반 툴)

WorkbenchLog layer 정의

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation40 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

Global Counter - 채번 서비스

실행단계

개발단계

•채번할 카테고리 이름을 정하고, 채번 카운터 테이블에카테고리 이름과 카운터 초기값을 입력합니다.

•관리자는 카타고리별 채번 카운터의현재값 ‘조회’ 및 지정된 값으로의‘초기화’ 조작을 할 수 있습니다.

시스템 제어 및 관리 서버시스템 제어 및 관리 서버트랜잭션 처리 집계 서버트랜잭션 처리 집계 서버 제어 관리 콘솔제어 관리 콘솔

관리 서버

EBF(Elementary

Biz Func.)

EBF(Elementary

Biz Func.)

PREPRE

DB IODB IO

공유 테이블공유 테이블

업무

DB

RuleDB

어플리케이션 서버

APP 컨텍스트APP 컨텍스트

프로퍼티 관리프로퍼티 관리 자원 접근 관리자원 접근 관리

Application Facade

Application Facade

공통 전처리

공통 후처리

거래 서비스

예외 상황 처리

애플리케이션 로깅트레이스/로그트레이스/로그

시스템 시작/종료 처리시스템 시작/종료 처리

트랜잭션 모니터트랜잭션 모니터

채번 카운터메시지 관리메시지 관리

REQ 컨텍스트REQ 컨텍스트

시스템

DB

ProcessMain

ProcessMain

EJB POJO POJO

온라인 배치 서비스

시스템관리자

시스템관리자

Global Counter

Global Counter는 각종 외부 번호를 지정한 카테고리별로 채번할 수 있는 기능을 제공하는 라이브러리 입니다. 순차적인 번호는 아니지만유일한 번호를 채번하는 Asynchronous 모드와 항상 순차적인 유일한 번호를 채번하는 Synchronous 모드를 지원합니다. Synchrounous모드는 성능에 영향을 줄 수 있기 때문에 번호의 손실없이 항상 순차적인 채번이 요구되는 경우에만 사용해야 합니다.

……

1234카테고리3

100카테고리2

0카테고리1

데이터베이스에 카테고리별로값을 저장합니다

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation41 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

System Startup/Shutdown – 개국/폐국 서비스

실행단계

개발단계 시스템개발자

•개발자는 시스템 시작/종료시 업무관리 정의문서를정의하고 ‘프레임워크 요소 코드 생성 툴’을 통해 기반

코드를 생성 합니다.

•생성된 기반코드내에 호출할 내용을 개발합니다.

•작성된 코드를 테스트하고 배포합니다.

트랜잭션 처리 집계 서버트랜잭션 처리 집계 서버시스템 제어 및 관리 서버시스템 제어 및 관리 서버 제어 관리 콘솔제어 관리 콘솔

NEFSS 관리 서버

EBF(Elementary

Biz Func.)

EBF(Elementary

Biz Func.)

PREPRE

DB IODB IO

공유 테이블공유 테이블

업무

DB

RuleDB

NEFSS 어플리케이션 서버

APP 컨텍스트APP 컨텍스트

프로퍼티 관리프로퍼티 관리 자원 접근 관리자원 접근 관리

Application Facade

Application Facade

공통 전처리

공통 후처리

거래 서비스

예외 상황 처리

애플리케이션 로깅트레이스/로그트레이스/로그

시스템 시작/종료 처리시스템 시작/종료 처리

트랜잭션 모니터트랜잭션 모니터

채번 카운터메시지 관리메시지 관리

REQ 컨텍스트REQ 컨텍스트

시스템

DB

ProcessMain

ProcessMain

EJB POJO POJO

온라인 배치 서비스

시스템관리자

서버 시작/종료조작

전/후처리 작업 호출

전/후처리 코드생성

RSA(Eclipse기반 툴)

NEFSS Framework Library 코드 생성 플러그인

System Startup/Shutdown정의문서 (XML)

System Startup/Shutdown

System Startup/Shutdown 환경파일

System Startup/Shutdown는 어플리케이션 서버, 제어관리 서버, 트랜잭션 집계 서버에서 모두 작동되며, 각 서버의 시작과 종료 시에 사전에정의된 초기화 프로세스들과 종료 프로세스들에 대한 수행을 담당합니다. 사용자가 필요한 전/후 처리 작업을 정의함으로써, 시스템의 시작/종료시원하는 전처리/후처리 작업을 수행하도록 해줍니다. 프로그램 자동 생성 툴을 통해 시작/종료 시 호출될 모듈에 대한 코드가 자동 생성됩니다.

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation42 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

Business Delegate

어플리케이션 서버DB Server

공유 테이블

로그/트레이스

채널 서버

시스템 시작/종료

어플리케이션 로그

채번 Access Manager

TransactionMonitor

제어 서버 집계 서버관리 화면

ApplicationFacade

어플리케이션Context

RequestContext

TransactionMonitor

Commands 집계정보

제어서버를 통하여 애플리케이션의 각종 라이브러리 및 집계서버를 제어할 수 있습니다.

시스템 모니터링 – 풍부한 모니터링 및 제어 기능다수의 분산된 애플리케이션 서버의 시스템 컴포넌트 및 사용자 업무 애플리케이션 컴포넌트에 대한 통합 모니터링 및 제어 아키첵쳐는 하나의커맨드로 복수 서버의 현황을 조회하고 제어할 수 있는 Mission Critical 트랜잭션 시스템을 위한 최상의 시스템 기반을 제공합니다. 시스템관리자 및 애플리케이션 관리자는 필요와 권한에 따라 시스템 관리 서버에 접속하여 트랜잭션 클러스터를 모니터링 및 제어합니다.

시스템관리자

JMX

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation43 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

Transaction Monitor

tx1tx2

tx3

tx4

질의기능

Monitoring

집계기능모니터링 기능

어플리케이션 서버

Transaction Monitor

tx1tx2

tx3

tx4

질의기능

Monitoring

집계기능모니터링 기능

어플리케이션 서버

Transaction Monitor

tx1tx2

tx3

tx4

질의기능

Monitoring

집계기능모니터링 기능

어플리케이션 서버

Web Sphere Application ServerWeb Sphere Application Server

집계정보

집계정보

관리콘솔

집계서버

2006/11/13 12:55:53:148,Common,getCustomerBaseAllowValueDTO(String),null,kr082077Node03,server1,2006/11/13 12:55:40:940,2006/11/13 12:55:44:545,2036,77f7f1c8,1,….

2006/11/13 12:55:53:148,Common,getJobDistributions(String),null,kr082077Node03,server1,2006/11/13 12:55:44:736,2006/11/13 12:55:45:116,2036,77f7f1c8,1,….

집계데이터 예)

집계시간,컴포넌트메소드명,노드이름,서버이름,시작시간,종료시간 등과 같은 데이터가 파일로 집계되며 플러그인을 통하여 데이터를 DB로 집계하여 각종 통계 데이터추출이 가능합니다.

Deferred 집계실시간 조회

제어 서버

Command

실시간 트랜잭션 모니터링 및 수행 통계 수집 서비스Framework이 제공하는 트랜잭션 모니터는 Mission-Critical 트랜잭션 시스템 요건에 맞는 트랜잭션 감시 및 제어 체계를 제공합니다. 분산클러스터 환경에서 수행 중인 복수의 애플리케이션 서버에서 수행되는 모든 트랜잭션에 대한 처리 성능을 감시하고 하나의 제어 콘솔에서 실시간처리 현황을 조회할 수 있습니다. 또한, 실시간으로 트랜잭션 서비스별 이용현황을 집계를 할 수 있는 위한 체계를 제공합니다. 트랜잭션 성능감시는 필요에 따라 On/Off가 가능합니다. 섬세한 큐잉 및 버퍼링 기법을 통한 감시 및 집계 서비스의 분산은 온라인 트랜잭션 시스템의 성능에대한 영향을 최소화 합니다.

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation44 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

BATCH 프레임워크IBM ADF는 금융권에서 차세대에서 요구되는 온라인 트랜잭션 업무 모듈을 이용한 배치 업무의 처리를 효율적이고 편리하게 구현하고관리할 수 있는 온라인배치 프레임워크를 제공합니다.

입력 데이터 제어출력데이터 제어

실행 제어

배치업무 처리명령다양한 커맨드를 통해서 배치 업무 프로세스의 실행,

재실행, 강제 재실행, 종료, 취소 할 수 있습니다

작업특성별 # of commit, multiplicity 등의

패러미터를 통한 성능 조율 기능

파일이나 테이블 등 다양한 형태의

데이터를 입력 데이터로

사용할 수 있습니다.

배치 업무를 처리할 서비스를 호출하고, 처리 결과를 받아옵니다. 이 때 여러 개의 서비스를 동시에 수행하거나, 한번에

처리하는 데이터의 개수를 조정하여 시스템 자원을 최대한

활용하도록 해줍니다.

배치 처리의 결과와 생성된 output 데이터를 사용자가 원하는 포맷으로

설정할 수 있도록 해 줍니다.

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation45 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

IBM의 성능 향상을 위한

Best Practice

J2EE Best Practices for EfficiencyIBM ADF는 J2EE 프로그램상의 성능 저해 요소를 근본적으로 제거하고, 성능 향상 기술을 기반으로 설계된 차세대 J2EE 플랫폼을 위한프레임워크입니다.

Cache를 이용한 데이터 접근 속도 향상분산 서버상의 공유 정보 캐쉬을 위한 Shared TableJ2EE에사 사용하는 JNDI 자원 접근 정보 캐슁을 위한Access Manager

Cache를 이용한 데이터 접근 속도 향상분산 서버상의 공유 정보 캐쉬을 위한 Shared TableJ2EE에사 사용하는 JNDI 자원 접근 정보 캐슁을 위한Access Manager

데이터 전송 버퍼링 / 큐잉모니터링 정보의 부하 최소화를 위한 버퍼링 체계

로그 부하를 촤소화하기 위한 버퍼링 체계

트레이스 부하를 촤소화하기 위한 버퍼링 체계 및 트레이스레벨 조정

데이터 전송 버퍼링 / 큐잉모니터링 정보의 부하 최소화를 위한 버퍼링 체계

로그 부하를 촤소화하기 위한 버퍼링 체계

트레이스 부하를 촤소화하기 위한 버퍼링 체계 및 트레이스레벨 조정

성능 저해요소 지양 패턴고 부하 동적 클래스 로딩 없음

고 부하 동적 I/O 매핑 없음

고 부하 HanhTable 사용 지양

EJB Remote Interface 사용 지양

성능 저해요소 지양 패턴고 부하 동적 클래스 로딩 없음

고 부하 동적 I/O 매핑 없음

고 부하 HanhTable 사용 지양

EJB Remote Interface 사용 지양

BATCH 성능 패러미터하나의 배치 작업을 다수의 쓰레드로 처리하기 위한Multiplicity 조정 기능

배치 트랜잭션 UOW 단위를 제어할 수 있는NumCommit 패러미터 조정 기능

BATCH 성능 패러미터하나의 배치 작업을 다수의 쓰레드로 처리하기 위한Multiplicity 조정 기능

배치 트랜잭션 UOW 단위를 제어할 수 있는NumCommit 패러미터 조정 기능

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation46 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

시스템 제어 및 관리 서버시스템 제어 및 관리 서버

…트랜잭션 처리 집계 서버트랜잭션 처리 집계 서버

NEFSS 제어 관리 서버

분산된 트랜잭션 서버에 대한

통합 모니터링 및 제어

애플리케이션 서버 노드 - 1애플리케이션 서버 노드 - 1

NEFSS 애플리케이션 서버

서브시스템 A 서브시스템 B …

NEFSS 애플리케이션 서버

서브시스템 A 서브시스템 B ……

애플리케이션 서버 노드 - n애플리케이션 서버 노드 - n

NEFSS 애플리케이션 서버

서브시스템 A 서브시스템 B …

NEFSS 애플리케이션 서버

서브시스템 A 서브시스템 B ……

전체 시스템 관리자

보상 서브시스템관리자

U/W 서브시스템

관리자

프레임워크가 자동 생성해주는 업무 컴포넌트 코드에는 분산 환경의 복잡한 업무 시스템의 효율적인 제어 및 관리를 위한 기능이 자동적으로내장토록 함으로써 개발자에 의한 별도의 노력 없이 Mission-Critical 분산 트랜잭션 업무 시스템들에 대한 다양한 제어 및 관리 기능을제공합니다.

…서버 관리 팀 및

업무 시스템 별

제어 관리 기능

제공

통합 모니터링 및 제어 서비스

업무

DB

RuleDB

시스템

DB

시스템 관리

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation47 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

어플리케이션 코드 실시간 적용 서비스

ODR

서비스 요청

Automic 동적 교체 수행 메커니즘 (모든 과정은 자동으로 수행됨)1. 대상 WAS 클러스터를 2 개 노드 그룹으로 분할

2. 노드 그룹 1 으로의 요청을 차단

3. 노드 그룹 1 에 어플리케이션 배포 후 재시작

4. 노드 그룹 2 로의 요청을 차단

5. 노드 그룹 1 으로의 요청을 허용

6. 노드 그룹 2 에 어플리케이션 배포 후 재시작

7. 노드 그룹 2 로의 요청을 허용

• 이전 버전의 어플리케이션은 WAS XD 내부적으로 보관 되어 있으므로 장애 시 즉시 복구 가능합니다. 복구에 적용되는 기술적인 원리는 위와 같습니다.

노드그룹 1

노드그룹 2

WAS 클러스터

기간계 트랜잭션 시스템에서의 업무 모듈에 대한 실시간 변경은 단순히 변경된 자바 클래스를 Reloading 해주는기능만으로는 의미가 없습니다. 현재 수행중인 트랜잭션에 영향을 주지 않아야 하고, 다수의 분산 서버에서 수행되는 많은요청자들에 대해 어느 시점부터는 동시에 새로운 컴포넌트로 서비스 할 수 있어야 합니다.

StockTradeEJB Jar

주식거래

StockTradeEJB Ja

주식거래

StockTradeEJB Ja

주식거래

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation48 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

Multi-Channel Information Access

Text Msg

Fax return

Phone/PDA

Email

Client, IBM, and Third Party Assets

Dynamically Assembled Business Services

Service Users

Agents

PolicyHolders

Reinsurer

ClaimsAdjuster

Intelligent Policy Lifecycle

Risk Optimizer

Policy Self-Service

Revenue Maximization

FNOL Optimization

Risk Screener

Intelligent Claim Lifecycle

Claim Self-Service

Rate, Quote, Issue

Risk & Compliance

FNOL Record

Rating & Underwriting

Application Routing

FNOL Routing

Claims Processing

Claims Visibility

Risk Capacity Optimization

Claims Optimization

Risk Qualification & Screening

Policy Pending Analysis

Policy Channel Optimization

New Business Services

Policy Services

Claims Services

Quote Processing

Endorsement Processing

Policy Renewal

Cross-Sell & Up-Sell

Forms

IBM J2EE ADF 기반 차세대 시스템 (예시)

비즈니스 변화에유연한

멀티채널복합 비즈니스 서비스

비즈니스 변화에유연한

서비스 제공자 연계

유연한 비즈니스 서비스 구현 도구 및 엔진

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation49 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

IBM J2EE ADF 기반 차세대 시스템 (예시)

NGS Production 영역

DB 서버IBM UDB

AIX

Flash-Copy

NEFSS 통계 서버

Nefss 제어 서버

Nefss 집계 서버

WebSpere V6

AIX

DB 서버UDB

AIXHACMP

DB 서버UDB

AIXHACMP

NGS 개발/TEST 영역

IBM RAD V6 - 업무 개발자

IBM RSA V6 – 업무 모델러

소스 형상 관리 S/W

Non–NGS

TEST

환경

통합 관리 서버

통합 인증 서버

외부

기관

기타 내부 시스템 들

인터넷인터넷

채널 서버

메타데이타 관리 S/W

채널 영역

통합 관리 영역

NCRM Studio–화면 개발자

Hot-Standby

외장 공유 디스크

원장 참조 Batch용 DB NGS DB

Clustering

AP 서버 #1OLTP 업무

WebSpere XD V6AIX

NEFSS LibraryMetis RBMS

AP 서버 #2OLTP 업무

WebSpere XD V6AIX

NEFSS LibraryMetis RBMS

AP 서버 #3OLTP 업무

WebSpere XD V6AIX

NEFSS LibraryMetis RBMS

TEST AP 서버

OLTP 업무

WebSpere XD V6

AIX

NEFSS Library

NEFSS 제어 서버

NEFSS 집계 서버

NEFSS OTIS 서버

Batch업무

UDB

NCRM단말 화면 APP

Metis RBMS

Batch 서버 #1Batch 업무

WebSpere XD V6AIX

NEFSS OTISSyncSoft Sort

Batch 서버 #1Batch 업무

WebSpere XD V6AIX

NEFSS OTIS + TWSSyncSoft Sort

NGS 단말 서버 #1단말 화면 APP

NCRM X-Internet

WebSpere XD V6AIX

NGS 단말 서버 #2단말 화면 APP

NCRM X-Internet

WebSpere XD V6AIX

외부 채널

통합 서버ESB 서버

서비스 컴포넌트 제어

& 관리 서버

서비스 컴포넌트

분산 서버 클러스터배치 트랜잭션 서버

데이터 베이스 서버

멀티 채널

“복합 비즈니스 서비스 시스템”

모델기반

SOA / J2EE 기반 복합

비즈니스 서비스

서비스 컴포넌트

통합 개발 환경

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation50 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

IBM J2EE ADF의 특장점IBM의 J2EE프레임워크는 J2EE 표준 사양을 제공하는 미들웨어의 기능 및 표준 프로그래밍 모델을 기반으로 추가적인 가치를 제공하는 자별화된 프레임워크로써, 향후기술 발전에 따라 다양한 산업표준 개발 도구, 운영도구, 실행환경과의 원활한 통합 및 연계가 가능함은 물론, 사용자가 스스로 확장 및 적용화가 가능한 맞춤형프레임워크, 프레임워크를 위한 프레임워크입니다.

개방형 산업표준 사양 위에서 추가적 가치를 제공하는 프레임워크산업표준 J2EE 미들웨어가 제공하는 표준 기능 서비스의 대체나 중복 구현이 아닌추가적인 가치(Added Value)를 제공하는 개발 및 운영 프레임워크

특정 프레임워크의 업그레이드에 무관하게 산업표준 J2EE 기술 발전에 신속히 대응할 수 있는프레임워크

표준 미들웨어, 개발 도구, 관리 운영 도구와 체계와의 원활한 통합과 상호 연계가 가능한 표준기반 프레임워크는 각 영역별로 전문화된 표준 기술의 발전에 따라 특정 솔루션의 대체 및 신규도입 등 신속한 대응을 가능하게 한다.

개방형 산업표준 사양 위에서 추가적 가치를 제공하는 프레임워크산업표준 J2EE 미들웨어가 제공하는 표준 기능 서비스의 대체나 중복 구현이 아닌추가적인 가치(Added Value)를 제공하는 개발 및 운영 프레임워크

특정 프레임워크의 업그레이드에 무관하게 산업표준 J2EE 기술 발전에 신속히 대응할 수 있는프레임워크

표준 미들웨어, 개발 도구, 관리 운영 도구와 체계와의 원활한 통합과 상호 연계가 가능한 표준기반 프레임워크는 각 영역별로 전문화된 표준 기술의 발전에 따라 특정 솔루션의 대체 및 신규도입 등 신속한 대응을 가능하게 한다.

SOA Ready, Strong-Typed 프로그래밍 패러다임 기반선진화된 Strong-Typed 방식의 프로그래밍 패러다임은 모든 다른 서비스에 대해명확한 구분 가능한 명확한 모듈 별 인터페이스를 제공하도록 함으로써, 코드의 실행이전에 모든 정적인 코딩 오류를 근절하게 함은 물론, 바로 차세대 SOA 실현을가능케한다. 스트링 기반의 패러미터를 가지는 하나의 트랜잭션 인터페이스를 통해 개별 트랜잭션의분기 및 개별 I/O 전문처리 방식은 메모리와 통신 속도의 비용에 민감했던 구시대적인방식으로, 시스템의 개발/테스트/디버그/예외상황 트레이스 등을 위해 많은 노력과 비표준 도구를 필요로 한다. 현재 이러한 방식의 표준은 없고 앞으로도 나오지 않을 것이다.

SOA Ready, Strong-Typed 프로그래밍 패러다임 기반선진화된 Strong-Typed 방식의 프로그래밍 패러다임은 모든 다른 서비스에 대해명확한 구분 가능한 명확한 모듈 별 인터페이스를 제공하도록 함으로써, 코드의 실행이전에 모든 정적인 코딩 오류를 근절하게 함은 물론, 바로 차세대 SOA 실현을가능케한다. 스트링 기반의 패러미터를 가지는 하나의 트랜잭션 인터페이스를 통해 개별 트랜잭션의분기 및 개별 I/O 전문처리 방식은 메모리와 통신 속도의 비용에 민감했던 구시대적인방식으로, 시스템의 개발/테스트/디버그/예외상황 트레이스 등을 위해 많은 노력과 비표준 도구를 필요로 한다. 현재 이러한 방식의 표준은 없고 앞으로도 나오지 않을 것이다.

모델 중심 개발(MDD) –코드 자동 생성 기능 제공산업표준 XML 및 UML 형태의 표준 모델로부터 J2EE 소스 코드를 자동생성해주는 선진 개발 환경은 모델 중심의 프로그램 개발을 가능하게 함으로써, 기술적 요소 보다 업무 중심의 개발 및 빠른 개발을 가능케 함

비표준 모델이나 규칙을 이용한 코드 자동 생성 또는 실행시간 처리기능을제공하는 프레임워크의 사용은 특정 프레임워크에 대한 폐쇄적 종속성 문제로향후 유지보수 및 기술 발전 추세에 신속한 대응을 어렵게 한다.

모델 중심 개발(MDD) –코드 자동 생성 기능 제공산업표준 XML 및 UML 형태의 표준 모델로부터 J2EE 소스 코드를 자동생성해주는 선진 개발 환경은 모델 중심의 프로그램 개발을 가능하게 함으로써, 기술적 요소 보다 업무 중심의 개발 및 빠른 개발을 가능케 함

비표준 모델이나 규칙을 이용한 코드 자동 생성 또는 실행시간 처리기능을제공하는 프레임워크의 사용은 특정 프레임워크에 대한 폐쇄적 종속성 문제로향후 유지보수 및 기술 발전 추세에 신속한 대응을 어렵게 한다.

시스템 제어 관리 기능의 적용화 개발 도구 제공프레임워크가 제공하는 제어/관리 기능만 그대로 사용만 하는 것이 아니라, 사용자가 필요한 기능을 추가 개발할 수 있는 개발 체계 및 지원 도구를 제공

프레임워크의 제품에 있는 기본 기능을 자유롭게 확장할 수 있도록 함으로써, 다양한 사용자 요건에 맞는 시스템 운영 관리 기능을 프레임워크에 통합된 형태로적용화하여 자신만의 프레임워크로 확장해 나갈 수 있다.

시스템 제어 관리 기능의 적용화 개발 도구 제공프레임워크가 제공하는 제어/관리 기능만 그대로 사용만 하는 것이 아니라, 사용자가 필요한 기능을 추가 개발할 수 있는 개발 체계 및 지원 도구를 제공

프레임워크의 제품에 있는 기본 기능을 자유롭게 확장할 수 있도록 함으로써, 다양한 사용자 요건에 맞는 시스템 운영 관리 기능을 프레임워크에 통합된 형태로적용화하여 자신만의 프레임워크로 확장해 나갈 수 있다.

사용자가 스스로 확장 가능한 맞춤형 프레임워크프레임워크가 제공하는 기본적인 제어 흐름 체계를 그대로 사용하는 것이아니라, 사용자가 원하는 형태의 제어 흐름 코드를 적용화할 수 있는 체계를제공하는 “프레임워크 적용화를 위한 프레임워크”.트랜잭션 전처리, 후처리 등의 공통 부분뿐 아니라, 메인 처리 흐름에 있어서의트레이스, 로그,저널, 예외상황 처리, 사용자 라이브러리 호출 등의 내용 및순서에 대한 사용자의 코드 개발 표준에 따라 프레임워크의 적용화가 가능한맞춤형 프레임워크

사용자가 스스로 확장 가능한 맞춤형 프레임워크프레임워크가 제공하는 기본적인 제어 흐름 체계를 그대로 사용하는 것이아니라, 사용자가 원하는 형태의 제어 흐름 코드를 적용화할 수 있는 체계를제공하는 “프레임워크 적용화를 위한 프레임워크”.트랜잭션 전처리, 후처리 등의 공통 부분뿐 아니라, 메인 처리 흐름에 있어서의트레이스, 로그,저널, 예외상황 처리, 사용자 라이브러리 호출 등의 내용 및순서에 대한 사용자의 코드 개발 표준에 따라 프레임워크의 적용화가 가능한맞춤형 프레임워크

User Friendly 소스 코드의 생성암호화된 형태의 소스 코드를 생성하는 자동 생성 코드와는 다르게 J2EE 표준 코딩

가이드라인 및 명명 규칙을 준수하는 형태의 소스 코드의 자동 생성 기능은 생성된 자신이작성한 코드와 다른바 없는 완벽한 가독력이 있는 User Friendly 코드를 생성함으로써, 코드의 유지보수를 용이하게 한다.

User Friendly 소스 코드의 생성암호화된 형태의 소스 코드를 생성하는 자동 생성 코드와는 다르게 J2EE 표준 코딩

가이드라인 및 명명 규칙을 준수하는 형태의 소스 코드의 자동 생성 기능은 생성된 자신이작성한 코드와 다른바 없는 완벽한 가독력이 있는 User Friendly 코드를 생성함으로써, 코드의 유지보수를 용이하게 한다.

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation51 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

IBM J2EE 프레임워크 – 적용 사례

JCB Card- 사업 군 : 신용 카드 업(일본) 1위 업체- 연간 취급 고 : 7조 1250억엔- 회원 수 : 5575 만명- 가맹점수 : 1350만점- IBM J2EE 프레임워크 적용범위 : 차세대 Core Card System (NEFSS Library 시스템이용, 신용카

드업무 자체개발)- 진행사항 : 2007년 7월 서비스 오픈

Softbank Investment (SBI)- 사업 군 : 최대 투자은행(일본)- IBM J2EE Framework 적용범위 : Core Banking 업무- 진행사항 : 2007년 9월 서비스 오픈

*현재 국내 생명보험사, 증권사 차세대 프로젝트 수행 중

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation52 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

Q & A

비즈니스 중심 차세대 IT 구현을 위한 SOA / J2EE 어플리케이션 프레임워크Korea Industry Summit 2008

© 2008 IBM Corporation53 금융권 차세대 시스템 구축을 위한 Application Framework 2008-05-07

Thank you for your time!

이형기실장Banking Center of Excellence, HiPODS, KSSLAP SWG SuperWorks [email protected]