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

thingzoo·2024년 1월 25일
0
post-thumbnail

내외부 송수신

인터페이스 연계 기술⭐️⭐️

직접 연계 방식

  • 데이터베이스에 제공하는 DB Link 객체 이용
  • 수신시스템에서 DB Link를 생성하고 송신시스템에서 해당 DB Link를 직접 참조하는 방식
  • 예: 테이블명@DB Link명

DB Connection

  • 수신시스템의 WAS에서 송신시스템 DB로 연결하는 DB Connection Pool을 생성하고 연계프로그램에서 해당 DB Connection Pool명 이용
  • 예: 송신시스템의 Data Source = DB Connection Pool명

JDBC

  • 수신시스템의 프로그램에서 JDBC 드라이버를 이용해 송신시스템 DB와 연결
  • DBMS 유형, DBMS 서버 IP와 Port, DB Instance 정보 필요

API/OpenAPI

  • 송신 시스템의 DB에서 데이터를 읽어와 제공하는 애플리케이션 프로그래밍 인터페이스 프로그램
  • API명, 입출력 파라미터 정보 필요
  • OpenAPI: 이런 기능을 누구나 무료로 사용할 수 있도로 공개된 API
  • 웹 애플리케이션에서 하이퍼링크 이용

간접 연계 방식

Web Service

  • 웹서비스에서 WSDL, UDDI, SOAP 프로토콜을 이용해 연계하는 서비스
  • WSDL(Web Services Description Language): 웹서비스와 관련된 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
  • UDDI(Universal Description, Discovery and Integration): 인터넷에서 전세계의 비즈니스 업체 목록에 자신의 목록을 등록하기 위한 확장성 생성 언어(XML)기반의 규격
  • SOAP(Simple Object Access Protocol): 웹서비스를 실제로 이용하기 위한 객체간의 통신 규약

Socket

  • 통신을 위한 소켓을 생성하여 포트를 할당하고 클라이언트의 통신 요청 시 클라이언트와 연결하고 통신하는 네트워크 기술

ESB(Enterprise Service Bus)

  • 개방형 표준인 웹서비스를 이용하며, 메시징과 웹서비스, 데이터 변형, 인텔리전트 라우팅을 결합하여 다양한 애플리케이션 간의 연결과 상호작용을 지원하는 표준기반의 미들웨어 플랫폼

통신 유형

실시간 처리

  • 단방향(Notify): 정보가 한쪽에서 다른쪽으로 전송되지만, 반대방향으로 교환은 없는 통신방식
  • 동기(Sync): 한 작업이 완료될때까지 다음작업이 대기하는 방식
  • 비동기(Async): 요청이 이루어진 후, 요청한 시스템이 응답을 기다리지 않고 다른작업을 계속할 수 있는 방식
  • 지연처리(Deferred): 특정 작업을 바로 수행하지 않고, 나중으로 지연시키는 방식

배치처리

  • DB/File 거래

미들웨어 솔루션

미들웨어

  • 클라이언트와 서버 간의 통신을 담당하는 시스템 소프트웨어(20년 4회)
  • 이기종 하드웨어, 소프트웨어, 네트워크, 프로토콜, PC 환경, 운영체제 환경 등에서 시스템 간의 표준화된 연결을 도와주는 소프트웨어
  • 표준화된 인터페이스를 통하여 시스템 간의 데이터 교환에 있어 일관성 제공
  • 운영체제와 애플리케이션 사이에서 중간 매개 역할을 하는 다목적 소프트웨어
  • 사용자가 미들웨어의 정보 교환 방법 등의 내부 동작을 쉽게 확인할 수 있다면, 보안의 위협이 될 수 있으므로 확인할 수 없도록 해야함

미들웨어 종류⭐️⭐️

(20년 1,2회)

RPC(Remote Procedure Call, 원격 프로시저 호출)

  • 응용프로그램의 프로시저를 사용해 원격 프로시저를 로컬 프로시저처럼 호출하는 방식
  • 예: Entera, ONC/RPC(OSF)

MON(Message Oriented Middleware)

  • 메시지 기반의 비동기형 메시지를 전달하는 방식
  • 독립적인 애플리케이션을 하나의 통합된 시스템으로 묶기 위한 역할
  • 느리고 안정적인 응답을 필요로 하는 경우 사용
  • 예: MQ(IBM), MessageQ(Oracle), JMS(JCP)

ORB(Object Request Broker)

  • 객체지향 미들웨어로 코바(CORBA) 표준 스텍을 구현함
  • 코바(CORBA): 네트워크에서 분산 프로그램 객체를 생성/배포/관리하기 위한 규격

DB 접속 미들웨어

  • 클라이언트에서 원격의 데이터베이스와 연결하기 위한 미들웨어, 2-티어 아키텍처
  • 예: ODBC(MS), IDAPI(볼랜드), Glue(Oracle)

TP-Monitor(Transaction Processing Monitor)

  • 항공기나 철도 예약 업무와 같은 온라인 트랜잭션을 처리/감시하는 미들웨어
  • 사용자수가 증가해도 빠른 응답 속도를 유지해야하는 업무, 분산시스템에 주로 사용
  • 예: tuxedo(Oracle), tmax(tmaxsoft)

WAS(Web Application Server)

  • 사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리하기 위해 사용(웹서버: 정적인 콘텐츠 처리)
  • 클라이언트-서버 환경보다는 웹환경을 구현하기 위한 미들웨어
  • HTTP 세션 처리를 위한 웹서버 기능 뿐만 아니라 미션-크리티컬한 기업업무까지 Java, EJB컴포넌트 기반으로 구현 가능
  • 예: WebSphere(IBM), Web Logic(Oracle), JEUS, Tomcat

ESB(Enterprise Service Bus)

  • 메시지 기반으로 느슨한 결합 형태의 표준 인터페이스 통신을 지원
  • 기업 내외 모든 시스템 환경 연동

Legacyware

  • 기존 애플리케이션에 새로운 업데이트된 기능을 덧붙이고자 할때 사용
profile
공부한 내용은 바로바로 기록하자!

0개의 댓글