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 |