본문 바로가기
Back-end

PSA(Portable Service Abstraction)

by 신재권 2023. 8. 30.

PSA란?

PSA는 Portable Service Abstraction의 약자이다.

서로 다른 기술과 환경에서 일관된 방식으로 서비스를 구성할 수 있도록 도와주는 개념이다.

PSA의 등장 배경

서로 다른 기술과 환경에서 소프트웨어를 개발하거나 관리할 때, 각각의 기술마다 다양한 설정, API 등 다루어야 하는 게 많아 코드가 복잡해지고 유지보수가 어려워진다.

PSA는 이런 문제를 해결하기 위해 등장 했고, PSA를 통해 일관된 방식으로 다양한 기술과 환경을 다룰 수 있으며, 이를 통해 코드의 가독성과 유지보수성을 향상시켰다.

Spring에서 PSA가 적용된 곳

  • 데이터 액세스 : JDBC, JPA, Hibernate 등 데이터 액세스 기술을 일관된 방식으로 사용할 수 있도록 PSA를 제공한다. DataSource, JdbcTemplate 등의 추상화 계층을 사용한다.
  • 트랜잭션 관리 : 다양한 트랜잭션 관리 전략을 추상화하여 제공한다. 기존 코드를 변경하지 않고, 트랜잭션을 실제로 처리하는 구현체를 사용 기술에 따라 바꿀 수 있다.

PSA 장점

PSA를 통해 여러 다른 기술과 환경에서도 일관된 방식으로 서비스를 다룰 수 있고, 추상화된 인터페이스로 주로 다루기 때문에 코드의 가독성을 향상시키고, 서로 다른 기술에 대한 복잡한 구현 내용을 숨긴다.

'Back-end' 카테고리의 다른 글

상속보다 합성을 이용하는 이유  (0) 2023.09.06
스레드를 무한정 만든다면?  (0) 2023.08.31
IoC/DI  (0) 2023.08.30
JDBC  (0) 2023.08.24
가상 머신(스택 기반, 레지스터 기반)  (0) 2023.08.24