Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0장: 머리말 #226

Open
Tracked by #223
fkdl0048 opened this issue Mar 2, 2024 · 1 comment
Open
Tracked by #223

0장: 머리말 #226

fkdl0048 opened this issue Mar 2, 2024 · 1 comment

Comments

@fkdl0048
Copy link
Owner

fkdl0048 commented Mar 2, 2024

서문

이 책은 총 두 부분으로 구성되어 있다. 1부에서는 엔터프라이즈 애플리케이션의 설계를 이해하기 쉽게 설명하는 이야기 장을 포함한다. 엔터프라이즈 아키텍처와 관련된 다양한 문제와 그 해결책을 소개한다. 다만 이러한 해결책을 심도 있게 다루지는 않는다. 해결책에 대한 깊이 있는 내용은 패턴별로 정리된 2부에서 다룬다. 2부는 순서대로 읽기보다는 참고서로 적합하다. (필요할 때 더 깊게 읽을 것)

이 책은 엔터프라이즈 애플리케이션 설걔에 대한 책이다. 엔터프라이즈 애플리케이션은 막대한 규모와 복잡한 데이터를 표시, 관리, 저장하고, 이러한 데이터를 이용한 비즈니스 프로세스를 지원하거나 자동화하는 애플리케이션을 말한다. 예로는 예약 시스템, 금융 시스템, 공급망 시스템 그밖의 현대 비즈니스 운영에 필수적인 다양한 시스템이 있다. 일반적인 소프트웨어 아키텍처에 대한 책은 POSA를 추천한다.

저자는 반복적 개발을 선호하며, 이는 완전하지 않더라도 사용자에게 유용한 소프트웨어를 최대한 신속적으로 만든다는 것이다. 거의 애자일과 동일한 철학이다. 이 책은 완벽하진 않지만 엔터프라이즈 애플리케이션 아키텍처에 대한 유용한 개요를 담고 있다.

  • 엔터프라이즈 애플리케이션 계층화
  • 도메인 논리 구성
  • 웹 사용자 인터페이스 구성
  • 인메모리 모듈과 관계형 데이터베이스 연결
  • 상태 비저장 환경에서 세션 상태 처리
  • 분산의 원리

이 책에서 다루지 않는 주제는 유효성 검사 구성, 메시징과 비동기 통신의 통합, 보안, 오류 처리, 클러스터링, 애플리케이션 통합, 아키텍처 리팩터링, 리치 클라이언트 사용자 인터페이스 구성 등이 있다.

예제는 자바나 C#코드로 구성되어 있다. 예제는 패턴의 개념에 대한 영감과 설명을 제공하기 위한 것이며, 완성된 해결책이 아니다. 예제를 활용하기 위해선 많은 수정작업이 필요하니 패턴 자체를 정답으로 인식하지 말자.

들어가며

컴퓨터 시스템을 구축하는 일은 아주 어렵다. 시스템의 복잡도가 높아지면 소프트웨어를 구축하는 일이 기하급수적으로 어려워진다. 다른 전문 직업과 마찬가지로 우리는 실수나 성공에서 배우는 과정을 통해서만 앞으로 전진할 수 있다.

아키텍처

소프트웨어 업계에서는 한 용어를 미묘하게 모순되는 무수히 많은 의미로 확장하기를 즐기는 경향이 있다. 그 피해자 중 하나가 "아키텍처"라는 용어다. 이 단어 자체가 시스템을 구성 요소로 나누는 최상위 수준의 분해를 의미하며, 다른 하나는 번복하기 어려운 결정을 의미한다. 관점에 따라 설명이 달라지기도 한다.

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

대부분 컴퓨터 소프트웨어를 개발하며, 이러한 작업을 모두 소프트웨어 개발이라고 부른다. 하지만 과제와 복잡도 면에서 뚜렷하게 구분되는 다양한 종류가 있다. 통신분야로 사실 엔터프라이즈 애플리케이션은 통신 소프트웨어에 가깝다.

엔터프라이즈 애플리케이션은 게임은 포함하지 않는다.

엔터프라이즈 애플리케이션은 단독으로 운영되는 경우가 거의 없다. 즉, 엔터프라이즈 애플리케이션은 기업 전체에 분산된 다른 엔터프라이즈 애플리케이션과 통합해야 하는 경우가 많다.

@fkdl0048
Copy link
Owner Author

2024-03-08 기준 임시 종료

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 📖BookLIst
Development

No branches or pull requests

1 participant