🗳 RDO (Remote Data Object)
- 주로 분산 시스템 또는 원격 통신을 위한 객체
- 클라이언트와 서버 간의 원격 호출에서 데이터를 전송하는 데 사용
- RDO는 네트워크를 통해 전송되는 데이터를 캡슐화하고, 원격 인터페이스를 통해 다른 시스템이나 서비스와 통신하는 데 필요한 데이터를 제공
RDO와 DTO
- RDO와 DTO 둘 다 데이터 전송을 위해 사용되는 객체입니다.
- RDO는 주로 원격 통신, 예를 들어 웹 서비스나 네트워크 호출에서 사용되는 데이터를 캡슐화하는 데 초점을 맞춥니다.
- 반면에 DTO는 더 넓은 의미에서 사용되며, 서로 다른 소프트웨어 계층 간의 데이터 전송에 사용됩니다.
- DTO는 RDO와 같이 원격 통신에 사용될 수도 있지만, 시스템 내부에서도 데이터 전송에 널리 사용됩니다.
🗳 JPO (Java Persistence Object)
- Java 기반의 애플리케이션에서 데이터 지속성을 관리하는 데 사용
- 데이터베이스의 테이블과 직접 매핑되며, JPA (Java Persistence API) 또는 다른 ORM (Object-Relational Mapping) 프레임워크를 통해 데이터베이스의 엔티티로 작동
- 데이터 지속성과 관련된 객체로, Entity와 매우 유사
- JPO는 주로 Java 환경에서 사용되며, Entity는 JPA나 Hibernate와 같은 ORM 프레임워크에서 사용되는 일반적인 용어
🗳 SDO (Service Data Object)
- 비즈니스 로직과 서비스 계층 간의 데이터 교환을 위해 사용
- 서비스 계층에서 처리하거나 생성한 데이터를 캡슐화하고, 다른 계층이나 서비스와의 데이터 전송에 사용
- 서비스 지향 아키텍처(SOA) 또는 마이크로 서비스 아키텍처(MSA)에서 주로 사용
- 예를 들어, 하나의 서비스가 데이터베이스에서 데이터를 검색하고, 이를 처리하여 다른 서비스에 전달해야 하는 상황에서 SDO를 사용할 수 있음