Skip to content

Octavius-Dante/Tetra-Proxima

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BTP / CAPM

Starter guide for cloud foundry BTP

Click the images to see it clearly!



Overview

Following check list of items available under this topic



(Pre-requisite- VSCode and Node JS should be installed in the system)





Things to remember for CAP deployment


Reading on what is Rest API

VSCode Set terminal as default for debug



General definition and overview on Topics involved in BTP and CAPM



BAS Shortcut keys

Command Key combination Command Description
F1 Access command palette
F11 Fullscreen mode
Ctrl + / Line comment
Shift + Alt + A Toggle Block comment
Ctrl + Shift + E Explorer
Ctrl + Shift + F Search
Ctrl + Shift + G Source control
Ctrl + Shift + D Run
Ctrl + Shift + X Extensions
Ctrl + Shift + M Problems
Ctrl + Shift + U Output
Ctrl + Shift + Y Debug Console
Ctrl + ` Terminal
Ctrl + Shift + ` New Terminal
Ctrl + Shift + P Show All commands
Ctrl + K N New text File
Ctrl + K Shift + N New Window
Ctrl + Alt + Windows + N New file
Ctrl + O open file
Ctrl + K Ctrl + O New Folder
Ctrl + S Save
Ctrl + Shift + S Save as...
Ctrl + F4 Close editor
Ctrl + B Primary Side Bar
Ctrl + Alt + B Secondary Side Bar




SAP developer page tutorials

BTP CAP analytical app tutroial

BTP Kyma CAP Tutorial -1

BTP Kyma CAP Tutorial -2

CI/CD for Kyma BTP CAP



BTP Training - Test applications (28/02/2024)


Maven Repository : https://mvnrepository.com/

NPM Js Repository : https://npmjs.com

JSON structure validator : https://jsonlint.com




Maven is a dependency manger for JAVA programming
NPM -node package manager is a dependency manger for Node JS

Shortcut keys in Eclipse for JAVA development



Ctrl + Shift + F -- Code Alignment
Ctrl + Shift + C -- Code comments
Ctrl + Shift + T -- Open Type window
Ctrl + Shift + L -- Show key assist



SAP UI5



SAP UI5 is a framework to develop responsive web application for SAP.



  • Framework - A collection if libraries
  • Library - A collection of classes
  • Class - A collection of attributes, events, functions and aggregations


SAP UI5 SDK


https://sapui5.hana.ondemand.com/

XMLNS - XML namespace


What is App router


  • It is a Node JS Application
  • It is used to automate the process of authentication, authorization with XSUAA to do token exchange
  • It sits in the middle of IDP (identity provider) and XSUAA, it will redirect the request to our microservice to XSUAA and eventually to IDP.
  • IDP sends the login screen to the user, user authenticates, which is taken to XSUAA, XSUAA issues JWT token (JSON web token), this JWT token is presented to API end points.
  • App router takes the JWT token from XSUAA and give iT To our microservices and even exchange this token to multiple microservices inside.
  • It serves as a single entry point for entire app.
  • To tell app router about our multiple microservices so that it can re-direct, we need to create a configuration file named as xs-app.json which contains the details.

App router is an application which does internal communications between micro services to give single entry point for user it communicates to XSUAA to get access tokens.


What is XSUAA


Extensibility services for user access authorizations which is responsible for authorization to access the BTP services

What is node JS.


Node JS is an open source, cross platform Java Script runtime environment and used for executing Java Script code out side the web browser. Java and JavaScript are different by their nature, design and use case, Java Script was dominantly used as a web programming language. All the browsers directly understand Java Script.
Node JS is also a great web framework for beginners because it works great with data-intensive applications like streaming real-time apps. it is free and easy to learn.

Applications of Node JS?


Build Business logic on server side, DB lookups, send emails, write validations, create microservices, add automations, show output, build servers, host web apps, make excel/pdf more.

NPM - Node Package Manager


  • It is dependency manager tool which gets installed along with node js in our system.
  • Just like for java we had maven, we have npm for node js.
  • we can find millions of reusable node modules free on internet, which helps us avoid rebuilding everything/ reinvent the wheel.
  • world largest reusable code repository NPM Js repository : https://npmjs.com


  • Globally at computer level, all projects can reuse, option used to install CLI

    npm install -g module 

  • With in the project - @local project level, only single project can use

    npm install module

  • when we build java project we saw pom.xml which contains dependencies. we have the package.json file in the node project which contains details about the entire project and its dependencies to create this we use.

    npm init



Challenges of building Apps on BTP


  • Approuter implementation was difficult -> lot f effort is required as a developer to setup project.
  • What is the best-practice/ gold-standard to build SAP BTP applications, recommendation by SAP.
  • Are there any existing sample apps which we can follow to build our app
  • Many times, as a developer it is hard to add each part of app like files, dependencies, deploy descriptor, lot of code, how can this process be simplified ?
  • How can we have reusability of the code to speed up my development and use sap provided tools to generate the skeleton of the apps.
  • As a developer we want to focus more on functional aspect implementation rather initial project setup.
  • Our apps are something tightly coupled with DB technology develop DB agnostic apps.
  • No matter what is the area we belong FIN, SD, MM, PP, PM, APO, CRM, HR etc. eventually as a developer we all do same work. Design tables, write logic, build UI
  • How to develop software in BTP, Which does not require too much time in handovers


SAP CAPM - Cloud Application Programming Model


  • It's a SAP provided framework to develop SAAS apps in BTP.
  • If the developer wants to use open source technologies like Node and java.
  • Great cost saving and freedom of choice of technology and consultants available easily in market.


SAP RAP - Restful application programming model


  • It is based on ABAP on cloud. we can build extension and SAAS application using this framework.
  • The skill required will be ABAP and CDS knowledge.
  • The Deployment is very costly as compared to open source technologies used in CAP



Software As A Service - SAAS
Platform As A Service - PAAS
Infrastructure As A Service - IAAS
MTA Build Tool - MBT
Multitarget Application - MTA
Entity Data Model XML - EDMX
CDS Query language - CQL
Core data services - CDS
Core Schema Notation - CSN
CDS Query Notation - CQN
Yet another Markup language - YAML

REST Stands for Representational State Transfer

What is it?
REST is an architecture style for designing communication interfaces.

Design
REST API exposes the data.

Transport Protocol
REST works only with HTTPS.

Data format
REST supports XML, JSON, plain text, HTML.

Performance
REST has faster performance due to smaller messages and caching support.

Scalability
REST is easy to scale. It’s stateless, so every message is processed independently of previous messages.

Security
REST supports encryption without affecting performance.

Use case
REST is useful in modern applications and public APIs.



YAML definition : It is a human-readable data serialization language. It is commonly used for configuration file.


package.json - installed dependency list (development / runtime )

package-lock.json - contains sub dependencies of a dependency item and

- path details of the dependency item present in the app directory
xs-app.json - App router details

xs-security.json - XSUAA - security setting definition

manifest.json - App Ui metadata





other links on cap

SAP Git hub Repo 1 - more content samples here

About

BTP - CAP development - Node JS - Training Blog

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages