From: 엔터프라이즈 애플리케이션 아키텍처 패턴

마틴 파울러는 "엔터프라이즈 애플리케이션 아키텍처 패턴"에서 다음과 같이 이야기한다.1

엔터프라이즈 애플리케이션은 급여 관리, 환자 기록, 배송 추적, 비용 분석, 신용 점수, 보험, 공급망, 회계, 고객 서비스, 외환 거래를 포함한다. 반면 자동차 연료 주입, 워드프로세서, 승강기 제어, 화학 공장 제어기, 전화 스위치, 운영체제, 컴파일러, 게임 등은 포함하지 않는다.

엔터프라이즈 애플리케이션은

일반적으로 지속적 데이터(persistent data)를 처리한다.

  • 프로그램을 여러 번 실행해도 데이터를 유지해야 하기 때문.
  • 최소한 몇 년 동안 유지.
  • 데이터를 새로운 애플리케이션에 맞게 마이그레이션해야 하는 경우도 있다.

일반적으로 막대한 양의 데이터를 처리한다.

  • 데이터를 관리하는 업무가 시스템의 중요한 부분을 차지한다.
  • 일반적으로 관계형 데이터베이스를 이용한다.

일반적으로 여러 사람이 동시에 데이터에 접근한다.

  • 여러 사람이 올바른 경로로 시스템에 접근할 수 있게 해야 한다.
  • 동시 사용자가 동일한 데이터에 접근할 때의 오류를 예방해야 한다.

사용자 인터페이스 화면의 수가 많은 편이다.

  • 다양한 용도에 맞게 다양한 방식으로 데이터를 제공해야 한다.
  • 시스템은 다수의 일괄 처리(batch processing)를 포함하는 경우가 많다.

단독으로 운영되는 경우가 거의 없다.

  • 기업 전체에 분산된 다른 엔터프라이즈 애플리케이션과 통합해야 하는 경우가 많다.
  • 통합 기술을 단일화해도 비즈니스 프로세스의 차이와 데이터에 대한 개념 불일치로 인한 문제가 발생하곤 한다.

참고문헌

  • 엔터프라이즈 애플리케이션 아키텍처 패턴 / 마틴 파울러 저 / 최민석 역 / 위키북스 / 2쇄 2018년 10월 31일 / 원제 : Patterns of Enterprise Application Architecture
  1. "엔터프라이즈 애플리케이션 아키텍처 패턴" 12~14쪽.