티스토리 뷰

레이어드 아키텍처(Layered Architecture)

레이어드 아키텍처를 이해하는데 예시로 들만한 것 중 많은 사람들이 이용하는 Gmail에 대한 예시가 있어 참조하여 작성합니다.

 

구글에서 만든 Gmail 서비스가 어떻게 전세계에서 각각의 언어로 동작되도록 만들어졌는지 생각해본 적이 있으신가요?

 

사용자들은 영어, 스페인어, 프랑스어, 러시아어 등 다양한 언어로 Gmail 서비스를 이용합니다.
다양한 언어로 Gmail 서비스가 동작된다고 해서 구글은 각 나라마다 다른 Gmail Application을 개발하지는 않습니다.
구글은 모든 메세지를 처리하는 내부 버전을 개발하고, 여러 언어로 동작하는 다양한 외부 유저 인터페이스를 개발합니다.

구글이 개발한 Gmail Application은 여러 계층으로 나누어 서비스를 개발하였습니다.

 

  • 모든 처리를 담당하는  내부 레이어
  • 사용자가 사용하는 언어로 소통하는 외부 레이어
  • 사용자의 이메일 메세지가 저장되어 있는 데이터베이스와 상호작용 하는 또 다른 레이어

이렇게 Gmail은 3개 이상의 레이어로 나누어져 있으며, 모든 레이어는 수행해야 하는 임무를 가지고 있고 각각 다른 수준에서

서로 다른 프로세스를 처리하기 위해 각각 존재하게 됩니다.

 

OPENCLASSROOMS, Design Your Software Architecture Using Industry-Standard Patterns,
https://openclassrooms.com/
 

Des parcours diplômants et des cours gratuits 100% en ligne - OpenClassrooms

Question principale* - Veuillez renseigner ce champ -Le choix entre plusieurs parcours d'OpenClassroomsLe financement par un organisme (Pôle Emploi, OPCA...)AutreLa pédagogie OpenClassroomsL'emploi garantiLe mentoratLe format envisagé, "alternance" ou "

openclassrooms.com

위에 있는 다이어그램을 보면, 표준 레이어드 아키텍쳐는 5개의 파트로 나눠진다.

 

  • User interaction layer : 화면을 통해 사용자와 상호작용 하는 레이어로 forms, menus, reports 등이 해당된다. 어플리케이션에서 가장 눈에 띄는 계층으로 어플리케이션이 어떻게 보여질지를 결정한다.

  • Functionality layer : Business rules layer를 기반으로 시스템의 기능, 방법 및 절차에 대한 것을 나타내며, 메뉴나 버튼이 어떻게 동작할지와 시스템이 화면을 탐색하는 방법에 대해 결정한다.

  • Business rules layer : 전체 어플리케이션의 동작에 대해 결정하는 계층이다. 예를 들어 "송장이 인쇄되면, 고객에게 메일을 보내고, 판매된 모든 상품을 선택하고 재고 관리 모듈에서 재고를 줄이십시오." 와 같이 어플리케이션의 동작을 결정한다.

  • Application core layer : 메인 프로그램과 코드 정의, 어플리케이션의 기본 기능 등을 포함하며, 프로그래미들이 어플리케이션을 개발할 때 가장 시간을 많이 보내게 되는 계층이다. 

  • Database layer : 테이블, 인덱스, 어플리케이션에 의해 관리되는 데이터들을 포함하는 계층으로 탐색이나Insert/delete/update 작업이 수행되는 계층이다. 

 

레이어드 아키텍처(Layered Architecture)의 장점

  • 각 레이어들은 자율적이다. 하나의 레이어에 속한 집합의 변화는 다른 레이어에 영향을 미치지 않기 때문에 계층의 기능을 향상시키기 좋다. 예를 들면 PC에서만 동작되던 어플리케이션을 스마트폰이나 태플릿에서도 동작하게 할 수 있다.

 

레이어드 아키텍처(Layered Architecture)의 단점

  • 어플리케이션 유지보수 시 변경되는 것에 대한 분석이 필요하여 더욱 유지보수가 어렵다.

  • 각 계층은 시스템의 작업 시 상위 계층이 하위 계층으로 연결되어야 하기 때문에 오버헤드가 발생하여 어플리케이션의 성능에 영향을 미칠 수 있다.

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함