Академический Документы
Профессиональный Документы
Культура Документы
Development of uniform
user experience using SAP UI5 based on HANA XS Engine with
additional integration to SAP S4 HANA System.
Thesis
Master of Science
in Business Consulting
By
Ali Asad
0|Page
Acknowledgment
First and foremost, I would like to express my sincere gratitude to Thomas Thederan Partner at
Aequitas AG for giving encouragement and motivation whenever the conclusion seemed difficult to
achieve. My sincere thanks to Mr. Michael Herold from Aequitas AG who was not a supervisor but
rather a mentor. He guided me throughout this journey and he very much deserves all the credit for
the successful completion of the project. Special thanks to Sarah Hland HR Referent for extending
this offer and trusting me as a competent candidate for this position.
I highly appreciate efforts of my colleagues at Aequitas AG. They have provided phenomenal support
by their knowledge and experience throughout. Specially, I would like to mention Dmitry Pavlov for
his ever-extending guidance related to technical architectures and system installation and to make
sure everything was available. Marco Bohmbach, who guided me throughout the process of writing
codes in JavaScript. My sincere thanks to my colleagues at Aequitas AG because without them, this
would not have been possible.
My first supervisor Prof. Dr. Monika Frey-Luxemburger is known for her accomplishments in BI and I
would like to take this opportunity to tell that she has been the source of inspiration, motivation and
encouragement. It is because of her teachings and guidance that I could achieve such results. I would
like to pay my sincere gratitude to her for being an amazing supervisor.
Krishna Parsad, has always been there to support me, I would like to thank him as well.
With such overwhelming support of my supervisors, colleagues and friends, I wanted to give my
hundred percent in this project, and I hope to believe that something worthy of writing has finally
been achieved.
1|Page
Abstract
Autor: Ali Asad
Supervisor I: Prof. Dr. Monika Frey-Luxemburger Supervisor II: Dipl. Michael Herold
Title: IoT integration with SAP Cloud Platform. Development of uniform user experience using SAP UI5
based on HANA XS Engine with additional integration to SAP S4 System.
Content: The following document is based on a practical project related to Internet of things (IoT) rapid
prototyping use case with SAP. With the prototyping, Temperature and Humidity were measured from a
sensor device.
Germany is the hub of manufacturing industry. Normally in manufacturing plants, above mentioned
variables are measured. Previously, these variables were recorded after every defined interval manually
from a sensor device. However, with the advent of technologies and breakthrough ideas in the field of
Internet of things, there is a possibility to record these variables from multiple sensors into a common
database and that too automatically! Therefore, aim of the project was to check if such automatic
recording and integration was feasible with current technological platforms provided by SAP. There were
quite a few research questions that needed to be answered to confirm the objective. These questions
were mainly concerned with the options of smart devices and integration approach that must be taken
for this whole framework to work. Protocols needed to send data from one systems to another were also
within the scope of the project. For details of all research questions, methodology and approach please
refer to chapters. After answering mentioned questions next step was to create a complete technical
architecture mentioning end to end solution that along with components also highlighted protocols for
data connectivity.
From the architecture, that is presented in subsequent sections it can be concluded that Tessel device
would post data to SAP Cloud Platform using WIFI/USB. But before data can be posed, IoT service must
be enabled and configured. Database must also be initiated and bounded to the service. After completing
these steps, data could the be posted. Next stage of the project was to visualize data in a UI5 app.
Therefore, a UI5 app was created having two views. One view had the data from the newly initiated
database using OData protocol created via XS Engine, whereas the other view had two data sources
attached to it. First data source was the same as before, but instead of the whole Entity set (as it contained
for the first view) only one entity selected by the user was used. Second data source was from SAP S4
backend system and was used to generate plant maintenance notification so that data could also be
recorded in the backend system. With integrating Tessel to SAP Cloud Platform and establishing a link
between Cloud Platform and backend system using HANA Cloud Connector and UI5 app, end to end
scenario was covered. Details of each step has been covered in different sections of the project. Before
and During the project, several challenges were encountered. Those were primarily related to lack of
documentation for integrated solutions covering all aspects. Challenges were also witnessed while
programming over various languages that required through understanding.
Before conclusion, document presents diverse applications of IoT not only limited to manufacturing but
also covers smart cities and smart homes. Conclusions and Recommendations are then presented keeping
general aspect in mind.
2|Page
Table of Contents
1. Research Introduction........................................................................................................................... 5
1.1 Outline of Thesis Document ......................................................................................................... 6
1.2 Research Background and Motivation .......................................................................................... 7
1.2.1 Introduction to IoT enhanced ............................................................................................... 8
1.2.2 SAPs IoT Roadmap ............................................................................................................... 9
1.3 Problem Statements ................................................................................................................... 10
1.4 Scope and Approach ................................................................................................................... 11
1.4.1 Research Methodology ....................................................................................................... 11
1.4.2 Working Schedule & Project Timeline remove ................................................................... 12
1.5 Objective ..................................................................................................................................... 14
2. Literature/ Conceptual Research ........................................................................................................ 15
2.1 Internet of things: Concepts ....................................................................................................... 16
2.1.1 IoT Communication Models ................................................................................................ 16
2.1.2 Comparison of Available Smart Devices ............................................................................. 18
2.1.3 Comparison of IoT Cloud Systems....................................................................................... 20
2.1.4 Decisions on hardware and Software Selection ................................................................. 23
2.2 SAP HANA as a Platform.............................................................................................................. 25
2.2.1 Product Capabilities and Services ....................................................................................... 25
2.2.2 Different Scenarios on SAP Cloud Platform ........................................................................ 27
2.2.3 SAP HANA DBServices ......................................................................................................... 28
2.2.4 SAP HANA App Services ...................................................................................................... 28
2.2.5 Neo VS Cloud Foundry ........................................................................................................ 29
2.3 Internet of things (IoT as a service in SAP HANA Cloud platform) .............................................. 30
2.4 SAP HANA as a Database ............................................................................................................ 31
2.5 UI5 and FIORI Development........................................................................................................ 33
2.5.1 What is SAPUI5? .................................................................................................................. 33
2.5.2 How does SAPUI5 work? ..................................................................................................... 33
2.5.3 Components of SAP UI5 Application ................................................................................... 34
2.5.4 SAP BUILD............................................................................................................................ 36
3|Page
2.6 Smart devices (Tessel Sensor devices) ........................................................................................ 37
2.6.1 Add Capabilities Faster Than Ever Before ........................................................................... 37
2.6.2 Node.js ................................................................................................................................ 38
2.7 HANA Cloud Connector ............................................................................................................... 39
3. Approach and Realization ................................................................................................................... 41
3.1 Configuring SAP Cloud Platform for IoT and SAP Web IDE ......................................................... 41
3.2 UI5 App Creation using XS Engine ............................................................................................... 48
3.3 ODATA Creation from SAP S4 ..................................................................................................... 59
3.4 Connecting Tessel Device............................................................................................................ 62
3.5 END to END Scenario .................................................................................................................. 65
4. Thesis Challenges & Applications........................................................................................................ 68
4.1 Smart Devices.............................................................................................................................. 68
4.2 Cloud Platforms........................................................................................................................... 69
4.3 SAP Cloud Integration Platform .................................................................................................. 70
4.4 IoT Applications........................................................................................................................... 71
4.4.1 SAP Leonardo ...................................................................................................................... 74
5. Conclusion & Recommendation ......................................................................................................... 76
Executive Summary..................................................................................................................................... 78
References .................................................................................................................................................. 80
List of Abbreviations Used .......................................................................................................................... 83
4|Page
1. Research Introduction
The Internet of Things (IoT) gadgets and sensors associated with figuring frameworks and systems
has gotten huge consideration over the most recent couple of years. The consideration is expected,
to a limited extent, to the expansion of associated gadgets, from around a million in the mid-1990s to
more than five billion today. Moreover, the innovation for interfacing the gadgets has turned out to
be more moderate and less demanding to incorporate.1
The Internet of Things (IoT) is the network of interconnected sensor-equipped electronic devices that
collect data, communicate with each other, and can be monitored or controlled remotely over the
Internet. 2
Internet of things surprisingly is not a breakthrough in Technology like processors would have been in
70-80s, but rather it is a technique that has emerged with advancement in technology in multiple
fields.
These multiple fields include;
1: High speed Internet broadband connection becoming widely popular and available for use.
2: Sensors and actuators that cannot only measure data but can also change parameters and are
available online over internet or Bluetooth connection.
3: In memory, huge database that allows fast processing of tera bytes of data, along with common
user experience irrespective of users platform (Desktop, Mobile, and Tablet).
4: Growing efficiency of Machine Learning Algorithm that allows nearly accurate predictions.
On a broader scale, the IoT can also be applied to things like transportation networks: "smart cities"
which can help us reduce waste and improve efficiency for things such as energy use; this helping us
understand and improve how we work and live3.
Just to mention the glimpse of what future holds in the field of IoT, Gartner has predicted following.
Through 2020, the Internet of Things (IoT) will increase data center storage demand by less than 3%.
By 2022, IoT will save consumers and businesses $1 trillion a year in maintenance, services and
consumables. 4
Vast breath of applications of IoT has been rightfully addressed in a research paper that states A
survey done by the IoT-I project in 2010 identified IoTs application scenarios which are grouped in 14
domains viz; Transportation, Smart Home, Smart City, Lifestyle, Retail, Agriculture, Smart Factory,
Supply chain, Emergency, Health care, User interaction, Culture and tourism, Environment and
Energy. This survey was based on 270 responses from 31 countries and the scenarios attracting the
most interest were: smart home, smart city, transportation and health care.5
1
Quoted from: (SAS The power to know, 2017)
2
Quoted from: (Ahrens, 2014)
3
Concepts from: (Magazine, IoT: Forbes, 2013)
4
Quoted from: (Gartners, 2016)
5
Quoted from: (Kumar, 2014)
5|Page
1.1 Outline of Thesis Document
In this section, scope of the document and its content has been displayed.
Chapter 1 covers the introduction Objectives and Problem statement along with-it chapter also covers
market opportunities of Web of Things and explains importance of this booming industry in the next
coming decade.
Chapter 2 covers the ground of conceptual layout of each component involved. It starts with general
explanation of various architectures within IoT space and explains different components related to
the project. After establishing foundations for the topic, it then explains why certain components
were preferred over others for Eg Tessel Device, SAP Cloud Platform, SAP Hana Cloud Connector and
others. It also explains in the form of a diagram technical architecture covering all important aspects.
After deciding onto the set of components (for example decision to choose Oracles Cloud Platform
or SAPs), detailed explanation of features and functionalities of these chosen components have been
explained in subsequent sections.
Chapter 3 covers actualization and implementation of the use case decided upon during definition of
problem statement and objective settings in Chapter 1.
Chapter 4 covers areas that were challenging during practical work in the project along with several
industrial applications including corporate sectors and manufacturing sectors.
Chapter 5 presents a briefly of the project along with recommendations related to rapid prototyping
of such Web of Things.
Theoretical
Research that
Introduction Actualization and
starts with general Challenges Faced
Realization of the Conclusions &
to IoT theme of IoT and
project, covering
& Applications of
Recomendations
Solutions later builds into the Use Case
all segments
the specific details
of the project
6|Page
1.2 Research Background and Motivation
Its safe to say that we are at the start of another industrial revolution. The rise of the connected
objects known as the Internet of Things (IoT) will rival past technological marvels, such as the
printing press, the steam engine, and electricity. From the developed world to the developing world,
every corner of the planet will experience profound economic resurgence.6
There will be 34 Billion IoT Devices installed by 2020, making use of 6 Trillion Dollars investment.
Marking it as one of the highly anticipated future of the technological era.7
Primary impetus behind taking this as a research area is the challenges that will come along with it.
Challenges in sensor connectivity, database design and management, and to pick and choose from
the vast pool of uniform End User Experience.
According to industry analysts, there are between 10 to 20 billion things connected to the Internet
today. This ecosystem of connected objects forms the foundation of Internet of Things (IoT). Even
though the technology that comprises IoT has been around for years, were only in its very earliest
stages. The number of connected objects today pales in comparison to how many will be connected
in just five years. Estimates vary, but the range of connected objects by 2020 will be 40 to 50 billion,
and includes everything from cups and pens to homes, cars, and industrial equipment.8
Figure 2: IoT Statistics
6
Quoted from: (Dr. Shawn DuBravac, Internet of Things: Evolution or Revolution, 2015)
7
Quoted from: (Business Insider Intelligence, 2016)
8
Quoted from: (Dr. Shawn DuBravac, Internet of Things: Evolution or Revolution, 2015)
7|Page
As depicted from the figure, upcoming investment in IoT are huge. Interesting part is that web of
things is not only limited to stand alone app but its functionality is fully reached when its integrated
with other business process along with machine learning algorithms. Our future is about to change,
and Aequitas AG and myself wants to be a part of the revolution that such disruptive technologies will
bring.
9
Concept from: (Olga Kharif, 2016)
10
Quoted from: (GSMA , 2014)
11
Concepts and Quotes from: (Symantec , 2015)
8|Page
1. Eavesdropping and passive monitoring: This is most common and easiest form of attack on data
privacy. If messages are not protected by cryptographic mechanisms, an adversary could easily
understand the content
2. Traffic analysis: To effectively attack privacy, eavesdropping should be combined with traffic
analysis. Through effective traffic analysis, an adversary can identify certain information with
special roles and activities in IoT devices and data.
3. Data mining: This enables attackers to discover information that is not anticipated in certain
databases. This could be a security and privacy issue in IoT, and if information is made available,
we are perhaps giving out more than we bargained for?12
Biggest growth areas for IoT seems to be in manufacturing and logistics. Being able to pinpoint the
location, condition and characteristics of any product, machine and means of transport at any given
point of time will radically change business processes making it a lot simpler. There will be a Digital
Twin to every physical product which replicates life cycle of the actual product in digital form and
constantly updates product status.13
Prescient upkeep has just turned out to be common to the point that it is viewed as the standard in
the present assembling administrations. Later, frameworks will have the capacity to learn without
human info through machine learning. Amassed data is exchanged to resource administration
frameworks that gathers lifecycle information of machines and gadgets in a system. Today, clients as
of now pay as per what number of flight hours a motor runs ("control by the hour") and organizations
create tweaked items ("producing as an administration") they offer administrations rather than
machines. In coordinations, monitoring the items ("track and follow") is quickly picking up
significance, while RFID chips are utilized increasingly underway, industrial facility, and transportation.
SAP has also observed an increased interest in the SAP Asset Intelligence Network, which is the
"Facebook of Things". It is a business network that helps companies that produce, use, or maintain
equipment and its parts cooperate by sharing data and forming an asset. There is an immense
advantage in optimizing the use and maintenance of equipments and their parts through a network
economy of sorts, where people can share insights into such assets. Another important area is Track
& Trace in transport management. Product movement must become more transparent, to a point
12
Quoted from: (Kien, 2014)
13
Context from (Dr. Ovidiu Vermsen & Dr. Peter Friess, 2014)
9|Page
where the company always knows exactly where their transportation vehicles and containers are at
any given moment. 14
14
Source of content: Interview with Head of IoT at SAP (Hans Jrg Stotz, 2017)
10 | P a g e
1.4 Scope and Approach
In this section, we attempt to provide Research Methodology that has been followed throughout the
course of Masters thesis. It also provides step by step approach and the contents of each section with
respect to the scope of research methodology. Next section within the chapter gives an overview of
project timelines. Section also covers progress reports that were periodically sent to the professor for
her further instructions and suggestions.
15
Quoted from: (John A. Stankovic, 2014)
11 | P a g e
As can be seen on figure 2 first part is the awareness, in which problem was identified that in a nutshell
can be stated as realization of Industry 4.0 concepts. After which suggestions from all stake holders
were considered. In the above stated project, stakeholders included both supervisors and
management teams of Aequitas AG. The phase 3 Development included, in addition to design and
development, also testing and demonstration of the approach in a suitable context of a business case.
Of four possible entry points, shown at the top of the figure, the first three are relevant for this
research work. Problem centered entry point is into the 1st phase, where the problem of automating
business processes in industries using sensors needs to be solved; this also becomes objective of the
2nd phase, and realized as a designed and developed solution on the 3rd phase. The forth entry point
(of an entries array at the top of the figure) would have been possible if clients had initiated to
research on stated topic, but this possibility is not explored further in this work, thus it shown in gray
color on the figure. With reference to figure 2 following describes the five phases in more details:
Phase 1. Problem awareness an awareness of an interesting problem may originate during practical
work experience in an industry or after accumulation of sufficient level of knowledge in a reference
discipline, and following a realization of what else is needed and feasible. Usually there can be
multiple sources that facilitate this process, including new developments that can become
instrumental parts for innovation. A transfer of advanced knowledge or practice from allied field may
also provide opportunity for advancement in this field. The output of this phase is description of
Business and research contexts and prerequisites for a new research effort: Environment problems
& opportunities of the application domain Scientific theories & methods foundations, experience,
evidence, and expertise.
12 | P a g e
Following timelines were followed for project implementation. There was a separate time allotment
for each activity and all completed milestones can be seen below.
Figure 5: Project Timeline
Separate Excel sheet has also been maintained highlighting these steps and submitted along with the
thesis document.
13 | P a g e
1.5 Objective
Thesis objectives must be SMART in nature. Therefore, attempt has been made to write concisely
what the objectives are for the research at hand.
Specific: Integration of IoT Sensor Device with SAP HANA Cloud Platform and an attempt to make a
simple and easy to use End User Experience with SAP UI5 Toolkit along with integration to backend
S4 HANA Database.
Measurable: Successful completion will be measured by testing an end to end prototype of the above
mentioned topic.
Attainable: Several references along with literature have been used to make sure that the end result
of smart devices are attainable.
Realistic: Idea is relatively new, but realistic because stakeholders like SAP and Tessel have provided
a platform for integration, app development and database management to work properly and in
optimized way.
Time bound: Thesis will be covered in a period of six months starting from May till the end of October.
There might be a case of 2 extra months, provided some new contents are added to the research
aspect.
In a nutshell, objective of the thesis project keeping research methodology in mind was to bring
awareness amongst employees of Aequitas AG about the potential of IoT and confirming that it is not
a futuristic idea that is not fully matured, but rather an idea that is fully realizable and that will be
confirmed by building a prototype to demonstrate ideas. Successful completion would be marked by
making sure that scaling up in terms of devices involved is possible along with full fledge integration
covering ERP aspects as well. Time to realize the solution was also measured so that realization during
actual implementation is not overlooked. Cost associated with the project was also kept in mind so
that clients later can be given a concrete outlook regarding budgeting, time to realization and last but
not the least IoT solution that can help them achieve competitive advantage by optimizing business
processes.
14 | P a g e
2. Literature/ Conceptual Research
This section starts with an explanation of the technologies related to IoT in general way, and after
fundamentals have been laid on the choice of technological platforms decided upon, section will build
up extensively on each and every specific component used for the realization and rapid prototyping
of the project.
1. Internet of Things: Concepts
2. SAP HANA as a platform.
3. Internet of things (IoT as a service in SAP HANA Cloud platform).
4. SAP HANA as a database.
5. UI5 and Fiori Development.
6. Smart devices (Tessel Sensor devices).
7. HANA Cloud Connector and S4 Deployment options.
Aim of the section is to start from general IoT foundations and then translate those foundations to
hardwares and softwares that has been used in proof of concept and actual realization of the thesis
topic.
15 | P a g e
2.1 Internet of things: Concepts
Within the discussion of Internet of things (IoT) there are two school of thoughts. One school of taught
are more in favor of IoT as they fully believe in its potential whereas the other group are more
concerned with its security and privacy policies. Irrespective of the opinion, consensus has been
reached in its widespread applications. Therefore, there are lot of companies that are currently
investing in IoT so that they can reap benefits when technology is fully matured.
This section covers all the fundamentals related to IoT by covering different domains including
communication protocols (Architecture), smart devices and Cloud Platforms. At the end of the
section, readers would be sure of the decisions related to technology platforms that have been
utilized for proof of concepts and rapid prototyping.
As mentioned earlier there are few options related to communication models. Explanation of each of
them are as follows;
Device-to-Device Communication
Device to Device Communication represent communication between two devices that directly
communicate with each other and no application server is installed as an intermediary that provides
added functionality including analytical, control or statistical capability. Such architecture is suited for
non-complex situations and are primarily used in home environments, as shown below.
Devices that share common messages and communication protocols can be integrated in such
settings. They are ideally suited for situations with low data exchange rates and small data packets.
16 | P a g e
Device to Cloud Communication
Device to Cloud communication takes advantage of internet connectivity either in form of WIFI or
Ethernet connection to send messages to an application server. In this way, more than one sensor
could send data to the server and server can provide control logics at consolidated or at individual
level to both sensors. Application server accepts message types from sensor and store them along
with timestamp and unique ID for a specific sensor.
16
Concepts from: (Karen Rose, 2015)
17 | P a g e
Back-End Data Sharing Model
Backend Data Sharing Model makes use of Internet of Things as not only a stand-alone application.
With backend data sharing model, data from sensor along with data stored in the backend servers
can be visualized together. Its functionality is not only limited to visualizing data from both sources,
but also covers complete end to end integration. There might be a use case, that when a defined
threshold limit of a variable that is measured by the sensor is reached, that record is also send to the
backend data so that it could be recorded and stored properly. Even in the use case that is
presented in the thesis, Such backend integration has been utilized.17
There are lot of smart devices available in market, each with its own unique functionality. Among the
three most frequently used smart devices are;
1. Tessel Device
2. Raspberry PI
3. Arduino PC
For the specific use case we had a choice to make between Raspberry PI and Tessel device. After
detailed comparison and thought process, choice was narrowed down between Tessel and Rasberry
PI.
17
Concepts from: (Karen Rose, 2015)
18 | P a g e
1. Tessel provides a higher level of abstraction in terms of connecting various sensors in form of
Modules. There are various factory build modules connected via 40 pin I/O. plus the list is ever
expanding as it is an open source platform, and third parties can also contribute by making newer
modules based on certain guidelines published. Various other USB modules (along with 40 Pin I/O as
explained above) are also provided for different use cases.
2. Tessel provides build in WIFI and Ethernet connection that are very useful without the need of
flashing Operating System to the device, which adds value by limiting time constraint.
3. Tessel device are Plug n Play, you have to connect your platform (using WIFI or Ethernet
Connection) to a network and push code to receive sensor data. Sensors that are connected to the
Tessel platform are also plug n play in the form of connecting it to the platform and then just relevant
installing libraries that are already on the board.
4. Raspberry Pi provided a platform that can also be connected to various sensors but without any
modular abstraction. We would need to connect various sensors in Raspberry Pi using wires and brad
board that not only required more hardware knowledge but also greater time for realization and
therefore couldn't be considered for rapid prototyping.
5. With Raspberry Pi, since its a microprocessor one needs to push Operating System to it before
booting it. Currently, it supports Linux and Win 10. We need to push code using Micro SD Card that
needs to be flashed with OS. Requiring at least 8 GB but recommended 16 GB of Micro SD Card
memory.
6. Cost associated with Tessel platform and Raspberry Pi platform is almost similar, we can get Tessel
at 45$ (plus added cost of modules that we are interested in) and Raspberry Pi at 35$. But the cost of
maintenance and operation is significantly higher in Raspberry Pi because of the knowledge required
in the hardware aspect. Even during the actual project, IT team would need to have electronics
knowledge and that will not only increase the price of the project but also require buy in from more
stake holders, and in turn higher chances of projects failing.
7. Tessel device are programmed using Node.js and personally I have to expand my skill set in java
script as it lies in the core of front end development along with HTML and CSS.
8. Therefore, for prototyping as well as for realization of multiple sensors, Tessel seems to be a
better fit mainly because of the overall cost associated and higher degree of abstraction along with
Plug n Play functionality.
19 | P a g e
2.1.3 Comparison of IoT Cloud Systems
As highlighted in the last section, IoT cloud Systems are necessary to consolidate sensor data in a
unified database. There are quite a lot of IoT Cloud Systems that are available in market. This section
compares some of the well-known platforms that can be used with our specific use case.
Oracle IoT is a combination of four crucial parameters such as, Open- that connects any type of
device from sensors to gateways; insight- that harvests business value of IoT data; secure that
provides normalized end-to-end scenario for all types of devices, data and heterogenous connectivity
and accelerate that moves that idea very quickly to execution with minimal risks. 19
18
Image copied from Website: (Oracle, 2015)
19
Text copied from Article: (Ray, A Survey of IoT Cloud Platforms, 2017)
20 | P a g e
In comparison of the two known clouds in market, it can be concluded that architecture of Oracles
solution is a lot simpler. In terms of functionality of standalone IoT solutions, both are comparable. In
terms of ease of use Oracle is better as it provides built in APIs not just to store data but also to
integrate with on premise solution. However, SAP being renowned for producing best possible
integration in the market has not left its IoT solution behind. With uniform end user experience in
terms of UI5 along with access to OData services from SAP or Non-SAP Systems, SAP seems to provide
more flexibility. With many deployment options of fully integrated solution including on cloud to on-
premise with HANA Cloud Connector and various other possibilities of deployment, SAPs Solutions
seems to be more flexible. SAP CP Services and Components are mentioned in the below diagram.
20
Diagram copied from official Website: (SAP, 2017)
21
Details from Article: (Ray, A Survey of IoT Cloud Platforms, 2017)
21 | P a g e
Figure 12: Comparison of Several IoT Cloud Platforms22
If these are compared with SAP CP, differences are quite evident. SAP CP would turn out to be an ideal
solution for various IoT Use Cases. Most of the parameters mentioned above are covered with the
solution especially Application Development, System Management, Heterogeneity Management,
Analytics and Visualization. All these aspects related to SAP Cloud Solution will also be covered in
subsequent chapters.
22
Table copied from Paper: (Ray, A Survey of IoT Cloud Platforms, 2017)
22 | P a g e
2.1.4 Decisions on hardware and Software Selection
By the end of the last chapter, readers are now familiar with all the major components that can be
used for IoT rapid prototyping. But, question still remains, what hardware and software components
have has been used specifically? In section 1.2, research questions were mentioned. This section
attempts to answer briefly those research questions and concludes with an End-to-End Architectural
diagram.
Tessel Device
Based on the reasoning in section 2.1.2 we are now in a position to build a rapid prototype using
Tessel Device. Decision to choose Tessel has been mentioned in the above stated section. Therefore
first two thesis questions related to Smart devices have been answered.
23 | P a g e
Architecture
It can now be concluded that from the front end UI5 app there would be two communication points.
One communication point between SAP UI5 app and SAP Cloud platform using OData protocols, and
the other communication point between SAP S4 HANA backend System and UI5 app using Hana cloud
platform again via OData protocols.
For all this huge architecture to function, custom codes in java scripts, XML and ABAP along with few
alterations to HTML codes had to be written. End architectural diagram looks something like this.
Following diagram explains the architecture for end-to-end scenario
Apart from these two-communication point, most important is receiving data from Tessel device and
as per its documentation it is possible over USB or WIFI connection. Please note that all screenshots
presented below are based on USB connection and not WIFI that is primarily due to the fact that at
Aequitas AG WIFI connection is purely restricted via some proxies, therefore connection was not
possible. When different networks were used at home or using Mobile hotspot, WIFI connection was
possible and some data was also sent over it. Therefore, functionality mentioned in the diagram works
well.
End to End Architecture as mentioned in the above screenshot clearly defines our objectives. But
before realizing our approach as stated in previous sections, further details and explanations are
required before realization of the prototype. Therefore subsequent sections within this chapter aims
to provide clear explanations of components that have been used.
24 | P a g e
2.2 SAP HANA as a Platform
The SAP Cloud Platform (CP), in the past known as SAP HANA Cloud Platform, is an in-memory
Platform as a Service (PaaS) item. Free programming sellers (ISVs), new businesses and engineers can
utilize SAP CP to make and test HANA-based cloud applications. It can likewise be utilized to broaden
cloud and on-premises programming. Installment depends on a membership display.
SAP Cloud Platform is the venture stage as-a-benefit with extensive application improvement
administrations and abilities. It empowers clients to accomplish business deftness, make a really
coordinated and advanced undertaking, and quicken computerized change over the business all
without the necessity of keeping up or putting resources into on-premises foundation.
SAP Cloud Platform, endeavor stage as-a-benefit (PaaS), gives thorough application advancement
capacities to help broaden, coordinate and assemble imaginative applications in less time without
the exertion of keeping up the foundation. It gives administrations to versatile, Big Data, Machine
Learning, Internet of Things, and more to convey secure business applications that incorporate and
improve IT scene, drive readiness and quicken advanced change in weeks rather than years.23
Enterprise Mobility
It exploits a thorough application improvement condition to make portable applications that supports
business on the go.
23
Concepts from: (SAP Cloud Platform, 2017)
25 | P a g e
User Experience
By making use of the state of the art technologies, new user interface from SAP has visually appealing
screens created using Java Script, HTML5 and XML, along with data exchange possible in various
formats.
Collaboration Services
Encourage coordinated effort and cooperation over your association, regardless of its size. With
administrations that engage representatives to sort out and share data in each other's workspaces, it
can enhance work quality while contracting the time it takes to finish ventures and achieve business
objectives.
Integration
Flawlessly coordinate local cloud applications into business scene. It can be utilized to interface basic
undertaking information to make client particular applications crosswise over half and half, on-
premises, and cloud situations. And afterward use APIs to draw in with clients, interface with new
accomplices, and venture into new markets.
Security
Cloud application advancement stage offers firmly incorporated venture security administrations to
help ensure the applications you create and your business against dangers.
Analytics
Convey the noteworthy data your business needs to flourish. Use an extensive arrangement of
investigation arrangements worked for the cloud including business knowledge (BI), Big Data
examination, and installed programming as-a-benefit (SaaS) examination.
Rapidly create, send, and oversee ongoing IoT, machine to-machine (M2M), and remote information
match up applications with SAP Cloud Platform Internet of Things benefit. Locally available and
oversee associated remote gadgets. Furthermore, utilize constant prescient examination to enhance
insight and basic leadership at the center of your business and at the edge.
Use basic and adaptable approaches to store, get to, oversee, and share information. These
administrations give best-in-class information security, accessibility, administration, and examination
for your business applications to quicken spry advancement.
26 | P a g e
Business Services
SAP business administrations control an open commercial center for new SAP Hybris, ISV, and other
outsider applications. Offer your applications to different organizations or pick pre-bundled
applications for client benefit, internet business, or smaller scale business benefits that use in-
memory innovation24.
The SAP Cloud Platform, is a full featured, open standards based, in-memory cloud platform designed
for todays increasingly networked, mobile, social and data-driven world. Developers can quickly build
impactful, highly scalable applications leveraging the massive speed and scale of SAP HANA.
In simple words - SAP Cloud Platform is a Platform as a Service offering (PaaS) that provides both a
development and runtime environment for cloud applications. It allows you to focus on developing
your software and use an enterprise-ready pre-installed environment in the SAP cloud to deploy and
run your applications in a secure and reliable way.
On-Demand Extension:
Broadening existing SAP arrangements running in the cloud with custom expansions likewise running
in the cloud (e.g. SuccessFactors).
On-Premise Extension:
Broadening existing SAP arrangements running in your server farm with custom augmentations
running in the cloud (e.g. SAP Business Suite). This is additionally called Hybrid Solution.
New Solution: Building new custom arrangements running in the cloud
24
SAP Cloud Platform Features: (SAP Cloud Platform, 2017)
25
Explanation from: (SAP HANA Tutorial, 2015)
27 | P a g e
Figure 16: SAP Cloud Platform Architecture
28 | P a g e
2.2.5 Neo VS Cloud Foundry
Within SAP Cloud Platform, there are two different environments that user can choose to work with.
Neo and Cloud Foundry, while NEO is SAPs inbuild environment, cloud foundry is an open source
platform that is suitable for single app small solutions related to Internet of things and Big Data.
Differences amongst these environments can be depicted from the table below.
Maximum memory 2 GB 16 GB
consumption of a single
application instance
SAP HANA Programming SAP HANA Extended Application SAP HANA extended
Model services, advanced Model application services, Classic
Model
26
Table quoted from: (SAP AG, 2016)
29 | P a g e
2.3 Internet of things (IoT as a service in
The MMS gives different APIs that can be utilized by gadgets to send information to Internet of Things
benefit. It forms the information and holds on the information in the databases associated. There
might be other utilize cases, however, which require sending the information to a message
intermediary, occasion stream processor or even a report vault.
The Internet of Things benefit cockpit is the fundamental interface for clients to associate with the
Remote Device Management Service (RDMS). You can utilize it to enlist new gadgets, to characterize
the construction of messages (gadget sorts and message sorts) they can send and get, and in addition
to build up the trust relationship required by gadgets to interface with the Message Management
Service (MMS).27
27
Architecture explanation from: (SAP AG (IoT Documentation), 2017)
30 | P a g e
2.4 SAP HANA as a Database
The SAP HANA database is developed in C++ and runs on SUSE Linux Enterprise Server. SAP HANA
database consists of multiple servers and the most important component is the Index Server. SAP
HANA database consists of Index Server, Name Server, Statistics Server, Preprocessor Server and XS
Engine.
Figure 19: Architecture of SAP HANA Database
Index Server:
Index server is the primary SAP HANA database part, it contains the real information stores and the
motors for preparing the information. The file server forms approaching SQL or MDX explanations
with regards to verified sessions and exchanges.
Persistence Layer:
The database persistence layer is in charge of toughness and atomicity of exchanges. It guarantees
that the database can be reestablished to the latest submitted state after a restart and that exchanges
are either totally executed or totally fixed.
Preprocessor Server:
The index server utilizes the preprocessor server for dissecting content information and removing
the data on which the content pursuit capacities are based.
Name Server:
The name server possesses the data about the topology of SAP HANA framework. In a conveyed
framework, the name server knows where the segments are running and which information is
situated on which server.
31 | P a g e
Statistic Server:
The statistics server gathers data about status, execution and asset utilization from alternate servers
in the framework. The insights server additionally gives a past filled with estimation information for
promote investigation.
Session and Transaction Manager:
The Transaction manager coordinates database exchanges, and monitors track of running and closed
transactions. When a transaction is committed or rolled back, the transaction manager advices the
involved storage engines about this event so they can execute necessary actions.
XS Engine:
XS Engine is a discretionary part. Utilizing XS Engine customers can interface with SAP HANA database
to bring information by means of HTTP.
SQL Script:
The SAP HANA database has its own scripting dialect named SQL Script that is intended to empower
enhancements and parallelization. SQL Script is an accumulation of augmentations to SQL. SQL Script
depends on reaction free capacities that work on tables utilizing SQL questions for set handling. The
inspiration for SQL Script is to offload information concentrated application rationale into the
database.
Multidimensional Expressions (MDX):
MDX is a dialect for questioning and controlling the multidimensional information put away in OLAP
3D shapes. Approaching MDX asks for are prepared by the MDX motor and furthermore sent to the
Calc Engine.
Planning Engine:
Planning Engine allows financial planning applications to execute basic planning operations in the
database layer. One such basic operation is to create a new version of a data set as a copy of an
existing one while applying filters and transformations. For example: planning data for a new year is
created as a copy of the data from the previous year.
Another example for a planning operation is the disaggregation operation that distributes target
values from higher to lower aggregation levels based on a distribution function.
Calculation engine:
The SAP HANA database highlights, for example, SQLScript and Planning operations are executed
utilizing a typical framework called the Calculation motor.
The SQL Script, MDX, Planning Model and Domain-Specific models are changed over into Calculation
Models. The Calculation Engine makes Logical Execution Plan for Calculation Models. The Calculation
Engine will separate a model, for instance some SQL Script, into operations that can be handled in
parallel.
Metadata Manager:
Metadata can be gotten to through the Metadata Manager part. In the SAP HANA database, metadata
includes an assortment of items, for example, meanings of social tables, sections, sees, lists and
techniques.
Metadata of every one of these sorts is put away in one basic database inventory for all stores. The
database inventory is put away in tables in the Row Store. The highlights of the SAP HANA database,
for example, exchange bolster and multi-variant simultaneousness control, are additionally utilized
for metadata administration.
The Row Store:
Row store is the SAP HANA database row-based in-memory relational data engine.
32 | P a g e
The Column Store:
The Column Store stores tables column-wise. It originates from the TREX (SAP NetWeaver Search and
Classification) product. 28
As you will see later, we have used some of the components from database aspects of SAP HANA.
Namely, we have made procedures using SQL Script, we have used Row store table for sensor data,
we have used persistence layer to store data using IoT APIs, XS engine has been used to generate
OData and use it in UI5 App development.
28
Concepts from Book: (SAP AG, 2015)
33 | P a g e
Figure 20: Architecture of UI5 Apps
Model: This is the part that is accountable for the management, retrieval, and updating of the data
that is being viewed in your application.
View: This part is accountable for interpreting and rendering the initial UI. The view in the context of
SAPUI5, generates the presentation to the user based on changes in the model.
What does a view look like? Well, in its directory, views are in stored in the view folder and names
of XML views always end with *.view.xml (as youll see below).
Controller: This is one of the most important parts. This is the part that is accountable for separating
the view logic from the data logic. The Controller responds to user interaction and view events by
adjusting the view and the model. The controller is essentially sending commands to the model to
update its state, like editing a document in a word processing application. Similar to views, Controllers
carry the same name as the related view (if there is a 1:1 relationship). Controller names always end
with *controller.js (as youll see below).
2. Subsequent to, it at that point stacks the SAPUI5 toolbox center utilizing the standard variation
bootstrap. Bootstrap contains HTML and CSS-based outlines/designs for SAPUI5's typography,
34 | P a g e
frames, catches, route, and other interface segments. At that point there is a solitary capacity call
to embody a sap.ui.core.ComponentContainer and spots it in the body of the HTML archive. What
does the sap.ui.core.ComponentContainer do?
All in all, what do I mean by application-level design? Our Component comprises of two sections:
metadata, and a capacity that calls our information source when the segment is instated after the
list. In past variants of SAPUI5, extra design settings for the application, similar to the
administration setup, the root see, and the directing config, were added to our Component. As of
SAPUI5 variant 1.30, SAP prescribes you to characterize these settings in a document known as
the Manifest (which we will discuss in Part 2).
4. Following the instatement of our Component, there are a couple of models that are made and
controlled on our Component. The first is the fundamental model; this interface with our Data
Source utilizing oData. Alongside the fundamental model, the disguise (i18) is instated. The
disguise document is the place writings are stacked from a nearby asset (record), and gadget
location in light of UI controls.
5. Additionally, the instatement of the Router (sap.ui.core.routing.Router) is completed in the
primary area of our Component the root see ('App') is instantiated. Like the various perspectives
in our nonexistent application, the root see is a XML see.
6. The premise, establishment see (characterized in App.view.xml) is extremely basic and contains a
solitary sap.m.SplitApp control. Affirm back off what is sap.m.SplitApp? SplitApp is an extra
center segment of a SAPUI5 portable application, other than App control. SplitApp maintains two
NavContainers (route between Pages or other full screen controls) if SAPUI5 keeps running on a
tablet and one NavContainer on a cell phone. The show of Master Nav Container relies upon the
picture/scene of the gadget and the method of Split App.
7. Okay now the feathery stuff! Presently we'll find out about the piece of the application that our
clients will find in their program. The unmistakable piece of our nonexistent application is given
by three primary XML sees and a section. At the point when our application is introduced on a
gadget (other than a cell phone), there are two perspectives demonstrated the ace and the
detail. At in the first place, this is the Master.view.xml and the Detail.view.xml . Each of these
perspectives contain a sap.m.Page. There's additionally NotFound.view.xml, to be utilized when
no view can be coordinated to the asset asked. Like that exemplary "404-Not Found" page you
may have gone over on different sites. What is a sap.m.page? All things considered, a sap.m.Page
is an essential compartment for a versatile application screen.
8. In the Detail see there is a couple of SAPUI5 frame controls to show the subtle elements inside
our application. For this particular illustration, this can incorporate the sender and collector
messages. These controls are characterized independently in XML pieces.
35 | P a g e
9. Lastly, there is a Formatter.js record. The Formatter contains designing esteems that are utilized
as a part of different controls inside the Master and Detail sees. The css organizer contains
style.css which has a little measure of custom CSS, particularly to position the "not discovered"
message additionally down that it would ordinarily sit. Once more, in case you're not comfortable
with web improvement, CSS remains for Cascading Style Sheets. CSS can contain one or numerous
static records utilized as a template dialect for depicting the introduction of a page (or report).29
Figure 22: Cost Associated with front end development in various stages
SAP BUILD is an interactive tool that helps during the requirement gathering phase. It allows
functional consultant to choose from existing app (there already is a large collection from which
functional consultants can choose from), make changes in it and share with end users for their
feedback (without any actual development) it is in a way app blue print, which is like blueprints used
in various fields of engineering. After acceptance by user, those can further be share with developers,
who can extract source code of views in form of XML and import into SAP WEB IDE for actual UI5 app
development, by merely changing requested features and connecting backend sources as models and
implementing logics in controller. SAP BUILD helps in gathering requirements for front end UI5 apps
and also during development.31
29
Concepts from: (Colucci, 2015)
30
Concepts from: (SAP AG, 2017)
31
From Official Website of (SAP AG, 2017)
36 | P a g e
2.6 Smart devices (Tessel Sensor devices)
A smart device is an electronic device, generally connected to other devices or networks via different
wireless protocols such as Bluetooth, NFC, Wi-Fi, 3G, etc., that can operate to some extent
interactively and autonomously
Tessel is an open-source microcontroller that is programmable in JavaScript and compatible with
Node.js. Node.js is an open source platform that will be discussed later in the section.
Tessel is optimized for the creation of new experiences and internet-connected devices. Thats why
Tessel features built in WiFi support and plug and play modules that can be installed with one line
to the Node package manager (npm). By enabling rapid prototyping and iteration, Tessel gives
hardware development the speed and flexibility of web development.
Developing for Tessel is just like web development: write your JavaScript code and deploy it with a
simple push command just like pushing to a server.
Innovation doesnt come from managing drivers and configuration, but from how fast you can develop
new experiences. We built Tessel around Node.jss huge and growing community of modules, so
support for web APIs and services; real time communication; and robotics comes right out of the box.
Tessels custom runtime is optimized for low level chips. It only takes up 256k of flash and RAM, so
youre free to push the limits of Tessels 32MB for whatever project you dream up.
37 | P a g e
Class B modules:
RFID (13.56MHz) read RFID labels
Bluetooth Low Energy send information to different gadgets, i.e. cell phones
GPS get area data
Sound Output disentangle and yield sound records/crude sound
GPRS/SIM - add a SIM card to associate Tessel to the cell organize. Low-transfer speed
SMS/Voice/Internet for worldwide availability without WiFi)
The times of dismantling undertakings to reconstruct them are finished: with Tessel, you can push
code totally remotely, with only a solitary summon.
Tessel highlights Texas Instruments' CC3000 WiFi chip which presents SmartConfig innovation: an
approach to interface your nearby Tessel gadget to a WiFi arrange in seconds essentially by entering
your system qualifications into your cell phone.32
2.6.2 Node.js
Node.js is on the ascent for programming equipment. The full Google V8 rendition helps run Intel's
Edison chip. The IoT people group has just grasped Node.js for installed gadgets and mechanical
technology, with striking illustrations including Nodebots and Cylon. Also, now, significantly littler
gadgets like Tessel 2 an improvement stage for prototyping equipment are utilizing JavaScript.
Why would that be a major ordeal? It makes programming equipment significantly less complex. Intel
chief designer Michael
The motivations to utilize Node.js for equipment are basic: it's institutionalized, occasion driven, and
has a high efficiency. Most importantly it is progressively written, which makes it quicker to compose
flawlessly suited for getting an equipment model out the entryway. With JavaScript, you can
manufacture a model quickly, get it before clients to get input, and repeat. It's additionally sufficiently
vigorous that you can take it the distance to item.
One of alternate qualities of Node.js is its colossal library of bundles, more than 132,000 and
developing. All things considered, working in Node.js requires information about how to interface
with the Web and other IoT gadgets. Yet, there are some straightforward instruments that can offer
assistance.
32
Information about Tessel: (Tessel, 2015)
38 | P a g e
While a few specialists bring up that Java is not yet a practical choice for IoT programming, JavaScript
makes programming way less complex. The reasons need to do with both legislative issues and
conveyability. Apple disheartens utilization of standard Java usage in iOS for different reasons, so
moderately complex pre-arrangement approaches are expected to utilize it. Be that as it may, the
truth of the matter is, you don't generally require Java. The arrangement of accessible libraries in
JavaScript is similarly rich. JavaScript programs keep running on inserted gadgets, servers, cell phones,
and desktops. Furthermore, they are under Windows, Linux, Android, and iOS.
In short: to build a total end-to-end IoT framework, JavaScript is the most versatile programming
framework accessible.33
Figure 23: Architectural diagram of SAP Hana Cloud Connector and Backend System
33
Node.js use explained from: (Hunter, 2017)
39 | P a g e
S4 HANA has various options for deployment. Three most common
1) S4 on the cloud, where its sold as infrastructure as a service. Business pays for services that are
used.
2) S4 on-premise is most common choice for huge data volumes where customization is also
required and not standard solution is not enough.
3) S4 HANA on-premise in Amazon Cloud is another choice that are used for test environment and
for development without having huge data bottlenecks.
Our S4 HANA deployment is the third one. Nevertheless, since customers can have various other
possibilities we had to search for all the best solutions possible.
1) For S4 HANA Cloud edition, replicating data is easier, as we dont need to install middleware.
Cloud connectivity from both ends take care of all security aspects and tunnel is not needed to be
set up.
2) In case of S4 HANA on premise edition, we need to have HANA Cloud connector (which is nothing
but Process Integration, PI in cloud) that is installed on S4 HANA server and then SAP HCP is
connected via ODATA and HTTPS protocol using reverse proxy tunnel. With HANA cloud connector
RFC is also supported to connect backend ABAP Systems.
40 | P a g e
3. Approach and Realization
Lets start with the realization process where all components that have been theoretically covered in
previous chapters will be put to action. Lets start with the implementation process. This section will
have screenshots along with explanations of each important step. Aim of this section is to provide
explanation and resources for any new implementations covering thesis stated end to end scenario. This
section has been divided into 6 parts as follows;
After registering and logging in, we will be redirected to the following page.
41 | P a g e
Database instance would be created, and will be binded to inbuilt IoT service, that basically means
data pushed using IoT service APIs will be stored in this database.
While creating a database, SAP CP will prompt to have a password for SYSTEM user, this is a default
user that is created with necessary privileges while instantiating a database. Using Web access that
was switched on while instantiating a database, roles assignment would be completed to make sure
that HANA Database artifacts could be displayed and edited along with creation of scripts for OData
in XS Engine.
To monitor the performance of database instantiation, events tab can be utilized that will list all steps
for database creation. Upon returning to overview screen after completion, it will show started.
42 | P a g e
Open SAP HANA Cockpit and assign roles to users that will allow us to open SAP HANA Web Based
development workbench under Manager Roles and users tile.
Assign roles to view catalog and editor in development workbench. Catalog contains the list of all
database tables, along with schema details, procedures and table types. While editor is used to create
OData application will using XS Engine as explained in Section 2.3.
After assigning roles open workbench development cockpit under HANA instance that was just
created and started. Four tabs namely editor, catalog, security & traces would be seen. Editor is for
creating OData request using XS engine. OData files are created using scripts provided in the
documentation of SAP. That will be covered in the later section while we are focusing on OData
43 | P a g e
request. Catalog on the other hand has database tables, views, database procedures, and all other
objects related to in memory databases, that have been covered in the previous section.
In order to use catalog in tools such as WEB IDE (that is another service provided in SAP Cloud platform
for UI5 app creation we need to provide link to our database to the WEB IDE Service). In order to
ensure that for each service within cloud platform URLs are not given separately, there is a central
maintenance of these URLs in the tab known as destinations. Its working principle is the same as that
of tcode SM59 in SAP R/3 Systems. Assign URL along with username and password. In this case, System
user that was created at the time of database instantiation would be provided.
parameters for enabling WEBIDE namely Usage, System and Enabled will also be added in additional
properties. That makes sure that system user can access WEBIDE web service to consume data.
44 | P a g e
SAP HANA Database is now ready. Next step is to configure IoT service from available services within
SAP CP. In the services tab, we will click on internet of things, and following screen will appear.
This is the RDMS service, that was described in the last section and it is responsible for having
metadata of data that will be sent or received. First step is to create Message type that is metadata
of the fields that will be transferred from smart device. We will add our two parameters along with
time stamp, apart from timestamp both data types are in Double format that guarantees that these
values could be stored with precision of decimal points. This is how the architecture of RDMS service
looks like.
Figure 24: Architecture of RDMS Service for IoT in SAP Cloud Platform
Device types are then created that will have previously created message type assigned, along with an
ID of device type, and OAuth of these device types. These OAuth are like token for authorizations and
45 | P a g e
are used for security purpose while configuring settings for connection for the first time. One can
check by navigating from device type to message type. Message types fields that we had created,
would appear.
After creating device type, all devices could now be added individually. All devices added can have the
same device type assigned to it, that guarantees authorization for device type and fields that are
within message type (assigned to device type) And then device can be created, with a cardinality of
many to 1. That is multiple device can have one device type. In turn many device type can have one
message type. OAuth is again created, this time for the device that has been created.
Metadata for service is now ready. We will then need to deploy our solution. After deployment is
complete we need to assign iot-mms-user to user in order to open message management cockpit.
That will have APIs to send message using various protocols along with tables that are created
automatically at the time of deployment.
46 | P a g e
Message Management cockpit looks like the one presented below. Here testing of sending and
receiving message could be performed based on various protocols and several customization related
to the service can be accomplished here.
As explained earlier, Deployment generates database table on message type along with APIs to push
data. We can test using HTTP API. By giving device ID along with message type and values for fields
within message type.
47 | P a g e
Status 200 means that everything has been committed successfully. As shown in screenshot below.
We can further check table for this specific data using Message Management cockpit and also using
catalog from Web Based development workbench.
Checking the table reveals that our dummy data has been stored correctly.
Now that testing of dummy data that had been pushed was successful, lets move to the next step of
creating an UI5 app consuming IoT data.
48 | P a g e
Database table has G_CREATED field having the timestamp of the exact moment when record was
published on the database. This field is of great importance, as this has the potential to be used as a
key field while pushing data in SAP S4 system. But for now, lets concentrate on fetching data using
OData service from XS Engine. To have more control in terms of displaying selected amount of data
instead of all records we need to create some sort of function that has SQL statements for restricting
data selection.
Therefore, as a first step database procedure were created, which simply put is a set of SQL
Statements written on SQL Script and having necessary where condition as per business requirement.
For database procedure to work, Table type had to be created first. That have the same structure as
our database table.
Table type has been created using SQL Script as shown on the next page.
49 | P a g e
Here any form of where clause can be used to restrict the selected data. However for simplicity sake,
we have omitted where condition. Second point to note is that that results from this procedure are
stored in a column view known as VIEW_CLIMATE_IOT_NO, with its metadata shown below
After completing these pre-requisite, We are now ready to use our Column view in IoT Service and
expose required data in OData protocol that will be used in a UI5 app. OData service is created in
Editor of our HANA Database as shown below.
50 | P a g e
As can be seen, G_CREATED field has been mentioned as a key field. Key field are used in SAP UI5
app for identifying a unique record during navigation and routing process that will be explained a bit
later. With all this completed, lets complete steps to develop SAP UI5 Apps. 34
Steps that will be followed are as under,
1. Create a UI5 app using standard template, mention project name and default path along with
name of the root view. All this is stored in Manifest.json and index.html file and can be changed if
required.
2. Modify index.html file to include complex binding as it is required to display data in front end
controls. We write with the header script sap-ui-binding-syntax = "complex"
3. In manifest.json in data source tab mention the address of our ODATA Service.
4. Create front end table control in our main view.
5. App view is configured as a default view which has nothing inside, but its used for routing to a
different page. Till now, app looks like as below.
34
Concepts from book: (SAP AG, 2015)
51 | P a g e
6. When app is executed, after performing binding in Climatedata.view.xml (our main view) and
configuring routing in manifest.json file following results are displayed.
7. This is not enough for end to end scenario, as objective was to have two data source within an
app that can be used to integrate data to the backend system.
8. Therefore, second view named S4readwrite.view.xml has been created. This view will have data
from both sources. In order to consume the new data source (from backend System). Manifest.json
will be changed to include it.
9. Mention both view as targets and mentioned route path to them. For the first view, Pattern is not
needed (pattern is the additional link that is concatenated when we are on that view, second view
however has a defined pattern along with G_Created which was the key field of our OData service)
52 | P a g e
10. Now, climatedata.controller.js controller will be changed. To ensure routing proper routing.
11. On press is the event that will be triggered when a user clicks on a particular record.
oEvent.getParameters(listitems).getBindingContext().spath has additional URL for that particular
OData service record that will be used to navigate to that particular record.
12. This is not enough, we also need to catch this binding context in the controller of our second view
as shown below.
13. Now that we have our particular record, time to integrate our second OData source from SAP S4
System. This OData source was also custom created but we will cover its creation in the next section.
At the moment, its worth having a look at modified manifest.json file with the new data source that
has been added.
53 | P a g e
14. Screenshot above of readwrite controller also covers code to instantiate S4 OData source using
method Omodel.read.
15. Lets look at how our views look like with all these modifications.
54 | P a g e
Notice curly brackets with field names, this is how we confirm binding to our OData or any other data
source.
As already discussed before, UI5 models can be of type JSON, OData and XML. JSON and XML are
client-side models, that means that these are useful when model data is fixed and not huge in amount.
They are better suited for fixed model where sorting and filtering is required, because in those cases
request is not sent to server. Examples of these models include models for dropdown or combo box
or popup. Anything that is static is usually via such models. Binding in these models by default is two
way, that means that whatever has been changed in the UI will be automatically changed in the model
and reverse changes are also possible. OData models on the other hand are server-side models, and
therefore sorting and filtering request are sent to the server. These models usually include
transactional data that is frequently changed. In the application that is being created, JSON and OData
models have bee used, JSON Models are for status changes whereas OData models have already been
discussed. For all model types, binding has the same syntax with curly bracket and path of the
attribute in the model is mentioned within those curly brackets.
55 | P a g e
17. In the second view (namely S4 view), records from both data sources can be seen. Where both
data sources are linked by the field timestamp. timestamp from when data record has been pushed
into SAP CP has been stored in both systems. As this has been used as the referential key field or
selection field for matching two data sources. When notification is not created in the system, data
from sources will not be visible and at the same time notification not created status will be shown
with red color. There are two buttons at the top of our S4 view. These two buttons contain
functionality to create notification in backend S4 HANA System. Next screenshot will confirm this
functionality.
56 | P a g e
18. There is no notification numberunder the tab Details from SAP System. When we press the
button the left of screen, notification number is created in backend system and number is reflected
on the screen, along with status change to notification created.
35
19. Notification is created in the backend and its number is reflected under the tab. Result can also
be verified from the backend systems.
35
Concepts Learnt from book: (SAP AG, 2015)
57 | P a g e
20. Also in tcode iw22 (plant maintenance notification Display/Change) notification number that
was created can also be verified.
For an end to end scenario, there are two other developments that needs to be completed. One is
related to the sensor device itself (in our case Tessel) and the other is OData creation in SAP S4
NetWeaver System both these objectives will be covered in the following sections.
58 | P a g e
3.3 ODATA Creation from SAP S4
Previously, OData service had been created using XS Engine. In SAP CP, XS engine is used to make
OData service, similarly SAP has provided ABAP Stack with relevant functionalities as well. Tcode segw
is used to create project. Within our project standard OData service for notification creation of plant
maintenance was utilized and enhanced by creating a new entity based on a Z table containing
notification with climate data. Other enhancement was based on the requirement to store sensor
data along with notification in notification description.
After adding standard OData service for Plant notification. notification header entity is present (that
wil be enhanced). New entity based on ztable has als been created. And these two entites are linked
using navigation property with cardinality 1 to 1 (as per business requirement) When ODATA services
are generated, four classes are created. Two are related to DATA Provider class with DPC at the end,
and one of them is the extension class containing our custom entity with DPC_EXT at the end. Similarly
there are two more MPC classes (Model Provider class) where one is the extension to MPC class with
MPC_EXT at the end.
Code for Create and get entity will be enhanced in our DPC_EXT class along with redefinitions of
get_entity, create_entity and create_Deep entity standard methods. After registering service to
NetWeaver Gateway.
NetWeaver gateway is a system where OData service is registered and monitored. This is the system
that makes services to be consumed by outside world. For our simplicity, we have configured
NetWeaver gateway to be on the same system as our S4 System.
59 | P a g e
Coming back to DPC_EXT class, below screenshot shows methods that were redefined and new
methods that were created for new entity set of sensor data.
These methods were redefined to capture new entity. create notification method was also redefined
as we wanted to add notification and temperature text to description field previously shown. After
redefining these methods and completing enhacnements, SAP Gateway can only be used to test these
services. As shown in screenshots below.
60 | P a g e
Status code 200 means that everything is working correctly.
Now, with the help of HANA Cloud Connector, this OData Service would be consumed in UI5 App.
For details regarding the process flow, please refer to the architectural diagram mentioned in
section 2.1.4.
61 | P a g e
3.4 Connecting Tessel Device
Initially,Tessel device can be connected to a laptop terminal to configure it. In order to work with
tessel there are a few pre-requisites that needs to be fulfilled. We need to install node.js and a
JavaScript editor according to our own requirements.
We also need to install npm libraries that are needed by the tessel device. These libraries are
automatically installed tessel project is initialized.
Next comes the step of plugging in Tessel Device. Using Command prompt a folder named climate-
tessel-device had been created and after installing npm files tessel project was initialized using t2 init
command. What it does is that it creates npm libraries in our folder along with index.js and node
module files and folder respectively as shown below.
There are other files here, but they have been manually created for testing purpose. Now scanning of
connected Tessel device could be performed.
62 | P a g e
Our USB Connected device now appeared. We will now push our JavaScript code to the device and
run the code. Code to fetch sensor data looks like this.
This code snippet shows authentication parameters to send data to CP. Message Type, Device Type
and Device configured using IoT service in SAP CP are used for authentication. Host contains the detail
of the IoT service link where data will be posted. Before these lines, libraries have been used that are
present in Tessel and are required to use all available function in the module and the platform itself.
We have therefore instantiated two variables that hold objects of these libraries namely tessel and
climate.
Next step in the code is to read Temperature and humidity data every minute and send it to via HTTP
post, as shown In below screenshot
63 | P a g e
Now that understanding has been developed about the code, lets run it to see its actual impact.
These readings will be sent every minute, as we have set loop timeout to 60000 miliseconds. These
new readings can be viewed in front end
64 | P a g e
3.5 END to END Scenario
First step is to fetch readings from sensor and send It to SAP CP using the code explained in the last
section.
These readings are transferred to SAP Cloud Platform and can be viewed as shown in screenshot
below.
Notification against these records can also be created, lets create notification and check it in S4
System.
65 | P a g e
Figure 27: SAP UI5 App Details View with two before creating notification
Initially notification doesnt exist against this record. Create Notification button is then used to
create a new notification, after notification has been created, view looks like as below;
Figure 28: SAP UI5 app details view after creating notification
66 | P a g e
Figure 29: view of Ztable with Notification and Sensor Data
Figure 30: Tcode IW21 with notification created from SAP UI5 App
67 | P a g e
4. Thesis Challenges & Applications
Thesis topic was really challenging and every milestone bought unique set of challenges. Research
questions that have been mentioned required through understanding of each aspect of the Thesis.
Deciding on with Tessel was more appropriate based on the reasoning mentioned in section 2.1.2.
But to summarize it was based on the following factors;
Amongst all these factors, most important in terms of rapid prototyping where only one sensor is used
are factors related to integration with IoT Cloud System including built in WIFI Capability, Abstraction
layers, Time required to fully achieve objectives.
Cost & Electrical knowledge were the two factors that have minimal impact in rapid prototyping. As
cost for both these products were comparable and no significant difference could be analyzed if only
one sensor must be purchased. Similarly, Electrical and Electronics knowledge wasnt much of a factor
as documentation is readily available in market.
Nevertheless, objective for the thesis was also to check feasibility of such situations and a difference
of 10$ multiplied by high number of sensors required in an industry lets say 500 could lead to
significant differences in cost associated with both. However, in actual deployment with Tessel this
additional amount can be cancelled out when bare minimum maintenance of Tessel devices is
considered.
Similarly, factor such as Knowledge of Electronics is not significant in prototyping. But in actual
implementation one dedicated resource would be at least required to complete the full end to end
scenario that leads to more chances of failures as more domains would be covered within a single
project. This has also been explained in section 2.1.3.
68 | P a g e
There were a lot of challenges faced. Quite a few questions that needed to be answered before and
during project implementation. In this section, lets focus on those questions and present some
meaningful insights to the research work.
1. SAP Cloud Platform was a completely mature solution with predictive analysis and machine
learning as part of its core solution along with IoT service.
2. SAP Cloud Platform could be registered using trial account requiring no subscription and is ideal
for use with rapid prototyping.
3. SAP Cloud platform provides WEB IDE access that can be used to create front end UI5 apps based
on Java Script, XML and HTML.
4. SAP Cloud platform also provides options to connect to any data source if the protocol is based
on OData, and therefore integrating with SAP and non-SAP system through widely acceptable
protocol provided an advantage.
5. Solution on SAP Cloud Platform can be deployed to either cloud or to backend system, and
thereby providing flexible solutions which can work as Stand Alone and as fully integrated
solutions.
IoT solution provided by SAP is ideal for rapid prototyping, with relatively easier customization and
greater flexibility that it offers, it was the ideal choice for us to work with.
To integrate sensor data with standard SAP Solution, SAP has provided an umbrella of solutions within
their cloud platform. These solutions are easily accessible in trial account and for the above-
mentioned scenario, there is a service known as Internet of Things that in turn is a combination of
RDMS and MMS service. These are used to receive data and store in SAP CP Database. Architecture
of SAP CP like has been discussed in previous sections, and our thesis question has been answered
that SAP CP will interact with data in form of HTTPs request, there are other protocols also to facilitate
pushing data request, but HTTPs request suits the use case well, as these are secure with inbuilt SSL
Technologies to secure connections.
Now that data has arrived in our CP, next task is to visualize it. That has been made easy via use of
SAP WEB IDE and mapping of CP database destination. After making sure that OData written in XS
Engine is available, next important thing to cover is making UI5 Apps. For that JavaScript, XML, and
SQL scripts were understood to make sure that end users feel at ease while using these apps.
69 | P a g e
4.3 SAP Cloud Integration Platform
Another major Challenge encountered during the course of thesis was integration with backend ERP
system. Before working on cloud integration option, solution was to view data in UI5 front end app
by making an app. This was a stand-alone solution that adds limited value, but in order to realize full
potential of Internet of Things, Integration with backend ERP System was highly desired.
Therefore, project also covered ways to send data to the backend ERP System to implement full end
to end implementation. HANA Cloud Connector was used to connect SAP HANA Cloud Platform
(Having IOT Table) to S4 HANA (Latest ECC Business suite, used for various Business Transaction). Use
case could be to trigger a Business Application Programming Interface (BAPI) and perform certain
transaction like creating purchase order or creating service incident.
Tessel platform with climate modules tells about one of the application of IoT, application that can be
used for operations maintenance within a plant. Using the knowledge of Business processes in Plant,
Plant maintenance notification seems to be the ideal transaction to trigger based on climate sensor
data. In order to create such transactions in backend system, connection was first needed to be
established between backend S4 and SAP CP System.
S4 HANA has various options for deployment. Three most common
1) S4 on the cloud, where its sold as infrastructure as a service. Business pays for services that are
used.
2) S4 on premise is most common choice for huge data volumes where customization is also
required and not standard solution is not enough.
3) S4 HANA on-premise in Amazon Cloud is another choice that are used for test environment and
for development without having huge data bottlenecks.
Our S4 HANA deployment is the third one. Nevertheless, since customers can have various other
possibilities we had to search for all best solutions possible.
a) For S4 HANA Cloud edition, replicating data is easier, as we dont need to install middleware.
Cloud connectivity from both ends take care of all security aspects and tunnel is not needed to
be set up.
b) In case of S4 HANA on premise edition, we need to have HANA Cloud connector (which is
nothing but Process Integration, PI in cloud) that is installed on S4 HANA server and then SAP
HCP is connected via ODATA and HTTPS protocol using reverse proxy tunnel. With HANA cloud
connector RFC is also supported to connect backend ABAP Systems. This can be easily illustrated
in a diagram.
70 | P a g e
Figure 31 Layout of SAP HANA Cloud Connector
71 | P a g e
Lets discuss other use case in warehouse management. IoT also has the potential to change
Warehouse management, provided we configure sensor to count specific items and send data if safety
stock level is reached, after receiving the data we can perform all sorts of activities that have been
discussed before.
IoT can also help in the last mile delivery concept for courier services, again by measuring different
parameters we can be sure to find most optimum route and have more control from the time package
has been processed till the time it reaches customers hand.
IoT and SAP has the potential to change the world we live in. With each passing day, its application
seems to increase.
There are variety of sensors in the market, and most of them are smart sensors. Its easy to imagine
these sensors helping measuring variables and making communication with them easier after
consolidating their data in a common database.
Applications are enormous, combination of IoT along with machine learning and predictive analysis
can open new horizons. IoT seems to be the future transactional data (that is monitored consistently
and is automated) whereas machine learning seems to be the future analytical solution that analyses
with minimal human aid. Future therefore is near as compared to what had been expected and its
applications are only limited to enterprise, but can also impact our daily life.
IoT applications can be categorized under distinct categories including Machine to Machine
communication (M2M). Business to Business Communication (B2B), Business to Consumer
communication (B2C) and even Consumer to Consumer Communication (C2C). Possibilities are
endless, and its just a matter of implementation to bring the next revolution.
72 | P a g e
Applications are not only limited to services sector, manufacturing industries and/or corporate offices,
but also covers smart homes and smart cities. Image below depicts use cases with smart homes where
all electrical/electronic appliances are controlled and operated using a smartphone that sends and
receive control messages from these devices.
Smart cities is another huge concept that has IoT as the fundamental technology.
By 2020, 30% of smart cities ambient care applications related to, for example,
medical/healthcare/nursing care. Including proactive care will have introduced smart machines and
robotics in nursing care and medical facilities.36
Cities have a way to go before they can be considered geniuses. But theyre getting smart pretty
fast.37 CIOs are concentrating more and more on smart cities, and their focus is full automation.
Government agencies also wish to have such control which could allow them easy and efficient
governance. Citizen will be sharing information like their medical record, transport route, activities
and all such details via sensors that can aid governance. This is a full fledge topic on its own, and with
successful completion of prototype, Aequitas AG has decided to have one more thesis topic related
to smart cities that utilize efforts conducted in this thesis.
36
Quoted from: (Gartner, 2017)
37
Quoted from: (Totty, 2017)
73 | P a g e
4.4.1 SAP Leonardo
At SAP's Sapphire Now conference in Orlando, CEO Bill McDermott unveiled a newer Leonardo that
integrates machine learning, IoT, analytics, and blockchain.38
SAP is in the midst of a step-by-step platform revamp for a new generation of enterprise
businesses. At Mobile World Congress in February, the company rebranded its Platform-as-a-Service
(PaaS) offering as "SAP Cloud Platform" with a host of new tools and services Opens a New
Window.. Today, at the company's Sapphire Now conference in Orlando, SAP rolled out new
applications and services around blockchain, the Internet of Things (IoT), and machine
learning Opens a New Window.(ML).39
In the broader context of digital innovation, it quickly becomes clear that topics like the Internet of
Things, machine learning, blockchain, analytics, artificial intelligence, and Big Data often need to be
viewed in combination: This is the key to creating a framework for harnessing the latest digital
breakthroughs. As well as technologies, services, and applications, the SAP Leonardo portfolio
includes design thinking methodologies, data intelligence tools, benchmarking, and more. And to
speed up time to value for customers, SAP offers SAP Leonardo accelerator packages that are
tailored to specific industries and core functions, such as IoT.
There is a distinction here between ready-made applications powered by SAP Leonardo (like SAP
Service Ticketing), and the micro services and APIs (like the SAP Streaming Analytics micro service)
that run on SAP Cloud Platform to help customers and partners integrate SAP Leonardo capabilities
into their own applications. The SAP Streaming Analytics micro service analyses incoming data
streams and responds individually to them. SAP Service Ticketing powered by SAP Leonardo, uses
machine learning capabilities to analyze incoming service tickets by content and to forward them to
the correct processing agent automatically.
The SAP Leonardo Centers form a global network of interconnected locations designed to serve as
points of contact for established companies and startups seeking inspiration for digitalization projects
and collaborative innovation. Initial prototypes and pilots can be created here as part of the SAP
Leonardo accelerators. SAP Leonardo Centers are already operating in New York and Paris; further
centers in So Leopoldo, Brazil, and Bangalore, India are at the planning stage.
SAP has stepped ahead of the long battle between best ERP giants with its Leonardo offering.
Leonardo is an umbrella of solution consisting of software and micro services that enable customers
to leverage future-facing technologies like the Internet of Things, machine learning, block chain,
analytics, and Big Data. This is just like SAP S4 HANA, as S4 HANA provides optimized integrated
business processes in one suite, Leonardo provides future facing technologies under one umbrella
and has an objective of minimizing app development time frame to six to eight weeks. As shown in
screenshot below.
38
Quoted from: (Tech Republic, 2017)
39
Quoted from: (Fox Business, 2017)
74 | P a g e
Figure 33 SAP Leonardo40
40
Image copied from: https://blogs.sap.com/2017/08/12/sap-leonardo-concept/
75 | P a g e
5. Conclusion & Recommendation
Requirement Analysis is a crucial part of any project, and IoT is no different. Before the start of the
project most important milestone is to make sure what has to be monitored and acted upon. What
are the variables that can impact process? Based on these models a device has to be selected. Then
again that is a huge topic of discussion because of the vast variety of products available. Some of the
factors that can help us in deciding which one to go with are:
1. Cost: Sensors are generally cheap, even smart sensors. But in any real-life project amount of
sensors required are huge. Industrial plants on average have around 1000 sensors, and therefore
the investment cannot be ignored.
2. Ease of use and development: Some devices available in market are comparatively easier to use
and develop. For e.g. Tessel is built on JavaScript which is widely used with HTML in web
development. Finding resources who can program in JavaScript would be easy task, and
therefore such platforms will always be preferred in comparison to others that uses not a well-
known language.
3. Support provided: With any product, support provided by the company selling it matters. It
matters even more when clients are buying at such mass level, so a company that goes an extra
step to ensure its customer satisfaction can also have an upper hand in selling its sensors.
4. Precision of data: IoT is heavily dependent on the precision of data, normally devices present in
market tell about its precision with a certain degree of uncertainty. This value could be used as
a rough value to make sure that measured quantity can have limited amount of uncertainty
without changing outcomes drastically.
5. Protocols used to transfer data: Protocols to transfer data is also a factor, since SAP accepts few
formats, care should be taken to trigger APIs from amongst those fixed formats.
76 | P a g e
one view to another, fields therefore have to be converted appropriately, for navigation to other view
to work.
Usually creating OData service over a column view which is the result of stored procedure is a better
option as it gives more control related to data selection that is displayed on the UI5 app, we can always
filter out data using where and group by clause in SQL statements and our front end is not over
burdened with huge record set.
Similarly, when creating OData service from SAP backend system, care needs to be taken while
choosing navigation property and key fields. It is possible in OData to have referential constraint on a
field other than the key field and this flexibility should be decided wisely.
In our Case Sensor dataset entity had timestamp as the key field but referential constraint in
navigation property was based on notification number.
UI5 app are based on JavaScript and XML code. Therefore, before starting, one should not only know
the syntax of these languages but also its practical use and all concepts associated with them.
At the end, our end architecture looks what is depicted in the picture. From Devices, we have data in
Cloud platform, on which UI5 app is made, that consumes IoT data and backend transaction creation
using multiple OData service. By such consumption, backend is synced with OData creation.
Figure 34: Layout of IoT service
41
41
Image copied from https://blogs.sap.com/2017/07/31/iot-4.0-on-leonardo-for-next-gen-business/
77 | P a g e
Executive Summary
Potential of Internet of Things has been predicted by several renowned magazines including Gartners,
Forbes and Business Insider. IoT has the potential to change business processes in all industries, and
therefore objective of the thesis was to bring theory to practical use and check feasibility of such IoT
solutions for industries. Objective also covered, budgeting and time to realization factor so that future
clients can be given a comprehensive overview even before the start of the project. After illustrating
the objective, problem statements and research methodology were stated to clearly identify
challenges and approaches to solve them.
Having a clear aim in mind, chapter 2 discussed theoretical concept. At the start, fundamentals related
to IoT were covered spanning over three important topics including;
Keeping use case in mind, different hardwares and software components were selected after
presenting reasoning of each selection. It was then concluded that Tessel device along with climate
module would be used as a smart device and SAP Cloud Platform along with HANA Cloud Connector
and SAP S4 on premise edition will be used to achieve full end to end integration.
1. Climate module installed on Tessel device would send data to cloud platform using program
written in node.js and pushed on the device.
2. Selected data from SAP Cloud platform will be presented in a UI5 app using OData source created
in XS Engine.
3. UI5 app would have two views, first view would have two controls.
4. One control for displaying daily averages in form of graph, whereas the control below it will show
individual records. User would have an option to click on these records.
5. When a user clicks on these record, display would be re-routed to the second view that in turn will
have data from two OData sources.
6. First OData source would be like that consumed in first view, instead it would be focusing on the
individual clicked record, and second OData source would be from SAP S4 backend system.
7. OData source from backend system is responsible registering new notifications along with
individual and specific sensor data records, and responsible for getting these records.
8. If notification for a record is not generated, user would have an option on the second view to
create a new notification using the button given.
Process flow can best be illustrated in a technical architecture diagram that also provides
communication protocol used during various stages of integrated end to end architecture. For further
details, regarding end to end process please refer to section 3.5.
78 | P a g e
As illustrated in the figure, Sensor data from Tessel device is fetched using IoT inbuilt service APIs.
Data is exchanged over WIFI or USB Connection, and it is stored in HANA database (Which has been
binded to the service). HANA Database procedures and SQL scripts are then used to fetch selected
data, and database procedure is then called using OData service created with the help of XS Engine.
Purpose of this rapid prototyping was to bring IoT related skills in house, and to explore vast options
of use cases that were possible. Several research questions related to smart sensors, IoT cloud
Platforms, backend integration options were answered during the project.
Benefit of the project was focused on developing skill-set in such new areas of technology and to make
sure that rapid prototyping is possible and that it can be furnished upon client request. Furthermore,
demonstration with one sensor can be easily scaled up too many sensors as SAP Cloud Platform, SAP
HCC and backend HANA Systems are fully capable of it. This in turn is the added advantage for the
concept of smart cities that Aequitas AG will start to work on soon.
79 | P a g e
References
Ahrens, D. (2014, 10 July). Making Sense of The Internet of Things. STARS.
Colucci, P. (2015, September 29). SAP Official Blogs. Retrieved from How does SAP UI5 work:
https://blogs.sap.com/2015/09/29/sapui5-for-dummies-what-is-it-and-how-does-it-work/
Dr. Ovidiu Vermsen & Dr. Peter Friess. (2014). Internet of Things - From Research and Innovation to
Market Development. River Publishers, 18-19.
Dr. Shawn DuBravac, F. b. (2015). Internet of Things: Evolution or Revolution. AIT White paper, p. 3.
Dr. Shawn DuBravac, F. b. (2015). Internet of Things: Evolution or Revolution. AIT White Paper, p. 6.
Fox Business. (2017, May 16). SAP Debuts Blockchain, IoT, Machine Learning Tech at Sapphire Now.
Retrieved from Fox business features: http://www.foxbusiness.com/features/2017/05/16/sap-
debuts-blockchain-iot-machine-learning-tech-at-sapphire-now.html
Gartner. (2017, March 27). Smart Cities Look to the Future. Retrieved from Smarter with Gartner:
http://www.gartner.com/smarterwithgartner/smart-cities-look-to-the-future/
Gartners. (2016). Top Strategic Prediction for 2017 and Beyond. In Surviving the storm of winds of Digital
Disruption (p. 2).
GSMA . (2014, July). Executive Summary. In GSMA, Understanding the Internet of Things (p. 1). GSMA
Associated.
Hunter, L. (2017, June 17). Orielly.com. Retrieved from The smartest way to program smart things:
Node.js: https://www.oreilly.com/ideas/the-smartest-way-to-program-smart-things-node-js
John A. Stankovic, L. F. (2014). Research Directions for the Internet of Things. IEEE, 2.
Kien, M. A. (2014, May 11-14). Security and Privacy in the Internet of Things: Current Status and Open
Issues. IEEE, p. 4.
Kumar, J. S. (2014, March). A Survey on Internet of Things: Security and Privacy Issues. Department of
Computer Engineering, SVNIT, p. 21.
Magazine, IoT: Forbes. (2013, May 13). Forbes Magazine. Retrieved from Forbes :
https://www.forbes.com/sites/jacobmorgan/2014/05/13/simple-explanation-internet-things-
that-anyone-can-understand/#9ebf8411d091
Olga Kharif. (2016, October 24). The Internet of things. Retrieved from Bloomberg Quick Take:
https://www.bloomberg.com/quicktake/internet-things
80 | P a g e
Oracle. (2015). Oracle Internet of things Cloud Service. Retrieved from Oracle Help Center:
https://docs.oracle.com/en/cloud/paas/iot-cloud/iotgs/oracle-iot-cloud-service-main-features-
overview.html
Ray, P. P. (2017). A Survey of IoT Cloud Platforms. Future Computing and Informatics Journal, 6-7.
Ray, P. P. (2017). A Survey of IoT Cloud Platforms. Future Computing and Informatics Journal, 4.
SAP AG (IoT Documentation). (2017). SAP Help Portal. Retrieved from SAP Cloud Platform Internet of
Things for the NEO Enviornement:
https://help.hana.ondemand.com/iot/frameset.htm?4ab3521d055f41e9bce8837d4abbc09d.ht
ml
SAP AG. (2015). SAP HANA Implementation & Modeling. In S. AG, HA300 (pp. 236-285).
SAP AG. (2015). SAP HANA Introduction. In S. AG, HA100 (pp. 71-91).
SAP AG. (2015). SAP UI5 Developer Guide. In S. AG, SAP UI5 Developer Guide for SAP HANA (pp. 1-244).
SAP AG. (2016). Features of Cloud Foundry and Neo. In SAP Cloud Platform CP100 (p. 56). SAP.
SAP AG. (2017). SAP Cloud platform Build. Retrieved from Create enterprise apps your users love with
SAP Cloud Platform Build: https://cloudplatform.sap.com/capabilities/ux/build.html
SAP AG. (2017). SAP Cloud Platform Training Manual. In o. SAP, SAP CP Training Week 2 Unit 2:
Applications (p. 3). SAP.
SAP Cloud Platform. (2017). SAP Cloud Platform Overview and Details. Retrieved from Overview:
https://www.sap.com/products/cloud-platform.html
SAP HANA Tutorial. (2015). SAP HANA Tutorial. Retrieved from SAP HANA Tutorial:
http://saphanatutorial.com/sap-hana-cloud-platform-overview/
SAS The power to know. (2017). The Internet of Things: Marketing Opportunities & Challenges. White
Papers (Technology Research for Business Professional), 1.
Symantec . (2015). Overview. In M. B. Wuesst, Insecurity in Internet of Things (p. 3). Symatec.
Tech Republic. (2017, May 16). SAP Leonardo embraces machine learning and IoT to prepare for the
future of digital enterprise. Retrieved from Tech Republic Innovation:
http://www.techrepublic.com/article/sap-leonardo-embraces-machine-learning-and-iot-to-
prepare-for-the-future-of-digital-enterprise/
Totty, M. (2017). The Rise of the Smart City. The Wall Street Journal, 1.
81 | P a g e
Table of Figures
Figure 1: Outline of Thesis Document .......................................................................................................... 6
Figure 2: IoT Statistics ................................................................................................................................... 7
Figure 3: Research Methodology Steps ...................................................................................................... 11
Figure 4:Progress Report as presented to Supervisor ................................................................................ 12
Figure 5: Project Timeline ........................................................................................................................... 13
Figure 6: Device to Device Communication Model..................................................................................... 16
Figure 7: Device to Cloud Communication Model ...................................................................................... 17
Figure 8: Device to Gateway Communication Model ................................................................................. 17
Figure 9: Device to Back-End Communication Model ................................................................................ 18
Figure 10: IoT Solution Architecture by Oracle ........................................................................................... 20
Figure 11: SAP CP Components & Services ................................................................................................ 21
Figure 12: Comparison of Several IoT Cloud Platforms .............................................................................. 22
Figure 13: End-to-End Architecture ............................................................................................................ 24
Figure 14: features of SAP Cloud Platform ................................................................................................. 25
Figure 15: Deployment options of SAP Cloud Platform .............................................................................. 27
Figure 16: SAP Cloud Platform Architecture ............................................................................................... 28
Figure 17: Comparison of Neo and Cloud Foundry .................................................................................... 29
Figure 18: Architecture of IoT Service in SAP CP......................................................................................... 30
Figure 19: Architecture of SAP HANA Database ......................................................................................... 31
Figure 20: Architecture of UI5 Apps............................................................................................................ 34
Figure 21: Ui5 Apps look and feel ............................................................................................................... 34
Figure 22: Cost Associated with front end development in various stages................................................ 36
Figure 23: Architectural diagram of SAP Hana Cloud Connector and Backend System ............................. 39
Figure 24: Architecture of RDMS Service for IoT in SAP Cloud Platform .................................................... 45
Figure 25: Tessel sending reading ............................................................................................................... 65
Figure 26: SAP UI5 app table view .............................................................................................................. 65
Figure 27: SAP UI5 App Details View with two before creating notification .............................................. 66
Figure 28: SAP UI5 app details view after creating notification ................................................................. 66
Figure 29: view of Ztable with Notification and Sensor Data ..................................................................... 67
Figure 30: Tcode IW21 with notification created from SAP UI5 App ......................................................... 67
Figure 31 Layout of SAP HANA Cloud Connector ........................................................................................ 71
Figure 32: IoT Full Scale Application .......................................................................................................... 72
Figure 33 SAP Leonardo .............................................................................................................................. 75
Figure 34: Layout of IoT service .................................................................................................................. 77
82 | P a g e
List of Abbreviations Used
SAP Systems Applications and Products.
PI Process Integration.
SAP HCP HANA Cloud Platform (Previous name of SAP Cloud Platform).
SQL Scipt Collection of extensions of SQL statements that are used specifically with HANA.
DB Database
IW21 Transaction Code in SAP ECC System for creating Plant maintenance Notification
Ztable Customized table created that is not part of the standard SAP Solution
83 | P a g e