Hi Everyone,
Earlier I shared my learning from Teched Day 1:
http://scn.sap.com/community/hana-in-memory/blog/2013/12/15/my-learning-from-teched-bangalore--day-1
and Teched Day 2:
http://scn.sap.com/community/hana-in-memory/blog/2013/12/15/my-learning-from-teched-bangalore--day-2
In this blog, I would like to share my learning from Day 3.
I attended the first session at 08:15 AM on "Location Intelligence with Geospatial Data Services".
For all the figures shown below, the credit goes to SAP.
The session was very informative as I had no prior knowledge of what Geospatial data was.
The session started with What is Geospatial data and why it is important for us?
Gesospatial data is a data that has explicit geographic positioning information included within it, such as a road network from a GIS(Geographical Information System) - for example we can identify any position on the earth by latitude and longitude.
Why is this data important for us?
Although we are living in era of E Commerce doing online transactions, even then any business transaction like sales, delivery, maintenance, manufacturing etc. happen at some location.
There are many ways in which location data can be used, such as:
1.) By using the nearest location, we can find closest point of interest such as hotels, restaurants etc. - like we see Google Now showing us near by places of interest whenever we travel.
2.) Identify places for placing billboard advertisements such as we can see billboard advertisements near shopping malls and movie theaters.
3.) Use location data for Site location like opening of new retail store or for placing a new telecommunication tower(we can also minimize drop calls with this).
4.) Transportation can get benefit from Location data in a number of ways :
a.) Increase delivery speed - by reducing the time to search for right delivery address and taking shortest route - for example When Flipkart makes a delivery, it can directly deliver to the address instead of asking address from people from the nearby shops or neighborhood - it will reduce searching time and fuel costs.
b.) Suppose a train is carrying goods to a destination but then there is a delay in delivery of goods due to any accident or natural disaster, then using the current location of the train we can inform distributors or people that there will be delay of exactly 'x 'time.
So using Location based intelligence we can improve revenue growth, operational efficiency and make better decisions.
After that, we were told the difference between "Address" and "Location"
What Address is? - Well, Address is generally a text string formatted according to definition provided by postal authority intended to direct mail delivery - like we have PIN Codes, House Numbers, Street Number but in some places like Villages we only have PIN Codes, we don't have any Street Number or house number - so such addresses used for mail delivery do not truly correspond to a location.
What Location is? - Well Location is more precise and describes a specific point. We can use Longitude and Latitude to to specify precise location on the earth.
So now the question arises how to get longitude and latitude data for a location? Well for this there is a process called GeoCoding.
GeoCoding is a process to convert geographical address data like Street Number, PIN Number to geographical coordinates( unique latitude and longitude) and then showing them exactly on the map. These coordinates can then also be embedded into digital media like photographs via Geotagging.
It turns an address(non-spatial data) into Spatial data and then appends the longitude and latitude of physical location of an address.
![2.jpg]()
There are several methods through which GeoCodes can be derived like:
1.) Centroid Geocoding - less precise and provides coordinates of the Centroid(center of the area of point of interest) of a locality based on Postal Code
![3.jpg]()
2.) Parcel Geocoding - most precise and most expensive and in this an address is geocoded to a parcel rooftop, which is center point of an specific land called parcel - provides accurate latitude longitude values for our point of interest like accurate latitude longitude value for a House Number
![5.jpg]()
3.) Address Interpolation - more precise than Centroid Geocoding and uses street data from locations where the street network is already mapped within the geographic coordinates. It then takes an address, matches it to a street and specific segment and then interpolates the position of the address, within the range along the segment.
![4.jpg]()
To learn more about Geocoding techniques and comparison, visit the following link:
A comparison of address point, parcel and street geocoding techniques | Paul Zandbergen - Academia.edu
Geocoding 101 | Teradata Developer Exchange
After that we were given an overview of Geographical Data Services as shown below:
![6.jpg]()
Check the below figure on how Geographic Data Services work:
![7.jpg]()
For above GeoCoding, Data Services uses SAP Address Directories which is available at Service Marketplace - you need to subscribe it.
SAP is partner with NAVTEQ which provides GIS data. NAVTEQ was acquired by Nokia in 2007 and in 2012 Nokia changed its location offering name to HERE Maps.
As we all know that with HANA SPS6, Spatial Data Processing was announced.
To know more about Spatial Data Processing in HANA, chekc the belwo links:
http://www.saphana.com/community/blogs/blog/2013/09/19/spatial-processing-with-sap-hana
http://www.saphana.com/community/about-hana/advanced-analytics/spatial-processing
SAP - SAP Delivers Real-Time Spatial Data Analysis With SAP HANA®
Overview of Spatial Processing with HANA:
After that I attended a lecture on "Rapid Deployment Solutions for SAP HANA"
The session started with an overview of RDS.
What is RDS?
As said in the blog: Jeff Winter | Bluefin Solutions
RDS are modular packages that include SAP software, pre-configured content, best practices, and fixed scope implementation service, resulting in fast and predictable software deployments.
![1.jpg]()
RDS can reduce the time and effort needed to implement a SAP solution.
The below figure shows Available and Planned Rapid Deployment Solutions for SAP HANA
![11.jpg]()
After that they gave a brief overview of HANA Live
HANA Live provides virtual data models (database views) in SAP HANA for easy analysis and consumption of Business Suite data.
Earlier it was called SHAF(SAP HANA Analytics Foundation)
It provides Calculation Views built over many SAP tables which are ware of business logic and customizing dependencies.
It provides 2200+ HANA Views
![13.jpg]()
As shown in the above figure, it has Private Views, Reuse Views and Query Views.
Private Views: encapsulate certain SQL transformations on one or several database tables or even other views. They are not classified as reuse views as they might not carry clear business semantics but are rather intended to be reused in other views. A private view may be based on database tables, other private views or on reuse views.
Reuse Views: are the heart of the Virtual Data Models. They expose the business data in a well-structured, consistent, comprehensible way covering all relevant business data in SAP Business Suite systems. They are designed for reuse by other views and must not be consumed directly by analytic tools.
Query Views: are top views in the hierarchy of Views. These are designed for direct consumption by an Analytic Application(for example based on HTML5) or a generic Analytic tool(for example SAP Lumira). The name of a Query View ends with Query. For example: CostCenterPlanActualCostQuery
Following figure shows HANA Live Browser Application:
![20131213_102023.jpg]()
We can search views using browser and open content
![20131213_102138.jpg]()
![20131213_102207.jpg]()
We can open Query Views for reporting purposes on SAP Lumira as shown below:
![20131213_102437.jpg]()
We can deploy HANA LIve Side by Side or as Integrated Stack as shown in the below figure:
![12.jpg]()
It was a good session as I got to know more about HANA Live.
Check the video of SHAF for Business Suite:
Learn more about RDS:
What is the SAP Rapid Deployment Solution Implementation Methodology? Does It Work?:
http://scn.sap.com/community/rapid-deployment/blog/2012/08/06/what-is-the-sap-rapid-deployment-solution-implementation-methodology-does-it-work
What are RDS’s – SAP Rapid-deployment solutions?:
http://scn.sap.com/community/rapid-deployment/blog/2013/02/27/what-are-rds-s-sap-rapid-deployment-solutions
SAP HANA Rapid Deployment Solutions: Delivering quicker time to value:
http://www.saphana.com/community/blogs/blog/2012/03/08/sap-hana-rapid-deployment-solutions-delivering-quicker-time-to-value
Webcasts: SAP Rapid Deployment Solutions
http://scn.sap.com/docs/DOC-44505
Learn more about HANA Live:
http://www.saphana.com/community/blogs/blog/2013/08/22/sap-hana-live-is-generally-available
http://www.saphana.com/docs/DOC-2923
http://help.sap.com/hba
http://www.saphana.com/docs/DOC-2949
After that I attended a Demo Showcase on "Full Text Search, Fuzzy Search, Text Analysis and InfoAccess in SAP HANA"
![DSC04411.JPG]()
In the Demo, we were first explained what Full Text Search, Fuzzy Search, Text Analysis is?
Full Text Search can be used to exploit unstructured data - for using full text search, we have to enable full text index.
On enabling full text index, two steps take place -
1.) File Filtering: Binary file types like .ppt, .pdf are converted into plain text
2.) Linguistic Analysis:
a.) Tokenization - decomposes word sequence e.g. - "quick brown fox" -> "quick" "brown" "fox"
b.) Stemming - reduces tokens to linguistic base e.g. - Ran -> Run
c.) Part of Speech Identification - eg. - quick - Adjective
This full text index that we create gets attached to the Table Column.
We can call Full Text Search by using CONTAINS() function in WHERE clause of a SELECT Statement such as:
SELECT * FROM DOCUMENTS
WHERE
CONTAINS(doc_content, 'ox')
Text Analysis is an optional process on top of Full text Search and provides abilities for linguistic markup, entity extraction, identifying domain facts and supports 31 languages.
The results of Text Analysis are stored in a table.
Fuzzy Search is a fast and fault tolerant search and finds strings that match a pattern approximately(rather than exactly) means it returns records even if the search term contains additional or missing characters or other types of spelling error.
Fuzzy search algorithm calculates a fuzzy score for each string comparison.
A fuzzy search score of 1.0 means the strings are identical whereas a score of 0.0 means the strings have nothing in common.
We can call Fuzzy Search by using CONTAINS() function with FUZZY() option in WHERE clause of a SELECT Statement such as:
SELECT * FROM DOCUMENTS
WHERE
CONTAINS (doc_content, 'ox', FUZZY(0.7))
Fuzziness threshold can be manually set when calling a Fuzzy search using FUZZY() function as shown.
Default Fuzzy threshold is 0.8
HANA Info Access can be used to build UIs that provide read-access, standard search and simple analytics.
Only Standard Attribute Views are supported by Web based HTML UI built for a Web Browser using HANA Info Access
After this they showed a demo of Info Access mobile app on IPad.
The IPad app supports Analytic Views.
They showed us that using the app we can find How Sales is happening in Real Time and such other uses.
We can download this app for free from Apple Store:
SAP HANA Info Access on the App Store on iTunes
Check the following HANA Info Access Setup Guide for Ipad:
http://help.sap.com/hana/SAP_HANA_Info_Access_iPad_App_Setup_Guide_en.pdf
At present there is no Info Access app for Android as only IOS is supported.
To learn more about HANA Info Access, go to page 463 of HANA Developer Guide:
http://help.sap.com/hana/SAP_HANA_Developer_Guide_en.pdf
This session helped me to get a good overview of Search functionality in HANA.
Check the below links to know more:
Video on Fuzzy Search:
The not so fuzzy “Fuzzy Search”:
http://scn.sap.com/community/developer-center/hana/blog/2012/10/10/the-not-so-fuzzy-fuzzy-search
SAP HANA Text Analysis: Extracting insights from the written word:
http://scn.sap.com/community/developer-center/hana/blog/2013/05/14/sap-hana-text-analysis-extracting-insights-from-the-written-word
SAP HANA Text Analysis:
http://scn.sap.com/community/developer-center/hana/blog/2013/01/03/sap-hana-text-analysis
Text Analysis with SAP HANA and SAP Business Suite:
http://www.saphana.com/docs/DOC-3996
What´s New? SAP HANA SPS 07 Fulltext Search:
http://www.saphana.com/docs/DOC-4303
Check the Webinar on Text Analysis:
http://www.saphana.com/docs/DOC-4282
And finally I attended a Mini Code Jam on "My first App on SAP HANA Cloud Platform"
The session was taken by Rui Nogueira.
![DSC04412.JPG]()
A brief introduction was given about HANA Cloud platform.
Let me give you all a brief overview of what HANA Cloud Platform is
HANA Cloud Platform is SAP's Platform-as-a-Service offering that enables us developers to build, extend, and run applications in the cloud.
![14.jpg]()
Software as a Service – is the application that we want to run
Infrastructure as a Service - provides technical infrastructure to run the application
As Apps can't run directly on the technical infrastructure but need some enablement – provided by Platform as a Service
So Platform as a Service
Enables to run applications in the Cloud and leverages Infrastructure as a Service for this.
![15.jpg]()
SAP HANA Cloud Platform is a Platform as a Service:
It offers an "Application Platform" that can run our on-demand apps in various programming models, most prominently HANA XS or Java.
It offers "Database Platform" that handles our data in-memory, row and column store and handles data related operations: Geospatial, Analytics, etc.
It also offers "Reuse Services" that are shared across all runtime models.
And then we created our account on HANA Cloud:
SAP HANA Cloud Platform
After that we created(used already created
) simple Hello World application, imported it and published in the cloud and then added simple Authentication to it.
![20131213_163125.jpg]()
The session was awesome and had some funny moments too.
Learn more about HANA Cloud Platform:
To learn more on HANA Cloud, check the following blogs:
Evolution of the SAP HANA Cloud Platform:
http://www.saphana.com/community/blogs/blog/2013/05/10/evolution-of-the-sap-hana-cloud-platform
Introducing SAP HANA Cloud Platform:
Platform as a Service | SAP HANA Cloud Platform | Cloud Computing Solutions | SAP
SAP HANA Cloud Platform - Content Overview:
http://scn.sap.com/docs/DOC-33139
SAP HANA Cloud Application Development Scenario End-to-End Tutorial:
http://scn.sap.com/community/developer-center/cloud-platform/blog/2012/11/20/sap-nw-cloud-application-development-scenario-end-to-end-tutorial
Also learn more about HANA Cloud Platform from OpenSAP:
https://open.sap.com/course/hanacloud1
Check the openSAP course guide - Introduction to SAP HANA Cloud Platform
http://scn.sap.com/docs/DOC-47509
8 Easy Steps to Develop an XS application on the SAP HANA Cloud Platform:
http://scn.sap.com/community/developer-center/cloud-platform/blog/2013/10/17/8-easy-steps-to-develop-an-xs-application-on-the-sap-hana-cloud-platform
Using HANA Modeler in the SAP HANA Cloud:
http://scn.sap.com/community/developer-center/cloud-platform/blog/2013/07/16/using-hana-modeler-in-sap-hana-cloud
Overall, It was a great TechEd experience.
Regards,
Vivek