Download Understanding Data Cubes

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Approaches to standardization of data access formats
S. Pluta, S. Levchenko, A. Yakushau
Lukov Heat and Mass Transfer Institute, Belarus Academy of Sciences.
Minsk, Belarus
We propose to develop unified database access technology. It can be realized on the basis of
two approaches. First is OLAP Database cube with programmed filters inside. Second are JAXRPC SOAP (Java API for XML-based RPC) based web services. These modern technologies
permit to achieve very important goal: standardization of data access formats. Therefore it will
be possible to look on data in the same manner anywhere in the World.
Understanding Data Cubes
Data cubes provide the final piece of the puzzle. A cube aggregates the facts in each level of
each dimension in a given OLAP schema. The business intelligence industry uses the word
"cube" because it best describes the resulting data. For example, let's consider our star schema.
When you create a cube from that schema, you take the freight, quantity, discount, and other
facts and add them up by city, by year, by city and year, and by every other possible
combination of dimension and hierarchy level. Those calculations produce the following type of
data structure:
Note Data cubes are not "cubes" in the strictly mathematical sense because they do not have
equal sides. However, virtually all analysts use the term, and it is an industry standard.
Here is where things get really exciting. Because the cube contains all of your data in an
aggregated form, it seems to know the answers in advance. For example, if a user asks for total
sales by year and city, those numbers are already available. If the user asks for total sales by
quarter, category, zip code, and employee, those numbers and names are already available. If it
helps you to understand them, think of cubes as specialized small databases that know the
answers before you even ask the questions.
That is the big advantage of a cube. You can ask any pertinent question and get an answer,
usually at warp speed. For instance, the largest cube in the world is currently 1.4 terabytes and
its average response time to any query is 1.2 seconds! In addition, you can view cube data with
any valid tool, including spreadsheets, Web pages, the Cube Browser in Analysis Services
2000, or graphic data browsers such as Microsoft Data Analyzer.
Understanding JAX-RPC
JAX-RPC provides an easy to develop programming model for development of SOAP based
web services. Developers use the RPC programming model to develop web service clients and
endpoints. For typical scenarios, developers are not exposed to the complexity of the underlying
runtime mechanisms (for example, SOAP protocol level mechanisms, marshalling and
unmarshalling). A JAX-RPC runtime system (a library) abstracts these runtime mechanisms for
the web services programming model. This simplifies web service development.
JAX-RPC provides support for WSDL->Java and Java->WSDL mapping as part of the
development of web service clients and endpoints. In a typical development environment, tools
provide these mapping functionality. This further simplifies the application development.
JAX-RPC enables a web service endpoint to be developed using either Servlet or EJB
component model. A web service endpoint is deployed on either the web container or EJB
container based on the corresponding component model. These endpoints are described using a
WSDL document. This WSDL document can be published in public or private registry, though
this is not required. A client uses this WSDL document and invokes the web service endpoint.
A JAX-RPC client can use stubs-based, dynamic proxy or dynamic invocation interface (DII)
programming models to invoke a heterogeneous web service endpoint.
JAX-RPC requires SOAP over HTTP for interoperability. JAX-RPC provides support for
SOAP message processing model through the SOAP message handler functionality. This
enables developers to build SOAP specific extensions to support security, logging and any other
facility based on the SOAP messaging. JAX-RPC uses SAAJ API for SOAP message handlers.
SAAJ provides a standard Java API for constructing and manipulating SOAP messages with
attachments.
JAX-RPC provides support for document based messaging. Using JAX-RPC, any MIME
encoded content can be carried as part of a SOAP message with attachments. This enables
exchange of XML document, images and other MIME types across web services.
JAX-RPC supports HTTP level session management and SSL based security mechanisms. This
enables developers to develop secure web services. More advanced SOAP message level
security will be addressed in the roadmap of JAX-RPC technology.
1. Carl Dubler and Colin Wilcox, Microsoft Corporation, April 2002