웹 응용프로그램을 개발할 때 선택할 수 있는 몇 가지의 데이터 액세스 방법이 있습니다. EJB(Enterprise Java™ Bean) 또는 직접 데이터 소스 액세스(예: JDBC)를 사용할 수 있습니다. 이 방법에서는 EJB 및 데이터 소스 액세스에 대한 이해와 상당한 개발 오버헤드가 필요합니다. 오브젝트 지향의 지속 가능 응용프로그램을 작성할 때 이 방법이 유용하지만, 웹 응용프로그램은 종종 더 간단한 데이터 액세스 방법을 요구합니다. 게다가 JavaServer Faces 기술을 기초로 하는 응용프로그램에는 웹에 최적화된 연결되지 않은 모델을 지원하는 데이터 액세스 방법이 필요합니다.
이 문제를 해결하고 Faces 구성요소에 따라 조정된 더 간단한 패러다임을 제공하기 위해, SDO(Service Data Objects)(WebSphere® Application Server 버전 5.x의 경우 WDO라고 함)라고 하는 편리하고 강력한 데이터 액세스 기술을 사용할 수 있습니다. SDO를 사용하면 지속적 오브젝트를 완전히 피하고 데이터를 배타적으로 처리할 수 있습니다.
Faces 구성요소에 대해 계속 데이터 액세스 Bean 및 웹 서비스를 비롯하여 다른 데이터 액세스 방법을 사용할 수 있습니다. 그러나 Faces 구성요소는 SDO 데이터 액세스 구조로 사용할 경우에 가장 적절합니다. SDO 데이터 소스는 사용자가 Faces JSP 페이지에서 데이터 소스를 정의할 때 자동으로 작성됩니다.