Upload
nitish-mehta
View
342
Download
0
Embed Size (px)
Citation preview
Use this title slide only with an image
November, 2016
Meetup: Building IOT apps on SAP HANA Cloud Platform
Public
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 2Public
Agenda
Introduction to SAP HANA Cloud Platform and SAP HANA Creation of HCP Account and HANA instance
Hands-on : Using IOT services on SAP Hana Cloud Platform Modeling your IOT devices on HCP
Hands-on : Connecting IOT Device with SAP HCP Using Arduino to send sensor Sending sensor data from device to HANA tables
Hands-on : Developing IOT app with OpenUI5 and SAP HANA Creating services on top of SAP HANA tables Visualizing sensor data in OpenUI5 based application
Introduction to SAP HANA & SAP HANA Cloud Platform
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 4Public
What is SAP HANA
• SAP HANA is the in-memory computing platform that lets you accelerate business processes, deliver more business intelligence, and simplify your IT environment
• Deployable on premise and in the cloud
• SAP HANA removes the burden of maintaining separate legacy systems and silo data, so you can run live and make better business decisions in the new digital economy
• SAP HANA combines an ACID-compliant database with application services, high-speed analytics, and flexible data acquisition tools in a single, in-memory platform
• It’s not just any in-memory database but a platform providing more than just database management services
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 5Public
SAP HANA Platform More than a Database!!!
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 6Public
The Digital Platform
CONFIDENTIAL
Introduction to SAP HANA Cloud Platform
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 8Public
Real-TimeMobile
Today’s World Is…
Personalized
SocialCollaborativeAlways-On
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 9Public
Real-TimeMobile
But Most Applications Are Not…
Personalized
SocialCollaborativeAlways-On
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 11Public
IntroductionCloud service models
Software as a Service (SaaS)
Platform as a Service (PaaS)
Infrastructure as a Service (IaaS)cloud
Hardware or software provided to you as a service and accessible through the Internet
12© 2015 SAP SE or an SAP affiliate company. All rights reserved.
From the Leader in Enterprise Applications
SAP HANA Cloud Platform is an open platform-as-a-service providing unique in-memory database and business application services. Quickly build, extend, and integrate modern, mobile-first apps—simply—to meet your business needs now.
SAP HANA Cloud Platform - Introduction
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 13Public
SAP HANA Cloud Platform Introduction
• Next-generation, digital, speed-two public cloud platform (Platform-as-a-Service) using SAP HANA software in-memory architecture
• As an integration platform (iPaaS), SAP HCP breaks down the silos—both on-premises and in the cloud—so you can eliminate the seams and gaps in the enterprise systems
• As an application development platform (aPaaS), SAP HCP offers all the tools and capabilities to extend and customize your existing landscapes, while also building powerful new applications for IT that complement your existing apps
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 17Public
SAP HANA Cloud Platform Features
• BUILD brand new cloud apps: Build brand new, cloud-native business applications as stand-alones, or extend the functionality of core applications
• INTEGRATE your apps and data: Integrate technology and business processes on a single platform, connecting multiple lines of business (LoBs) to drive cross-LoB optimizations as well as integrating cloud and on-premises applications
• EXTEND enterprise cloud platform capabilities: Extend all of SAP’s business applications with new functionality and leverage an ecosystem of more than 1,000 apps from more than 450 partners on SAP HANA Cloud Platform
• CAPTURE the value of IoT and Big Data: Capture the value of IoT and Big Data by connecting them to core business processes, such as predictive maintenance, logistics, and supply chain
• ANALYZE in real time: Analyze and predict the enterprise in real time across the value chain, such as with machine learning, predictive, advanced algorithms, and real-time consumer interactions
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 18Public
SAP HANA Cloud PlatformThe Enterprise Capabilities You Need to Succeed in the Cloud
Business ServicesMobileSecurity Data & Storage Dev & Ops
User Experience Internet of ThingsIntegrationCollaboration Analytics
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 19Public
CollaborationContext-driven and engaging, social interactions for modern applications
Power social collaboration for the enterprise• Connect people to key information and processes
with SAP Jam • Publish relevant data from SAP and non-SAP
apps • Embed data feeds into existing SAP applications
Mobilize your content – SAP Document Center• Access any document from any device• Share files securely inside and outside the
company• Integrate with SAP Business Suite, SAP
S/4HANA, SAP Jam, SAP Fiori launchpad and standard CMIS repositories
Quickly incorporate gamification into any app• High-throughput scalable SAP HANA Cloud
Platform, gamification service• Easy development and administration framework• Built-in analytics to monitor player behavior• Powerful gamification rule management
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 20Public
User ExperienceDeliver personalized, responsive and simple user experience
Deliver great user experience at scale with SAP Fiori, cloud service• Discover the needs of end users• Design the right apps with rapid prototyping, design templates and feedback tools• Develop user-centric and responsive design applications for all devices• Deploy, operate and monitor the experiences
Build, learn and do with SAP Splash and BUILD• Explore inspiring application designs and learn design best practices• Grow your team’s design skills and easily build prototypes
Quickly create engaging business sites with SAP HANA Cloud Platform, portal service• Web-based, secure access to on-premises systems, both SAP and non-SAP• Out-of-the-box integration to SAP SuccessFactors, SAP Cloud for Customer and on-
premises SAP systems
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 21Public
IntegrationSecure, reliable and easy-to-consume access to remote services and applications
Connect any application • SAP and non-SAP, Java and ABAP systems• On-premises and in the cloud
Integrate processes and data• Intra- and inter-company processes with SAP
HANA Cloud Platform, integration service• ETL between on-premises and cloud
repositories
Securely share digital assets• Open API management with SAP HANA Cloud
Platform, API management• Traffic management and scale to billion of calls• Monitoring with real-time analytics
Simplify application development• More than 60 prepackaged integration flows• Choice of protocols - HTTP, RFC, SMTP,
POP3, IMAP
Protect your business and your users• SAP HANA Cloud Platform, cloud connector for
secure connections to on-premises systems• Auditable access history• Managed in secure SAP datacenters
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 22Public
Internet of ThingsQuickly develop, customize and operate IoT business apps
Connect IoT to core business processes with SAP HANA Cloud Platform, Internet of Things service• APIs to embed remote device and message management into any app• Secure messaging services • Data modeling and integration with SAP HANA Cloud Platform
Enable remote management for millions of devices• Straightforward onboarding and lifecycle management• Choice of transport protocols and messaging formats• Intuitive service cockpit
Synchronize structured data between the edge and the cloud• Bi-directional synchronization between edge devices and SAP HANA Cloud Platform• On-line and off-line mode for communication over unreliable networks• Transactional consistent synchronization
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 23Public
AnalyticsFreedom to visualize data, discover new insights, and share results
Analytics for Users
SAP Cloud for Analytics • Discover, visualize, plan and predict with all your
business data whether you’re in the boardroom or in front of the customer
• Seamlessly anticipate and respond to new business challenges and opportunities without delay in a solution designed entirely around users
• Built natively on the SAP HANA Cloud Platform, your data is safe with a SaaS solution from the world’s largest provider of analytics and enterprise applications
Analytics for Applications
SAP HANA advanced analytic capabilities• Predict future outcomes with prepackaged
algorithms from the SAP HANA predictive analysis library (PAL)
• Leverage advanced text analysis, mining and search
• Benefit from analytics on geospatial, streaming and graph data
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 24Public
SecuritySeamless, secure user access to applications, from anywhere, using any device
Offer one log-in from any device, anywhere • Standard-based single sign-on (SSO) – SAML2• Delegated authentication through third-party identity providers
Simplify user experience• Self service user registration and password-reset• Social-log-in via Twitter, LinkedIn, Facebook and Google+
Deliver enterprise-class efficiency and robustness with SAP Cloud Identity• Customizable branding and look & feel• Centralized account management• Two-factor authentication• Interoperability with 3rd-parties LDAP user directories
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 25Public
MobileConsumer-grade experience with enterprise-grade performance anytime, anywhere
Maximize app development efficiency with SAP HANA Cloud Platform, mobile service for development and operations•Open tooling approach and component reuse •SDK for Kapsel and native apps•HTTP REST API for service access
Enhance user productivity• Online/offline operations• Push API
Provide enterprise-grade security with SAP HANA Cloud Platform, mobile service for security•Security at all entry points: devices, apps & content•Standard SAML2 and FIPS 140-2 compliance•Policy-driven application-level security•Embedded security policies into mobile apps
Seamlessly deploy, manage & provision apps• Zero-configuration for user’s onboarding
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 26Public
Data and StorageState-of-the-art data management for structured and unstructured information
Manage and access SAP HANA in-memory power for analytic and mix-workloads• In-memory and relational-compliant data persistence• Support for OLTP and OLAP workload in the same application• Predictive analytics and advanced processing for graph, spatial, series and text data
Achieve extreme speed for transactions at a low TCO with SAP ASE • Disk-based relational-compliant data persistence• Maximum transactional throughput with minimal resources • Scalability for large transitional volumes
Manage unstructured content – SAP HANA Cloud Platform, document service• Fully featured document management engine - versioning, hierarchies, access control• Allow to embed content management into any application• Open standard OASIS CMIS-based repository and interoperability
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 27Public
Business ServicesFuel the fast development and sharing of business application and services
Leverage prebuilt business services from SAP• SAP Hybris as-a-Service (YaaS) on SAP HANA Cloud Platform with
core, commerce, marketing and service packages• Augment front-office solutions with new functionality and deliver new
line of business-centric apps
Collaborate with other development teams • Tools to build enterprise services and manage projects • Collaborative development and testing environment• Pre-built packages, guides, and community support• Wide choice of development languages
Browse, buy and sell API packages on the YaaS market• Full marketplace handles all subscriptions, billing and reporting
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 28Public
Development and OperationRapid design, development and deployment of intuitive, modern applications
Enable collaboration between business and development• Business experts use templates and wizards to prototype apps• Easily extend Fiori applications and build new Fiori-like apps
Increase development productivity• SAP Web IDE - browser-based development environment,
develop once and deploy on any device• Drag-and-drop tools, wizards, templates, code completion…• Automatic UI translation - SAP Translation Hub• Available also, plugins for the popular open-source Eclipse IDE
Open development paradigm for easier adoption• Choice of programming models (Java, XSJS, and HTML5)• Develop new and extend existing applications
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 29Public
SAP HANA Cloud PlatformTechnical and Business Services
SAP HANA Cloud Platform (PaaS)
App Center New Apps / App Extensions
Runtimes
Java
XSJS
HTML5
Node.js1
Other1
Dev &
Ops
Service Enablement | API Management
Business Services YaaS Commerce
YaaS Marketing YaaS Service
Platform Services Integration IoT Security Analytics
UX Mobile Collaboration
SAP ASE Redis1
Big Data Services:
PostgreSQL1 MongoDB1
Data & Storage Services
On-Premises / Managed
Cloud
SAP S/4HANA
SAP Business Suite
SAP Business Warehouse
IaaS SAP Data Centers SAP HANA Cloud Platform, virtual machines1
Customer Data Centers1
SaaS
SAP S/4HANA
SAP SuccessFactors
SAP Cloud for Customer
SAP Ariba
Concur
SAP Fieldglass
SAP Business ByDesign
1) planned innovations / future direction
1
1
SAP HANA Vora1 / Hadoop1
SAP HANA
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 30Public
SAP HANA Cloud Platform Value Proposition
Business Benefits• Dramatically reduce application release
timeframe to the business – weeks vs. months (or years) to build new apps – resulting in increase in business productivity
Strategic Benefits • Accelerated new business models and revenue
streams through rapid innovation; • Elimination of risk by keeping mission-critical
systems intact while innovating with SAP HANA Cloud Platform;
• Running live with transactions and analytics on one platform
Technology Benefits • Decrease in cost of application development
and TCO• Radical simplification with micro-services
assembled into well-orchestrated and monitored processes
• Reduced complexity through modernization and consolidation of your IT landscape
Employee Benefits• New competencies enabled with ease – use the
skills you already have and develop new ones towards more modern, open development standards, optimized for SAP applications
• Reimagined, modern user experience
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 31Public
Roadmap for HANA Cloud Platform IoT Services Use Case View
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 32Public
IoT Technology based on HANA Cloud PlatformOverview
Onboarding to SAP Hana Cloud Platform – Creating Trial Account
Creation of Trial Account – for Development
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 36Public
Creation of Trial Account Registration
1. Go to link : https://account.hanatrial.ondemand.com/
2. For first time users, click on register and fill the form (name, e-mail, password). An activation link would be sent to provided email address. Alternatively, SAP employees can click on “Log On”, this will log them using SSO
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 37Public
Creation of Trial Account SAP HANA Cloud Platform Cockpit
• The cockpit is a web-based user interface for deploying, running, and managing your web applications and connecting them with services on the cloud platform
• Trial account has few limitations
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 38Public
Creation of Trial Account Creation of HANA Database Instance
1. Open navigation link “Database & Schemas”
2. Click New button to create a new HANA Database
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 39Public
Pricing and Packaging
SAP HANA Cloud Platformhttps://hcp.sap.com/pricing.html
Quickly develop and run applications with a fully provisioned environment. Bring your own SAP HANA license, or select an SAP HANA or SAP ASE service subscription
Hands-on : Using IOT services on SAP Hana Cloud Platform
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 41Public
Overview
SAP HANA Cloud Platform, Internet of Things service provides the ability to quickly develop, deploy, and manage real-time IoT and machine-to-machine (M2M) and remote data synch applications.
The respective services are distributed across two main components:
Remote Device Management Service (RDMS) Internet of Things service cockpit acts as interface for this. Define the schema of messages (devices types and message types) they can send and/or receive Establish the necessary trust relationship devices need to interact with MMS
Message Management Service (MMS) Provides various APIs that can be used by devices to send data to the SAP HANA Cloud Platform. Processes the data and persists the data in the attached databases
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 42Public
Basic Architecture
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 43Public
Enabling IOT Services on HCP
Before you can use the services you have to enable these in your HANA Cloud Platform Cockpit.
In your HCP Cockpit navigate to "Services" section and click on "Internet of Things Services" tile.
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 44Public
Press "Enable" button.
You are now ready for the next step and may already click on "Go to Service" link for that.
Enabling IOT Services on HCP
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 45Public
Deploy IOT MMS ServiceWith IoT services enabled, you can begin the steps necessary to connect your device and enable message communication.
The first step will be to configure and deploy the Message Management Service (MMS). Click on Deploy Message Management Service Tile and provide credentials here to deploy.
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 46Public
Update Schema Binding for IOTMMS : Remove Old Data Binding
Now, in your HCP Cockpit, go to JAVA applications and Open iotmms. Here, we need to update the default database binding to our newly create HANA MDC schema so that we can easily build application on top.
Delete the default binding in Data Source Bindings
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 47Public
Update Schema Binding for IOTMMS : Add new data binding
As next steps, go to the HANA MDC instance and add new binding to the iotmms application.
You would need to provide SYSTEM as the username and the password provided during HANA MDC instance creation here for authorization.
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 48Public
Assign required roles to access IOT MMS
Role IoT-MMS-User is required for the newly deployed iotmms Java application
Open iotmms from the Java Applications tab in your SAP HANA Cloud Platform cockpit .
Choose the Roles tab of the Application details in Security tab
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 49Public
Assign required roles to access IOT MMS
Modeling your IOT Database with IOT Cockpit
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 51Public
Create Message Type
Press on Message Types tile in your Internet of Things Services Cockpit.
Press on the + button to add a new message type.
Enter a Name for the message type.
Enter a Name and select a Type for the first row of the Fields table.
Optional: Add additional Fields by pressing on the + button on the top right corner of the Fields table and click on create.
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 52Public
Create Message Type
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 53Public
Create Device Type
Go to Java applications and click on the application link or Goto->Services->IOT-> go to service link
Create Device Type: Press on Device Types tile in your Internet of Things Services Cockpit.
Press on the + button to add a new device type.
Enter a Name for the device type.
Select the Message Type and Direction in Message Types Table
Press on Create to continue.
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 54Public
Create Device Type
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 55Public
Create Device
Press on Devices tile in your Internet of Things Services Cockpit.
Press on the + button to add a new device.
Enter a Name for the device.
Select the Device Type for the new device from the drop down menu.
Press on Create to continue.
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 56Public
Create Device
You will see a pop-up window Device Token Generated including the Token ID generated for the new device.Copy the generated Device Token since it is needed on the device as OAuth credential for secure communication with the services.
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 57Public
Final Result
You should now have created at least 1 Device Type with 1 associated Message Types and 1 Device instance.
With this, we have the necessary structure required for our IoT Database model ready.
Hands-on : Connecting IOT Device with SAP HCP
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 59Public
Trying out Message Management Service Cockpit
Message management service cockpit can be launched from the Java Applications in our HCP Cockpit. Click on iotmms and the launch the service.
A dashboard similar to IOT Services Cockpit but with different application tiles should launch. Similar to the image here.
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 60Public
Approach 1: Simulate sensor data using MMS cockpit
Message management service cockpit can be used to simulate the behavior of an IOT device sending data to our tables.
For this , we can launch the Publish using HTTP tile and provide necessary Data end point and Message and ‘send’. This would result in data insertion to our HANA tables.
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 61Public
Test your service with REST Client
To test the service using REST Client you need to enter the oAuth Token in Authorization. Similarly, while calling the service from Arduino we need to pass the oAuth token.
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 62Public
Approach 2: Using Arduino to publish sensor Data
To test out real world sensor connections, we use an Arduino to send data to our HCP account using the IOT services.
Sensor: IR sensor
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 63Public
Our IOT Infrastructure
Arduino and Processing:
Processing is an open source language/ development tool for writing programs in other computers. Useful when you want those other computers to "talk" with an Arduino, for instance to display or save some data collected by the Arduino.
Reference: http://playground.arduino.cc/Interfacing/Processing
Arduino is an open-source electronics platform based on easy-to-use hardware and software. Arduino Board senses the environment by receiving inputs from many sensors, and affects its surroundings by controlling lights, motors, and other actuators.
Reference: https://www.arduino.cc/
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 64Public
Our IOT Infrastructure
Infra Red Obstacle Detector Sensor:The basic concept of IR(infrared) obstacle detection is to transmit the IR signal(radiation) in a direction and a signal is received at the IR receiver when the IR radiation bounces back from a surface of the object. IR sensor will detect any obstacle in the path and send the digital output to HCP via processing.
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 65Public
Download Resources from GITHUB
Download latest resources from the GITHUB link below:
Path : https://github.com/SAPIoTGGN/sap-cloud-and-iot
It contains
• [folder: arduino_resources] Setup resources for Arduino development
• [folder: arduino_sketch] Arduino sketch ( Device - > HCP )
• [folder: hanaxs_app] HANA XS Application
• [folder: ui5_app] HTML5/OpenUI5 Application
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 66Public
Setting up Processing IDE for Arduino
Run the Processing.exe from ‘arduino_resources/processing’ folder to launch processing IDE.
The code for Arduino sensor connectivity & SAP HCP connectivity can be found under “arduino_resources/Sketch_Meetup_SAP.pde” file.
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 67Public
Add Libraries to your Sketch
Drag & drop the above library files also to your opened sketch in processing IDE.
You should see a message “1 files added for the sketch” every time you add a file.
Go to the folder location arduino_resources\Sketch_MeetUp_SAP and copy the below library files to it.
“Jdbc.jar”, “okhttp3.jar” and “okio-1.11.0.jar”
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 68Public
Sketch Path
Go to File-> Preferences to see your sketch Path:
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 69Public
Add arduino Folder in Processing
Copy “arduino” folder to the above location in Preferences
C:\Users\USERNAME\Documents\Processing\libraries
The libraries folder should look like below:
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 70Public
Check your Arduino Port
Open Device Manager for your system . Windows -> Device Manager (in your control panel)
Check for the port your device is connected to: In this example Port is COM3
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 71Public
Update Placeholders in Sketch
Update the below placeholders in the code for your sketch.
<<PORT>> with value 1.
<<USERNAME>>, <<DEVICE_ID>>, <<MESSAGE_ID>> by actual values of your service.
Replace the Authorization Bearer <<OAuth Token>>with oAuth Token value.
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 72Public
Update Arduino port number in your Sketch
Our sketch needs to maintain the port number Arduino has been connected to. To identify it, run the opened sketch. It would throw up an error in case your default port is not ‘1’ and show the port number in console.
In this example COM3 Port value is [0] thus replace the Port value with your port number value.
myPort = new Arduino(this, Serial.list()[1], 9600);
replace in the code with your port number
myPort = new Arduino(this, Serial.list()[0], 9600);
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 73Public
Save and Run
Click on Run to start your sketch. On successful execution, you should see a 200 message in console.
0 -> signifies no obstruction to IR sensor
1 -> signifies obstruction to IR sensor
Click on Stop to stop the sketch.
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 74Public
View data posted to HANA tables
Click on the Display stored messages tile in dashboard and it will show posted data as shown below.
Here , you should be able to find your HANA table with the columns similar to message type defined during IOT Cockpit configurations.
Hands-on : Developing IOT app with OpenUI5 and SAP HANA
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 76Public
Access to SAP Hana Web Based Development Workbench
Add roles to access SAP HANA Web Based Development.
Click on SAP HANA Cockpit Click on OK
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 77Public
Access to SAP Hana Web Based Development Workbench
Click on continue
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 78Public
Access to SAP Hana Web Based Development Workbench
Go to Manage Roles and Users
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 79Public
Access to SAP Hana Web Based Development Workbench
Go to Users and click on SYSTEM
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 80Public
Access to SAP Hana Web Based Development Workbench
Click on ‘+’ and add the following roles:sap.hana.ide.roles::EditorDevelopersap.hana.ide.roles::CatalogDeveloper
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 81Public
SAP Hana Web Based Development Workbench
From the Account Dashboard -> Go to HANA Instance -> choose then SAP HANA Web-based Development Workbench link .
Click on catalog to view the table.
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 82Public
SAP Hana Web Based Development Workbench
Go to Catalog->SYSTEM->Tables->T_IOT_886A7042EF14DC0AA11E-> open content
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 83Public
Step : Create a new package
Next step in developing our SAP HANA application with SAP HANA Web-based Development Workbench is to create a new package for the application. Switch to ‘Editor’ view for this.
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 84Public
Step : Configure access
File : .xsaccess ( declares that package should be available as an application )
File : .xsapp ( indicates that package contains a HANA XS application )
{"exposed" : true ,"authentication" : [{"method" : "Basic"}]}
{ }
41C32B16.xsaccess
49453C68.xsapp
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 85Public
Step : Configure access
File : .xsprivileges
{"privileges":[{"name":"Basic","description":"Basic IOT MMS Privileges"}]}
E6AE2102.xsprivileges
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 86Public
Step : Expose the data as a service
File : iotservice.xsodata
Test the services now by running the URL in browser to see if the data can be seen.
service{"<schema_id>"."T_IOT_<table_id>" key generate local "GEN_ID";
}
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 87Public
Anonymous call to XS OData service using SQLCC
File : config.xssqlcc
Add these roles to the users in security sap.hana.xs.admin.roles::SQLCCViewer sap.hana.xs.admin.roles::SQLCCAdministrator sap.hana.xs.admin.roles::RuntimeConfAdministrator sap.hana.xs.admin.roles::SAMLAdministrator sap.hana.xs.admin.roles::SAMLViewer
{ "description" : "My SQL Connection"}1DDECDD2.xssqlcc
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 88Public
Anonymous call to XS OData service using SQLCC
Click on Maintain Details
{ "description" : "My SQL Connection"}
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 89Public
Anonymous call to XS OData service using SQLCC
Click on Edit
{ "description" : "My SQL Connection"}
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 90Public
Anonymous call to XS OData service using SQLCC
Enter the credentials and save
{ "description" : "My SQL Connection"}
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 91Public
Anonymous call to XS OData service using SQLCC
Click on the package iotTrial
{ "description" : "My SQL Connection"}
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 92Public
Anonymous call to XS OData service using SQLCC
Choose Public (No Authentication Required) and save
{ "description" : "My SQL Connection"}
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 93Public
Anonymous call to XS OData service using SQLCC
File : .xsaccessAdd the following line
Now, this service can be called anonymously.
"anonymous_connection" : “<package-name>::config"
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 94Public
HCP Destination Creation
Go to HCP Cockpit and create new Destination
IoTNCR
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 95Public
HTML5 Application Creation
Go to HTML5 Applications in cockpit and create new HTML5 application iotncr.
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 96Public
Open HTML5 Application in SAP Web IDE
Go to Versioning tab of newly created HTML5 application and click on Edit Online
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 97Public
Open HTML5 Application in SAP Web IDE
Enter account id and password to clone HTML5 application into SAP Web IDE
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 98Public
Create SAPUI5 Application
Create new Project from TemplateRight click ‘iotncr’ New Project from Template SAPUI5 Application
Available Version: SAPUI5 1.38
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 99Public
Create SAPUI5 Application
Project Name: iotncrNamespace: sap.iot.ncr
View Type: XMLView Name: SensorInfo
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 100Public
Add Service Information in manifest.json
Define “dataSources” in “sap.app” namespace.
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 101Public
Add Service Information in manifest.json
Define default model in “sap.ui5” namespacebased on data source defined.
manifest.json
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 102Public
Develop View & Controller
Replace code of SensorInfo.controller.js with the reference code downloaded from github.
Replace code of SensorInfo.view.xml with reference code downloaded from github.
Import “building7A.jpg” file to folder iotncrwebappimages
SensorInfo.controller.js
SensorInfo.view.xml
building7A.jpg
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 103Public
Update CSS file
Define custom CSS classes.style.css
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 104Public
Update Destination in neo-app.json
Add service destination config in neo-app.jsonroutes.
path and entrypath should point to the destination created in the previous steps
neo-app.json
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 105Public
Deploy Application to SAP HANA Cloud Platform
Deploy iotncr application to SAP HANA Cloud PlatformRight click ‘iotncr’ Deploy Deploy to SAP HANA Cloud Platform
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 107Public
SAPUI5 Application Reference Code
iotncr.zip
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 108Public
Additional Resources
GitHub link : https://github.com/SAPIoTGGN/sap-cloud-and-iot
Open SAP: https://open.sap.com/
SAP Developer tutorials: http://go.sap.com/developer/tutorial-navigator.html
Related video tutorials:
https://www.youtube.com/watch?v=uiAFW8kpQnU
https://www.youtube.com/watch?v=Y7eXzggZBNI
Thank you