Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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