728x90
반응형

 

 

 

 

/////입출력제어////////////////////////////////////////////////////////////////////////////

-- IPPR(Input Pre-Processor) : 1, 데이터 포맷 변환, 2. 거래 파라미터 및 전문 정보 세팅

-- DTO(or VO) vs BO

 

 

/////거래제어//////////////////////////////////////////////////////////////////////////////

--TFC(Transaction Flow Control)

--Call Manager

--SO(Service Object)

 

 

/////Transaction 관리//////////////////////////////////////////////////////////////////////

--Transaction Attribute(J2EE) 중 3가지 지원

   : Required, RequiredNew, Not Supported

--실제로 TFC가 선결정 한다.

 

 

/////개발자 구현 영역//////////////////////////////////////////////////////////////////////

--ProFrame Studio : 소스코딩의 최소화, 설계 단계의 표준 강제화, 재사용성 극대화

                             Flow 기반Businesss Building-Block의 조립을 통한 업무서비스 구현

--EMB(Enterprose Module Bus)

--ProMapper Studio : DTO, Mapping, 거래 파라미터 설정

--DBIO Studio : Map Type(Persist, View, ExecuteSQL)

--Dependency View

 

 

/////Data Access영역//////////////////////////////////////////////////////////////////////

--DBIO

--RS Cache : Shared Memory Cache + ResultSet Cache

                    access Master DB to update data when it's changed

                    CADS(Cache-Aware Data Source)

 

 

/////시스템 공통 영역//////////////////////////////////////////////////////////////////////

--메시지 처리

   · 적용 범위에 따른 구분 : 시스템 공통 메시지, 업무공통 메시지

   · 메시지 완성 여부에 따른 구분 : 완성, 미완성

   · 메시지 형태에 따른 구분 : 오류메시지, 알림메시지, 질의메시지

--메시지 출력 형식

   · 오류 메시지 처리 : ProFrameException or ProFrameApplicationException발생,    DB rollback

     ex) throw new ProFrameApplicationException("COMS0001");

   · 알림 또는 질의 메시지 처리 : commBuff에 시스템 헤더에 응답코드(pfmAnswCode)에 메시지 ID세팅

     ex) commonBuffer.getSystemHeader().setPfmAnswcode("MCMI0101");

     ※ 미완성 메시지일 경우 String 배열에 메시지 내용을 입력해야 함

     ex) throw new ProFrameApplicationException("COMS0001", new String[]{"분류코드"});

--예외처리

   · 예외 발생시 client에 에러전문 전달(출력전문 전달X)

   · Exception은 서비스 모듈 생성시 자동생성

   · System.out.println() 사용X -> 프로프레임에서 제공하는 Log 사용

   · 종류

     ° ProFrameException

     ° ProFrameApplicationException

     ° Exception

   · 사용예 : msgid, String(메시지 내용), String(상세내용) 전달

--로깅처리(레벨)

   · debug, info, warn, error, fatal

 

/////cf) Web Admin////////////////////////////////////////////////////////////////////////

--Test Service

--개발자 관리

--Log Viewer

--Property관리 : IT용어, 업무용어, DB 테이블 명칭, 컬럼 명칭

--Message Management

//////////////////////////////////////////////////////////////////////////////////////////

 

/////cf) //////////////////////////////////////////////////////////////////////////////////

--T(Table?)cache

Tcache는 shared memory를 구조적으로 관리하기 위한 라이브러리와 유틸리티 프로그램들의 집합이다. 일반적으로 shared memory를 read/write 모드로 사용하기 위해서는 동기화를 위해 semaphore 를 함께 사용하는것이 일반적이다. 이 semaphore는 OS 수준의 locking을 수반하기 때문에 성능 저하가 심하다. Tcache 는 내부적으로 assembly lock 인 latch 를 구현하여 오버헤드가 적은 동기화 기능을 제공하고 있으며 이 latch 는 rw lock 이기 때문에 multi-reader 가 있을 경우에는 실제적으로 locking이 발생하지 않는다. writer 가 있을 경우에만 locking이 발생한다. 그렇기 때문에 성능을 보장하기 위해서는 write가 자주 일어나지 않는 자료를 저장하는데 Tcache를 사용해야 한다. -from 송-

--RS(ResultSet)cache

Tcache 개념에다가 ResultSet memory를 더해서 좀... 더 DB의 IO에 대한 성능향상도 꿰한 듯한데..

//////////////////////////////////////////////////////////////////////////////////////////

 

Others

 

/////Class 단위 HOT DEPLOY//////////////////////////////////////////////////////////////

--ApplicationContext, Class Looader : Object Factory, Change-Aware Class Loader

--class 파일 경로 : $PROFRAME_HOME/pfm/classes/PFM_IO or PFM_DBIO/...

--설정 파일 : $PROFRAME_HOME/config/proframe.xml 의 <user-class-path> 태그에서 설정

 

 

/////EAI(Enterprise Architecture Integration) 연동////////////////////////////////////////////

--EAI 어댑터 제공 : 독립성, 개발 생산성, 기능성(2PC) 보장

 

 

/////EDW(Enterprise DataWare) 연동////////////////////////////////////////////////////////

--DWIO : 데이터 변경 쿼리가 일어날 때 이전,이후의 내용을 별도의 로그 테이블로 관리

  cf) CRUD : Create, Retrieve(?), Update, Delete

 

 

/////후행처리(Deferred Transaction) 지원.///////////////////////////////////////////////////

--온라인 서비스, 배치 서비스

--Critical 정도, multi-thread 병목현상 회피, 배치업무 감소

 

 

/////24X365 Architecture///////////////////////////////////////////////////////////////////

--개요 : 물리적으로 백업을 위한 데이터를 분리(H/W적인 방법) : 서비스 일시 정지

            ∵S/W적인 백업이 너무 오래 걸려서 -> 백업 시간중에 데이터 변경이 일어나면...

            ex) ATM기기 a.m. 12~1시에는 서비스 중단.

   BCV = Business Copy Volume?

--BCV, Before Image Table : BIT는 기준 시간 이후의 transaction에 대하여 기록하였다가

                                         BVC의 데이터 중 기준 이후의 거래에 대하여 보정 후 백업

 

 

/////배치 거래처리/////////////////////////////////////////////////////////////////////////

--온라인 서비스와 비슷한 순서로 처리하지만, 업무선·후처리 생략(별로 필요가 없음) 처리후 백업

--Job Scheduler : 기준시간, 처리순서를 정하여 배치 작업 실시 -> Tmax 의 ProJobs

--BatchmanagedConnection / BatchDbioConnectionManager

 

 

/////Batch Type///////////////////////////////////////////////////////////////////////////

일반 Batch On-Demand Batch On-Line 일괄 Batch(센터컷)
‧Job Scheduler 통제
하나의 node에서 처리



‧Batch 구동 요청, 결과
   returne을 대기하지 않음
‧SO

온라인 프로그램을 병렬로 일괄 기동
   (Online Transaction의 집합)
‧실시간 유량제어 가능
‧복수 node 병렬 기동 가능
‧BSO

 

※ 센터컷(Center-Cut) : IPPR을 통해서 요청이 수행됨. (On-Demand Batch는 바로 SO 호출)

     (IPPR -> TFC -> CM) -> SO : IPPR, TFC, CM의 기능을 모두 사용가능

 

 

 

 

개발 아키텍쳐

 

/////개요/////////////////////////////////////////////////////////////////////////////////

--통합 개발 서버 : xml 파일로 application에서 전달

--Meta Repository : 리소스, 버젼, 리소스 의존성, 권한, IO Properties

 

728x90
반응형

+ Recent posts