/////입출력제어////////////////////////////////////////////////////////////////////////////
-- 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
'STUDY > 프로그래밍언어' 카테고리의 다른 글
20220924_금융투자교육원_RStudio 및 데이터분석(2)_데이터구조 다루기 (0) | 2022.09.24 |
---|---|
20220924_금융투자교육원_RStudio 및 데이터분석(1)_환경설정 및 형변환 (0) | 2022.09.24 |
내부망 제한된 환경에서 개발시. (윈도우 새로설치후) 듀얼 모니터 세팅 과정. (0) | 2020.09.11 |
cmd : pc정보확인 (0) | 2020.09.07 |
RxJava 란? (0) | 2020.08.18 |