Post

소프트웨어 설계 - 인터페이스 상세 설계

#내/외부 송·수신

연계 방식과 연계 기술, 통신 유형의 선택은 성능을 위한 가장 중요한 요소

■ 내/외부 송·수신 연결 방식

직접 연계 방식

  • 중계 서버나 솔루션을 사용하지 않고 직접 인터페이스 하는 방식
  • 중간 매개체가 없어 처리속도가 빠르고 구현이 단순
  • 개발 비용과 기간이 짧음
  • 송/수신 시스템간 결합도가 높아서 시스템 변경 시 민감
  • 보안을 위한 암/복호화 처리와 비즈니스 로직 구현을 인터페이스별로 작성
  • 통합 환경 구축이 어려움

간접 연계 방식

  • 연계 솔루션이 제공하는 송수신 엔진과 어댑터를 활용하여 인터페이스 하는 방식
  • 다양한 환경을 갖는 시스템들을 연계하고 통합 관리할 수 있음
  • 인터페이스 변경 시에도 유연하게 대처 가능
  • 연계 절차가 복잡하고 연계 서버로 인한 성능 저하
  • 개발 및 테스트 기간이 직접 연계 방식보다 오래 걸림

■ 내/외부 송·수신 연결 기술

◆ 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.