소프트웨어 설계 - 인터페이스 상세 설계
#내/외부 송·수신
연계 방식과 연계 기술, 통신 유형의 선택은 성능을 위한 가장 중요한 요소
■ 내/외부 송·수신 연결 방식
직접 연계 방식
- 중계 서버나 솔루션을 사용하지 않고 직접 인터페이스 하는 방식
- 중간 매개체가 없어 처리속도가 빠르고 구현이 단순
- 개발 비용과 기간이 짧음
- 송/수신 시스템간 결합도가 높아서 시스템 변경 시 민감
- 보안을 위한 암/복호화 처리와 비즈니스 로직 구현을 인터페이스별로 작성
- 통합 환경 구축이 어려움
간접 연계 방식
- 연계 솔루션이 제공하는 송수신 엔진과 어댑터를 활용하여 인터페이스 하는 방식
- 다양한 환경을 갖는 시스템들을 연계하고 통합 관리할 수 있음
- 인터페이스 변경 시에도 유연하게 대처 가능
- 연계 절차가 복잡하고 연계 서버로 인한 성능 저하
- 개발 및 테스트 기간이 직접 연계 방식보다 오래 걸림
■ 내/외부 송·수신 연결 기술
◆ DB 링크
- DB에서 제공하는 DB링크 객체를 이용하는 기술
- 수신 시스템에서 DB를 생성하고, 송신 시스템에서 DB링크를 직접 참조하는 방식
◆ DB 연결
- 수신 시스템의 WAS에서 송신 시스템 DB로 연결하는 DB 커넥션 풀을 생성하고 연계 프로그램에서 해당 DB 커넥션 풀명을 이용하는 기술
※ WAS: Web application Server
DB 조회 혹은 다양한 로직 처리를 요구하는 동적 컨텐츠를 제공하기 위해 만들어진 어플리케이션 서버
◆ API/Open API
- 송신 시스템의 DB에서 데이터를 읽어서 제공하는 애플리케이션 프로그래밍 인터페이스 프로그램
◆ JDBC
- JDBC 드라이버를 이용하여 송신 시스템 DB와 연결하는 기술
- Java Data base connectivity의 약어
- 자바 프로그램 안에서 SQL을 실행하기 위해 데이터베이스를 연결해주는 응용프로그램 인터페이스
◆ 하이퍼링크
- 웹 애플리케이션에서 하이퍼링크 이용하는 기술
◆ 소켓
- 서버는 통신을 위한 소켓을 생성하고 포트를 할당
- 클라이언트의 통신 요청 시 클라이언트와 연결하고 통신하는 기술
■ 내/외부 송·수신 통신 유형
◆ 실시간
단방향
- 상대 시스템의 응답이 필요 없는 업무에 사용
양방향
- 시스템 간에 거래를 상호 요청하는 방식
- 상대 시스템의 응답이 필요한 업무에 사용
동기
- 데이터를 이용하고자 하는 시스템에서 거래 요청을 하고 응답이 올 때까지 대기하는 방식
- 응답을 바로 처리해야하는 거래
- 거래량이 적고 상대 시스템의 응답 속도가 빠를 경우 사용
비동기
- 요청을 보내고 다른 작업을 하다가 데이터가 준비되었다는 신호를 받으면 다시 처리하는 방식
- 주문 업무와 같이 거래량이 많거나 데이터를 전송하는 시스템의 처리가 오래 걸리는 업무에 사용
지연처리
- 순서 처리 및 지연 처리가 필요한 업무에 사용
◆ 배치
- DB/File 거래
- 정해진 시간에 통신을 수행하게 되는 방식
미들웨어 솔루션 ★★★★★
● 컴퓨터와 컴퓨터 간의 연결을 쉽고 안전하게 할 수 있도록 해주고 이에 대한 관리를 도와주는 소프트웨어
● 서로 다른 프로토콜이나 운영체제, DB와 어플리케이션간에 통신을 지원해 주는 소프트웨어을 의미
● 애플리케이션이 어떤 정보 시스템 환경에서도 작동할 수 있도록 지원해주는 역할을 함
● 위치의 투명성을 제공하고 여러 컴포넌트가 요구하는 재사용 가능한 서비스의 구현을 제공함
※ 위치의 투명성: 사용자는 각 컴퓨터들이 어느 곳에 위치하는지 몰라도 자원을 사용할 수 있음
미들웨어 솔루션
■ DB 미들웨어
DB 간에 통신을 원활하게 하는 것을 목적으로 하는 미들웨어
■ 원격 프로시저 호출(RPC; Remote Procedure Call)
원격 프로시저를 로컬 프로시저처럼 호출하는 방식의 미들웨어
■ 메세지 지향 미들웨어 (MOM; Message-Oriented Middleware)
메세지 기반의 비동기형 메세지 전달 방식 미들웨어
※ 비동기적: 즉각적인 응답을 필요로 하는 경우가 아니라 다소 느리고 안정적인 응답을 필요로 하는 경우에 많이 사용됨
■ 트랜잭션 처리(TP; Transaction Processing)
분산 환경의 핵심 기술인 분산 트랜잭션을 처리하기 위한 미들웨어
사용자가 많고 안정적이면서도 즉각적인 처리가 필요한 업무 프로그램의 개발에 많이 사용
■ 레거시웨어(Legacyware)
기존 애플리케이션이나 DB 기반에 새로운 업데이트된 기능을 덧붙이고자 할 때 사용되는 미들웨어
■ 객체 기반 미들웨어 (ORB; Object Request Brokers)
코바(CORBA) 표준 스펙을 구현한 객체 지향 미들웨어
※ CORBA (Common Object Request Broker Architecture): 하드웨어 플랫폼, 프로그래밍 언어 및 운영체제에 관계없이 정보교환을 가능하게 하는 세계 최고의 미들웨어 솔루션 (ORB: 분산된 객체가 서로 통신하는데 필요한 메커니즘을 제공)
■ WAS (Web Application Server)
서버 계층에서 애플리케이션이 동작할 수 있는 환경을 제공하고 안정적인 트랜잭션 처리와 관리, 다른 이기종 시스템과의 애플리케이션 연동을 지원하는 미들웨어
This post is licensed under CC BY 4.0 by the author.