이기종 플랫폼간의 데이터 교환과 통합을 위한 표준 기술로 XML과 웹 서비스 기술이 각광을 받고 있다. 이러한 기술을 지원하는 XML/A는 클라이언트 응용과 데이터 분석 엔진이 인터넷 상에서 데이터를 교환할 수 있도록 하는 SOAP 기반의 XML 통신 API이다. 데이터가 XML 문서 형태로 교환된다는 점에서 XML/A는 플랫폼 독립적이지만, 클라이언트 응용 개발자들은 서버에 데이터를 요청할 때마다 XML 문서를 생성해야 하고, 서버가 보내는 XML 데이터 검색을 위해 별도의 XML 쿼리 언어를 사용해야 하는 단점이 있다. 본 연구에서는 윈도우즈 환경의 클라이언트 응용 개발자들이 XML/A의 OLAP 관련 서비스를 편리하게 사용할 수 있도록 하는 상위 수준의 클라이너트 OLAP API인 XMLMD를 설계하고 구현하였다. XML/A와 XML/A의 관계는 OLEDB for OLAP과 ADOMD의 응용 사례로써 데이터의 다차원적 분석결과를 인터넷을 통해 제공하는 웹 OLAP 큐브 브라우저도 개발하였다. 이 브라우저는 전송된 데이터를 XML, HTML, 엑셀, 그래프 등의 다양한 형태로 제공한다.
이기종 플랫폼간의 데이터 교환과 통합을 위한 표준 기술로 XML과 웹 서비스 기술이 각광을 받고 있다. 이러한 기술을 지원하는 XML/A는 클라이언트 응용과 데이터 분석 엔진이 인터넷 상에서 데이터를 교환할 수 있도록 하는 SOAP 기반의 XML 통신 API이다. 데이터가 XML 문서 형태로 교환된다는 점에서 XML/A는 플랫폼 독립적이지만, 클라이언트 응용 개발자들은 서버에 데이터를 요청할 때마다 XML 문서를 생성해야 하고, 서버가 보내는 XML 데이터 검색을 위해 별도의 XML 쿼리 언어를 사용해야 하는 단점이 있다. 본 연구에서는 윈도우즈 환경의 클라이언트 응용 개발자들이 XML/A의 OLAP 관련 서비스를 편리하게 사용할 수 있도록 하는 상위 수준의 클라이너트 OLAP API인 XMLMD를 설계하고 구현하였다. XML/A와 XML/A의 관계는 OLEDB for OLAP과 ADOMD의 응용 사례로써 데이터의 다차원적 분석결과를 인터넷을 통해 제공하는 웹 OLAP 큐브 브라우저도 개발하였다. 이 브라우저는 전송된 데이터를 XML, HTML, 엑셀, 그래프 등의 다양한 형태로 제공한다.
XML and Web Services draw a lot of attention as standard technologies for data exchange and integration among heterogeneous platforms XML/A, which supports such technologies, is a SOAP based XML APl that facilitates data exchange between a client application and a data analysis engine through the In...
XML and Web Services draw a lot of attention as standard technologies for data exchange and integration among heterogeneous platforms XML/A, which supports such technologies, is a SOAP based XML APl that facilitates data exchange between a client application and a data analysis engine through the Internet. The fact that the XML format is used for data exchange makes XML/A to be platform-independent. However. client application developers have to go through a tedious Job of treating the same type of XML documents fur downloading data from the server. Also, an XML query language is needed for extracting data from the XML documents sent by the server. In this paper, we present a high level client OLAP API, called DXML, for the client application developers in the windows environment to easily use the OLAP services of XML/A. XMLMD consists of properties and methods needed for OLAP application development. XMLMD is to XML/A what ADOMD is to OLEDB for OLAP. We also present a web OLAP cube browser that is developed using XMLMD. The browser display's data in various formats such as XML, HTML, Excel, and graph.
XML and Web Services draw a lot of attention as standard technologies for data exchange and integration among heterogeneous platforms XML/A, which supports such technologies, is a SOAP based XML APl that facilitates data exchange between a client application and a data analysis engine through the Internet. The fact that the XML format is used for data exchange makes XML/A to be platform-independent. However. client application developers have to go through a tedious Job of treating the same type of XML documents fur downloading data from the server. Also, an XML query language is needed for extracting data from the XML documents sent by the server. In this paper, we present a high level client OLAP API, called DXML, for the client application developers in the windows environment to easily use the OLAP services of XML/A. XMLMD consists of properties and methods needed for OLAP application development. XMLMD is to XML/A what ADOMD is to OLEDB for OLAP. We also present a web OLAP cube browser that is developed using XMLMD. The browser display's data in various formats such as XML, HTML, Excel, and graph.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
XML/A의 Discover 메소드와 XMLMD의 Catalog 오브젝트의 사용예를 비교해보자. 그 예로, ''FoodMart 2000 탈로그의 “Sales” 큐브에 속한 차원의 목록을 검색하려고 한다.
본 논문에서는 웹서비스 기반의 클라이언트 OLAP API인 “XMLMD”와 함께 웹서비스를 통해 OLAP 큐브 데이터를 브라우징할 수 있는 웹 OLAP 큐브 브라우저인 “WOCB”를 설계하고 구현하였다. XMLMD는 윈도우즈 환경의 클라이언트 응용 개발자들이 XML/A가 제공하는 기능 중에서 OLAP 관련 서비스를 손쉽게 사용할 수 있도록 캡슐화한 상위 수준의 클라이언트용 OLAP API이다.
웹 서비스는 표준화된 XML 메시지를 통해 서로 다른 플랫폼 사이에 데이터를 공유하고 통신하기 위한 기술로써, 인터넷상에서 분산된 서비스 모듈 형태로 운영된다[3L 따라서, 기업 내의 다양한 플랫폼을 갖는 OLAP 서버 간의 데이터 교환과 통합을 용이하게 한다. 본 연구에서는 XML/A의 웹서비스 기능을 지원하면서, 보다 쉽게 사용할 수 있도록 캡슐화한 XMLMD OLAP API를 개반하였다.
본 연구에서는 또한 XMLMD를 사용하여 웹 OLAP 큐브 브라우저인 WOCB (Web OLAP Cube Browser)를 응용 사례로 개발함으로써 XMLMD의 편리성을 검증하였다. WOCB는 OLAP 서버에 계산되어 저장되어 있는 다차원적 집계 결과(또는 OLAP 큐브)를 웹상에서 브라우징하는 툴이다.
현재 본연구팀은 WOCB의 성능 향상을 꾀하고, 다양한 기능을 부여하고자 .NET 환경으로 프로그램을 확장 중에 있고, 향후 연구과제로는 큐브 데이터를 검색하기 위한 MDX 문을 자동으로 생성하는 메소드와 큐브, 차원 등의 OLAP 메타데이터를 생성, 수정, 삭제할 수 있는 메소드를 추가하여 XMLMD를 확장하는 것이다.
제안 방법
연산 수행 결과 전달되는 큐브의 데이터는 데이터의 위치정보 (차원축 정보)와 함께 배열 형태로 전달되어 클라이언트 응용에서 직접 엑세스하여 사용할 수 있도록 하였다. Execute의 속성들은 MDDataSet의 DBServer, For- mat, Content 전역 변수를 통해 전달하도록 하였다. XMI.
XML/A의 Discover 메소드의 Restrictions 매개 변수는 RequestType에 따라 다르다, 이는 Catalog 오브젝트의 해당 메소드의 매개 변수로 처리하였고 Discover의 Properties는에서오} 같이 DBServer, Format, Con tent 속성으로 선언하였다.
(그림 12) XML/A의 Execute 메소드 수행 결과 XML
XML/A의 Execute 메소드와 XMLMD의 MDDataSet 오브젝트를 사용하여 큐브의 데이터를 검색하는 코드를 비교해보자
. (그림 10)은 XML/A의 Execute 메소드의 소스를 보여준다.
XMLMD의 Catalog, MDDataSet 오브젝트와 XML/A의 Discover, Execute 메소드를 사용예를 들어 비교하여 보았다. XMLMD는 윈도우즈 환경의 클라이언트 응용 개발자들이 XML/A에서 지원하는 OLAP 인터페이스를 보다 쉽게 사용할 수 있도록 캡슐화한 상위 수준의 클라이언트용 OLAP API이다.
0을 사용하였다. 사용자 인터페이스의 작성은 ASP(Active Server Page)를 사용하였고, OLAP 서버와 데이터 통신을 하는 부분은 기본적으로 XML/A의 인터페이스를 사용하며, 클라이언트에서는 XMLMD OLAP API 를 사용하였다. 이 절에서는 WOCB의 시스템 구조와 실행방법, 구현 내용에 대하여 설명한다.
(그림 14)의 예제는 "FoodMart 2000'카탈로그의 'Sales' 큐브를 분석하는 경우이다. 상품(Product)을 행, 측정값(Me- asures)을 열축으로 선택하고, 성별(Gender) 이 'F'(여자)인 것을 슬라이스하여 큐브 데이터를 브라우징하였다.이 예제의 결과를 엑셀 형태로 보여주는 것이 (그림 15), 그래프 형태로 보여주는 것이 (그림 16)이다.
클라이언트 응용 개발자가 제공하는 MDX문은 GetDataSet의 Command 매개 변수를 통해서 전달된다. 연산 수행 결과 전달되는 큐브의 데이터는 데이터의 위치정보 (차원축 정보)와 함께 배열 형태로 전달되어 클라이언트 응용에서 직접 엑세스하여 사용할 수 있도록 하였다. Execute의 속성들은 MDDataSet의 DBServer, For- mat, Content 전역 변수를 통해 전달하도록 하였다.
(그림 8)은 이에 해당하는 XMLMD 코드이다. 차원정보 를 얻기 위해 Catalog 오브젝트의 GetDimensionsO 함수가 호출되었고, 이 메소드는 내부적으로 XML/A Provider에게 보낼 XML 소스를 생성하여 원하는 데이터를 요청하고, 요청된 결과를 XML 형태와 배열 형태로 반환한다. 변수에 할당된 데이터는 클라이언트 응용에서 바로 접근하여 조작할 수 있다는 장점을 갖는다.
성능/효과
XMLMD는 Discover 메소드에 대응하는 Catalog 오브젝트와 Execute 메소드에 대응하는 MDDataSet 오브젝트로 구성되며, 기본적으로 XMMA의 메소드를 모두 수행할 수 있도록 mdDiscoverO 함수와 mdExecuteO 함수를 제공하고 있다. 또한 XMLMD는 보다 상위 수준의 함수를 제공함으로써 응용 개발자가 더욱 쉽게 OLAP 데이터에 접근할 수 있도록 하였다. XMLMD를 이용하면 XML/A Provider에게 보내는 XML 문서의 자동 생성과 함께 XML 쿼리언어를 사용하지 않고도 결과 데이터에 접근할 수 있다.
후속연구
현재 본연구팀은 WOCB의 성능 향상을 꾀하고, 다양한 기능을 부여하고자 .NET 환경으로 프로그램을 확장 중에 있고, 향후 연구과제로는 큐브 데이터를 검색하기 위한 MDX 문을 자동으로 생성하는 메소드와 큐브, 차원 등의 OLAP 메타데이터를 생성, 수정, 삭제할 수 있는 메소드를 추가하여 XMLMD를 확장하는 것이다.
참고문헌 (10)
W. W. Eckerson, 'Web based Query Tools and Architectu-res,' Journal of Data Warehousing, Vol.2, No.2, April, 1997
H. Kreger, IBM Software Group, 'Web Services Concep-tual Architecture (WSCA1.0),' http://www.ibm.com/software/solutions/webservices/pdf/WSCA.pdf, May, 2001
※ AI-Helper는 부적절한 답변을 할 수 있습니다.