티스토리 뷰
2022년 정보처리기사 필기
(수제비 2021년 필기책 보고 공부하며 요약한 내용입니다.)
http://www.yes24.com/Product/Goods/96051171
1. 소프트웨어 설계
Cp4. 인터페이스 설계3
1. 시스템 아키텍처
: 시스템 구조, 행위, 동작 원리 설명하는 프레임워크
: 시스템 목적 달성 위해 컴포넌트가 어떻게 상호작용하고 정보가 교환되는지를 설명함.
: 시스템 구성요소에 대해 설계 및 구현을 지원하는 수준으로 자세히 기술
: 구성요소 간 관계 및 시스템 외부 환경과의 관계를 설명
: 하드웨어와 소프트웨어를 포함하는 시스템 전체에 대한 논리적인 기능 체계와 시스템 실현 위한 구성방식, 시스템의 전체적 최적화를 목표로 해야 함.
1-1. 시스템 아키텍처 설계 시 고려사항
1) 기술적 제약사항
: 중단시간 최소화 설계, 중단없는 운영 확보로 가용성 확보
: DB서버 부하 경감 방안 고려
: 수직 확장성 높은 하드웨어 또는 분산 DB 검토
2) 기술 요구사항
: UI 개발 도구
: 미들웨어 기반 기술에 적합한 아키텍처 설계
: 개발 프레임워크 도입에 따른 개발 및 인터페이스 방식 검토
3) 기존 운영사의 문제점 개선
: 장애 발생 감안한 용량 산정
: 데이터 손실 없이 신속 서비스 복구할 수 있는 아키텍처 설계
: 트랜잭션 부하 폭증에 대한 대처 방안 수립
: 대용량 트랜잭션 및 스토리지 운영 관리에 적합한 서버, 스토리지 물리 설계
1-2. 시스템 아키텍처 설계원칙
1) 대규모 트랜잭션 처리 및 온라인 성능 보장
: 피크타임 용량 확보, 대용량 배치 처리, 부하 분산 최적화, DB용량 경량화
2) 시스템 아키텍처 확장성 보장
: 다계층 아키텍처 구성, 하드웨어 확장성, 아키텍처 확장성
3) 서비스 고가용성 보장
: 장애예방, 서비스 중단시간 최소화, 비상 시스템 구성
4) 운영관리 효율성
: 트랜잭션 관리, 성능 및 장애관리, 통합 백업 관리
5) 시스템 보안 강화
: 정보 보호 전략 수립, 네트워크 보안, 시스템 보안
1-3. 시스템 아키텍처 물리 설계
구분 | 어키텍처 구조 | 특징 |
1-Tier 아키텍처 | AP/DB 서버 1대 이상 구성 (비즈니스로직+데이터) |
UI 로직 없는 인터페이스 게이트웨이 업무 물리적 노드 수가 최소 1개로 구성 Tier간 네트워크 트래픽 없음 |
2-Tier 아키텍처 | AP서버, DB서버 2대이상 구성 UI+비즈니스로직과 데이터 |
일반 OLTP 업무 비즈니스 로직 유출이 발생할 수 있음 물리적 노드 수가 최소 2개 이상 필요 AP와 DB 서버 간 네트워크 트래픽 발생 |
3-Tier 아키텍처 | 프레젠테이션 서버, AP서버, DB서버 3대 UI로직+비즈니스로직+데이터 |
대용량 온라인 트랜잭션 처리 업무 데이터 및 비즈니스 로직 유출 방지 용이 물리적 노드 수가 최소 3개 이상 필요 Tier간 네트워크 트래픽 발생 |
2. 인터페이스 시스템
: 송수신시스템으로 구성. 연계방식에 따라 중계서버를 둘 수 있음.
1) 송신시스템
: 연계할 데이터를 DB와 애플리케이션으로부터 연계테이블 또는 파일 형태로 생성하여 송신하는 시스템
2) 수신시스템
: 수신한 연계테이블 또는 파일데이터를 DB에 저장하거나 애플리케이션에서 활용할 수 있도록 제공하는 시스템
3) 중계서버
: 송수신시스템 사이에서 데이터를 송수신하고 모니터링하는 시스템
: 연계데이터 보안 강화 및 다중 플랫폼 지원 가능
2-1. 인터페이스 시스템 분류체계
: 대내외 인터페이스 시스템의 식별자를 정의
: 시스템은 기업이 수행하는 업무를 대/중/소 업무를 파악하고 상위시스템과 하위시스템을 구분
: 시스템수준을 구분할 필요가 없는 경우 업무분류 체계상의 대분류를 기준으로 시스템을 식별하고 업무대분류명을 시스템명으로 사용하기도 함
2-2. 인터페이스 시스템 식별 정보
: 대내외 연계를 위해 송수신시스템 식별 정보를 기술
1) 대내외 구분 정보: 내부/외부 기관시스템 구분
2) 기관명: 대외 기관이 경우 기관명 기술
3) 시스템ID: 시스템 식별체계에 따라 부여된 식별번호
4) 시스템 한글명
5) 시스템 영문명(영문코드)
6) 시스템 설명: 시스템 업무, 위치 등에 대한 부가 정보
7) 시스템 위치: 시스템이 설치된 위치(노드) 정보
8) 네트워크 특성: 네트워크 전송 속도, 대역폭, 유의사항 등
9) 전용 회선 정보: 전용회선 연결방법, 속도 등의 정보
10) IP/URL: 시스템 접속에 필요한 IP, URL 정보
11) Port: 접속에 필요한 포트 정보
12) Login: 정보 시스템 로그인 ID, 암호
13) DB 정보: DB 연계 시 필요한 DBMS 유형, DBMS 로그인 정보
14) 담당자 정보: 해당 시스템의 인터페이스 담당자 연락처
2-3. 인터페이스 시스템의 데이터 표준
: 인터페이스 시스템 사이에서 교환되는 데이터는 규격화된 표준 형식을 정의하여 사용해야 함
: 인터페이스 설계단계에서 송수신 시스템 사이에 전송되는 표준항목, 업무처리데이터, 공통코드 정보 등을 누락없이 식별하고 인터페이스 명세서르 작성해야 함
인터페이스 시스템의 데이터 표준 | 설명 |
인터페이스 데이터 공통부 | 인터페이스 표준 항목 포함 |
인터페이스 데이터 개별부 | 송수신 시스템에서 업무처리에 필요한 데이터 포함 |
인터페이스 데이터 종료부 | 전송데이터의 끝을 표시하는 문자를 포함하여 종료 표시 |
2-4. 인터페이스 시스템 처리 프로세스
: 송신시스템에서 전송할 데이터 생성해 연계서버에 전달하면, 수신시스템에 데이터를 연계하여 전송함
: 연계서버는 시스템간 연계상태와 송수신오류 여부를 모니터링하여 조치를 수행
3. 인터페이스 상세 설계
내외부 송수신 연계방식 | 장점 | 단점 |
직접연계방식 | 연계 처리속도가 빠르고 구현이 단순 개발비용, 기간 짧음 |
송수신시스템간 결합도가 높아 변경시 민감 보안 위한 암복호화 처리와 비즈니스 로직 구현을 인터페이스별로 작성 전사시스템 인터페이스에 대한 통합 환경 구축이 어려움 |
간접연계방식 | 송수신 처리 및 현황 모니터링, 통제하는 연계서버 활용 서로다른 네트워크와 프로토콜 등 다양한 환경 갖는 시스템들을 연계하고 통합관리할 수 있음 인터페이스 변경 시에도 유연하게 대처 가능 |
인터페이스 아키텍처와 연계절차가 복잡하고 연계서버로 인한 성능 저하 개발 및 테스트 기간이 직접연계방식보다 오래걸림 |
3-1. 내외부 송수신 연계 기술
: DB링크, DB연결(커넥션), API, JDBC, 하이퍼링크, 소켓
3-2. 내외부 송수신 통신 유형
통신유형 | 설명 | |
실시간 | 단방향 | 데이터를 이용하고자 하는 시스템에서 거래를 요청하는 방식 데이터를 전송하는 상대 시스템의 응답이 필요없는 업무에 사용 실시간 File, 실시간 DB연계에도 사용 |
양방향 | 데이터를 전송하는 상대 시스템의 응답이 필요한 업무에 사용 | |
동기 | 이용하는 시스템에서 거래요청을 하고 응답이 올때까지 대기하는 방식 응답 바로 처리해야 하는 거래나 거래량이 적고 상대 시스템의 응답속도가 빠를 경우 사용 |
|
비동기 | 이용하는 시스템에서 거래요청하는 서비스와 응답받아 처리하는 서비스가 분리되는 구조 요청보내고 다른 작업을 하다가 데이터 준비되었다는 신호를 받으면 처리하는 방식 주문업무같이 거래량이 많거나 데이터전송시스템 처리가 오래걸릴 때 사용 |
|
지연처리 | 비동기, 단방향 유형과 유사한 방식 순차처리 및 지연 처리가 필요한 업무에 사용 |
|
배치 | DB/File 거래 | 정해진 시간에 통신 수행 연계 스케줄러에 의해 구동되는 이벤트 방식과 타이머에 의한 방식이 있음 |
4. 데이터 명세화
: 인터페이스 요구사항 분석과정에서 식별한 연계정보를 테이블정의서, 파일레이아웃, 코드 정의서 등 데이터 명세로 만드는 작업
1) 개체(Entity) 정의서
: DB 개념 모델링 단계에서 도출한 개체의 타입과 관련 속성, 식별자 등의 정보를 개괄적으로 명세화한 정의서
2) 테이블 정의서
: 논리 및 물리 모델링 과정에서 작성하는 설계 산출물
3) 코드 정의서
4-5. 오류 처리 방안 명세화
인터페이스 오류 유형 구분 | 설명 |
연계 서버 | 연계서버 실행여부, 송수신 접속오류, 전송형식 변환 등 연계서버의 기능 관련 장애 |
송신시스템 연계프로그램 | 연계데이터 추출 위한 DB접근 권한 오류, 데이터 변환 시 오류 미등록 코드로 인한 코드 매핑 오류 |
연계 데이터 | 연계데이터 값이 유효하지 않아 발생하는 오류 |
수신시스템 연계프로그램 | 수신받은 데이터를 운영DB에 반영하는 과정에서 접근 권한 문제, 데이터변환 시 예외상황 미처리 등으로 인한 연계 프로그램 오류 데이터등록, 갱신 오류 |
5. 인터페이스 설계
5-1. 인터페이스 목록 도출
: 연계업무와 연계에 참여하는 송수신 시스템의 정보, 연계방식, 통신유형 등에 대한 정보를 포함
인터페이스 목록 주요항목 | 설명 |
인터페이스ID | 인터페이스 구분 위한 식별자 |
인터페이스명 | 인터페이스 목적을 나타내는 이름 |
송신시스템 | 인터페이스를 통해 데이터를 전송하는 시스템 |
수신시스템 | 인터페이스를 통해 전송된 데이터를 이용하는 시스템 |
대내외 구분 | 인터페이스가 기업 내부 시스템 간 또는 내외부 시스템간에 발생하는지 여부 |
연계방식 | 웹서비스, FTP, DB링크, 소켓 등 아키텍처에서 정의한 인터페이스 방식 |
통신유형 | 아키텍처에서 정의한 통신 유형(단/양방향, 동기, 비동기) |
처리유형 | 실시간, 배치, 지연처리 등 인터페이스 처리 유형 처리유형이 실시간인 경우 수시, 나머지는 상세 주기를 표시 |
주기 | 인터페이스가 발생하는 주기 |
데이터형식 | 고정길이, XML 등 인터페이스 항목의 데이터포맷 |
관련요구사항ID | 해당 인터페이스와 관련된 요구사항 식별 정보 |
5-2. 인터페이스 정의 작성
: 송수신시스템간 데이터 저장소, 속성 등의 상세 내역 포함
: 연계방식에 따라 명세항목이 달라지므로 연계방식 정한 후 작성함.
인터페이스 정의서 주요 항목 | 설명 |
인터페이스 ID | 인터페이스 구분 식별자 |
최대처리횟수 | 단위시간당 처리될 수 있는 해당 인터페이스 최대 수행 건수 |
데이터 크기(평균/최대) | 인터페이스 1회 처리 시 소요되는 데이터 평균 크기와 최대 크기 |
시스템 정보 | 시스템명, 업무명, 서비스명/프로그램DI, 연계방식 등.. |
데이터 정보 | 번호, 필드, 식별자여부, 데이터타입 등.. |
5-3. 인터페이스 설게 프로세스
1. 양식준비 → 2. 인터페이스 기본 정보 작성 → 3. 송수신시스템의 정보 작성 → 4. 프로그램 명세서 확인 및 보완 → 5. 송수신 데이터 항목 작성 → 6. 코드 매핑 정보 작성 → 7. 인터페이스 설계 내용 검토 및 보완
5-4. 미들웨어 솔루션
: 컴퓨터와 커뮤터간 연결을 쉽고 안전하게 할 수 있또록 하고, 관리를 도와주는 소프트웨어
: 서로다른 프로토콜, 운영체제, db와 애플리케이션 간 통신을 지원해주는 소프트웨어
: 애플리케이션이 어떤 정보시스템 환경에서도 작동할 수 있도록 지원해주는 역할
미들웨어 솔루션 유형 | 설명 |
DB 미들웨어 | DB 솔루션 업체에서 제공하는 애플리케이션과 DB간 통신을 원활하게 하는것을 목적으로 하는 미들웨어 |
원격 프로세저 호출(RPC) | 응용프로그램의 프로시저를 사용하여 원격 프로시저를 로컬프로시저처럼 호출하는 방식의 미들웨어 |
메시지 지향 미들웨어(MOM) | 비동기형 메시지 전달 방식 미들웨어 서로다른 이기종 분산 DB시스템의 데이터 동기를 위해 사용 |
트랜잭션 처리(TP) 모니터 | 온라인업무에서 트랜잭션 처리, 감시하는 미들웨어 분산환경의 핵심기술인 분산 트랜잭션 처리하기 위한 미들웨어 주로 사용자가 많고 안정적이며 즉각처리필요한 프로그램 개발에 사용 |
레거시웨어 | 기존 애플리케이션이나 DB기반에 새 업데이트 기능 덧붙일 때 사용하는 미들웨어 |
객체 기반(ORB) | 코바 표준 스펙을 구현한 객체지향 미들웨어 각기 다양한 기반으로 구축된 컴퓨터 간의 프로그램과 데이터의 교환 및 변환이 편리하게 이루어질 수 있도록 지원 |
WAS | 서버계층에서 애플리케이션이 동작할 수 있는 환경을 제공하고 안정적인 트랜잭션 처리와 관리, 다른 이기종 시스템과의 애플리케이션 연동을 지원하는 미들웨어 HTTP 세션 처리 위한 웹서버 기능 뿐만 아니라 민감한 기업 업무까지 자바, 컴포넌트 기반으로 구현 가능 |
5-5. 웹서버와 WAS 처리 프로세스
: WAS와 웹서버의 차이점은 동적 서버 콘텐츠를 수행할 수 있는 기능임.
웹서버와 WAS 처리 프로세스 순서 | 프로세스 |
1 | 웹 브라우저가 웹서버에 페이지를 요청 |
2 | 웹서버는 요청된 페이지의 로직 및 DB연동을 위해 애플리케이션 서버에 처리 요청 |
3 | 웹 애플리케이션 서버는 DB와 데이터의 처리를 수행 |
4 | 로직 및 DB작업의 처리 결과를 웹서버에 보냄 |
5 | 웹 서버는 결과를 다시 웹 브라우저에 응답 |
6. EAI와 ESB
6-1. EAI(enterprise application integration)
: 비즈니스 프로세스를 중심으로 기업 내 플랫폼, 애플리케이션 간 상호연결 가능하도록 통합하는 솔루션
: 대상시스템에 비표준 어댑터를 배포하여 통합됨
6-2. ESB(enterprise service bus)
: 기업에서 운영되는 이기종 및 애플리케이션 간을 연계해서 관리운영할 수 있도록 서비스 중심의 통합을 지향하는 기술
EAI, ESB 특징 비교 구분 | EAI | ESB |
수행 목적 | 기업 내부 이기종 응용 모듈 간 통합 | 기업 간 서비스 교환을 위한 표준 API로 통합 |
토폴로지 | 허브 앤 스포크 방식의 집중형 토폴로지 구성 | DSB의 분산형 토폴로지 구성 |
핵심 기술 | 어댑터, 브로커, 메시지 큐 | 웹서비스, 지능형 라우터, 포맷변환, 개방형 표준 |
통합 형태 | 애플리케이션 간의 단단한 통합 | 서비스 간 느슨한 통합 |
적용 영역 | 기업 내부망 | 기업 외부 채널망 |
EAI와 ESB의 세부 기술 및 토폴로지 | 설명 |
허브 앤 스포크 | 중앙집중 허브를 통해 통합하여 중앙통제,관리 단위 애플리케이션의 업무 간 재사용성 극대화 |
어댑터 | 다양한 패키지 애플리케이션 및 기업에서 자체적으로 개발한 애플리케이션을 연결하는 EAI 핵심 장치 |
브로커 | 시스템 상호 간 데이터가 전송될 때, 데이터 포맷과 코드를 변환하는 솔루션 |
메시지 큐 | 비동기 메시지를 사용하는 다른 응용프로그램 사이에서 데이터를 송수신하는 기술 |
'도구 > Etc' 카테고리의 다른 글
[Powershell] "이 시스템에서 스크립트를 실행할 수 없으므로 .... " UnauthorizedAccess 오류 해결 방법 (0) | 2022.03.17 |
---|---|
[2022년 정보처리기사 필기] 2. 소프트웨어개발: Cp1. 데이터입출력 구현 (0) | 2022.02.17 |
[2022년 정보처리기사 필기] 1. 소프트웨어설계: Cp3. 애플리케이션 설계2 (0) | 2022.02.09 |
[2022년 정보처리기사 필기] 1. 소프트웨어설계: Cp3. 애플리케이션 설계 (0) | 2022.01.21 |
[2022년 정보처리기사 필기] 1. 소프트웨어설계: Cp2. 화면 설계2 (0) | 2022.01.20 |