practical essbase web services - · pdf fileessbase web services have a specific use case;...
TRANSCRIPT
![Page 1: Practical Essbase Web Services - · PDF fileEssbase Web Services have a specific use case; consider all of your options ! If you are serious about connecting to Essbase servers from](https://reader031.vdocuments.site/reader031/viewer/2022022006/5abd34f17f8b9a7e418b4bc2/html5/thumbnails/1.jpg)
Practical Essbase Web Services For Fun and Profit
Jason Jones
![Page 2: Practical Essbase Web Services - · PDF fileEssbase Web Services have a specific use case; consider all of your options ! If you are serious about connecting to Essbase servers from](https://reader031.vdocuments.site/reader031/viewer/2022022006/5abd34f17f8b9a7e418b4bc2/html5/thumbnails/2.jpg)
Jason Jones
l Essbase l Programming l Mobile development l ODI l Blogging l Open source
![Page 3: Practical Essbase Web Services - · PDF fileEssbase Web Services have a specific use case; consider all of your options ! If you are serious about connecting to Essbase servers from](https://reader031.vdocuments.site/reader031/viewer/2022022006/5abd34f17f8b9a7e418b4bc2/html5/thumbnails/3.jpg)
l Web services in a nutshell l Essbase connectivity options l Essbase Web Services sample walkthrough l Closing thoughts l Questions (feel free to ask during!)
Agenda
![Page 4: Practical Essbase Web Services - · PDF fileEssbase Web Services have a specific use case; consider all of your options ! If you are serious about connecting to Essbase servers from](https://reader031.vdocuments.site/reader031/viewer/2022022006/5abd34f17f8b9a7e418b4bc2/html5/thumbnails/4.jpg)
Web Services Essentials
l Use HTTP for communication (like web pages) ● Often easier to get to than various ports
l Doesn’t lock client to a particular technology/library
l Often use XML for messages ● JSON is the new hotness
l Statelessness
![Page 5: Practical Essbase Web Services - · PDF fileEssbase Web Services have a specific use case; consider all of your options ! If you are serious about connecting to Essbase servers from](https://reader031.vdocuments.site/reader031/viewer/2022022006/5abd34f17f8b9a7e418b4bc2/html5/thumbnails/5.jpg)
l Compatible with solution technology l Performance l Solution deployment l Ease of development l Existing skillset l Versioning
Choosing a Connection Technology
![Page 6: Practical Essbase Web Services - · PDF fileEssbase Web Services have a specific use case; consider all of your options ! If you are serious about connecting to Essbase servers from](https://reader031.vdocuments.site/reader031/viewer/2022022006/5abd34f17f8b9a7e418b4bc2/html5/thumbnails/6.jpg)
Programmatic Essbase Data Retrieval
● Visual Basic API ● C API ● MaxL ● XMLA ● Java API ● Essbase Web
Services
![Page 7: Practical Essbase Web Services - · PDF fileEssbase Web Services have a specific use case; consider all of your options ! If you are serious about connecting to Essbase servers from](https://reader031.vdocuments.site/reader031/viewer/2022022006/5abd34f17f8b9a7e418b4bc2/html5/thumbnails/7.jpg)
l Advantages ● Good fit for automating within Excel
l Disadvantages ● Limited usefulness in enterprise solutions
Visual Basic API
![Page 8: Practical Essbase Web Services - · PDF fileEssbase Web Services have a specific use case; consider all of your options ! If you are serious about connecting to Essbase servers from](https://reader031.vdocuments.site/reader031/viewer/2022022006/5abd34f17f8b9a7e418b4bc2/html5/thumbnails/8.jpg)
l Advantages ● Windows solutions (geared towards Visual C++)
l Disadvantages ● Lower level (development time?) ● Windows solutions ● Feasibility on other platforms?
C API
![Page 9: Practical Essbase Web Services - · PDF fileEssbase Web Services have a specific use case; consider all of your options ! If you are serious about connecting to Essbase servers from](https://reader031.vdocuments.site/reader031/viewer/2022022006/5abd34f17f8b9a7e418b4bc2/html5/thumbnails/9.jpg)
l Advantages ● Simple ● Possible to fetch data with MDX of MaxL
l Disadvantages ● Not a robust enterprise solution ● Very narrow usefulness
MaxL
![Page 10: Practical Essbase Web Services - · PDF fileEssbase Web Services have a specific use case; consider all of your options ! If you are serious about connecting to Essbase servers from](https://reader031.vdocuments.site/reader031/viewer/2022022006/5abd34f17f8b9a7e418b4bc2/html5/thumbnails/10.jpg)
l Advantages ● Used by more than Essbase ● Probably a good fit if your product wants to “check
the box” with respect to Essbase compatibility ● Connect directly from client ● No need for your own separate middle tier
l Disadvantages ● Abstracts away/hides Essbase functionality
XMLA
![Page 11: Practical Essbase Web Services - · PDF fileEssbase Web Services have a specific use case; consider all of your options ! If you are serious about connecting to Essbase servers from](https://reader031.vdocuments.site/reader031/viewer/2022022006/5abd34f17f8b9a7e418b4bc2/html5/thumbnails/11.jpg)
l Advantages ● Robust API ● Extensive functionality ● Decent documentation ● Works on any platform Java works on ● I’m biased towards this J
l Disadvantages ● Requires Java (i.e., can’t use on iOS)
Java
![Page 12: Practical Essbase Web Services - · PDF fileEssbase Web Services have a specific use case; consider all of your options ! If you are serious about connecting to Essbase servers from](https://reader031.vdocuments.site/reader031/viewer/2022022006/5abd34f17f8b9a7e418b4bc2/html5/thumbnails/12.jpg)
l Advantages ● No need to write middle tier ● Language agnostic ● WSDL/SOAP is common paradigm
l Disadvantages ● No middle tier J
● You might just want one
Essbase Web Services
![Page 13: Practical Essbase Web Services - · PDF fileEssbase Web Services have a specific use case; consider all of your options ! If you are serious about connecting to Essbase servers from](https://reader031.vdocuments.site/reader031/viewer/2022022006/5abd34f17f8b9a7e418b4bc2/html5/thumbnails/13.jpg)
l Overview ● APS setup with Essbase Web Services
● Requires modern Essbase deployment (11.1.2.2) ● Proxy generation
● Built off of a WSDL file
● Custom Programming
Getting Essbase Web Services Setup
![Page 14: Practical Essbase Web Services - · PDF fileEssbase Web Services have a specific use case; consider all of your options ! If you are serious about connecting to Essbase servers from](https://reader031.vdocuments.site/reader031/viewer/2022022006/5abd34f17f8b9a7e418b4bc2/html5/thumbnails/14.jpg)
l Web service root location ● Verify services available/correct URL ● E.g.
http://localhost:9000/essbase-webservices/DatasourceService?wsdl
● There are multiple endpoints l Web Service WSDL stubs
● Used to generate proxies
APS Configuration/Confirmation
![Page 15: Practical Essbase Web Services - · PDF fileEssbase Web Services have a specific use case; consider all of your options ! If you are serious about connecting to Essbase servers from](https://reader031.vdocuments.site/reader031/viewer/2022022006/5abd34f17f8b9a7e418b4bc2/html5/thumbnails/15.jpg)
l C# ● svcutil.exe ● Generates classes based on WSDL ● Bug in current WSDL (fixed?)
l Other Languages ● Objective-C, JavaScript, PHP, Python, Ruby ● Google “<your language> WSDL generator”
Proxy Generation Example
![Page 16: Practical Essbase Web Services - · PDF fileEssbase Web Services have a specific use case; consider all of your options ! If you are serious about connecting to Essbase servers from](https://reader031.vdocuments.site/reader031/viewer/2022022006/5abd34f17f8b9a7e418b4bc2/html5/thumbnails/16.jpg)
l Connect to server l Interact via proxy
classes (C# in this example)
l Will probably want to wrap this API with your own
Programming
![Page 17: Practical Essbase Web Services - · PDF fileEssbase Web Services have a specific use case; consider all of your options ! If you are serious about connecting to Essbase servers from](https://reader031.vdocuments.site/reader031/viewer/2022022006/5abd34f17f8b9a7e418b4bc2/html5/thumbnails/17.jpg)
l DatasourceService l AdminService l QueryService
Endpoints
![Page 18: Practical Essbase Web Services - · PDF fileEssbase Web Services have a specific use case; consider all of your options ! If you are serious about connecting to Essbase servers from](https://reader031.vdocuments.site/reader031/viewer/2022022006/5abd34f17f8b9a7e418b4bc2/html5/thumbnails/18.jpg)
Examples of DS Objects Available
● EssbaseServer ● Version ● Active Cube ● Active App ● …
● EssbaseApplication ● Load Status ● Num Connections ● Elapsed Time ● …
● EssbaseCube ● Num Dimensions ● Cube Type ● Cube Calc Info ● …
● CubeRuntimeInfo ● Block Size ● Total Blocks ● Compression Ratio ● …
![Page 19: Practical Essbase Web Services - · PDF fileEssbase Web Services have a specific use case; consider all of your options ! If you are serious about connecting to Essbase servers from](https://reader031.vdocuments.site/reader031/viewer/2022022006/5abd34f17f8b9a7e418b4bc2/html5/thumbnails/19.jpg)
l Likely Use Case Parameters ● Not writing solution in Java ● Not writing solution in Windows/C++ ● Can’t/won’t write custom middle tier ● XMLA not deep enough
l So… ● Want to access Essbase data/metadata directly (no
additional middle tier) from a technology other than Java/C++ that can’t wrap the C API.
● ADF, JavaScript, C#
Web Services Sweet Spot?
![Page 20: Practical Essbase Web Services - · PDF fileEssbase Web Services have a specific use case; consider all of your options ! If you are serious about connecting to Essbase servers from](https://reader031.vdocuments.site/reader031/viewer/2022022006/5abd34f17f8b9a7e418b4bc2/html5/thumbnails/20.jpg)
l Ability to make a request that is not dependent on previous requests having been made
l Popular development paradigm for good reasons (RESTful web services)
l Works well with ephemeral connections, particularly mobile
l Example data retrieval request ● Connection information (server, app, db, credentials) ● Base grid + grid retrieval options + operations
Statelessness
![Page 21: Practical Essbase Web Services - · PDF fileEssbase Web Services have a specific use case; consider all of your options ! If you are serious about connecting to Essbase servers from](https://reader031.vdocuments.site/reader031/viewer/2022022006/5abd34f17f8b9a7e418b4bc2/html5/thumbnails/21.jpg)
l Essbase Web Services have a specific use case; consider all of your options
l If you are serious about connecting to Essbase servers from your product, consider writing your own middle-tier ● Better opportunities to return results in your native
format (JSON, custom XML) ● More opportunities for performance tuning/caching
l Rules of good programming apply ● Common library, structure, etc.
Closing Thoughts