You are on page 1of 7

00:05:32

As well as any of the services. There are OData services as well as the XSJS
services.
00:05:39
All of these are documented here and runnable.
00:05:43
And then we have all of the SAPUI5 applications sorted here as well.
00:05:52
So again, any of the content that you see us doing throughout all the weeks and any
of the content you do in the exercises
00:05:57
is here for you installed already in the system that you will get from the
Developer Center.
00:06:02
So, this just reviews � there is a slide in here showing you much of what Rich just
showed you in the system.
00:06:07
Just give me a little highlight of everything we are going through, and actually I
think you will find that
00:06:12
in the SHINE content you will even find demos that we don't have exercises for.
00:06:17
So, there's even more content than what we cover in all the exercises in this
course.
00:06:21
So, it's designed to be a learn-on-your-own page by studying examples and source
code kind of tool.
00:06:28
This is also be the data model that we will be using. We will be working with this
purchase order.
00:06:33
Primarily purchase orders and business partners. I think even if you weren't that
familiar with ERP,
00:06:39
purchase orders and sales orders and things like that, employees � that is
something that we can all pretty easily understand.
00:06:44
So, it's a simplified data model but yet it has enough fields and enough
relationships to be interesting.
00:06:51
Now, the final part of this is an exercise document. So what we have is a Word
document.
00:06:58
We are really with the Word format. You will get a PDF document.
00:07:01
But it's broken down to follow the structure of the course. So what you will see
here, there's major sections
00:07:08
that correspond to the weeks and the units that have system exercises to go along
with them.
00:07:14
Inside each of these, we always start off with one page that will describe what you
are going to be doing in this week or unit.
00:07:22
So, just from a very high level saying, now you are going to go create a project
00:07:26
or now you are going to create a service that does this.
00:07:30
But then, in the subsequent steps it really shows you completely step-by-step
exactly what to do and what to type.
00:07:39
It has links to where you can go to get the templates because there are many times
that there are source code templates
00:07:47
so you can cut and paste, so you not having to retype everything
00:07:51
or watch the videos and pause them and type from them. The idea is this document,
you know,
11
00:07:55
you can watch the videos to get a high level understanding of how to do the
exercises
00:07:58
but then really you go this document to follow along doing these exercises in a
system.
00:08:05
The other thing that I want to point out here is that in many cases, if you look at
this structure here,
00:08:11
now let me just go ahead and look at, let's say, Week 2 Unit 4.
00:08:16
What we've included in Week 2 Unit 4, for instance, you have Creating an Attribute
View and Creating an Analytic View.
00:08:23
That was actually from the introductory course. And then we have the new exercises
that are part of this intermediate advance course
00:08:34
for creating a decision table, a calculation view, and a graphical calculation
view.
00:08:39
Now when we do our demos, we are only going to show you the new exercises.
00:08:42
You can of course go back to the first course and watch the videos of the previous
exercise.
00:08:46
But what we want to do is give you all the exercises from both courses in line of
this document.
00:08:51
So you can really see the complete flow and it keeps us from having to repeat a lot
of the basic steps, you know.
00:08:58
How to create a project, and how to create a procedure. We can jump right in to the
advanced techniques.
00:09:03
You can still do all the steps, and maybe you didn't even go to the first course.
00:09:07
Maybe you've learned the basics on your own or by studying the help documentation,
or whatever.
00:09:13
And this makes for a nice review so that we're all on the same page when we start
getting into some of the more advanced topics.
00:09:24
So that really takes us through to the end of this week.
00:09:30
Now we are going to be able to get into the system and get started using some of
these tools in the subsequent units in this week.
12
WEEK 1, UNIT 3
00:00:12
Okay, welcome back to Week 1. This is Unit 3.
00:00:16
We�ll talk a little bit about the XS Administration Tool and access control topics.
00:00:21
So, there is two types of files that we knew when we create an application in HANA.
00:00:28
One is the application describer file or the .xsapp file which really controls the
access to that particular package within the system.
00:00:39
So it marks the web content root of your application.
00:00:44
So this is a must-have. You must have this file in order for your applications to
be exposed to the outside.
00:00:52
So, you also have the application access file, which is .xsaccess which exposes the
web content and sets� allows you to set the authentication method and other types
of configuration as well.
00:01:10
We also have a new administration tool which allows you to customize or do
additional configuration to the xsaccess file.
00:01:20
So, let�s just say, for example, SAP ships an application with a standard .xsaccess
file and you want to overwrite some of those particular configuration settings.
00:01:33
You can do this with the administration tool.
00:01:38
So, let�s go ahead and take a look in the system. And first, let�s take a look at
the .xsaccess that we have in the SHINE content, in epmNEXT.
00:01:48
You can see here, I have several configuration settings done here. One is the
exposed value here.
00:01:56
If I want it to hide a particular application for a period of time, I can switch
this to force.
00:02:03
And that would make that application not available.
00:02:06
We also have an authentication item here which controls how the user authenticates
to the application.
00:02:13
Whether it�d be a log-on ticket or a basic authentication or a form-based
authentication which gives the end user a log-on screen, a web page.
00:02:25
We also have an authorization tag here which allows you to leverage xsprivilege
files
00:02:33
as well as things like prevent_xsrf which we�ll talk about later in the, in one of
the subsequent weeks.
00:02:43
So, let�s take a look at the admin tool.
00:02:48
So, the admin tool here allows me to, again, overwrite some particular
configuration within the .xsaccess file without actually modifying that file.
00:02:59
So this configuration that is done here is actually stored within the database in a
set of configuration tables as opposed to overwriting or changing the .xsaccess
file itself.
00:03:13
And, for example, let�s just say, over here, I want to force SSL or change this
configuration option.
00:03:20
I have to go over here and click this pencil. And that signifies� it�s changed to
an X now, and
13
that signifies that this particular configuration item is being overwritten,
00:03:33
not necessarily that I have to check it on and off here is what changes it but that
is the actual value, so the X over here actually shows that the value is being
overwritten.
00:03:42
And in this case it is showing as a blank here but I can, of course, change this to
a check mark.
00:03:51
Also on the Authentication here, we have several different authentication types
that we support.
00:03:58
So say for example, we want to overwrite this. We could simply choose X509 � sorry,
click the pencil � and choose X509.
00:04:07
And click Save and then this would overwrite any configuration that was done in the
xsaccess file itself.
00:04:16
I�d probably add there, that we also see some of the more advanced authentication
techniques, and the other thing the XS Admin Tool does is not necessarily a
developer feature �
00:04:27
but if you come over here you can see that for administrators this is also where
they would go to set up the Trust Manager to import certificates and to do the same
old configuration.
00:04:37
So for the more advanced authentication techniques you need more options than the
ones you can just set in an xsaccess file.
00:04:45
And this is also the tool that where you do that. Just make everyone aware, like I
said, more of a system admin type activity but this is where it�s done as well.
00:05:00
So again, some additional features with regards to the administration tool. We�ll
talk about several of these as we move forward in the various weeks.
00:05:09
Anonymous connections, cache control, cross-site request forgery or XSRF, MIME
mapping, rewrite rules, application authorization.
00:05:19
And we are not going to cover everything that�s possible within this configuration,
within the xsaccess or the admin tool for that manner.
00:05:28
But all these types of things are documented fully in the Developer Guide which you
can find at help.SAP.com.
00:05:36
Thanks for joining us for Unit 3.
14
WEEK 1, UNIT 4
00:00:12
Welcome back to Week 1, Unit 4. In this unit we want to talk more about some of the
new tooling that we have in SAP HANA native development.
00:00:22
Specifically the HANA Application Lifecycle Management tool and how that we can do
application lifecycle management in general.
00:00:30
So, this is usually the tool where you would start when you have a whole new
project. So appropriate, since we are going to start into our exercises here soon.
00:00:39
We�ll go ahead and will use what we�ll learn from this unit to be able to start our
exercise project.
00:00:46
Now first of all, in general, let�s talk about application lifecycle management.
What do we mean by that?
00:00:53
When we refer to application lifecycle management we really mean the process of
transporting your changes between your different types of HANA systems.
00:01:02
So, you probably have a HANA development system and maybe you have another system,
that�s your quality assurance or your test system and then finally you have your
productive system.
00:01:13
You make all of your changes in your development system and then when they get to a
point where developers finished with them
00:01:19
you transport them to some intermediate system, a test system of some sort,
00:01:25
so that those changes can be tested along with other changes in the system and
maybe tested on top of a little more realistic data sets.
00:01:34
Then finally, the changes are propagated to production.
00:01:39
Now, we have some techniques and some ways of grouping things together to make this
lifecycle management easier.
00:01:47
First of all, as you change anything in the HANA system, it�s really� it�s making
all those changes in the repository.
00:01:54
We talked about that in the first unit, the fact that the HANA database itself is a
source code control system
00:02:00
and that all the versions of all of your design-time artifacts are stored in the
database.
00:02:06
And at any time you can say I want to take others� views, the procedures, or
whether that�s Java script code, service definitions, or a user interface
00:02:17
you can transport that to another system.
00:02:19
Now, we don�t want to do that at individual file level when we want to say, now
transport this view and transport this � We want to be able to group things
together.
00:02:28
And the way that we do that is with packages.
00:02:31
So, when we look at the HANA repository � although all the content is just stored
in database tables �
00:02:38
what we do to make it a little more usable from a source code management stand
point is in all the tooling we show that as folders and files.
15
00:02:48
So, the development artifacts themselves are files and then the folder structure is
really these packages.
00:02:55
A package is a way of grouping development objects together. It also serves as a
name space
00:03:01
as many the development artifacts will use the package path as the beginning part
of the name of that development object.
00:03:08
For instance, when you create a new table using the repository approach, it will
take the package path and append that on the front of the table name.
00:03:16
That way you could have � I could create a table named demo1, Rich can create a
table named demo1.
00:03:22
As long as we put them in different packages we�re not going to have any problems �
they�re still be uniquely named.
00:03:30
So, the package is the main way of grouping our content together.
00:03:35
And often when we create a project, we�ll have a root package for that project, and
then we�ll create sub-packages.
00:03:42
Now, it doesn�t really matter what you name your sub-packages. That doesn�t control
anything from any sort of technical way in the system.
00:03:51
As a best use case, we at SAP often will group objects of a certain type together
like when Rich showed you already the SHINE content with the data package.
00:04:01
And that had all the data definitions, and then there is a models package and there
is a UI package.
00:04:07
There�s nothing enforcing that says you have to put objects in those packages.
00:04:11
It just is nicer from a usage standpoint and also from a documentation standpoint.
00:04:16
So really, it�s as though you�re creating a share folder on a file system. You do
what makes the most sense for your organization.
00:04:24
And probably the most important aspect of that is simply being consistent.
00:04:28
Now, when it comes time to actually move content from one system into another, we
need to assign one or more packages to a delivery unit.
00:04:38
And as actually the delivery unit is what we will be transporting, we will export
and import delivery units out of one system and into another.
00:04:48
Now, in the beginning of the development process we�re probably not that concerned
with delivery units.
00:04:52
We are going to start off by creating our packages and our project.
00:04:56
And when we�re done with all of our development only then will we assign it to a
delivery unit.
00:05:01
So for the purpose of this course today in this unit, we will create our initial
package and our project and everything we need to get started.
00:05:10
But we then � we won�t assign all this to a delivery unit until Week 6.
00:05:17
Now, the tool itself that we�re going to do a lot of this in is called the HANA
Application Lifecycle Management tool.