정리하고기록하자

Spring - PSA 본문

개발 상식

Spring - PSA

정리하고기록하자 2022. 5. 2. 19:27
반응형

PSA

PSA는 '잘 만든 인터페이스' 라고 한다. 추상화가 굉장히 잘 된 인터페이스 이다.

작업 환경이나 기술이 변하더라도 일관된 방식의 접근 방식을 제공하여 의존성을 크게 고려하지 않아도 되는 구조이다.

 

스프링에서 Controller, Mapping, Transaction 이런 Annotation등을 클래스나 메서드에 붙이기만 해주면 작동한다.

이것을 가능하게 해주는 것이 PSA 개념이다.


PSA는 Portable Service Abstraction의 약자인데 여기서 핵심은 Service와 Abstraction 이다

서비스 추상화 라고 불리는데 이것을 추상화 계층을 사용하여 어떤 기술을 내부에 숨기고 개발자에게 편의성을 제공한다는 것을 말한다.


Service Abstraction ( 서비스 추상화 ) 

스프링이 제공하는 서비스 추상화는 많지만Spring Web MVC 와 JDBC로 예를 들어보겠습니다.

 

1. Spring Web MVC 클래스에 @Controller 어노테이션을 사용하면 메서드들의 Mapping 정보를 읽을 수 있게 만들어 준다.이를 구동하게 해주는 것이 내장된 Tomcat이라고 가정해보자이때 개발자가 전혀 다른 기술 스택인 WebFlux라는 기술로 이를 구동할 시 개발자가 직접 접근하여 구현할 필요 없이 Spring Web MVC의 추상화 계층을 사용하여 Netty라는 WAS로 구동 할 수 있다.

 

2. JDBC우리가 DB에 접근할때 JDBC라는 것을 사용하면 Oracle 또는 MySQL 둘 중 아무거나 사용하더라도 접근할수있다.이처럼 같은 일을 하는 다수의 기술 (Tomcat or Netty 또는 Oracle or MySQL ) 을 공통의 인터페이스로 제어할 수 잇게 한 것을 서비스 추상화 라고 한다.

 

 

 

반응형

'개발 상식' 카테고리의 다른 글

네트워크 시스템의 Layer and Architecture  (0) 2022.06.11
TCP / IP  (0) 2022.06.05
Spring - DI  (0) 2022.05.02
Spring - AOP  (0) 2022.04.30
JDK 1.7 -> 1.8  (0) 2022.04.28