CHAPTER 06. 인터페이스 구현
Section 3. 인터페이스 기능 구현
1. 내·외부 모듈 연계 방식
⑴ EAI(Enterprise Application Integration)
① EAI의 개념
- 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션들 간의 정보 전달, 연계, 통합을 가능하게 해주는 솔루션
- EAI를 사용함으로써 각 비즈니스 간 통합 및 연계성을 증대시켜 효율성을 높여 줄 수 있으며 각 시스템 간의
확장성을 높여줄 수 있다.
② EAI의 구축유형
Ÿ Point-to-Point
- 중간에 미들웨어를 두지 않고 각 애플리케이션 간 Point to Point 형태로 연결
- 솔루션 구매 없이 통합
Ÿ Hub & Spoke
- 단일 접점이 허브 시스템을 통해 데이터를 전송하는 중앙 집중적 방식
- 모든 데이터 전송 보장
- 확장, 유지 보수 용이
- 허브 장애 시 전체 영향
Ÿ Message Bus (ESB 방식)
- 애플리케이션 사이 미들웨어(버스)를 두어 처리
- 미들웨어 통한 통합
- 어댑터가 각 시스템과 버스를 두어 연결하므로 뛰어난 확정성, 대용량 처리 가능
Ÿ Hybrid
- 그룹 내에는 Hub & Spoke 방식을 그룹 간 메시징 버스 방식을 사용
- 표준 통합 기술, 데이터 병목 현상 최소화
⑵ ESB(Enterprise Service Bus)
- 웹 서비스 중심으로 표준화된 데이터, 버스를 통해 이 기종 애플리케이션을 유연(loosely-coupled)하게 통합하는
핵심 플랫폼(기술)
- ESB는 Bus를 중심으로 각각 프로토콜이 호환이 되게끔 변환이 가능하고 서비스 중심으로 메시지 이동을 라우팅할
수 있다.
- 관리 및 보안이 쉽고 높은 수준의 품질 지원이 가능하지만 표준화가 미비하고 특정 벤더 종속, 성능 문제에서
개선되어야 할 부분이 남아 있다.
- ESB는 애플리케이션 간의 통합 측면에서 EAI와 유사하다고 볼 수 있으나 애플리케이션 보다는 서비스 중심으로
통합을 지향하는 아키텍처 또는 기술이다.
⑶ FEP(Front End Processor)
- 메인프레임에서 통신 과부하를 경감시키기 위해 전처리 작업을 하는 과정을 말한다
- 입력되는 데이터를 컴퓨터의 프로세서가 처리하기 전에 미리 처리하여 프로세서가 처리하는 시간을 줄여주는
프로그램이나 하드웨어
- 전용선 또는 VPN을 이용하 연결된 기관 간, 정해진 인터페이스로 배치파일(SAM)을 전달한다
2. 인터페이스 연계 기술
Ÿ DB Link
- 데이터베이스에 제공하는 DB Link 객체를 이용
- 수신 시스템에서 DB Link를 생성하고 송신 시스템에서 해당 DB Link를 직접 참조하는 방식
Ÿ DB Connection
- 수신 시스템의 WAS에서 송신 시스템 DB로 연결하는 DB Connection Pool을 생성하고 연계 프로그램에서
해당 DB Connection Pool명을 이용
Ÿ JDBC
- 수신 시스템의 프로그램에서 JDBC 드라이버를 이용하여 송신 시스템 DB와 연결
- DBMS 유형, DBMS 서버 IP와 Port, DB instance 정보가 필요함
Ÿ API / OpenAPI
- 송신 시스템의 애플리케이션 프로그래밍 인터페이스 프로그램
- API명, 입출력 파라미터 정보가 필요함
Ÿ Web Service
- WSDL(Web Services Description Language), UDDI(Universal Description, Discovery and Integration), SOAP(Simple Object Access Protocol) 프로토콜을 이용하여 연계
Ÿ Hyper Link
- 웹 애플리케이션에서 하이퍼링크(Hyper Link) 이용
Ÿ Socket
- 통신을 위한 소켓(Socket)을 생성하여 포트를 할당하고 클라이언트의 통신 요청 시 클라이언트와 연결하고
통신하는 네트워크 기술
3. 인터페이스 전송 데이터
⑴ JSON (JavaScript Object Notation)
- Javascript 객체 문법으로 구조화된 데이터를 표현하기 위한 문자 기반의 표준 포맷
- Javascript에서 객체를 만들 때 사용하는 표현식
- JSON 표현식은 사람과 기계 모두 이해하기 쉬우며 용량이 작아서, 최근에는 JSON이 XML을 대체해서 데이터
전송 등에 많이 사용한다.
- 프로그래밍 문법이 아닌 단순히 데이터를 표시하는 표현 방법일 뿐이다.
- JSON 데이터는 이름과 값의 쌍으로 이루어진다.
- JSON 문법
{
"firstName": "Kwon",
"lastName": "YoungJae",
"email": "kyoje11@gmail.com",
"hobby": ["puzzles","swimming"]
}
⑵ XML (eXtensible Markup Language)
- 웹에서 구조화한 문서를 표현하고 전송하도록 설계한 마크업 언어
- XML은 문서내용에 대한 구조와 의미를 기술하기 위한 언어
- 특수한 목적을 갖는 마크업 언어를 만드는데 사용하도록 권장하는 다목적 마크업 언어
- 다양한 표현이 가능하고, 확장성이 뛰어나며 간단하다.
- HTML처럼 데이터를 보여주는 목적이 아닌 데이터를 저장하고 전달할 목적으로 만들어졌다.
- HTML처럼 태그가 정해져 있지 않고, 사용자가 직접 정의할 수 있다.
- XML 예제
<?xml version="1.0" encoding="UTF-8"?>
<information type="필기">
<subject>
<no>1</no>
<name>소프트웨어설계</name>
<point>80</point>
</subject>
<subject>
<no>2</no>
<name>소프트웨어개발</name>
<point>60</point>
</subject>
</shop>
⑶ CSV (Comma Separated Values)
- 몇 가지 필드를 쉼표(,)로 구분한 텍스트 데이터 및 텍스트 파일
- 표 형태의 데이터를 저장하는 파일 형식
- CSV 예제
1,소프트웨어설계,80
2,소프트웨어개발,60
3,데이터베이스구축,85
⑷ YAML
- XML, C, 파이썬, 펄, RFC2822에서 정의된 e-mail 양식에서 개념을 얻어 만들어진
'사람이 쉽게 읽을 수 있는' 데이터 직렬화 양식
- 2001년에 클라크 에반스가 고안했고, Ingy dot Net 및 Oren Ben-Kiki와 함께 디자인했다
- 문법은 상대적으로 이해하기 쉽고, 가독성이 좋도록 디자인되었다.
- 들여쓰기 및 XML의 특수기호를 사용하기 때문에, XML과 거의 비슷하다,\
'information processing' 카테고리의 다른 글
1-20. 인터페이스 구현 검증 (0) | 2022.06.27 |
---|---|
1-19. 인터페이스 기능 구현(2) (0) | 2022.06.27 |
1-17. 인터페이스 개요 및 설계서 확인 (0) | 2022.06.26 |
1-16. 배치 프로그램 구현 (0) | 2022.06.26 |
1-15. 서버 프로그램 구현 (0) | 2022.06.26 |