Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- snmp test
- 정규식 활용
- c3 축 없애기
- 백준
- selinux port 등록
- 1697
- semanage
- snmp
- regex_search
- telegraf
- python os
- subporcess path
- c3 축 가리기
- python subprocess
- linux시간으로 변경
- gcc 업데이트
- 정규식 문자열 출력
- CentOS7
- 정규식 컴파일
- g++ 업데이트
- centos pyhon 설치
- InfluxDB
- c++ 정규식
- influxdb 설치
- c3 step graph
- c3 초
- gcc regex
- grafana dashboard
- python popen
- c3 second
Archives
- Today
- Total
리셋 되지 말자
PSA - 일관성 있는 서비스 추상화 본문
PSA(Portable Service Abstraction)
서비스 추상화의 예로 JDBC를 들 수 있다. JDBC라고 하는 표준 스펙으로 인해 오라클을 사용하던 MySQL을 사용하던 Connection, Statement, ResultSet을 이용해 공통된 방식으로 코드를 작성할 수 있다.
이처럼 DB의 종류에 관계없이 같은 방식으로 제어할 수 있는 이유는 디자인 패턴중 어댑터(변환기) 패턴을 활용했기 때문이다.
이처럼 어댑터 패턴을 적용해 같은 일을 하는 다수의 기술을 공통의 인터페이스로 제어할 수 있게 한 것을 서비스 추상화 라고 한다.
Spring Framework에서는 서비스 추상화를 위해 다양한 어댑터를 제공한다. 예를 들어, OXM(Object XMI Mapping: 객체와 XML 매핑) 기술만 하더라도 Castor, JAXB, XMLBeans, JiBX, XStream 등 다양한 기술이 있는데, 이 다양한 기술들이 제공하는 API는 제각각이다. 스프링은 제각각인 API를 위한 어댑터를 제공함으로써 실제로 어떤 OXM 기술을 쓰든 일관된 방식으로 코드를 작성할 수 있게 지원한다. 또한 하나의 OXM 기술에서 다른 OXM 기술로 변경할 때 큰 변화 없이 세부 기술을 교체해서 사용할 수 있게 해준다.
이처럼 서비스 추상화를 해주면서, 그것도 일관성 있는 방식을 제공한다고 해서 이를 PSA(일관성 있는 서비스 추상화)라고 한다. 스프링은 OXM뿐만 아니라 ORM, 캐시, 트랜잭션 등 다양한 기술에 대한 PSA를 제공한다.
'Java(폐지) > spring 책' 카테고리의 다른 글
AOP(Aspect-Oriented Programming) (0) | 2020.08.13 |
---|---|
스프링을 통한 의존성 주입 - @Autowired vs. @Resource vs. <property> 태그 (0) | 2020.08.12 |
스프링을 통한 의존선 주입 - @Resource를 통한 속성 주입 (0) | 2020.08.12 |
스프링을 통한 의존성 주입 - @Autowired를 통한 속성 주입 (0) | 2020.08.12 |
스프링을 통한 의존성 주입-스프링 설정 파일(XML)에서 속성 주입 (0) | 2020.08.12 |
Comments