odata and the future of business objects universes

of 39 /39
IBIS 2016 | #LetsSpeakBO #LetsSpea kBO OData and the future of Business Objects Universes Sumit Sarkar Chief Data Evangelist [email protected] @SAsInSumit

Author: sumit-sarkar

Post on 08-Jan-2017




15 download

Embed Size (px)


OData and the future of Business Objects Universes

OData and the future of Business Objects UniversesSumit SarkarChief Data [email protected]@SAsInSumit


IBIS 2016 | #LetsSpeakBOMaximize your investment in BO1

Experience with Data Connectivity for BITalk to BI communities across Oracle, SAP, IBM, Microstrategy, Tableau, JasperSoft and Qlikview.

Advocate for BI professionals at shows across Dreamforce, Hadoop Strata and MongoDBWorld

Contributor to SAP community, TDWI, Odata.org, Oracle Data Integration, Salesforce Developers, Progress Data Connections, and Microstrategy

IBIS 2016 | #LetsSpeakBO





IBIS 2016 | #LetsSpeakBO


SAP Business Objects Universe 4.1 (Producer and Consumer)


OData 2.0 Source (consumer)

OData API (producer)

IBIS 2016 | #LetsSpeakBO



IBIS 2016 | #LetsSpeakBOAn open protocol to allow the creation and consumption of queryable and interoperable RESTful APIs in a simple and standard way.

OASIS Standard REST API (SQL for the web)

Ratified as an OASIS standard February, 2014Operations built on REST principlesUniform URL conventionsSurface metadata in standard way

What is OData?


Why OData? On Premises -> CloudAPIs need to support both on-premises and cloudLack of interoperabilityData Silos -> Open DataImpacts government, science and enterprise

Progress was first member of OData Technical Committee following Microsoft

IBIS 2016 | #LetsSpeakBO


OData URL Query Conventions$SELECT/Products?$select=*,Category/Name/Suppliers?$filter=Address/City eq 'Redmond/Products?$orderby=ReleaseDate asc, Rating desc/Products?$select=*,Category/Name&$expand=Category$FILTER$ORDERBY$EXPAND/Products?$top=5&$skip=2$TOP $SKIPhttp://services.odata.org/OData/OData.svc/Category(1)/Products?$top=2&$orderby=name\__________________________________/ \________________/ \__________________/service root URI resource path query options

IBIS 2016 | #LetsSpeakBO8OData supports basic SQL constructs likeo Select List ($select)o Where Clause ($filter)o Order By ($orderby)o Scalar functions (min, max, contains, etc) In $filter and orderby only.o Stored Procedures and Functions (actions and functions) The concept of joins is loosely supported by the $expand query option.o Joins typically require a defined relationship between the entities being joined.o OData 4 does allow the expanded result to be shaped, filtered and ordered ($select, $filter, $orderby)

OData JSON PAYLOAD{ { "@odata.context": "http://TripPin/$metadata#People", "value": [ { "@odata.id": "http://TripPin/People('russellwhyte')", "UserName": "russellwhyte", "Address": { "Street": "187 Suffolk Ln.", "City": "Boise", "State": "ID" } }, { "@odata.id": "http://Tripin/People('scottketchum')", "UserName": "scottketchum", "Address": { "Street": "2817 Milton Dr.", "City": "Albuquerque", "State": "NM" }, }, ], "@odata.nextLink": "/TripPin/People?%24skiptoken=2"}

IBIS 2016 | #LetsSpeakBOOData libs http://www.odata.org/libraries/.NET, Java, Javascript, C++OData4jApache OlingoODataJSNode-odataODataCppRESTierWCF Data ServicesVisual Studio LightswitchODataPy


NOT GOOD FOR BULK DATA TRANSFERDOESNT SUPPORT AGGREGATIONYou cant ask for average order amount across customers (aggregation extension in committee spec)DOESNT SUPPORT FILTER EXPANSIONYou cant ask for a customer and only their orders placed in 2013(now supported in 4.0)

IBIS 2016 | #LetsSpeakBOBulk Data Transfers:Not a design goal originally, but considered for future.11


IBIS 2016 | #LetsSpeakBO


SAP Business Objects Universe (Producer and Consumer)


OData 2.0 Source (consumer)

OData API (producer)BI Platform Services: WebApplicationContainerServer and WebIntelligence ProcessingServer

IBIS 2016 | #LetsSpeakBO4.1 SP2 Universes created with IDT (.UNX extension)Read-only for Universe (Netweaver is more of an integration API)


Demand for interoperability in APIsSaaS Integration API Differences HighlightedData SourceAPIEloquaWeb Services API (REST/SOAP)Bulk and non-Bulk APIsNo query languageOracle Service CloudWeb Services APIs (REST/SOAP)ROQLGoogle AnalyticsHypercube (query limits of 10 metrics grouped by max of 7 dimensions)Veeva CRMSOAP, BULK, Metadata APIsSOQL

IBIS 2016 | #LetsSpeakBOR&D challenges building SQL connectivity across cloud sources such as MarketoNot all SaaS APIs expose a standard query language. In those cases, the engineering team looks at each object individually. Each object may be exposed with a different API with unique rules for invoking, searching filtering, etc. hard to provide a standard experience querying across the entire data model.Handling full join capabilities. In cases where the SaaS APIs do not support a query language with JOIN capability, the engineering team has to perform that operation. This requires a translation from SQL to efficiently call Marketo APIs to return the minimal amount of data prior to performing the join. How to handle data models? Is it static or dynamic? How are changes detected and communicated to the client?14

Example OData producers

IBIS 2016 | #LetsSpeakBOOData production capabilities are either built in or through formal partnershipsNot all have SQL interfaces15


IBIS 2016 | #LetsSpeakBO

SAP Business Objects Universe (Consumer)


OData 2.0 Source (consumer)

OData API (producer)

IBIS 2016 | #LetsSpeakBOSemantic layer similar to OBI RPD or Cognos FM Users wanting to connect to deployed Universes must be able to login to the SAP BusinessObjects BI Platform, and will consume a named user or concurrent session license similar to if they were viewing Universe data through a Web Intelligence or Dashboard client.Do I need to install anything from SAP on the client machine?No. The SAP BusinessObjects BI Universe Connector is a RESTful Web Service and does not have client-side runtime dependencies. Any product or developer tool capable of making HTTP calls can access a REST API. The data is returned to the client application as an OData flow.


InfoSol 201618BI4.1 Creating a Universe using OData as a Data Source

IBIS 2016 | #LetsSpeakBOhttp://scn.sap.com/docs/DOC-524774.1 SP2 Universes created with IDT (.UNX extension)Read-only for Universe (Netweaver is more of an integration API)


Broad Adoption

IBIS 2016 | #LetsSpeakBO


OData for Analytics in supporting infrastructure (consumers)

SAP Business ObjectsSQL Server Integration Services (SSIS)Microsoft ExcelBOARD

IBIS 2016 | #LetsSpeakBOSSIS* - not yet designed for bulk data transfer, but still best option for something that only supports OData. Havent seen it in the dataprep space yet

This API is solely for the purposes of accessing semantic data, so you cant use the API for mass data/metadata extraction, for bypassing SAP licensing, or for reverse-engineering a Universe.

Loading cubes? TM1 multi dimensional source and OData20

OData for data visualization (consumers)TableauTibco SpotfireMicrosoft PowerBIIBM CognosSAP Lumira

IBIS 2016 | #LetsSpeakBOhttps://support.office.com/en-us/article/Connect-to-SAP-BusinessObjects-BI-Universes-with-Power-Query-3c02c1fb-8613-4aae-9b3d-b65f52dace72

Extracts for data discoverySQL still used for more extracts that require SQL like transformationsSQL still used for real-time reportingGet around data source specific functionality (i.e. Tableau TDE or SAP Lumira Extensions)

Where is Oracle??21

Salesforce Connect(formerly Salesforce Lightning Connect)

IBIS 2016 | #LetsSpeakBOSalesforce Connect Demo / Screenshots

IBIS 2016 | #LetsSpeakBOHTTPS is firewall friendly for cloud applications23


IBIS 2016 | #LetsSpeakBOMetadata Sync

IBIS 2016 | #LetsSpeakBOReal-time OData query against UNV

IBIS 2016 | #LetsSpeakBO

Salesforce OData SupportX

IBIS 2016 | #LetsSpeakBONow supports 4.0 and writes1920 thresholdhttps://success.salesforce.com/ideaView?id=08730000000lAFWAA227

Oracle Service Cloud Accelerators for OData

IBIS 2016 | #LetsSpeakBOWhy Service Cloud: Engage customers in their channel of choiceEmail SupportComplete Email Response ManagementLive ChatIndustry Leading Chat & Proactive Chat

Mobile Self-ServiceGlobal Device Support

KnowledgeSingle Knowledgebase Across All Channels

Social Self-ServiceLeverage the Power of Customer Knowledge

Contact Center

IBIS 2016 | #LetsSpeakBOIncident managementCompetes with Salesforce Service Cloud29

Why do SaaS products need an external data design pattern?

Select production core database metrics for Oracle Service Cloud

IBIS 2016 | #LetsSpeakBOExample production databases on OSC30

Oracle Service Cloud : OData and OData Reports Add-in Accelerator

IBIS 2016 | #LetsSpeakBOLeveraging OData to Extend Universe to Service Cloud

UNX Contact Detail

IBIS 2016 | #LetsSpeakBOBetter compete with Salesforce using Open Data Protocols, expect adoption curve to ramp up32

Empower Agents and Admins to optimize their workspace without calling IT

Virtual tables created by the Report Add-in

IBIS 2016 | #LetsSpeakBOVirtual Schema is created by a Report Add-in when the application startsAdministrators can drag fields into a report and load that view into a workspace for a particular set of Agents doing a particular type of taskAt run time the report data will be fetched by the add-in through what ever end point the developer implementedCreating custom bindings, filters, and validation is a manual handled by the Add-in developer33

Rise of citizen developers/integrators and self service BIA citizen developer is a user who creates new business applications for consumption by others using development and runtime environments sanctioned by corporate ITGartner Glossary

To support citizen developers, integrators and line of business professionals SaaS vendors need a standard!

IBIS 2016 | #LetsSpeakBOJohn Carione, product marketing manager at Intuit QuickBase,

Rise in citizen developers stems from a backlog in IT and a crisis in application integration delivery.

"On one end, IT hasn't been able to completely support the needs of the business and aren't able to draw down quick enough off of that application backlog," Carione said. "And the business, in many ways, with the advent of SaaS and cloud has tried to circumvent IT and go at it themselves."

According to respondents to an Intuit Survey cited in TechRepubic, most organizations are using low-code platforms to better their operational efficiency, with 76% listing that as their main reason. The second reason, with 13%, was business agility, and 8% said employee productivity.


Types of data sources being accessed over OData from these SaaS appsMarketing ApplicationsCustomer EngagementERP / core systemsData WarehousesBig Data Sets

IBIS 2016 | #LetsSpeakBO



IBIS 2016 | #LetsSpeakBOExpectations for cloud data connectivity


SQL(ODBC, JDBC, .NET PHP, Python, Ruby, Scala, R)REST Client


Web Browser

IBIS 2016 | #LetsSpeakBODataDirect ODBC, JDBC connectors for SAPBig Data/NoSQLApache Hadoop HiveClouderaHortonworksMapREMRPivotal HAWQMongoDBCassandraSparkSQLApache Solr*

Data WarehousesAmazon RedshiftSAP Sybase IQTeradataOracle ExadataPivotal Greenplum

RelationalOracle DBMicrosoft SQL ServerIBM DB2 for IIBM DB2 for z/OSIBM DB2 for LUWMySQLMemSQLPostgreSQLIBM InformixSAP SybasePervasive SQLProgress OpenEdgeProgress RollbaseSplice Machine*IBM DashDB*SaaS/CloudSalesforce.comDatabase.comFinancialForceVeeva CRMServiceMAXHubspotMarketoMicrosoft Dynamics CRMMicrosoft SQL AzureOracle EloquaOracle Service CloudGoogle AnalyticsNetsuite*SQL over HTTPSIn-MemoryMemSQLSAP HANAOracle TImesTen*VoltDB*

IBIS 2016 | #LetsSpeakBOHeritage of standardsBI Connectors for BOBJ; Crystal; KEXN; Lumira; etc38

OData Support introduced in DataDirect CloudOData REST API

IBIS 2016 | #LetsSpeakBOEcosystem includes LibrariesNative OData producersThird Party ESB type apps such as SAG webMethods, Mulesoft, etc39

OData VersioningOData 2.0 No more changes expected to specificationNumerous producers and consumers remain in the ecosystem, including SAP BO

OData 4.0 Future advances to specification will be in 4.0+2.0 functionality + additional features4.01 adds Aggregation/Group By and will be backwards compatible with 4.04.0 queries not compatible with 2.0

IBIS 2016 | #LetsSpeakBOThe OData TC is currently working on new functionality for OData 4.01o OData 4.01 is a compatible update to OData 4.0o An OData 4.0 client will work with an OData 4.0 and OData 4.01 service. Some new functionality being worked on on OData 4.01 areo JSON format for the $metadata response The JSON $metadata response will be based on Swagger / Open-APIo Aggregation and Group Byo Syntax / API simplification Key as segment Default namespaces Support generic JSON clients more Work is being done to make OData an ISO standardo Gives OData international acceptance40

OData 4.01 and BeyondCompatible update to OData 4.0JSON Format for Metadata Document ($metadata)Based on Swagger (now OpenAPI)Aggregation and Group BySyntax and API SimplificationKey as SegmentDefault NamespacesSupport for generic JSON clients

Working towards ISO standard for OData 4.0

IBIS 2016 | #LetsSpeakBOAn OData 4.0 client will work with both an OData 4.0 and a 4.01 Server.Swagger (OpenAPI) allows a simple standard way to document and test your OData service Current way to access a particular resource myodataservice.com/Customers(1234). The parens in the URL case issues for some clients. The resource can be accessed as myodataservice.com/Customers/1234 in OData 4.01 The odata.metadata format parameter can be set to none to restrict the service from returning any metadata or annotations in the response to a request. This allows generic JSON clients to be able to parse results without tripping up on annotations.Having to specify the namespace for all metadata items and annotations leads to a lot of redundant information in a response and increases the size of the response. The ability to specify a default namespace allows the redundant information to be omitted and the size of the response reduced.

The OData 4.0 is in the process of being ratified as an ISO standard. The ISO standard will make the OData an internationally recognized standard. 6/16/16Progress41

InfoSol 201642Where to find more information about Universe OData Connector?

Sample code and full documentation for using the API can be found at:Business Intelligence Platform RESTful Web Service Developer GuideSAP BusinessObjects RESTful Web Service SDK User Guide In a SAP BI 4.1 SP3 installation, in the \SL SDK\SDK Samples, the SLRESTWebService.zip contains an Eclipse project that illustrates how to use this Semantic Layer REST WebService. Other helpful links:http://help.sap.com/bobip41/ - section7Using the Web Intelligence and BI Platform RESTful Web Servicesbit.ly/odataunx

IBIS 2016 | #LetsSpeakBO

IBIS 2016 | #LetsSpeakBOTitle

Siebel Workflow Updates