🌳 < Portable Service Abstraction ? >

 

Portable Service Abstraction은 줄여서 PSA라고 부르며, '이식 가능한 서비스 추상화'라는 뜻을 가지고 있다.

이는 Spring이 제공하는 다양한 기술을 추상화하여 Dev가 쉽게 사용할 수 있는 Interface를 제공하는 것을 의미한다.

 

그럼 이것이 왜 필요한지, 실제로 어떻게 활용되는지 알아보자.

🔥  < PSA의 활용 예시 >

PSA는 Client의 Mapping과 Class, Method의 Mapping을 위한 Annotation을 포함한다.

그리고 Spring DataBase에 접근하기 위한 기술로는 JPA,MyBatis,JDBC  등이 있지만, 이 중 어떤 기술을 사용하더라도 일관된 방식으로 DataBase에 접근할 수 있도록 Interface를 제공한다.

 

또한, Web Application Server(WAS)역시 PSA의 좋은 예시라고 볼 수 있다.

PSA 덕분에 Dev는 코드 변경 없이, Tomcat,Undertow,Jetty 등 다양한 WAS에서 실행할 수 있기 때문이다.

📟 < Spring과 PSA >

Spring의 주요 개념인 IoC(Inversion of Control),DI(Dependecy Injection),AOP(Aspect-Oriented Programming),PSA(Portable Service Abstraction)은 Spring의 근간을 이루고 있다. 이러한 개념들을 활용한다면, Spring을 더욱 효과적으로 사용할 수 있게 된다.

 

Spring FrameWork는 IoC/DI를 통해 객체 간 의존 관계를 설정하며, AOP를 통해 핵심 관점과 부가 로직을 분리해 개발하며, PSA를 통해 추상화된 다양한 Service들을 일관된 방식으로 사용하도록 한다.

 

 

Spring의 핵심 4가지
IoC 제어 흐름을 개발자가 아닌 프레임워크가 관리
DI 외부에서 프레임워크가 주입하여 관리
AOP 공통 사용 기능을 분리하여 관리(핵심,부가 관점)
PSA 다양한 환경,기술에도 일관된 개발이 가능하도록 인터페이스를 제공하는 개념

 

 

출처:스프링 부트 3 백엔드 개발자 되기 - 자바 편

http://www.yes24.com/Product/Goods/118625612

 

스프링 부트 3 백엔드 개발자 되기 - 자바 편 - YES24

- 자바 백엔드 개발자가 되고 싶다면- 자바 언어 입문 그다음에 꼭 보세요실력을 갖춘 개발자로 성장하려면 시작이 중요합니다. 그래서 이 책은 무엇부터 익혀야 하는지 막막한 입문자에게 백엔

www.yes24.com

 

+ Recent posts