You are on page 1of 32

openSAP

Extending SAP Products with SAP HANA Cloud


Platform
WEEK 1, UNIT 1
00:00:13

Hi and welcome to the course Extending SAP Products with SAP HANA Cloud Platform.

00:00:19

My name is Rui Nogueira. I'm working in the SAP HANA Cloud Platform product management,
and I will be your instructor for this course.

00:00:27

The course will consist of four weeks plus one week for the final exam.

00:00:32

In each week, there will be a number of videos similar to the one that you are watching now.

00:00:38

At the end of each video, there will be also a self-test helping you to measure your progress.

00:00:43

And at the end of each week, you will have weekly assignments.

00:00:48

These assignments are graded, and you earn points towards Record of Achievement.

00:00:53

We also have an online forum where you can collaborate with fellow students, as well as ask
questions.

00:00:59

Finally, you can expect it will take you a half day effort to complete each week in this course.

00:01:06

To be able to follow all of the units of this course properly, you should have already walked
through the openSAP courses Introduction to SAP HANA Cloud Platform as well as Next
Steps in SAP HANA Cloud Platform.

00:01:19

So now let's start with week 1 where we'll look into the overall setup for SAP Cloud product
extensions and the typical extension scenarios.

00:01:29

We're going to stress as well on some key aspects to keep in mind when considering
extensions.

00:01:36

In unit 1 of this week, we will look into the SAP HANA Cloud Platform solution portfolio of
services and technologies which are leveraged to extend SAP products.

00:01:47

So, let's first look into what a cloud service is at all.

00:01:51

A cloud service is actually either hardware or software provided to you as a service and
accessible via the Internet at a monthly fee.

00:02:01

And as such, there are three main cloud service models that you can distinguish.

00:02:07

The first one is the infrastructure-as-a-service model, where you get things like virtual
machines, servers, storage, and other infrastructure pieces.

00:02:16

One critical aspect here is that although preinstalled it's up to you to manage, monitor,
operate, update, and further administrate the resources which you lease from your cloud
vendor.

00:02:28

Your cloud vendor will typically cover aspects like physical security, power redundancy,
storage redundancy, and disaster recovery.

00:02:37

However, it's up to you to put all the available resources in good use and power a highly
available and scalable solution on top.

00:02:46

At the other end of the stack, you have the software-as-a-service model. You get solutions like
e-mail, a CRM system,

00:02:54

virtual desktops, online games. Some good examples here are, for example, Google Mail,
Microsoft OneDrive or SAP Cloud for Customer.

00:03:03

In the middle, leveraging the infrastructure and powering the cloud solutions, there is the
platform-as-a-service model.

00:03:10

This model actually provides both services for developers and a delivery channel for operators
to run their cloud products.

00:03:19

It provides features like execution runtimes, databases, development tools, Web services, API
management, security infrastructure, monitoring, and so and so forth.

00:03:30

This is where the SAP HANA Cloud Platform resides.

00:03:34

As the course progresses, we'll show you how to use the SAP HANA Cloud Platform to extend
other SAP solutions based on the software-as-a-service delivery model.

00:03:45

Let's now see what flavors does HANA Cloud Platform come with.

00:03:50

The HANA Cloud Platform currently provides three packages that you can use.

00:03:55

The first package is the HANA Infrastructure Services package that allows customers and
partners who have already a HANA license to run SAP HANA in the cloud.

00:04:06

In case you don't have an SAP HANA license yet, as a customer or partner you can use the
SAP HANA DBServices that provides exactly that on top of the Infrastructure Services.

00:04:18

In case you want to develop and deploy applications in the cloud, you can use the SAP HANA
AppServices,

00:04:24

which is the package that we will also use in the course and the one that is also used in the
free developer account that you're all already using.

00:04:33

It's important to note that all sample extension applications we'll be talking about in the course
will explicitly require an SAP HANA Cloud Platform AppServices account.

00:04:45

Trying to run the samples on a standalone SAP HANA installation or pure HANA DBServices
instance (hosted either by SAP or a partner) will not work.

00:04:55

But there are different options how partners get access to SAP HANA Cloud Platform accounts
and resources.

00:05:01

You can browse, for example, the Partners tab of our hcp.sap.com site to get more details.
Let me show you that quickly in the browser.

00:05:10

So you just go to hcp.sap.com. Just...to see the link better: hcp.sap.com.

00:05:20

And you see here the 1, 2, 3, 4, 5 tabs here you can select.

00:05:26

You get an overview. You have also here an overview for the developers how to get started.

00:05:31

And you have, as I just said and talked about, the Partners tab here.

00:05:37

And it actually also shows you here how you can leverage the PartnerEdge program and the

Startup Focus program.


00:05:46

to get started and use the SAP HANA technology.

00:05:54

But let's go back to the presentation.

00:06:01

Here it is. We'll also discuss the different partner delivery options later on during this course,
so you will hear much more later on.

00:06:13

In essence, the SAP HANA Cloud Platform is evolving in three main directions.

00:06:20

On the one side, it's a general-purpose platform-as-a-service product, enabling developers to


build completely new cloud solutions and deliver them using the SaaS model.

00:06:31

SAP itself has built a number of those, for example, SAP Mobile Documents, Financial
Services Network and SAP Precision Marketing.

00:06:41

There are as well a set of very interesting on-premise extension scenarios that the SAP HANA
Cloud Platform covers.

00:06:51

You typically extend an existing solution running in your data center behind a firewall with a
custom extension in the cloud.

00:06:59

In such a scenario, your data remains safely stored in your data center, while your cloud
extension connects to your on-premise system via a secure tunnel.

00:07:08

This enables companies to leverage their data in order to address new markets or provide
more flexible services to their consumers, partners, and suppliers.

00:07:18

So if you have already a large investment in on-premise systems, and you'd like to continue to
make use of it,

00:07:24

this scenario provides you with a safe transition path to leverage the benefits of the SaaS
model while still keeping tight control over your data.

00:07:36

The last but not least scenario we call cloud extensions.

00:07:41

You can use the platform to extend existing solutions running in the cloud with custom
extensions running on SAP HANA Cloud Platform.

00:07:48

In that scenario, your extension application is integrated with an existing productive solution,
providing seamless user experience.

00:07:58

This is also the scenario we'll be focusing on during this whole course.

00:08:03

So, let's look into some technical aspects and the development model behind this scenario.

00:08:12

When developing extensions for SAP products with the SAP HANA Cloud Platform, in most of
the cases those extensions are colocated in the same data center like the SAP product.

00:08:24

This means that latency between the extension and the SAP product is not an issue.

00:08:31

Due to the tight integration between the SAP product and the SAP HANA Cloud Platform, end
users will perceive extensions as native product modules, and have a seamless user
experience.

00:08:42

This integration allows also to use manage the extension you are building by using all the
authentication and authorization capabilities of the SAP product you want to extend.

00:08:53

This also allows administrators to have a seamless experience in the management of the

extensions as an integral part of the product they are responsible for.


00:09:05

Looking into the development model for such extensions, as a customer of an SAP product in
the cloud, you can create your own extension application using SAP HANA Cloud Platform.

00:09:17

You can also purchase certified partner extension apps or run hybrid scenarios where you
customize a partner extension app to your needs.

00:09:28

For a cloud extension scenario, it is essential that you are able to ensure consistency on all the
various levels.

00:09:37

An important aspect of consistency you need to ensure is data consistency.

00:09:43

Most probably, you have already existing systems in your IT landscape being it SAP or 3rdparty on-premise systems or 3rd-party cloud solutions.

00:09:53

In many cases, it turns out that data has to be managed across multiple different systems. For
that purpose, there is SAP HANA Cloud Integration.

00:10:03

SAP HANA Cloud Integration is SAPs on-demand, cloud-based integration platform to


integrate SAPs cloud applications

00:10:11

with other applications that run either on the cloud or on premise.

00:10:17

SAP HANA Cloud Integration is part of the SAP HANA Cloud Platform offering, and is also
tightly integrated into it.

00:10:25

That means SAP HANA Cloud Integration is based on the technology of the SAP HANA Cloud
Platform and uses services offered by this platform,

00:10:34

such as the identity service for user management and authorization and, of course, the
database to store the data.

00:10:43

SAP HANA Cloud Integration supports two main scenarios in one product: the real-time, bidirectional process integration and the scenario for data integration.

00:10:54

The most important capabilities of SAP HANA Cloud Integration are graphical integration flows
and mappings, a centralized monitoring and administration environment

00:11:05

as well as prebuilt adapters for the seamless integration with other SAP and 3rd-party
applications.

00:11:12

Most of these integrations can be done via open standard technology, but often also need to
be integrated via proprietary communication protocols.

00:11:23

The integration flows (or iFlows) are a graphical representation of the message flow between a
sender application and the receiving systems.

00:11:32

This graphical representation shows all the different steps required to integrate the processes
and data between the connected systems via SAP HANA Cloud Integration.

00:11:43

The graphical notation is based on the standard BPMN from the standards organization OMG.
BPMN stands for Business Process Model and Notation.

00:11:53

So if you already know the BPMN notation, you'll feel very familiar to model the configuration
of a message flow also in SAP HANA Cloud Integration.

00:12:03

In the context of cloud extensions, the most typical scenario where HANA Cloud Integration is
used is to keep user profiles in sync across on-premise and cloud systems.

00:12:16

The same patterns can, of course, be applied for other business objects as well.

00:12:22

Another important aspect when extending an existing solution is the consistent user interface
and the user experience.

00:12:30

SAP HANA Cloud Portal is a service in the SAP HANA Cloud Platform portfolio. It's a cloudbased portal solution, based on the OpenSocial standard.

00:12:40

It allows fast and easy portal site creation, while at the same time maintaining a rich palette of
available widgets.

00:12:49

As every other platform service, Cloud Portal is using a number of services from SAP HANA
Cloud Platform in order to provide consistent experience to end users.

00:13:01

By leveraging the OpenSocial standard, developers have the opportunity to easily expose
widgets, which are reusable in multiple different contexts.

00:13:10

It's as well possible to combine generic widgets delivered with the product with widgets
delivered with one of the installed extensions, and position all of those on a common portal
page.

00:13:23

In the context of cloud extensions, the SAP Cloud Portal service has the key role to provide
consistent user experience across the native product and the installed extensions.

00:13:35

By proxying all the calls, Cloud Portal applies a common header, footer, background, and
enforces the color scheme configured in the extended solution.

00:13:45

In addition, it comes with out-of-the-box support for mobile consumption. By having the user
interface defined in multiple pages and composed out of widgets,

00:13:56

it provides customers with the opportunity to customize the extensions they either build on
their own or purchase from the SAP HANA Marketplace.

00:14:07

With those capabilities, it's suitable for all B2E, B2B, or B2C scenarios.

00:14:17

In the overall extension picture, SAP HANA Cloud Platform plays the role of a dedicated and
isolated secure application container for Java and HTML5 apps.

00:14:27

The platform provides API-level access to the extended solution, and

00:14:32

at the same time, takes care of the lifecycle management and the initial configuration of the
extension applications.

00:14:41

By leveraging all the available platform services, extension apps will have single sign-on
configured with the extended solution.

00:14:50

The permissions and roles for the extension application are managed inside the extended
solution.

00:14:58

In those cases where the extended solution doesnt come with an embedded identity provider,
we use the SAP ID Service Enterprise as part of the package.

00:15:08

In any case as you also learned in former SAP courses around the HANA Cloud Platform
customers are free to use their own identity provider of choice.

00:15:20

Typically, every cloud solution comes with certain customization capabilities.

00:15:24

Depending on the technology stack, this might vary from full-fledged customization for existing
business objects,

00:15:24

through the creation of custom business objects up to generating native user interfaces based
on the customized objects.

00:15:40

Some of the SAP technology stacks allow implementation teams to even do some simple
coding, which is then executed natively as part of the customized product.

00:15:52

Independent on how feature-rich the extended solution is,

00:15:56

in addition, the HANA Cloud Platform enables building pretty much any scenario, which could
as well interact with any system being it on premise or in the cloud.

00:16:09

A major part of the picture is the so-called SAP HANA Marketplace.

00:16:13

It closes the loop between partners providing extensions in the product ecosystem and
customers who are eager to get additional value from their systems.

00:16:23

The SAP HANA Marketplace is embedded in the majority of SAP Cloud solutions, supporting
the evolution of a partner ecosystem around the corresponding product.

00:16:35

Once there, it as well enables installation of free trial versions for selected partner extensions.

00:16:44

So, let's now recap what did we learn in this unit.

00:16:48

We've briefly passed through the three main scenarios supported by the SAP HANA Cloud
Platform

00:16:55

and the cloud extensions scenario that we'll focus on in this course.

00:17:01

We discussed the different SAP HANA Cloud Platform technologies involved enabling partners
to provide rich and functional solutions to the joined customer base.

00:17:12

We've learned as well how to ensure data consistency among cloud solutions and other 3rdparty cloud or on-premise solutions with SAP HANA Cloud Integration.

00:17:23

We've also looked at the importance of consistency in the user interface in order to delight the
end users with SAP HANA Cloud Portal.

00:17:31

Last but not least, we've looked into the importance of the HANA Marketplace as the media for
discovery and distribution of SAP and customer extensions.

00:17:42

That's all for this unit. See you in the next unit where we'll talk about the SAP Cloud products
portfolio.

00:17:49

Thanks a lot, bye-bye.

WEEK 1, UNIT 2
00:00:14

Welcome to week 1, unit 2 of the openSAP course Extending SAP Products with SAP HANA
Cloud Platform.

00:00:21

In this unit, we will be looking into SAP Cloud products portfolio and some standard extension
scenarios around it.

00:00:28

As we already discussed in unit 1, SAP HANA Cloud Platform will play the key role of a secure
application container for Java and HTML5 apps,

00:00:36

making sure that extension applications are having no negative impact on the critical extended
products.

00:00:42

Lets now first take a look at the target groups for those extensions, and which products can be
extended that way.

00:00:52

By leveraging SAP Cloud products, business units are cutting massively on the time previously
required for implementation projects of on-premise solutions.

00:01:02

From the very beginning, all the product core capabilities are there and are constantly kept up
to date with regular updates.

00:01:08

By taking over the responsibility for running the solutions, SAP ensures that no customers are
left behind

00:01:15

running old versions of the software, and that all customers are getting a steady flow of new
features and innovation.

00:01:22

Using the SAP Cloud solutions is as easy as using a standard Web browser. And companies
that allow their employees to bring their own device

00:01:30

enable their employees to interact directly with business systems and allow them to be
connected at any time they want.

00:01:38

You've all already created yourself an SAP HANA Cloud Platform developer account. You've
experienced that it's just a few-clicks exercise.

00:01:46

Getting a trial or developer account for some of the SAP Cloud products is a very similar
experience.

00:01:52

Of course like with SAP HANA Cloud Platform having an account is not the goal, but only
the beginning of the journey. Once you have it, you have to configure all the specifics of your
business so that the solution fits best to your needs.

00:02:06

A recent study by the Carbon Disclosure Project estimated that by leveraging cloud solutions,
large companies could cut their carbon footprint by 50% by 2020.

00:02:16

This is achieved by consolidating large infrastructure setups in highly efficient data center
facilities operated by specialized vendors.

00:02:26

Now, let's take a brief look at the major differences of running on-premise software compared
to the software-as-a-service delivery model.

00:02:37

In the past years, on-premise software has provided customers with a lot of control for IT
teams to enable consistency across the entire company.

00:02:46

Customers have the ability to be fast and flexible in meeting the demands and requirements
from their lines of business.

00:02:53

Whenever necessary, it was possible for customers to extend, customize, and even
reimplement significant portions of the delivered on-premise solutions.

00:03:02

At the same time exactly due to the multiple customizations adopting and moving to a new
version of the underlying software is significantly delayed in time for customers who went that
route.

00:03:15

This has multiple implications: The access to innovation is heavily delayed. Security fixes are
not applied.

00:03:24

And potential security vulnerabilities are left unpatched for years after the timely release of the
relevant security fixes.

00:03:32

Those are critical factors which many IT organizations neglect, and miss the opportunity to
provide modern up-to-date experience to their stakeholders.

00:03:43

The main difference with software as a service is the as a service part. With on-premise
products, IT teams are fully empowered to act on issues,

00:03:52

starting from the electricity generator, moving through the hardware, network and system
setup, reaching to the final touches in the user interface customization.

00:04:03

Meeting particular service level commitments is primarily an organizational matter.

00:04:10

A software-as-a-service solution typically emphasizes on the fact that there is one code line
and a continuous flow of innovation with varying release cycles.

00:04:21

Meaning that the control is shifted to a large extend to the software-as-a-service vendor. As a
result, local IT teams do not have anymore control over the update schedules and the feature
sets.

00:04:33

As the same product is used by a large number of customers, adding customer-specific


features is not possible in an economically efficient way.

00:04:43

But is that really such a critical issue?

00:04:47

Well, indeed: The lack of control and governance is a serious problem when software-as-aservice products get adopted in enterprise environments.

00:04:55

This goes as high as being the No. 1 concern for adopting cloud services in a recent KPMG
study on the Barriers to Cloud Adoption with 48% of the respondents choosing that.

00:05:08

In fact, when speaking to SAP sustomers what we see is that they have tailored their onpremise SAP systems to meet their business process specifics and demands.

00:05:19

This allows them to be flexible to changing market conditions.

00:05:23

For example, adopting local tax regulatory changes is usually done first with in-house
development.

00:05:32

The corresponding resources are doing it in a fast way and according to company schedules
and plans.

00:05:39

Even beyond the regulatory frame, many IT teams are faced with various requirements for
country-specific adaptations,

00:05:48

new prototypes, and generally increasing the efficiency in the company by minimizing wasteful
activities.

00:05:56

And the most important point is that lines of business have a high expectation towards IT to

deliver on those requirements.


00:06:04

So whats the way out to give back the control to the corporate IT teams and enable them to
embrace and adopt cloud services?

00:06:13

In essence, we have to enable corporate IT teams to satisfy the needs of their respective lines
of business,

00:06:20

and at the same time leverage all the benefits from using SaaS products.

00:06:26

SAPs strategy in this space is to expand the integration capabilities of its Cloud products
portfolio by investing in three primary directions:

00:06:36

Open APIs, hundreds of packaged business process integration adapters for SAP and other
3rd party solutions,

00:06:43

and end-to-end extensibility through SAP HANA Cloud Platform.

00:06:48

Through this approach, SAP evolves and opens up its entire portfolio.

00:06:55

Having a combination of software as a service and platform as a service in the same data
center offers several advantages:

00:07:02

First, you get extremely low latency while maintaining the same high level of data protection
and security standards.

00:07:09

You get smooth and seamless integration. You can use application containers, allowing you to
implement pretty much any scenario on top of the SAP software-as-a-service solutions.

00:07:21

You also get smooth data synchronization and replication with other back-end systems using
platform-as-a-service integration capabilities like the SAP HANA Cloud Integration.

00:07:32

You can redefine the user experience to best fit the scenarios, devices, or environment which
the lines of businesses require.

00:07:41

By leveraging these advantages, this allows customers' IT teams to build or redefine the
default functionality of the software-as-a-service products.

00:07:49

And hence also still have control over the services they provide to their corporate lines of
business, and use their internal and external development resources to constantly improve.

00:08:02

This very same approach also pushes customer IT teams to closely monitor the different new
features released by SaaS vendors for upcoming API improvements and new features,

00:08:12

which the IT teams can leverage to provide their company with new innovations.

00:08:19

Lets now take a look at what are the different SAP Cloud product lines.

00:08:25

SAPs cloud portfolio is the most comprehensive on the market today. With more than 36
million users already, it is designed to provide all of the new possibilities of cloud computing to
our customers.

00:08:37

At its center, it's a set of public cloud applications and cloud suites. These provide line-ofbusiness applications in the cloud that give customers the ability to manage their core
business

00:08:48

with increased agility, while bringing them SAPs best practices and more than 40 years of
business process management experience.

00:08:59

Spanning across SAPs portfolio is a set of business network applications for business-to-

business collaboration as well as social applications for people-to-people collaboration.


00:09:09

The SAP HANA Marketplace is also the store through which customers can purchase
ecosystem innovations that run standalone or extend their SAP applications.

00:09:21

This unified cloud strategy brings together the most comprehensive portfolio of cloud services
that gives our customers choice and flexibility

00:09:29

from line-of-business applications and suites to solutions enabling business-to-social


collaboration, to an application platform for building extensions to managed services tailored to
specific customer needs.

00:09:43

Let's look at some concrete examples of such extensions.

00:09:48

In every company, there are scenarios or specific business processes which make it unique.

00:09:55

Another option is that this is triggered by different geographies.

00:09:59

Company Car Management, for example, is a solution which is relevant to Western Europe
due to the tax frame, but largely inapplicable for Asia or North Americas.

00:10:09

In any case, once a decision is taken to implement it as a process, it won't take long before this
challenge lands on the desk of the corporate CIO.

00:10:19

Global Health and Safety on the contrary is a solution which fits quite well in Americas, but due
to the different health insurance policies cant be used 1:1 without further customizations.

00:10:31

Last but not least, we could look at IT Inventory Management. It's clear that any organization
with more than 100 people where procurement is a dedicated job function,

00:10:42

would require a system to manage all the assets obtained and make sure that warranty claims
and recalls are handled properly and in a timely manner.

00:10:51

There are countless examples for such scenarios, all sharing one common characteristic:

00:10:56

They're not part of the standard product. And with a team of capable developers, all of them
can be implemented.

00:11:03

And there are much more of such scenarios around extending SAP Cloud solutions.

00:11:08

Actually on the next slide, the first link will provide you with information about more SAP Cloud
solutions.

00:11:16

This will help you to think about additional extensions to cover scenarios specific to your
company.

00:11:23

You can also get additional information around the SAP data centers let me just show that to
you here on the browser. So you can find it under sapdatacenter.com. You see the link here on
the top:

00:11:36

sapdatacenter.com. All the details around our data centers, security, capabilities, etc.,

00:11:45

so that you have a better understanding and feeling how these data centers look like.

00:11:57

More details on the SAP cloud strategy are outlined in the referenced whiteboard session.

00:12:04

And you're of course encouraged to explore the cloud community in the SAP Community
Network, and check the materials provided by SAP employees, SAP mentors, and application
development partners.

10

00:12:16

So for wrapping-up this unit, let's see now what we have learned.

00:12:21

We've explored the lack of control dilemma that corporate IT teams have when dealing with
software-as-a-service solutions.

00:12:28

And we've looked into the SAP solution for it the combination of tightly integrated SaaS and
PaaS offerings.

00:12:37

We've looked at the large SAP Cloud solutions portfolio and as well at some typical
nonstandard scenarios, which partners are already building on top of it.

00:12:47

So thanks a lot for listening and see you in the next unit where were going to talk about one of
the most important risks as perceived by CIOs: data security and privacy.

00:12:58

Thanks a lot. See you in the next unit.

11

WEEK 1, UNIT 3
00:00:13

Welcome to week 1, unit 3 of the openSAP course Extending SAP Products with SAP HANA
Cloud Platform.

00:00:21

In this unit, we will be looking at one of the most critical risks when dealing with cloud
solutions: data security.

00:00:29

Why is it so different when dealing with a software-as-a-service application compared to


running software in your own data center?

00:00:35

Did software suddenly become much less secure compared to on-premise environments?
Let's take a look at some aspects to better understand the topic.

00:00:45

Risks are all about perceptions. Typically, everything you don't control, you consider being a
risk.

00:00:53

We've discussed in the previous unit the issue with loss of control by IT teams when dealing
with software-as-a-service applications.

00:01:00

IT teams effectively lose control over a number of layers. This starts with the physical security
of the facility hosting the servers.

00:01:09

Next layers are the hardware, the network, and reaching to the point that they have no
overview of the cloud provider staff and level of access everybody has.

00:01:19

Finally, there is also no direct control over how customer data is handled when managed by
software-as-a-service providers.

00:01:28

Given that 86% of the Global Fortune 500 companies are SAP customers,

00:01:33

it's not a surprise that 74% of the world's transaction revenue touches an SAP system.

00:01:40

This means that there must be quite some critical data in SAP systems and on the other hand
customers rely on SAP software run their business.

00:01:49

For example, SAP analytics tracks more than 6 billion U.S. stock trades per day to identify
frauds and protect investors.

00:01:58

All that critical data, combined with the fact that software-as-a-service systems are typically
accessible directly over the Internet

00:02:05

data security and stability are naturally a top priority for IT teams responsible for those missioncritical systems.

00:02:14

In many cases, extension scenarios will require access to confidential data stored in existing
SAP systems.

00:02:22

Being the number one priority for SAP, the aim to protect customer data covers the extension
applications and, as well, the underlying technical foundation.

00:02:32

SAP HANA Cloud Platform is ISO 27001 certified, satisfying all the operational and
organizational requirements in order to deal with critical data.

00:02:43

This covers the physical security of the facility, as well as the organizational measures and
also to the application-level security that SAP provides.

00:02:54

We have to set the expectations right from the very beginning. Although running in a secure
container and being cleanly isolated from the underlying SAP solution by open APIs,

12

00:03:05

you must trust any system which you grant access to your critical data.

00:03:10

Once you've granted access to the SAP system, extension applications become part of the
solution with all security requirements attached to that.

00:03:20

As confidential data is flowing through extension applications, they have to be properly


secured, tested, and follow secure programming principles.

00:03:30

Moreover, extension applications effectively expand the SAP cloud solution trust boundary,
which requires them to ensure that no confidential data gets compromised

00:03:40

and no malicious code flows in the system. Let's take a look one level deeper.

00:03:49

The SAP HANA Cloud Platform provides the so called application sandbox.

00:03:53

It hosts an isolated instance of a cloud application, which has its own configuration,

00:03:59

runs on a well-separated platform account, and implements one or more custom business
processes, which might require access to confidential data.

00:04:09

As a rule, access to critical data shall always go only through the available open integration
APIs.

00:04:16

They enforce user-specific, role-based permissions for accessing data.

00:04:22

Permissions are typically set on an object level and define allowed operations.

00:04:27

SAP HANA Cloud Platform is tightly integrated with the administration of the extended solution
in order to manage the life cycle of extension applications.

00:04:37

This includes installation, removal, configuration, and other related operations.

00:04:44

The platform as well adapts to the underlying infrastructure by providing role and permission
checking, theming, and branding.

00:04:53

In that sense, SAP HANA Cloud Platform defines an abstraction layer over the extended
solution, which allows developers to focus on the particular extension business scenario,

00:05:03

rather than dealing with certificates, credentials, and transport-level encryption.

00:05:09

Let's again go one level deeper.

00:05:15

First step to secure an extension application is to enable single sign-on configuration.

00:05:21

As you've learned in one of our previous openSAP courses, SAP HANA Cloud Platform
supports the SAML 2.0 protocol.

00:05:28

Once enabled, this means that only users with a valid and active account in the corresponding
underlying system will be able to authenticate and access an extension application.

00:05:39

SAP HANA Cloud Platform enables extension applications to access SAP Cloud system APIs
on behalf of the logged in user.

00:05:49

From application perspective, it's as easy as using a destination from the connectivity service,

00:05:55

while the user identity is propagated underneath using OAuth access tokens.

00:06:03

Although being a good first step, single sign-on coupled with identity propagation alone is not
sufficient.

00:06:10

As we have individual customers with more than one million users alone, it's essential to also

13

enable adequate authorization, groups, and permissions.


00:06:21

Checking permissions is done at two levels.

00:06:25

SAP HANA Cloud Platform exposes the standard servlet API to verify whether the current user
is in a certain role.

00:06:32

When calling the extended solution APIs, the role-based permission layer is accessed and
does additional field-level authorization checks

00:06:41

and ensures that the current user has the permissions to access the requested data and
eventually, as well, modify it.

00:06:49

This is also enabled by default for all custom business objects which are created in the
extended solution.

00:06:58

Audit tracing is an essential part of the security concept for extension applications.

00:07:03

In most of the SAP cloud solutions, this is done on the level of API clients.

00:07:09

Every extension application is provided with a dedicated API client to access extended solution
APIs.

00:07:16

This allows customer administrators to have low-level control to manage and audit all the
operations performed in the system by an extension application.

00:07:28

We'll look at that aspect in more details during week 2 of this course.

00:07:32

Last but not least is the API throttling, ensuring that no extension application will overwhelm
the underlying extended solution.

00:07:41

Throttling works by limiting the number of parallel calls allowed per API client and per tenant in
parallel.

00:07:49

Throttling is enabled by default for all SAP cloud solution APIs to ensure their stability.

00:07:57

All those measures, combined with the underlying platform infrastructure, provide a stable
frame for securely extending SAP cloud solutions.

00:08:05

Let's look at some other aspects involving secure data processing.

00:08:12

While data security is definitely important and perceived as one of the key risks when moving
to the cloud, another critical aspect is the handling of personal data.

00:08:22

The recent NSA revelations pushed many countries to get active and revise local regulatory
frames for managing and storing personal data of citizens.

00:08:33

Some examples here are countries like Brazil, Canada, Singapore, and, as well, all the
countries in the European Union.

00:08:40

All of those have a strict set of rules and practices, which cloud service providers need to stick
to when dealing with personal data.

00:08:49

A reasonable question is: What qualifies as personal data?

00:08:55

According to the EU regulatory frame, I just quote here.

00:09:00

Personal data is any data related to a living individual which alone or in conjunction with other
information will allow identifying the individual.

00:09:12

The majority of the data stored, for example, in SAP for People apps fits in that frame.

14

00:09:19

As extensions for Human Capital Management will most likely require access to customer
personal data,

00:09:28

they must follow the data processing principles defined in the corresponding regulatory frame
for their respective markets.

00:09:36

The list of practices could easily fill in a course on its own, so let's just look at some basic
principles for proper handling of confidential and personal data.

00:09:48

Failure to follow those principles might compromise or expose confidential data.

00:09:55

Data at rest is an IT term referring to inactive data which is stored physically in any digital
form.

00:10:02

It doesn't matter whether that's a file, database, archive, or long-term backup.

00:10:09

It complements to the data in use and data in motion terms, which together define the three
states of digital data.

00:10:18

While at rest, confidential and personal data must be stored encrypted.

00:10:23

Typically, strong encryption methods like AES, RSA, or SHA-256 are used.

00:10:31

You can as well consider encryption at multiple levels, for example, encrypting the physical
storage and, as well, enabling database encryption on top.

00:10:41

As important as data encryption is for handling confidential data,

00:10:46

it would be useless in case encryption keys are not properly handled or are stored next to the
encrypted data.

00:10:53

That would be similar to locking a door from the outside and putting the key under the floor
mat.

00:10:59

As such as personal data processing regulations are concerned, personal data should not
leave the SAP data center facilities.

00:11:08

In that sense, using popular consumer-grade cloud services for file synchronization across
different devices is not an option

00:11:15

and should not be used when working with customer-owned personal data.

00:11:20

Recently, many cloud vendors started reevaluating their practices for transferring data across
their different data centers.

00:11:27

This clearly involves increased costs, as encryption comes with higher CPU consumption on
the back-end side.

00:11:35

The estimation of one of the major public e-mail providers is that switching from unencrypted
HTTP to SSL-enabled HTTPS

00:11:44

would require 30% additional load balancer CPU capacity in order to meet the same volume of
users.

00:11:52

SAP's position on that point has been clear from the very beginning.

00:11:57

SAP's security standard mandates that customer data in motion must be transported only via
securely encrypted channels.

00:12:05

Last but not least, as an extension provider, you must properly handle any piece of data which

15

you get as an input.


00:12:13

It's only a matter of time before your extension application faces a SQL injection and cross-site
scripting attacks.

00:12:20

Dealing properly with those is, as well, part of the SAP security standard.

00:12:26

Let's take a look at some useful sources of more information on the topic.

00:12:32

In case you haven't done so already, it makes sense to use the link you've learned about in the
previous unit and explore the security compliance of the SAP data centers.

00:12:43

You can as well learn about the efforts which SAP is putting in developing the most secure
enterprise solutions

00:12:49

to help ensure the security of your business operations.

00:12:54

In the overall setup described in the course, it's assumed that you have already a SAML 2.0
compliant identity provider.

00:13:01

This can come from SAP or from any other vendor.

00:13:05

Some of the SAP products like SuccessFactors already include a SAML IDP as part of the
product package.

00:13:13

Last but not least, you can explore some more tips about protecting personal data.

00:13:00

To recap: What did we learn in this unit?

00:13:24

We've learned the concept of an application sandbox and what features it provides to
extension applications running inside of it.

00:13:32

We've looked at the importance of having API-level isolation with tight access control.

00:13:39

We've discussed the benefits of single sign-on between an SAP solution and its extensions
and finally,

00:13:47

we've looked at the identity propagation concept implemented in HANA Cloud Platform.

00:13:52

At the end, we've explored some basic concepts and, as well, tips for dealing with personal
and confidential data.

00:14:00

While this for sure is not an exhaustive list, it provides the basics which you can start building
on.

00:14:08

Having said that, I'd like to thank you for watching.

00:14:11

In the next unit we'll explore the variety of different API types which SAP solutions expose for
extensibility.

00:14:20

That's all. Thanks a lot. Bye-bye!

16

WEEK 1, UNIT 4
00:00:13

Welcome to week 1, unit 4 of the openSAP course Extending SAP Products with SAP HANA
Cloud Platform.

00:00:21

We've learned in the previous unit that extension apps are running on SAP HANA Cloud
Platform in a secure application sandbox,

00:00:28

relying on API access to the extended SAP cloud solution.

00:00:33

As the majority of the APIs you'll be dealing with are based on REST or OData, we'll explore a
bit the specifics of the two technologies.

00:00:43

The W3C organization defined Web service to be a software system designed to support
interoperable machine-to-machine interaction over a network.

00:00:55

While service-oriented architecture (or, in short, SOA) was still hip to talk about,

00:01:00

most of the large companies out there had lots of ideas on how the Web service paradigm
should evolve going forward.

00:01:07

Due to that, there are tons of WS-* standards today, which have limited adoption.

00:01:13

HTTP turned into the de facto standard Web service transport protocol and XML was the
leading serialization format because

00:01:22

it was simple, both human and computer readable, and, as well, machine verifiable.

00:01:29

To strengthen that, Web Services Description Language (or WSDL) was introduced,

00:01:35

allowing Web service client generation and specifying anything you could possibly imagine
pushing through your Web service API.

00:01:44

Shortly after, RESTful Web services started popping up

00:01:48

and Plain Old XML (or POX) became a practical evolution which developers used, although
there is no formal POX specification.

00:01:58

But what's really the difference among those?

00:02:02

A primary design approach with REST is that the HTTP protocol verbs are used to define the
semantics of the performed operation.

00:02:09

For example, if you execute a GET request to http://hcphost/app/Orders, you're most likely to
receive a list of all the orders.

00:02:20

In case you fire a DELETE request to http://hcphost/app/Order/1234assuming you have the


authorization

00:02:28

you're going to delete the order with the specified ID: 1234.

00:02:34

In contrast, SOAP discards all of the HTTP verb semantics,

00:02:38

stating that the only reasonable HTTP method is POST and there is only one entry point URL
to deal with.

00:02:46

With every call to a SOAP API, you're making an HTTP POST call to the same URL, passing
over an XML document in the body.

00:02:54

The operation to be performed is defined in the XML body.

17

00:02:58

This is how typically Remote Procedure Calls (or RPCs) are implemented.

00:03:04

POX, in turn, is a practical combination between the two.

00:03:08

It combines the semantics of using Plain Old XML over HTTP with REST-like URLs.

00:03:15

Due to the XML syntax, it retains all the benefits of having a machine verifiable API, while at
the same time being much simpler and easier to consume.

00:03:24

Let's look at some of the constraints of the different approaches.

00:03:29

We're going see that having a constraint is actually a good thing.

00:03:34

As a starting point, we consider POX to be the most flexible approach, using verifiable XML
input combined with RESTful URLs.

00:03:43

This will be the starting point for our comparison.

00:03:46

Such a service will typically use HTTP verbs to define the operation, while at the same time
specifying operation specifics in the payload XML.

00:03:58

If you make the next step to a pure REST service, this means that all resources must be
explicitly reflected in the URL structure

00:04:06

and that all operations are constrained by the HTTP verbs.

00:04:11

As we have a number of administration REST APIs exposed in the SAP cloud solutions, we're
going to look at that in more details later on.

00:04:21

Atom is an XML-based format defined on top of REST resources.

00:04:26

It allows software programs to keep track of Web site updates and determine what particularly
was updated.

00:04:33

The Atom feed typically contains fragments, metadata, links, etcetera, which one can get with a
simple HTTP GET call.

00:04:43

Finally, OData is an extension to the AtomPub protocol, adding additional aspects like
metadata, common format for the payload,

00:04:53

and well-defined query parameters like filtering, paging, and additional functions.

00:04:58

Let's now take a deeper look at the REST protocol and what tools are out there for
experimenting with it.

00:05:07

REST is a client-server protocol, which is very suitable for scenarios not requiring any
transactions.

00:05:14

There are some key REST principles:

00:05:18

Give every thing an identifier, link things together, communicate statelessly without a
session,

00:05:25

and use standard HTTP methods to express the performed operation.

00:05:30

GET, POST, PUT, and DELETE are used as the basic CRUD operations. CRUD stands for
create, read, update, and delete.

00:05:39

Due to the HTTP semantics, a REST protocol will leverage multiple caching mechanisms
coming from the underlying network layer.

18

00:05:48

For example, in case resources support properly the respective HTTP headers for last
modification,

00:05:56

they become cacheable at multiple different levels.

00:06:00

Having no API state doesn't mean that an application cannot have a state.

00:06:05

In most scenarios, REST mandates turning the state into a resource state or maintaining it on
the client.

00:06:13

This allows having extremely scalable clustered architecture on the server side

00:06:18

without having to invent a complicated session replication mechanism to support client


consistency across multiple calls.

00:06:26

Let's look at a practical example with a tool we're going to use to explore a REST API.

00:06:34

We're going to look at a simple REST service example using a Google Chrome browser
extension called Postman.

00:06:40

It's a free tool that enables exploring any RESTful Web service out there.

00:06:46

In case you have another tool for exploring REST APIs, please feel free to use that one
instead. The principles behind such tools are all the same.

00:06:55

I'll show here how to do that with Postman. First of all, let's first get Postman, and you get
Postman in the Chrome extensions store. Let's go there.

00:07:07

So I switch over to Chrome. I just create here another tab.

00:07:12

And below you see here this little icon for Apps. That's what I click on.

00:07:19

Okay. These are the apps that I have currently installed, so Postman is missing.

00:07:24

So I go here to Window>Extensions.

00:07:29

Okay. Chrome is boo-ing me out because I don't have any extensions yet. That's something
we will change.

00:07:37

So we click here on browse the gallery.

00:07:41

And I will look for Postman REST Client. Just increasing the size.

00:07:51

So this is what we are looking at. I will click here on the button Free.

00:07:58

I will confirm that Postman REST Client can be added. And voila, it's there.

00:08:06

Going again to the list of extensions...okay. It's there and enabled.

00:08:15

So I just close this again.

00:08:18

I reload here this page with my apps. And I click on Postman.

00:08:26

Okay. So this is the user interface of Postman. And what we will do is we will provide Postman
with a URL to an API.

00:08:37

We will use the HANA Cloud Platform Deploy API to test this out.

00:08:43

And the link to that you can get via the HANA Cloud Platform Deploy API documentation,

00:08:52

which is provided in the slides here for this unit.

19

00:08:57

And we will need two things. First of all, we will need the link to the API, which is listed here.

00:09:08

As there is a placeholder for the landscape host, we will simply circumvent typing this in by
simply copying over the URL here of the documentation.

00:09:20

So we copy everything from https until the v1, leaving out the slash at the end.

00:09:27

So I copy then to my clipboard

00:09:31

and we'll put it here in the request URL. I paste it in here.

00:09:36

And the second thing we need to do is provide now the actual URL to the specific API.

00:09:43

So we will look at the Applications API here from the Deploy service,

00:09:48

which actually will give us a list of applications of our developer account that we will use here.
So I will just copy this over to my clipboard again,

00:09:58

post it here on the URL field...so just increasing the size so you can read it better.

00:10:06

And here it says v1/accounts/ and here is a placeholder for the account name.

00:10:12

To be absolutely sure we don't do any typos here, we just go to our HANA Cloud Platform
landing page and click on Log On.

00:10:24

We provide our user and the password to get to the cockpit.

00:10:33

And here at the top left you can see your account name. Here at the top left.

00:10:43

So I will just copy this, that's the account name.

00:10:47

In case you want to really type it in, be sure that you don't write trail instead of trial, so and i
switched.

00:10:57

We will just paste it here into the corresponding position, so where the account name is.

00:11:07

I paste it in here and here is my account/apps.

00:11:12

So we will now try...what happens if I click on Send?

00:11:17

Okay. Authentication is required, meaning that we have not provided that. We can either
provide now the credentials in here,

00:11:26

but of course it would be much easier and much more elegant if those credentials would be
already submitted here inside the tool.

00:11:35

So to do that, you see we get an Unauthorized error message here.

00:11:41

We click on Basic Auth for basic authentication and provide our user name in here.

00:11:49

So that's my user name, and I remove the trial at the end.

00:11:53

And I provide my password.

00:11:58

So that's actually the password for your HANA Cloud Platform developer account.

00:12:03

I click on Refresh headers so that the hash is generated containing all the information that is
necessary for authentication.

00:12:13

And now I click on Send. It's fetching data. Okay, and there it is.

00:12:18

So you see here that's the response we are getting.

20

00:12:21

So in my account I have one app, with this name, javamagazin,

00:12:29

And I see here, for example, it is built on the runtime version 2.41.8.

00:12:37

Also my account name, so all kinds of different metadata.

00:12:41

I would say if you want to simply play around with it, try out maybe other APIs from the HANA
Cloud Platform Deploy API

00:12:51

so that you can get a better feeling how to use this.

00:12:55

Going back to the presentation.

00:13:01

We've successfully sent now an API request to the HANA Cloud Platform Deploy API.

00:13:06

Now let's take a look at the OData APIs and see the difference what we have learned about
REST.

00:13:14

OData is often called the ODBC protocol for the Web. Why is that?

00:13:19

OData is an application-level protocol describing both data and the data model.

00:13:25

REST is an architecture style of defining a set of resources and how to manage them.

00:13:31

Typically, a client would be able to navigate through a REST API, as all the information
required to construct the URL for subsequent calls is available in the previous calls.

00:13:42

An OData client will start from the set of defined metadata and use filters to narrow down its
query.

00:13:49

It's important to distinguish when to use OData in designing APIs.

00:13:54

If your application has to perform CRUD on generic data, then OData is a good choice.

00:14:01

There is a major difference between applications using ODBC and OData.

00:14:07

Applications sending an ODBC query get raw data from a database.

00:14:12

The app needs to know how to interpret the data and the relations between the values so it can
provide the end user with a meaningful result.

00:14:20

The reason is: The data itself has no real semantics expressed in any way by the ODBC
protocol.

00:14:27

OData, in contrast, already provides semantic context in a machine- and human-readable way.

00:14:33

The complete object model and the relations between the objects are part of the OData API
metadata, which the protocol defines.

00:14:41

An application consuming an OData API has only to provide the information to the user in a
nice-looking way.

00:14:49

The starting point of an OData API is a fixed resource named $metadata,

00:14:55

which exposes all the details about the complete entity graph of the API.

00:15:01

It as well exposes properties like version, the entity relations, supported output format, and so
on.

00:15:09

As there is lots of semantics expressed with OData APIs, it's often used in consumer
applications to interact with various back ends using their services.

21

00:15:18

In fact, the majority of SAP cloud solutions naturally expose OData APIs for external clients to
interact with the data stored there.

00:15:28

OData defines a set of filter parameters like $select, $filter, $orderby, $top, and so on and so
forth,

00:15:37

allowing to narrow down the queries. Those can be applied on any query.

00:15:43

We're now going to look at some tools for exploring OData APIs and make some experiments.

00:15:52

XOData is one of the best available Chrome plug-ins for exploring OData APIs.

00:15:57

You can obtain a free trial version via the Chrome store and use it to quickly explore an API.

00:16:03

Again, like for the tool we've used to explore REST APIs, in case you have another tool for
exploring OData APIs,

00:16:10

please feel free to use that one instead. We'll use, for now here, XOData for this course.

00:16:19

So let's use the tool together.

00:16:23

So we will switch back again to Chrome and we'll just open a new tab here.

00:16:32

Go again to the extensions, so Window>Extensions.

00:16:37

And we will try to get more extensions.

00:16:42

And we are now in the Chrome Web store and we look for XOData and search for it.

00:16:51

Okay. we see here there is a trial version available to try out. So I will click on that.

00:17:01

Be sure that you are already logged in in Google so that you can download it.

00:17:06

I click now on Try Now

00:17:09

and here on Add to Chrome.

00:17:14

Okay. It asks me if it can XOdata. I will say yes.

00:17:21

Okay, it's already open and here I can even click on the link and launch the application.

00:17:29

Just putting this here in a way that you can read it better. Okay.

00:17:36

So what you actually see here is a publicly accessible OData metadata model.

00:17:45

You can select it here in XOData with a simple click here, for example. You see something,
another model, right?

00:17:55

Now if you want you can, as I explained before, also build queries.

00:18:01

So what I will do now is I will select the top 10 of the products available in this OData metadata
model

00:18:15

and click on Get Data. And here we are. So we received the top 10

00:18:21

and now I want to order it by, for example, name. So here are the filters. So I order it by name,

00:18:31

click again on Get Data, and you see now that the result is ordered by name.

00:18:39

And what you also see here on the URL that is created is the corresponding metadata provided
in the URL.

22

00:18:50

So we see here the $orderby and the $top=10. So with that provides the necessary metadata
to run those queries.

00:19:03

And if you want, you can also in this tool look into any other URL if you want.

00:19:11

So just go to Google, browse for OData examples,

00:19:17

paste in the URL here for those models, and at the end, as it also describes here in the tool,

00:19:24

ensure that the $metadata is put at the end so that you get all the metadata with the request.

00:19:32

So a very powerful tool. Again, if you have something else, just use it.

00:19:39

Okay, going back to the application.

00:19:44

We are now through with the OData API. Let's now switch to additional references you can
use.

00:19:51

A good starting point for more information around OData is always OData.org,

00:19:58

which provides materials and latest status on the ongoing OData specification efforts.

00:20:03

We've as well provided to you a list of free or trial tools available for exploring REST and
OData APIs.

00:20:12

Go forward and use or use other tools if you're more comfortable with.

00:20:17

Looking at the last one, as part of the partnership between SAP and Apigee, SAP HANA Cloud
Platform will offer an API management service.

00:20:25

In the meantime, you can use the chance to explore the public Apigee API Console preview
version.

00:20:33

So we are coming to the end. Let's see what we have learned.

00:20:38

We've discussed the basic principles of REST API design.

00:20:42

We've looked at what OData is and how the OData protocol is bringing value by combining
data and the metadata describing it.

00:20:51

We've looked, as well, at some free and trial tools for exploring REST and OData APIs.

00:20:58

With that, we are ready for the next unit where we will discuss the different SAP Cloud product
extension scenarios.

00:21:05

Thanks a lot. See you in the next unit.

23

WEEK 1, UNIT 5
00:00:13

Welcome to week 1, unit 5 of the openSAP course Extending SAP Products with SAP HANA
Cloud Platform.

00:00:19

In this unit, we'll be looking at the different supported extension approaches combining SAP
HANA Cloud Platform with the various customization options of the different SAP cloud
solutions.

00:00:29

One disclaimer to be made: Not each and every approach I'll show you here is supported by
each and every of the SAP cloud solutions.

00:00:37

So take that with care and don't make assumptions about the product you're already using.
We'll look at some concrete examples later on.

00:00:45

Typically, each of the discussed SAP cloud solutions allow redefining labels and fields in the
already rich and powerful application object model.

00:00:53

That object model is exposed via REST or OData open APIs, available for integration and
extensions.

00:01:01

In case that's not sufficient, for many SAP solutions you can create a limited number of custom
business objects and define the corresponding views for them.

00:01:10

Such custom objects typically get automatically exposed via REST/ or OData API.

00:01:18

For building more complex scenarios, SAP HANA Cloud Platform is THE default choice for
building an extension for any SAP cloud solution.

00:01:26

You can use either Java or HTML5 applications, combined with the underlying open API layer
and powered by the speed of HANA.

00:01:33

You have complete control over the screen and the user experience.

00:01:38

You can also choose whether you want to store your data in the extended SAP solution or in
the SAP HANA Cloud Platform.

00:01:47

In case you have to integrate with third-party cloud or on-premise systems, there are several
ways to achieve that:

00:01:53

The SAP solution already supports it, having an integration solution in-between,

00:01:59

or delivering the integration with the custom SAP HANA Cloud Platform Java extension
application.

00:02:05

Although possible to configure, it's typically avoided to directly call external systems out of
cloud solutions.

00:02:12

SAP maintains secure direct connections with guaranteed Service Level Agreements between
its own data centers.

00:02:19

However when communicating with public cloud services, there is no way around the public
Internet, which has hardly any SLA.

00:02:27

Let's now look into how those extension scenarios work in more detail.

00:02:33

The process for creating custom business objects varies.

00:02:37

In SuccessFactors this is done using the Metadata Framework (or MDF) directly within the
product by modeling the object in the native administration tools.

24

00:02:47

It's possible to define both processing rules, specify which screen is the newly created object
attached to, and so on.

00:02:55

What indeed is not possible is to run piece of code on the SuccessFactors server itself.

00:03:02

In contrast, SAP Cloud for Customer allows you to use the Cloud Applications Studio to create
custom modules which are then installed on the same stack as the SAP solution.

00:03:11

Typically, creating a limited number of custom business objects is included in the product
license.

00:03:17

A few examples for that which we've seen with existing customers:

00:03:23

Expanding employee profile attributes with complex campus-specific data, like building,
section, floor, room, cubicle, etcetera.

00:03:33

Adding company car information to employees. We're going to look at that scenario in more
details later on.

00:03:41

Simple forms which are either filled in or have to be confirmed by employees, like child birth
request, employment verification letter, and so on.

00:03:51

The specific aspect here is that all the data is stored in the SAP cloud solution and allows for
better management and consistency

00:03:59

by dealing both with the standard and the custom objects the same way.

00:04:04

When generating the solution user interfaces, the rendering engine doesn't distinguish
between standard and custom object.

00:04:11

Therefore, the result is a native-looking integration with the rest of the product.

00:04:16

Let's look into another integration scenario.

00:04:21

SAP cloud solutions come out of the box with hundreds of integration flows with third-party
solutions both on-premise and in the cloud.

00:04:29

Those can be combined with custom business objects, which we've learned about already,
filling up external data in there.

00:04:36

There are three typical integration scenarios which we see with customers.

00:04:41

Scheduled data synchronization between an SAP solution and an external system. Either of
the two can be in the role of a master system.

00:04:49

This typically goes when having a hybrid delivery model in line with one or more on-premise
systems.

00:04:56

Secondly, regularly trigger some action in the remote system.

00:05:01

Or the third option: Leverage data which resides in an external systemwithout replicating it
in order to render it inside the SAP cloud solution.

00:05:12

That's how you typically integrate functionality coming from other products on the market
without doing any adaptation or customization.

00:05:20

All of those are used already across the SAP product portfolio. That's how CRM objects are
imported in SAP Jam, allowing collaboration around them.

00:05:30

But what about the case when there is no external product to integrate or the provided

25

functionality does not fit the needs?


00:05:37

Well, there are cases where you need to implement a standalone module which covers a
particular business scenario.

00:05:46

The typical users of such scenarios are experts inside the company or even external
contractors.

00:05:52

In case all the required back-end services are in place, you can go for a lightweight HTML5
application on the SAP HANA Cloud Platform.

00:06:01

For HTML5 and Java apps, you have full control over the user experience and the back-end
integrations.

00:06:08

Those can go directly or be mediated by the SAP HANA Cloud Integration.

00:06:14

But you might ask, What about tighter integration in the business processes?

00:06:22

Yes, that's as well possible.

00:06:25

One way to approach the problem of users being distracted from constantly switching context
between systems

00:06:31

is to work on better integration of those systems in the standard business processes.

00:06:37

Some of SAP cloud solutions support redefining some of the process steps, handing over the
execution context,

00:06:44

maintaining data access, and providing a workflow control mechanism to an external system.

00:06:49

That way, you can plug additional steps in a process.

00:06:54

Some examples would be signing documents, archiving data, triggering additional approval
workflows, and the like.

00:07:02

What about the case where there is no suitable process to be customized or it's more
complicated than simply adding a few extra steps?

00:07:10

Let's look into that as well.

00:07:14

By building extension applications on SAP HANA Cloud Platform, you have the option to use
SAP Cloud Portal as your front-end layer.

00:07:23

The benefit of that approach is that you get the same native look-and-feel experience by
replicating the configured theme and branding from the original system.

00:07:33

This approach is very useful for implementing complete modules which will be used by large
number of users.

00:07:40

In such cases, it makes sense to integrate as much as possible in the everyday experience of
those users.

00:07:48

This approach is based on the underlying integration abstraction of SAP HANA Cloud Platform
with the underlying extended solution.

00:07:59

Speaking of user experience and dynamic theming, it's worth spending a minute on this.

00:08:06

It's a consistent expectation of users that when extension modules are installed in an SAP
solution, there will be no visible difference between the two.

00:08:14

That's what SAP HANA Cloud Platform is providing for a number of SAP cloud solutions.

26

00:08:19

Navigation integration is, as well, critical, contributing to the same user expectation.

00:08:24

Keeping a list of favorite links just in order to be able to do your job is a thing of the past, which
you should not continue in the 21st century.

00:08:33

Last aspect to consider is the usage of deep links into the extended SAP cloud solution.

00:08:39

For example, when you deal with an employee profile, make sure that when clicked, this goes
right into the employee profile inside SuccessFactors.

00:08:48

Or once an opportunity is opened into SAP Cloud for Customer, make sure that all the related
discussions, documents, and materials are available in a consolidated form.

00:09:01

It must not be the case that people would have to browse around three different systems to
gather the big picture.

00:09:11

So you can combine all the proposed extension options as needed.

00:09:15

Over time, we'll certainly identify more patterns of integration, especially when considering the
partner ecosystem forming around the SAP cloud solutions.

00:09:23

As a rule of thumb, always perform a feasibility study on the scenario you plan to implement as
an extension.

00:09:30

Discussing it either with your SAP contacts or technical experts will spare you hours of wasted
time.

00:09:37

We've seen a number of projects which are halfway done and require only this little additional
API feature to complete the scenario.

00:09:46

Having said that, whenever you go for extending a solution, try to stick only to the available
and documented APIs.

00:09:54

In case something works for you, most probably you can keep on using it, however

00:10:00

keep in mind that relying on side effects and indirect behaviors is a bad strategy in the long
run.

00:10:06

The majority of SAP cloud solutions are having weekly or biweekly release cycles. This makes
up to 20 to 25 releases per year.

00:10:18

So what did we learn in the unit?

00:10:21

We've looked at a number of different options on how to extend an SAP cloud solution.

00:10:26

Take the time to browse through them and try to identify the different target groups for each of
those approaches.

00:10:33

We've talked about the importance of consistent user experience and some key factors when
planning an extension implementation.

00:10:42

Okay, so that's it. In the next unit, we're going to explore the different options of finding an
extension application,

00:10:50

how it gets consumed, and what happens when you install it on your system. Thanks a lot, and
see you in the next unit.

27

Week 1, Unit 6
00:00:13

Welcome to week 1, unit 6 of the openSAP course Extending SAP Products with SAP HANA
Cloud Platform.

00:00:21

In this unit, we're going to explore the overall cycle of discovering extension applications and
what you can do with them once they're installed.

00:00:31

SAP HANA Marketplace is the main channel used to push extension applications to SAP
Cloud customers.

00:00:37

It's used both by partners and, as well, by SAP. You can explore it on
marketplace.saphana.com.

00:00:46

Alternatively, you can, as well, find it embedded inside SuccessFactors company


administration tools.

00:00:52

There, you only see the products which are relevant for the SuccessFactors domain.

00:00:57

SAP HANA Marketplace is incrementally getting integrated in all SAP cloud solutions as a
direct source to discover and install extension applications from.

00:01:08

For those of you interested in becoming an SAP partner, your future extension applications
could as well find their first customers through that same channel.

00:01:17

Let's take a look how that would look like.

00:01:22

As discussed, when exploring through the HANA Marketplace, you're seeing extension apps
for multiple different products.

00:01:30

Each of them has a product page on the marketplace, outlining the main highlights, scenario
description,

00:01:37

additional collateral like videos, screenshots, and so on,

00:01:41

customer testimonials, information about the vendor, and also pricing information.

00:01:47

There is, as well, a user-rating feature for end-users to write reviews about the app and rate it
accordingly.

00:01:54

In case you get to it through a particular product (for example, SuccessFactors Employee
Central),

00:02:00

then you're going to see only the condensed list of extension applications relevant to
SuccessFactors Employee Central.

00:02:08

This approach provides a unique opportunity for partners to position their apps in the right
context.

00:02:14

It is, as well, much more consumable for customers.

00:02:20

For selected partner applications, we provide the possibility to enable free automatic trial
installation for customers.

00:02:27

This enables them to explore and build first-hand experience with the features.

00:02:32

This is currently only available in the context-specific HANA Marketplace perspective.

00:02:38

Naturally, all trial extension apps are installed automatically and operated on SAP HANA Cloud
Platform. Sounds easy, right?

28

00:02:46

Let's take a look at what happens once you install an extension.

00:02:52

Having a trial extension requires that it's integrated with the underlying extended product.

00:02:57

All the required configurations are performed automatically once the application-specific terms
and conditions are accepted.

00:03:05

We see customers experimenting a lot with trial extension installations with their test systems
and prototyping how the end-to-end process of integrating the scenario would work for them.

00:03:18

For the majority of SAP cloud solutions, we provide an embedded administration module,
which integrates into the environment.

00:03:26

It provides basic features to manage the life cycle of installed extensions.

00:03:31

It as well provides a solution-specific view of SAP HANA Marketplace.

00:03:37

In addition to the basic administration, there are some additional features to manage different
UI widgets or static content which you roll out to your users.

00:03:47

We also offer a basic analytical view, providing some basic transparency on the usage of all
the installed extensions.

00:03:55

We're going to look at this in more detail in week 2 of the course.

00:04:00

One of the first questions we got when we rolled out the marketplace concept was, What
about customizations?

00:04:07

We would like to customize partner extensions for pretty much the same reasons we want to
customize SAP cloud solutions: They have to fit specifically to our business needs.

00:04:18

Let's see what's possible already.

00:04:22

SAP HANA Cloud Portal is used as the front-end layer for cloud extensions.

00:04:28

Being a full-fledged portal, it allows a great level of flexibility in managing the application's look
and feel.

00:04:35

The extension UI is typically organized in multiple pages, all of them containing multiple
OpenSocial widgets.

00:04:42

As you know, OpenSocial is a public specification defining the component model and container
APIs for Web-based applications.

00:04:51

It was initially developed by Google and MySpace, and is getting more popularity in the
enterprise space lately.

00:04:58

For each of the installed extensions, you can rearrange and further customize the different
pages as you need.

00:05:05

We've seen people rearranging content depending on whether their users are left-to-right or
right-to-left readers.

00:05:12

As we've already seen in the openSAP course Introduction to HANA Cloud Platform,

00:05:18

the SAP HANA Cloud Portal also provides a set of generic widgets, like URL widget, HTML
widget, document and video widgets, etcetera,

00:05:28

which practically gives you endless possibilities to customize the extension pages and include
additional content.

29

00:05:36

Not only you can customize, but, as well, all the OpenSocial widgets which are delivered with a
particular extension

00:05:44

become automatically available for reuse in other extensions in the context of the same
product.

00:05:51

Depending on the context, it's your decision whether an extension app will be accessible to the
complete user base of a particular product, or only to a selected group of users.

00:06:01

It's all great. You can get partner extensions installed, you can customize them at any level.

00:06:07

But what if there are still some pieces of the puzzle that you miss?

00:06:11

You need some small features which could easily be implemented, but are part neither of the
out-of-the-box product nor of the extension you've installed.

00:06:22

Are you then stuck to what you've got? Absolutely not. Let's see what you can do.

00:06:30

That's the point of time that you get out of the particular SAP cloud solution environment and
get into the SAP HANA Cloud Platform development tools.

00:06:39

With own development resources or external consultants, you can create an SAP HANA Cloud
Platform Java or HTML5 application,

00:06:47

define a set of OpenSocial widgets, and leverage them to further customize the extensions
you've already installed on your system.

00:06:55

We've looked into that already in the openSAP course Next Steps in SAP HANA Cloud
Platform.

00:07:01

In this course, we're going to apply that knowledge in week 3 and week 4 of the course
correspondingly for SuccessFactors and SAP Jam.

00:07:12

You can use all the knowledge and all the features you've seen to build completely new
extension apps directly on SAP HANA Cloud Platform yourself.

00:07:21

They will integrate with the underlying extended SAP cloud solution in the same way as the
partner extensions you're getting from the SAP HANA Marketplace.

00:07:29

In reality, this is how the extension story initially started: focused on customizations of
particular customer systems, mostly driven by custom development.

00:07:41

Over time, we've seen more and more great solutions which remained locked behind closed
door simply because they were done in the context of a customer project

00:07:50

and there was no whatsoever discussion how to make a product out of them.

00:07:54

This is where partners came into the mix and went that extra step to turn practical custom
solutions into profitable products.

00:08:03

So. Let's see what we have learned so far.

00:08:09

We've looked at the complete discovery cycle of SAP cloud solution extensions using SAP
HANA Marketplace.

00:08:16

We've browsed through the product details and what you can learn there and discussed the
matter of trial installations for extensions.

00:08:25

Once installed in your system, we've looked at what level of customizations you can perform
and how to start your own custom development project.

30

00:08:35

This is the end of week 1 of our course. By now, you have now some basic understanding of
the different scenarios to extend SAP cloud solutions and the underlying mechanics.

00:08:44

As well, you have some practical understanding about the security aspects around extension
applications and the open APIs which SAP is providing.

00:08:54

In week 2 of the course, we'll be going much deeper into an extension, learning what are the
building blocks it consists of,

00:09:01

and what are the involved processes around administration, operations, and troubleshooting.

00:09:07

Wish you a successful weekly assignment. See you in the next week and the next unit.

31

www.sap.com

2014 SAP SE or an SAP affiliate company. All rights reserved.


No part of this publication may be reproduced or transmitted in any form
or for any purpose without the express permission of SAP SE or an SAP
affiliate company.
SAP and other SAP products and services mentioned herein as well as their
respective logos are trademarks or registered trademarks of SAP SE (or an
SAP affiliate company) in Germany and other countries. Please see
http://www.sap.com/corporate-en/legal/copyright/index.epx#trademark for
additional trademark information and notices. Some software products
marketed by SAP SE and its distributors contain proprietary software
components of other software vendors.
National product specifications may vary.
These materials are provided by SAP SE or an SAP affiliate company for
informational purposes only, without representation or warranty of any kind,
and SAP SE or its affiliated companies shall not be liable for errors or
omissions with respect to the materials. The only warranties for SAP SE or
SAP affiliate company products and services are those that are set forth in
the express warranty statements accompanying such products and services,
if any. Nothing herein should be construed as constituting an additional
warranty.
In particular, SAP SE or its affiliated companies have no obligation to pursue
any course of business outlined in this document or any related presentation,
or to develop or release any functionality mentioned therein. This document,
or any related presentation, and SAP SEs or its affiliated companies
strategy and possible future developments, products, and/or platform
directions and functionality are all subject to change and may be changed by
SAP SE or its affiliated companies at any time for any reason without notice.
The information in this document is not a commitment, promise, or legal
obligation to deliver any material, code, or functionality. All forward-looking
statements are subject to various risks and uncertainties that could cause
actual results to differ materially from expectations. Readers are cautioned
not to place undue reliance on these forward-looking statements, which
speak only as of their dates, and they should not be relied upon in making
purchasing decisions.

You might also like