SimbaProvider SDK is a Software Development Toolkit (SDK) for building an OLE DB for OLAP (ODBO) Provider or a XML for Analysis (XMLA) Provider for your multi-dimensional or star schema relational data store. Conventionally, building a data provider from scratch requires senior programmers experienced in ODBO, XMLA, as well as MDX. It is a long development cycle, requiring extensive testing/debugging with consumer applications.
SimbaProvider SDK significantly reduces the time and effort and protects your development investment. Using our OLAP SDK, you can have a finished ODBO Provider or XMLA Provider that works in the real world with popular applications at a fraction of the cost and development time. SimbaProvider SDK enables the development of robust ODBO Providers and both Java-based and .NET-based XMLA Providers, ensuring the utmost in interoperability and cross-platform enabled solutions.
Your first task is to decide on whether you wish to build an OLE DB for OLAP (ODBO) Provider or a XML for Analysis (XMLA) Provider. Because SimbaProvider SDK supports both ODBO and XMLA, you only need to develop a single implementation layer that can be used in either data provider. Once you have made this decision, simply follow the steps required to develop your ODBO Provider or XMLA Provider, as outlined in our comprehensive documentation, with the assistance of Simba's support.
Our customers can typically develop a production quality, read-only data provider in about six to 12 person months, depending on the complexity of the underlying data source.
SimbaProvider SDK provides solutions for the more difficult areas in implementing an ODBO Provider or XMLA Provider, making it easy for you to develop a robust data provider.
1. Dataset (Rowset) Flattening - Although technically optional, Dataset flattening is required in order to work with consumer applications. Data flattening requires joining axis info tables and dataset cell information. The flattened dataset provides a quick and easy method for rowset-based consumer applications, such as Microsoft Excel, to display multi-dimensional data.
2. Asynchronous Execution and Rowset Population - Asynchronous execution and Rowset population requires the close coordination of several interfaces, (IRowset, ICommand, IAsynchStatus, and IConnectionPointContainer), as well as overall thread safety and thread scheduling/handling. This requires a good design and expert threading experience to implement. Without asynchronous execution, the applications reading the data may appear slow and ill-behaved to your end-users. SimbaProvider SDK supports asynchronous execution and Rowset population.
3. Full Fledged MDX Engine - Simba's MDX Engine has the ability parse, resolve and evaluate MDX queries. The MDX language is very difficult to implement. Specifically, it is much more complex than SQL. Parsing MDX is very difficult because of its many keywords and ambiguities. SimbaProvider SDK contains a full MDX 2005 language compliant Engine for connectivity with the latest applications, and it's backed by Simba's commitment to keeping pace as technologies evolve.
4. Caching - Many applications access datasets one cell at a time. This is extremely inefficient and caching is highly desirable. Because datasets are multi-dimensional and can be quite large, dataset read-ahead and caching requires sophisticated algorithms to pre-calculate and retrieve those areas of the cube that are most likely to be retrieved next. SimbaProvider SDK implements caching and allows you to extend this caching, if desired.
For additional information, please refer to the Features page.
Absolutely. Simba can provide consulting expertise throughout the development cycle for your data provider. For more information on the solutions offered by Simba, see our Data Driver Development Services.
The XMLA Council - chaired by Hyperion, Microsoft and SAS - was formed in 2001, shortly after the specification was first proposed. The Council is made up of a number of leading Business Intelligence and Business Performance Management software vendors that have announced their support and backing of XMLA. Simba is a member of the XMLA Council and chairs a special interest group (SIG) on MDX Leveling and InterOperability/Conformance. Visit www.xmlforanalysis.com for more information and history on XML for Analysis (XMLA).
Microsoft recognized a rapid growth in multi-dimensional databases and on-line analytical processing (OLAP) tools. After all, people don't think in two dimensions. Real world questions like, "How were last year's monthly revenues at each store affected by back-order problems?" are more naturally handled by a multi-dimensional datastore than by a two-dimensional relational model.
As with all information-based technologies, your customers want to be able to access these multi-dimensional datastores and tools from popular desktop applications. The OLE DB for OLAP (ODBO) API has become the defacto standard for accessing multi-dimensional data. Visit www.xmlforanalysis.com for more information and history on OLE DB for OLAP (ODBO).
After your ODBO Provider or XMLA Provider is complete, SimbaProvider SDK continues to save you development effort in the future. When you build a data provider using SimbaProvider SDK, you do not have to worry about rewriting the data provider every time the ODBO or XMLA specifications change. We provide our customers with timely and regular updates that add functionality to your data provider. We provide the upgrade path to new versions of the ODBO and XMLA specifications.
For more information about SimbaProvider SDK, contact us.