gdata.io.handleScriptLoaded({"version":"1.0","encoding":"UTF-8","feed":{"xmlns":"http://www.w3.org/2005/Atom","xmlns$openSearch":"http://a9.com/-/spec/opensearchrss/1.0/","xmlns$gd":"http://schemas.google.com/g/2005","xmlns$georss":"http://www.georss.org/georss","xmlns$thr":"http://purl.org/syndication/thread/1.0","xmlns$blogger":"http://schemas.google.com/blogger/2008","id":{"$t":"tag:blogger.com,1999:blog-3826368468004556615"},"updated":{"$t":"2023-12-26T13:46:15.660-08:00"},"category":[{"term":"scp"},{"term":"SAP ABAP"},{"term":"Tutorial series on SAP Enterpise Portal"},{"term":"geocoder"},{"term":"export sapui5 project"},{"term":"events in classical reports"},{"term":"util"},{"term":"layout"},{"term":"pull"},{"term":"joins"},{"term":"tables"},{"term":"SEGW"},{"term":"viz charts"},{"term":"sap cloud platform mobile services"},{"term":"types of views"},{"term":"Security Considerations"},{"term":"sap web ide deprecated"},{"term":"pool"},{"term":"SAP ABAP function modules"},{"term":"tree table"},{"term":"cloud foundry"},{"term":"custom login page"},{"term":"sap cloud platform for portal sites"},{"term":"admin cockpit sap cloud mobile services"},{"term":"Introduction to SAP portal sites"},{"term":"srv"},{"term":"hcp"},{"term":"OOPs Concepts"},{"term":"sap fiori tools"},{"term":"SAP ABAP Blog."},{"term":"export sap projects"},{"term":"ui5"},{"term":"maintainability"},{"term":"associations"},{"term":"combo box"},{"term":"SAP BAS"},{"term":"Logon Page in Enterprise Portal"},{"term":"margins"},{"term":"Web IDE"},{"term":"mtar"},{"term":"CAP"},{"term":"ABAP Development"},{"term":"sap viz frame"},{"term":"sort"},{"term":"Plugin"},{"term":"appearance"},{"term":"workflow"},{"term":"Agile Development"},{"term":"architecture of sap fiori"},{"term":"outer join"},{"term":"SAP S/4HANA"},{"term":"sap fiori"},{"term":"Data Storage"},{"term":"file"},{"term":"SAP overview"},{"term":"function"},{"term":"Sapui5 jobs"},{"term":"Classical report"},{"term":"sap fiori tutorial"},{"term":"webIDE application"},{"term":"Installation of sap ui5 plugin"},{"term":"app router"},{"term":"Scalable Applications"},{"term":"smarttable"},{"term":"odata tutorial"},{"term":"sap enterprise portal"},{"term":"vizframe control"},{"term":"stage"},{"term":"events"},{"term":"selected index"},{"term":"tab"},{"term":"How to export SAP Web IDE Workspace projects"},{"term":"hello world application"},{"term":"SAPUI5 data communication"},{"term":"online training abap"},{"term":"SAP NetWeaver Portal"},{"term":"apps"},{"term":"pfcg"},{"term":"sap mobility jobs"},{"term":"commit"},{"term":"launchpad"},{"term":"DPC"},{"term":"Pass by value and return"},{"term":"routing in split app"},{"term":"Module Pool"},{"term":"sapui5 xml editor"},{"term":"sap.m.list"},{"term":"searching"},{"term":"tag"},{"term":"CAPM Apps"},{"term":"css folder"},{"term":"get expanded entity"},{"term":"ABAP Job Preparation"},{"term":"mta"},{"term":"custom image"},{"term":"xlsx"},{"term":"Mock data"},{"term":"multi target application"},{"term":"javascript"},{"term":"Routing"},{"term":"responsive table in sapui5"},{"term":"add and delete operation"},{"term":"csv upload validation"},{"term":"saml"},{"term":"external library"},{"term":"ALV programming examples"},{"term":"sap btp"},{"term":"Custom Controls"},{"term":"Project structure"},{"term":"openui5"},{"term":"dv"},{"term":"create destinations to connect mobile services from sap web ide"},{"term":"sap custom portal sites"},{"term":"modules"},{"term":"Interactive Reports"},{"term":"user experience sap"},{"term":"odata v2"},{"term":"ABAP New Features"},{"term":"Developer Tips"},{"term":"sap fiori launchpad configuration"},{"term":"Logon to SAP ABAP"},{"term":"cloud foundary"},{"term":"SAP ABAP Certification"},{"term":"Tutorials"},{"term":"ABAP Interview Questions"},{"term":"controller"},{"term":"Routing in sapui5"},{"term":"Environment variables"},{"term":"ALV reports"},{"term":"Transport Request Number"},{"term":"sap fiori enterprise portal"},{"term":"CSN"},{"term":"Parts"},{"term":"jwt token"},{"term":"register cloud platform"},{"term":"annotations"},{"term":"Navigation Properties"},{"term":"component.js"},{"term":"deman pop-in"},{"term":"configure catalogs and groups"},{"term":"Best practices"},{"term":"local service"},{"term":"sap web ide"},{"term":"i18n"},{"term":"Dialog sapui5"},{"term":"chrome"},{"term":"ABAP Coding Best Practices"},{"term":"HANA Modeling"},{"term":"charts in sapui5"},{"term":"sap fiori enterprise portal sites"},{"term":"google maps"},{"term":"SAP Business Technology Platform"},{"term":"formatters"},{"term":"resource bundle"},{"term":"Pass by reference"},{"term":"pass multiple values"},{"term":"projection views"},{"term":"sapui5 diagnostics window"},{"term":"web dynpro"},{"term":"webapp"},{"term":"get expanded entityset"},{"term":"Setting Up an App Router in SAP CAPM Project on BTP: A Step-by-Step Guide"},{"term":"help views"},{"term":"BDC"},{"term":"contrller"},{"term":"video tutorial on nested views and fragments"},{"term":"iwfnd"},{"term":"odata"},{"term":"debugging javascript files"},{"term":"smart table"},{"term":"SAP Programming"},{"term":"SAP Development"},{"term":"SAP netweaver gateway"},{"term":"api"},{"term":"Blobs in JavaScript"},{"term":"sap fiori apps"},{"term":"Visual studio code"},{"term":"How to Change logon Page of Enterprise Portal"},{"term":"dynamic"},{"term":"sapui5 code editor"},{"term":"git"},{"term":"xml code editor"},{"term":"Transaction code"},{"term":"parameter"},{"term":"ABAP on HANA interview questions and answers"},{"term":"Global sub routines"},{"term":"interactive reports example"},{"term":"layouts"},{"term":"ABAP List Viewer"},{"term":"JDK"},{"term":"filter"},{"term":"Fragment in sapui5"},{"term":"controller.js"},{"term":"video tutorial on globalization"},{"term":"CLASSICAL REPORTS"},{"term":"Sorting"},{"term":"odata v4"},{"term":"CRUD operations"},{"term":"create OData service"},{"term":"crud"},{"term":"Navigation"},{"term":"authorization"},{"term":"responsive"},{"term":"SAP functional modules"},{"term":"validate using headers"},{"term":"CDL"},{"term":"SUB ROUTINES"},{"term":"interactive reports events"},{"term":"sheet.js"},{"term":"MDK introduction"},{"term":"SAP Bussiness Application Studio"},{"term":"begin set"},{"term":"UI5 Inspector"},{"term":"get cursor"},{"term":"drag and drop"},{"term":"component preload"},{"term":"ABAP"},{"term":"spider chart"},{"term":"interview tips"},{"term":"view"},{"term":"Sap RAP"},{"term":"Answers"},{"term":"Templates and Accelerators in SAP Portal sites"},{"term":"work Area"},{"term":"SAP ABAP on HANA"},{"term":"sap webide"},{"term":"read"},{"term":"ABAP HANA Integration"},{"term":"sap MDK"},{"term":"ABAP 7.5"},{"term":"submitbatch"},{"term":"version"},{"term":"transparent"},{"term":"Microservices in SAP BTP"},{"term":"resources"},{"term":"import"},{"term":"SAP Data Presentation"},{"term":"create"},{"term":"SAP ECC"},{"term":"debug files in production environment"},{"term":"sap fiori configuration cockpit portal sites"},{"term":"SAP cloud solutions"},{"term":"speech recognition"},{"term":"groups"},{"term":"icf"},{"term":"ABAP 7.6"},{"term":"custom control"},{"term":"configuring destination in sap web ide"},{"term":"viz control"},{"term":"Mta yaml"},{"term":"odata deep structures"},{"term":"BAS"},{"term":"push"},{"term":"ios"},{"term":"data element"},{"term":"search"},{"term":"ALV Grid Report"},{"term":"Internal Tables"},{"term":"properties"},{"term":"minScreenWidth"},{"term":"configuring tiles"},{"term":"aggregation binding"},{"term":"grouping"},{"term":"controller hooks"},{"term":"portal site"},{"term":"import project"},{"term":"ABAP Developer Tips"},{"term":"json model"},{"term":"Introduction"},{"term":"branding"},{"term":"list"},{"term":"SAP Technical Interviews"},{"term":"android"},{"term":"package"},{"term":"SAP Fiori Configuration cockpit"},{"term":"create cloud foundary account"},{"term":"sap app"},{"term":"custom sapui5 app extension"},{"term":"edit"},{"term":"SAP ABAP views"},{"term":"excel"},{"term":"ABAP Code Examples"},{"term":"SmartForms"},{"term":"logo"},{"term":"sap freestyle portal sites"},{"term":"HANA Development"},{"term":"fiori apps"},{"term":"Image Upload"},{"term":"javascript code editor"},{"term":"OData v4 advantages"},{"term":"Development"},{"term":"index of list"},{"term":"offline capabilities"},{"term":"containers"},{"term":"portal"},{"term":"changeset"},{"term":"Binary Data Handling"},{"term":"distance"},{"term":"sap cloud foundary"},{"term":"technical interview questions"},{"term":"Cloud Application Programming Model"},{"term":"implementing SAP Fiori"},{"term":"odat v4"},{"term":"MockSever"},{"term":"Event Handling"},{"term":"local development"},{"term":"RAP Implementation"},{"term":"sap ui5 excel upload"},{"term":"Data types"},{"term":"How to get Selected table index value?"},{"term":"xml view"},{"term":"hierarchial ALV"},{"term":"extending apps"},{"term":"sap capm"},{"term":"manifest.json"},{"term":"DDIC"},{"term":"ABAP Data Modeling"},{"term":"reports"},{"term":"User Interaction"},{"term":"batch processing in OData"},{"term":"login"},{"term":"sap backend system"},{"term":"event"},{"term":"authentication"},{"term":"css"},{"term":"job search"},{"term":"types of subroutines"},{"term":"LOCAL SUB ROUTINES"},{"term":"mobile development kit"},{"term":"item"},{"term":"sap fiori portal site"},{"term":"enable sap web ide"},{"term":"use strict"},{"term":"json"},{"term":"routing in full application"},{"term":"Introduction to sap enterprise portal"},{"term":"doalog"},{"term":"CDS"},{"term":"chart.js"},{"term":"Mdk app"},{"term":"ALE"},{"term":"mfa"},{"term":"view extensions"},{"term":"sap abap tutorials"},{"term":"system objects"},{"term":"maint_service"},{"term":"introduction to sapui5"},{"term":"Dev Tools"},{"term":"Configure Catalog and Groups in SAP Fiori Portal Sites"},{"term":"design principles"},{"term":"component configuration"},{"term":"ABAP Job Interview Insights"},{"term":"rest"},{"term":"sap fiori launchpad"},{"term":"google maps api"},{"term":"MPC"},{"term":"inline expressions"},{"term":"data binding"},{"term":"table"},{"term":"cache buster"},{"term":"setup"},{"term":"tiles"},{"term":"HANA Performance Tuning."},{"term":"Pass by value (or) call by value"},{"term":"beginset"},{"term":"path"},{"term":"XS-UAA"},{"term":"model folder"},{"term":"sapui5"},{"term":"view replacement"},{"term":"introduction to ERP"},{"term":"example classical report example"},{"term":"SAP MTA"},{"term":"external style"},{"term":"Internal Table"},{"term":"step by step process to create odata"},{"term":"update"},{"term":"add"},{"term":"walkthrough admin cockpit"},{"term":"fiori"},{"term":"python"},{"term":"hello world"},{"term":"sapui5 code validator"},{"term":"responsiveness"},{"term":"node.js"},{"term":"Search Help in DDIC"},{"term":"backend components"},{"term":"custom fiori app"},{"term":"xs security"},{"term":"introduction to sap web ide"},{"term":"SAP CAP"},{"term":"SAP technical modules"},{"term":"inner join"},{"term":"string"},{"term":"internal style"},{"term":"lpd_cust"},{"term":"radar chart"},{"term":"csv"},{"term":"OData v2 vs. OData v4"},{"term":"validation"},{"term":"nested view"},{"term":"push a project in github"},{"term":"aggregations"},{"term":"charts"},{"term":"SAP Fiori Launchpad Portal Site"},{"term":"sapui5 project"},{"term":"introduction to odata annotations"},{"term":"export project"},{"term":"types of tables"},{"term":"operations on internal table"},{"term":"large string"},{"term":"Activate OData Service in SICF"},{"term":"sapui5 lint"},{"term":"Most common examples in sap ui5"},{"term":"video tutorial on formatter and inline expressions"},{"term":"pdf"},{"term":"fiori launchpad"},{"term":"extending sapui5 apps"},{"term":"sap mobile services"},{"term":"sap mobile services tutorial"},{"term":"sap portal site"},{"term":"Fragment"},{"term":"Configuring Fiori Tiles in sap portal sites"},{"term":"mdk"},{"term":"annotations in OData"},{"term":"sap mobile development kit"},{"term":"metadata.xml"},{"term":"SAP Mobile cards"},{"term":"SAP ABAP video tutorials"},{"term":"btp"},{"term":"setup sap bussiness application studio"},{"term":"ABAP Innovations"},{"term":"Introduction and DDIC"},{"term":"introduction to sap fiori"},{"term":"optimization"},{"term":"examples"},{"term":"- SAP ABAP performance optimization\n\n- ABAP performance tuning\n\n- SAP ABAP best practices\n\n- SAP ABAP performance tips\n\n- ABAP performance optimization techniques\n\n- SAP ABAP performance improvements"},{"term":"sap"},{"term":"SAP Tech Trends"},{"term":"sapui5 csv file upload import"},{"term":"sap.m.table"},{"term":"frontend components"},{"term":"Field Catalog"},{"term":"File Manipulation"},{"term":"SAP RAP Tutorial"},{"term":"js"},{"term":"mobile services in cloud foundary"},{"term":"sicf"},{"term":"roles"},{"term":"file reader"},{"term":"maintainence view"},{"term":"Security"},{"term":"SAP implementation."},{"term":"domain"},{"term":"sap cloud platform SDK"},{"term":"Globalization and localization"},{"term":"xml"},{"term":"marker"},{"term":"SAP Interview Prep"},{"term":"sap web IDE Workspace export"},{"term":"re usability"},{"term":"sapui5 nested view"},{"term":"voice recognition"},{"term":"sap fiori application"},{"term":"video tutorial on routing"},{"term":"Offline app"},{"term":"index"},{"term":"Latest ABAP FAQs"},{"term":"Naming conventions"},{"term":"fiori tiles"},{"term":"fiori jobs"},{"term":"SAPui5 application on SAP bussiness application studio"},{"term":"database views"},{"term":"upload"},{"term":"sapui5 excel import"},{"term":"Batch"},{"term":"sapui5 project structuring"},{"term":"token"},{"term":"handling localized texts"},{"term":"globalization"},{"term":"SAP HANA clould cockpit"},{"term":"deploy to cloud foundry"},{"term":"test Odata service"},{"term":"github"},{"term":"sap fiori jobs"},{"term":"sap cloud platform"},{"term":"capm"},{"term":"sapui5 github"},{"term":"formatter"},{"term":"cluster"},{"term":"ALV Grid Tutorial"},{"term":"controller extension"},{"term":"fiori app"},{"term":"view extension"},{"term":"Cloud-Native Architecture"},{"term":"HANA"},{"term":"multi cloud environment"},{"term":"interview questions"},{"term":"filtering"},{"term":"ABAP CDS Views"},{"term":"variable names"},{"term":"CQL"},{"term":"gulp"},{"term":"boolean"},{"term":"SAP modules"},{"term":"delete"},{"term":"logon page"},{"term":"introduction to sap abap"},{"term":"sapui5 apps"},{"term":"pull a project"},{"term":"split app"},{"term":"sapui5 best practices"},{"term":"read table"},{"term":"SAP OData"},{"term":"Debugging ABAP"},{"term":"universal worklist"},{"term":"expression"},{"term":"controls and views"},{"term":"Custom control to make a Radar Chart using Chart.js library in SAPUI5."},{"term":"Cache"},{"term":"view modification"},{"term":"odata tutorial series"},{"term":"xls"},{"term":"sap BTP CAPM"},{"term":"append operation"},{"term":"code quality"},{"term":"example of CAP"},{"term":"header item relationship"},{"term":"launchpad configuration"},{"term":"Latest ABAP Updates"},{"term":"sap ui5"},{"term":"dataset"},{"term":"register odata service"},{"term":"padding"},{"term":"RAP"},{"term":"OData v2 benefits"},{"term":"v4"},{"term":"ABAP Enhancements"},{"term":"responsive table"},{"term":"npm"},{"term":"RAP Model"},{"term":"catalogs"},{"term":"sap fiori elements"},{"term":"login configuration"},{"term":"Web Application Development"},{"term":"application"},{"term":"value"},{"term":"enterprise portal"},{"term":"selected"}],"title":{"type":"text","$t":"SAP Development: Mastering SAP UI5, BTP, Fiori, CAPM, RAP, ABAP; and More!"},"subtitle":{"type":"html","$t":"Welcome to the ultimate SAP UI5, BTP, Fiori, CAPM, RAP, ABAP blog! Explore comprehensive tutorials, interview questions, and real-world examples to master SAP development. Elevate your skills in creating stunning UI5 apps, harnessing the power of BTP, and building Fiori applications. Unlock the potential of CAPM, RAP, and ABAP, and learn to integrate seamlessly with the enterprise portal. Whether you're a beginner or an experienced developer, this blog is your go-to resource for SAP expertise!"},"link":[{"rel":"http://schemas.google.com/g/2005#feed","type":"application/atom+xml","href":"https://www.blogger.com/feeds/3826368468004556615/posts/default/-/SAP+CAP?alt\u003djson-in-script\u0026max-results\u003d50"},{"rel":"self","type":"application/atom+xml","href":"https://www.blogger.com/feeds/3826368468004556615/posts/default/-/SAP+CAP?alt\u003djson-in-script\u0026max-results\u003d50"},{"rel":"alternate","type":"text/html","href":"http://www.sapui5tutors.com/search/label/SAP%20CAP"},{"rel":"hub","href":"http://pubsubhubbub.appspot.com/"}],"author":[{"name":{"$t":"Sanjo Thomas"},"uri":{"$t":"https://www.blogger.com/profile/06687889588258406801"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"35","height":"35","src":"//www.blogger.com/img/blogger_logo_round_35.png"}}],"generator":{"version":"7.00","uri":"https://www.blogger.com","$t":"Blogger"},"openSearch$totalResults":{"$t":"5"},"openSearch$startIndex":{"$t":"1"},"openSearch$itemsPerPage":{"$t":"50"},"entry":[{"id":{"$t":"tag:blogger.com,1999:blog-3826368468004556615.post-8522356537014634487"},"published":{"$t":"2023-06-06T17:08:00.003-07:00"},"updated":{"$t":"2023-07-17T07:03:34.431-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"authentication"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Security"},{"scheme":"http://www.blogger.com/atom/ns#","term":"xs security"},{"scheme":"http://www.blogger.com/atom/ns#","term":"capm"},{"scheme":"http://www.blogger.com/atom/ns#","term":"SAP CAP"},{"scheme":"http://www.blogger.com/atom/ns#","term":"saml"},{"scheme":"http://www.blogger.com/atom/ns#","term":"sap BTP CAPM"}],"title":{"type":"text","$t":"How does security and authentication works in SAP CAP based applications"},"content":{"type":"html","$t":"\u003cp\u003eSAP Cloud Application Programming (CAP) provides a comprehensive framework for developing cloud-native applications with a focus on security and authentication. As with any cloud application, security is a top priority and must be carefully considered and implemented to protect sensitive information and ensure that only authorized users can access the application.\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEVSDitVrRYU9shs4vyNKSRsKtATPd_v4Ej2iHNVYLmWqfWLUj6cnzVCLa9ndoRfUCN5FS0P-SMoFQN46AkbNVEI29boi_ibJ7_VTIoaX1t8Ms-NPo6mn2axdHVkvDcPmz2yeSPSD1Qcig7qc8lZlNEY8wVxD65OItGCBxpxGvLSkca1SiwAwNP58/s554/IMG_1873.jpeg\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg border\u003d\"0\" data-original-height\u003d\"554\" data-original-width\u003d\"554\" height\u003d\"200\" src\u003d\"https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEVSDitVrRYU9shs4vyNKSRsKtATPd_v4Ej2iHNVYLmWqfWLUj6cnzVCLa9ndoRfUCN5FS0P-SMoFQN46AkbNVEI29boi_ibJ7_VTIoaX1t8Ms-NPo6mn2axdHVkvDcPmz2yeSPSD1Qcig7qc8lZlNEY8wVxD65OItGCBxpxGvLSkca1SiwAwNP58/w200-h200/IMG_1873.jpeg\" width\u003d\"200\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cbr /\u003e\u003cp\u003e\u003cbr /\u003e\u003c/p\u003e\u003cp\u003eAuthentication is the process of verifying the identity of a user or system, and SAP CAP provides several options for authentication, including OAuth 2.0, SAML, and OpenID Connect. OAuth 2.0 is a widely used standard for authentication and authorization, and is the recommended method for securing CAP applications. OAuth 2.0 provides a secure mechanism for users to authenticate with the application and obtain an access token, which can be used to access protected resources.\u003c/p\u003e\u003cp\u003eSAP CAP also provides support for role-based access control (RBAC), which allows administrators to define roles and permissions for users and groups, and restrict access to sensitive data or functionality based on those roles. This helps ensure that only authorized users can perform certain actions within the application..\u003c/p\u003e\u003cp\u003eAnother one of these is the XS-Security service, which provides a framework for authentication, authorization, and secure communication between components in a cloud environment. XS-Security is an SAP BTP service that can be used to secure SAP CAP applications.\u003c/p\u003e\u003cp\u003eAuthentication in SAP CAP is managed by the XS-UAA (User Account and Authentication) service, which is responsible for verifying the identity of a user. When a user logs in to an application, the XS-UAA service authenticates the user and issues an access token, which is used to access protected resources in the application.\u003c/p\u003e\u003cp\u003e\u003cbr /\u003e\u003c/p\u003e\u003cp\u003eAuthorization is managed by the XS-Security service, which is responsible for enforcing access control policies. Access control policies can be defined using the XS-Security API, which allows administrators to specify which users or groups have access to specific resources in the application.\u003c/p\u003e\u003cp\u003e\u003cbr /\u003e\u003c/p\u003e\u003cp\u003eSecure communication between components in a cloud environment is managed by the XS-Security service. By default, all communication between components is encrypted using SSL/TLS. This ensures that sensitive data cannot be intercepted or modified during transmission.\u003c/p\u003e\u003cp\u003eXS-Security also provides a mechanism for managing certificates and keys, which are used to secure communication between components. XS-Security can be used to generate and manage certificates and keys, and to ensure that they are securely stored and distributed to the appropriate components.\u003c/p\u003e\u003cp\u003eHere’s a text-based flowchart describing how XSUAA (SAP Business Technology Platform) service handles authentication in SAP CAP (Cloud Application Programming Model) applications:\u003c/p\u003e\u003cp\u003e\u003cspan class\u003d\"Apple-tab-span\" style\u003d\"white-space: pre;\"\u003e\t\u003c/span\u003e1.\u003cspan class\u003d\"Apple-tab-span\" style\u003d\"white-space: pre;\"\u003e\t\u003c/span\u003eUser accesses the SAP CAP application.\u003c/p\u003e\u003cp\u003e\u003cspan class\u003d\"Apple-tab-span\" style\u003d\"white-space: pre;\"\u003e\t\u003c/span\u003e2.\u003cspan class\u003d\"Apple-tab-span\" style\u003d\"white-space: pre;\"\u003e\t\u003c/span\u003eThe application’s authentication middleware verifies if the user has a valid access token.\u003c/p\u003e\u003cp\u003e\u003cspan class\u003d\"Apple-tab-span\" style\u003d\"white-space: pre;\"\u003e\t\u003c/span\u003e3.\u003cspan class\u003d\"Apple-tab-span\" style\u003d\"white-space: pre;\"\u003e\t\u003c/span\u003eIf the user doesn’t have a valid access token, the middleware redirects the user to the XSUAA service for authentication.\u003c/p\u003e\u003cp\u003e\u003cspan class\u003d\"Apple-tab-span\" style\u003d\"white-space: pre;\"\u003e\t\u003c/span\u003e4.\u003cspan class\u003d\"Apple-tab-span\" style\u003d\"white-space: pre;\"\u003e\t\u003c/span\u003eThe user is presented with a login page to enter their credentials.\u003c/p\u003e\u003cp\u003e\u003cspan class\u003d\"Apple-tab-span\" style\u003d\"white-space: pre;\"\u003e\t\u003c/span\u003e5.\u003cspan class\u003d\"Apple-tab-span\" style\u003d\"white-space: pre;\"\u003e\t\u003c/span\u003eUpon successful authentication, XSUAA generates an access token for the user.\u003c/p\u003e\u003cp\u003e\u003cspan class\u003d\"Apple-tab-span\" style\u003d\"white-space: pre;\"\u003e\t\u003c/span\u003e6.\u003cspan class\u003d\"Apple-tab-span\" style\u003d\"white-space: pre;\"\u003e\t\u003c/span\u003eThe access token is returned to the SAP CAP application.\u003c/p\u003e\u003cp\u003e\u003cspan class\u003d\"Apple-tab-span\" style\u003d\"white-space: pre;\"\u003e\t\u003c/span\u003e7.\u003cspan class\u003d\"Apple-tab-span\" style\u003d\"white-space: pre;\"\u003e\t\u003c/span\u003eThe application’s authentication middleware validates the access token received from XSUAA.\u003c/p\u003e\u003cp\u003e\u003cspan class\u003d\"Apple-tab-span\" style\u003d\"white-space: pre;\"\u003e\t\u003c/span\u003e8.\u003cspan class\u003d\"Apple-tab-span\" style\u003d\"white-space: pre;\"\u003e\t\u003c/span\u003eIf the access token is valid, the user is granted access to the application’s protected resources.\u003c/p\u003e\u003cp\u003e\u003cspan class\u003d\"Apple-tab-span\" style\u003d\"white-space: pre;\"\u003e\t\u003c/span\u003e9.\u003cspan class\u003d\"Apple-tab-span\" style\u003d\"white-space: pre;\"\u003e\t\u003c/span\u003eThe application can make use of the user’s identity and authorization information provided by XSUAA for further authorization checks.\u003c/p\u003e\u003cp\u003e\u003cspan class\u003d\"Apple-tab-span\" style\u003d\"white-space: pre;\"\u003e\t\u003c/span\u003e10.\u003cspan class\u003d\"Apple-tab-span\" style\u003d\"white-space: pre;\"\u003e\t\u003c/span\u003eIf the access token is invalid or expired, the user is redirected back to XSUAA for reauthentication.\u003c/p\u003e\u003cp\u003e\u003cspan class\u003d\"Apple-tab-span\" style\u003d\"white-space: pre;\"\u003e\t\u003c/span\u003e11.\u003cspan class\u003d\"Apple-tab-span\" style\u003d\"white-space: pre;\"\u003e\t\u003c/span\u003eThe process repeats until a valid access token is obtained or the user chooses to cancel the authentication process.\u003c/p\u003e\u003cp\u003eIn conclusion, XS-Security is a powerful tool for securing SAP CAP applications. By leveraging XS-Security, developers can ensure that their applications are protected from unauthorized access and data breaches, and that sensitive information is kept confidential.\u0026nbsp;\u003c/p\u003e\u003cp\u003eSAP CAP provides a comprehensive framework for developing secure cloud applications, with support for multiple authentication mechanisms, RBAC, data encryption, and secure coding practices. By following best practices and leveraging the built-in security features of SAP CAP, developers can ensure that their applications are secure and protected from unauthorized access and data breaches.\u003c/p\u003e"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https://www.sapui5tutors.com/feeds/8522356537014634487/comments/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https://www.sapui5tutors.com/2023/06/how-does-security-and-authentication.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https://www.blogger.com/feeds/3826368468004556615/posts/default/8522356537014634487"},{"rel":"self","type":"application/atom+xml","href":"https://www.blogger.com/feeds/3826368468004556615/posts/default/8522356537014634487"},{"rel":"alternate","type":"text/html","href":"https://www.sapui5tutors.com/2023/06/how-does-security-and-authentication.html","title":"How does security and authentication works in SAP CAP based applications"}],"author":[{"name":{"$t":"Sanjo Thomas"},"uri":{"$t":"https://www.blogger.com/profile/06687889588258406801"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"35","height":"35","src":"//www.blogger.com/img/blogger_logo_round_35.png"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEVSDitVrRYU9shs4vyNKSRsKtATPd_v4Ej2iHNVYLmWqfWLUj6cnzVCLa9ndoRfUCN5FS0P-SMoFQN46AkbNVEI29boi_ibJ7_VTIoaX1t8Ms-NPo6mn2axdHVkvDcPmz2yeSPSD1Qcig7qc8lZlNEY8wVxD65OItGCBxpxGvLSkca1SiwAwNP58/s72-w200-c-h200/IMG_1873.jpeg","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-3826368468004556615.post-1924591696045478381"},"published":{"$t":"2021-11-27T00:26:00.003-08:00"},"updated":{"$t":"2021-11-27T00:26:21.605-08:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"multi target application"},{"scheme":"http://www.blogger.com/atom/ns#","term":"setup"},{"scheme":"http://www.blogger.com/atom/ns#","term":"mta"},{"scheme":"http://www.blogger.com/atom/ns#","term":"cloud foundary"},{"scheme":"http://www.blogger.com/atom/ns#","term":"python"},{"scheme":"http://www.blogger.com/atom/ns#","term":"mtar"},{"scheme":"http://www.blogger.com/atom/ns#","term":"node.js"},{"scheme":"http://www.blogger.com/atom/ns#","term":"SAP CAP"},{"scheme":"http://www.blogger.com/atom/ns#","term":"sap web ide"},{"scheme":"http://www.blogger.com/atom/ns#","term":"cloud foundry"}],"title":{"type":"text","$t":"SAP Web IDE Setup for MTA"},"content":{"type":"html","$t":"\u003cp\u003e\u0026nbsp;\u003cspan style\u003d\"background-color: white;\"\u003eTo\nsetup\u0026nbsp;\u003c/span\u003e\u003ca href\u003d\"https://gocoding.org/What-is-SAP-MTA-Multi-Target-Application/\" style\u003d\"background-color: white;\"\u003e\u003cb\u003e\u003cspan style\u003d\"color: #042c40;\"\u003eMTA\u003c/span\u003e\u003c/b\u003e\u003c/a\u003e\u003cspan style\u003d\"background-color: white;\"\u003e, we will initially need access of SAP\nWeb IDE. Once you have access of the SAP Web IDE, follow the given steps to\nconfigure an MTA application:\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"background: white; line-height: 115%; margin-bottom: 7.5pt;\"\u003e\u003cspan style\u003d\"color: black; mso-bidi-font-family: Calibri; mso-bidi-language: HI; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;;\"\u003eStep 01: Open\nyour web IDE and right click on your workspace and click\u0026nbsp;\u003cb\u003eProject from\nTemplate\u003c/b\u003e\u0026nbsp;under\u0026nbsp;\u003cb\u003eNew\u003c/b\u003e\u0026nbsp;as shown below:\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-RqeZBxqBAy4/YaHpiAi9OLI/AAAAAAAAjSA/-oX8ifC4KTAruE6EEUixWbpwur402I2vQCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"384\" data-original-width\u003d\"975\" height\u003d\"252\" src\u003d\"https://lh3.googleusercontent.com/-RqeZBxqBAy4/YaHpiAi9OLI/AAAAAAAAjSA/-oX8ifC4KTAruE6EEUixWbpwur402I2vQCLcBGAsYHQ/w640-h252/image.png\" width\u003d\"640\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cbr /\u003e\u003cspan style\u003d\"background-color: white;\"\u003eStep 02:\nChoose category as\u0026nbsp;\u003c/span\u003e\u003cb style\u003d\"background-color: white;\"\u003eAll categories,\u0026nbsp;\u003c/b\u003e\u003cspan style\u003d\"background-color: white;\"\u003eenvironment as\u0026nbsp;\u003c/span\u003e\u003cb style\u003d\"background-color: white;\"\u003eCloud\nFoundry\u0026nbsp;\u003c/b\u003e\u003cspan style\u003d\"background-color: white;\"\u003eand search\u0026nbsp;\u003c/span\u003e\u003cb style\u003d\"background-color: white;\"\u003eMulti-Target Application\u0026nbsp;\u003c/b\u003e\u003cspan style\u003d\"background-color: white;\"\u003eas shown\nbelow:\u003c/span\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-Sj-M8t22ZUY/YaHpr4Xb4yI/AAAAAAAAjSE/j21qPc_AlH8U4ToMMKLOUlsiO2IhWupfACLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"957\" data-original-width\u003d\"975\" height\u003d\"627\" src\u003d\"https://lh3.googleusercontent.com/-Sj-M8t22ZUY/YaHpr4Xb4yI/AAAAAAAAjSE/j21qPc_AlH8U4ToMMKLOUlsiO2IhWupfACLcBGAsYHQ/w640-h627/image.png\" width\u003d\"640\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cbr /\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%;\"\u003e\u003cspan style\u003d\"background: white; color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eStep 03:\nSelect\u003c/span\u003e\u003cstrong style\u003d\"-webkit-text-stroke-width: 0px; box-sizing: border-box; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; overflow-wrap: break-word; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;\"\u003e\u003cspan style\u003d\"font-family: \u0026quot;Calibri\u0026quot;,sans-serif; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;\"\u003e\u0026nbsp;Multi-Target\nApplication\u0026nbsp;\u003c/span\u003e\u003c/strong\u003e\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;\"\u003eand click\u0026nbsp;\u003c/span\u003e\u003cstrong style\u003d\"-webkit-text-stroke-width: 0px; box-sizing: border-box; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; overflow-wrap: break-word; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;\"\u003e\u003cspan style\u003d\"font-family: \u0026quot;Calibri\u0026quot;,sans-serif; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;\"\u003eNext\u003c/span\u003e\u003c/strong\u003e\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;\"\u003e. Give a project name and its description in upcoming screens\nand also check mark “Use HTML5 Application Repository” as shown below and click\nFinish:\u003c/span\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-gLdEbohc8aQ/YaHp5TNjpYI/AAAAAAAAjSM/O3DpCTEpS20NoS6YMxk9EfypaGlJ-gRagCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"477\" data-original-width\u003d\"975\" height\u003d\"314\" src\u003d\"https://lh3.googleusercontent.com/-gLdEbohc8aQ/YaHp5TNjpYI/AAAAAAAAjSM/O3DpCTEpS20NoS6YMxk9EfypaGlJ-gRagCLcBGAsYHQ/w640-h314/image.png\" width\u003d\"640\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"background: white; line-height: 115%; margin-bottom: 7.5pt;\"\u003e\u003cspan style\u003d\"color: black; mso-bidi-font-family: Calibri; mso-bidi-language: HI; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;;\"\u003eThis project\nwill be empty as of now with only one .yaml file.\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"background: white; line-height: 115%; margin-bottom: 7.5pt;\"\u003e\u003cspan style\u003d\"color: black; mso-bidi-font-family: Calibri; mso-bidi-language: HI; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;;\"\u003eStep 04: For\nour UI5 App, we will need an HTML5 Module. Right click on your project and\nselect\u0026nbsp;\u003cb\u003eHTML5 Module\u003c/b\u003e\u0026nbsp;under\u0026nbsp;\u003cb\u003eNew\u003c/b\u003e, as shown below:\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-DYPm7wGQAEQ/YaHqA9S-joI/AAAAAAAAjSU/kbU8VUXOwewO-WvTlwjN7r5N8brrxrG7gCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"503\" data-original-width\u003d\"975\" height\u003d\"330\" src\u003d\"https://lh3.googleusercontent.com/-DYPm7wGQAEQ/YaHqA9S-joI/AAAAAAAAjSU/kbU8VUXOwewO-WvTlwjN7r5N8brrxrG7gCLcBGAsYHQ/w640-h330/image.png\" width\u003d\"640\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%;\"\u003e\u003cspan style\u003d\"background: white; color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eSelect\nCategory as\u0026nbsp;\u003c/span\u003e\u003cstrong style\u003d\"-webkit-text-stroke-width: 0px; box-sizing: border-box; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; overflow-wrap: break-word; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;\"\u003e\u003cspan style\u003d\"font-family: \u0026quot;Calibri\u0026quot;,sans-serif; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;\"\u003eSAP Fiori\nApplication\u0026nbsp;\u003c/span\u003e\u003c/strong\u003e\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;\"\u003eand search\u0026nbsp;\u003c/span\u003e\u003cstrong style\u003d\"-webkit-text-stroke-width: 0px; box-sizing: border-box; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; overflow-wrap: break-word; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;\"\u003e\u003cspan style\u003d\"font-family: \u0026quot;Calibri\u0026quot;,sans-serif; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;\"\u003eUI5.\u0026nbsp;\u003c/span\u003e\u003c/strong\u003e\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;\"\u003eSelect\u0026nbsp;\u003c/span\u003e\u003cstrong style\u003d\"-webkit-text-stroke-width: 0px; box-sizing: border-box; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; overflow-wrap: break-word; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;\"\u003e\u003cspan style\u003d\"font-family: \u0026quot;Calibri\u0026quot;,sans-serif; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;\"\u003eSAPUI5\nApplication\u0026nbsp;\u003c/span\u003e\u003c/strong\u003e\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;\"\u003eas shown below:\u003c/span\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-ao16XZRInQ0/YaHqQn7rh3I/AAAAAAAAjSg/HjA9Gf3m54gLtYqma8mEkXlkqfCt2UkSQCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"482\" data-original-width\u003d\"975\" height\u003d\"316\" src\u003d\"https://lh3.googleusercontent.com/-ao16XZRInQ0/YaHqQn7rh3I/AAAAAAAAjSg/HjA9Gf3m54gLtYqma8mEkXlkqfCt2UkSQCLcBGAsYHQ/w640-h316/image.png\" width\u003d\"640\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cbr /\u003e\u003cspan style\u003d\"background-color: white;\"\u003eLater,\ngive a Module Name and Namespace for UI5 application. Then proceed to further\nscreens and finish. It will add a HTML module under your MTA application. In\nour case, we have kept both names same as shown below:\u003c/span\u003e\u003cp\u003e\u003c/p\u003e\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%;\"\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-3FyjQGrgcwc/YaHqZ7uhrtI/AAAAAAAAjSk/Gu1bhmAB4gEyTXvQHCjdMxetJnPWL6rIwCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"487\" data-original-width\u003d\"540\" height\u003d\"289\" src\u003d\"https://lh3.googleusercontent.com/-3FyjQGrgcwc/YaHqZ7uhrtI/AAAAAAAAjSk/Gu1bhmAB4gEyTXvQHCjdMxetJnPWL6rIwCLcBGAsYHQ/w320-h289/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%;\"\u003e\u003cspan style\u003d\"background: white; color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eStep 05:\nFor our Node.js App, we will need a Node.js Module. Right click on your project\nand select\u0026nbsp;\u003c/span\u003e\u003cstrong style\u003d\"-webkit-text-stroke-width: 0px; box-sizing: border-box; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; overflow-wrap: break-word; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;\"\u003e\u003cspan style\u003d\"font-family: \u0026quot;Calibri\u0026quot;,sans-serif; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;\"\u003eNode.js Module\u003c/span\u003e\u003c/strong\u003e\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;\"\u003e\u0026nbsp;under\u0026nbsp;\u003c/span\u003e\u003cstrong style\u003d\"-webkit-text-stroke-width: 0px; box-sizing: border-box; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; overflow-wrap: break-word; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;\"\u003e\u003cspan style\u003d\"font-family: \u0026quot;Calibri\u0026quot;,sans-serif; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;\"\u003eNew\u003c/span\u003e\u003c/strong\u003e\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;\"\u003e, as shown below:\u003c/span\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-rJMZgs_wpn0/YaHql9qrHLI/AAAAAAAAjSs/VGy45EUxj4Q6A3UiX4NA7qaZUtzOcBtXgCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"467\" data-original-width\u003d\"975\" height\u003d\"306\" src\u003d\"https://lh3.googleusercontent.com/-rJMZgs_wpn0/YaHql9qrHLI/AAAAAAAAjSs/VGy45EUxj4Q6A3UiX4NA7qaZUtzOcBtXgCLcBGAsYHQ/w640-h306/image.png\" width\u003d\"640\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%;\"\u003e\u003cspan style\u003d\"background: white; color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eGive a\nmodule name (\u003c/span\u003e\u003cstrong style\u003d\"-webkit-text-stroke-width: 0px; box-sizing: border-box; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; overflow-wrap: break-word; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;\"\u003e\u003cspan style\u003d\"font-family: \u0026quot;Calibri\u0026quot;,sans-serif; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;\"\u003exs.js,\u0026nbsp;\u003c/span\u003e\u003c/strong\u003e\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;\"\u003ein our case), a description, and check mark “Enable\u0026nbsp;\u003c/span\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003ca href\u003d\"https://blogs.sap.com/2015/07/06/getting-started-with-xsjs-challenges-learnings-impressions/\" style\u003d\"-webkit-text-stroke-width: 0px; box-sizing: border-box; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; outline: 0px; overflow-wrap: break-word; text-align: start; widows: 2; word-spacing: 0px;\"\u003e\u003cb\u003e\u003cspan style\u003d\"background: white; color: #042c40; text-decoration: none; text-underline: none;\"\u003eXSJS\u003c/span\u003e\u003c/b\u003e\u003c/a\u003e\u003cspan style\u003d\"background: white; color: black;\"\u003e\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;\"\u003e\u0026nbsp;support” as shown below, and click finish:\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-QHCL6zWPfrg/YaHquSVMQ9I/AAAAAAAAjSw/lG4_6eXHNrcP4DxbU7hEuLp4JJ3xsC7PwCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"488\" data-original-width\u003d\"975\" height\u003d\"320\" src\u003d\"https://lh3.googleusercontent.com/-QHCL6zWPfrg/YaHquSVMQ9I/AAAAAAAAjSw/lG4_6eXHNrcP4DxbU7hEuLp4JJ3xsC7PwCLcBGAsYHQ/w640-h320/image.png\" width\u003d\"640\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"background: white; line-height: 115%; margin-bottom: 7.5pt;\"\u003e\u003cspan style\u003d\"color: black; mso-bidi-font-family: Calibri; mso-bidi-language: HI; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;;\"\u003eStep 06: Now,\nwe are ready to push our App to Cloud Foundry so that the API that we are going\nto make is always up and accessible worldwide. For this, we will change the\nProject Settings so that our project points to the correct cloud foundry\nsettings.\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"background: white; line-height: 115%; margin-bottom: 7.5pt;\"\u003e\u003cspan style\u003d\"color: black; mso-bidi-font-family: Calibri; mso-bidi-language: HI; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;;\"\u003eRight click\non your project and click\u0026nbsp;\u003cb\u003eProject Settings\u0026nbsp;\u003c/b\u003eunder Project as\nshown below:\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-Ief5LMo_AxU/YaHq1dA8oRI/AAAAAAAAjS0/rEk1RQkq_RAfQNLKIx46oyqvshoKwiviwCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"618\" data-original-width\u003d\"975\" height\u003d\"406\" src\u003d\"https://lh3.googleusercontent.com/-Ief5LMo_AxU/YaHq1dA8oRI/AAAAAAAAjS0/rEk1RQkq_RAfQNLKIx46oyqvshoKwiviwCLcBGAsYHQ/w640-h406/image.png\" width\u003d\"640\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%;\"\u003e\u003cspan style\u003d\"background: white; color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eHere, you\nneed to click on\u0026nbsp;\u003c/span\u003e\u003cstrong style\u003d\"-webkit-text-stroke-width: 0px; box-sizing: border-box; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; overflow-wrap: break-word; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;\"\u003e\u003cspan style\u003d\"font-family: \u0026quot;Calibri\u0026quot;,sans-serif; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;\"\u003eCloud Foundry\u0026nbsp;\u003c/span\u003e\u003c/strong\u003e\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;\"\u003eunder\u0026nbsp;\u003c/span\u003e\u003cstrong style\u003d\"-webkit-text-stroke-width: 0px; box-sizing: border-box; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; overflow-wrap: break-word; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;\"\u003e\u003cspan style\u003d\"font-family: \u0026quot;Calibri\u0026quot;,sans-serif; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;\"\u003eProject\u003c/span\u003e\u003c/strong\u003e\u003cspan style\u003d\"-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;\"\u003e\u0026nbsp;section and just select the available API Endpoint. It\nwill bring all other data as shown below [This will be prefilled unlike the\nimage shown below]:\u003c/span\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%;\"\u003e\u003c/p\u003e\u003cdiv style\u003d\"text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-v0Z3ib7enJ8/YaHq5EqzQHI/AAAAAAAAjS8/XMC4iM0AAXsd9pAW-jDx-mYbeJNyRy_BACLcBGAsYHQ/image.png\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"488\" data-original-width\u003d\"975\" height\u003d\"200\" src\u003d\"https://lh3.googleusercontent.com/-v0Z3ib7enJ8/YaHq5EqzQHI/AAAAAAAAjS8/XMC4iM0AAXsd9pAW-jDx-mYbeJNyRy_BACLcBGAsYHQ/w400-h200/image.png\" width\u003d\"400\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"background: white; line-height: 115%; margin-bottom: 7.5pt;\"\u003e\u003cspan style\u003d\"color: black; mso-bidi-font-family: Calibri; mso-bidi-language: HI; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;;\"\u003eNow, we are\nready to deploy/build our project. For that just click\u0026nbsp;\u003cb\u003eBuild\u0026nbsp;\u003c/b\u003eas\nshown below, it will take care of everything by itself.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-1IISW_mPuPo/YaHrCGGX-SI/AAAAAAAAjTE/BdMy0JdRBDgGz-L5RzPkLYBmmT2uihidwCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"730\" data-original-width\u003d\"975\" height\u003d\"300\" src\u003d\"https://lh3.googleusercontent.com/-1IISW_mPuPo/YaHrCGGX-SI/AAAAAAAAjTE/BdMy0JdRBDgGz-L5RzPkLYBmmT2uihidwCLcBGAsYHQ/w400-h300/image.png\" width\u003d\"400\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"background: white; line-height: 115%; margin-bottom: 7.5pt;\"\u003e\u003cspan style\u003d\"color: black; mso-bidi-font-family: Calibri; mso-bidi-language: HI; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;;\"\u003eThat’s it.\nNow, we are ready to work on our coding part of the API.\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003co:p\u003e\u0026nbsp;\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https://www.sapui5tutors.com/feeds/1924591696045478381/comments/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https://www.sapui5tutors.com/2021/11/sap-web-ide-setup-for-mta.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https://www.blogger.com/feeds/3826368468004556615/posts/default/1924591696045478381"},{"rel":"self","type":"application/atom+xml","href":"https://www.blogger.com/feeds/3826368468004556615/posts/default/1924591696045478381"},{"rel":"alternate","type":"text/html","href":"https://www.sapui5tutors.com/2021/11/sap-web-ide-setup-for-mta.html","title":"SAP Web IDE Setup for MTA"}],"author":[{"name":{"$t":"Sanjo Thomas"},"uri":{"$t":"https://www.blogger.com/profile/06687889588258406801"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"35","height":"35","src":"//www.blogger.com/img/blogger_logo_round_35.png"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https://lh3.googleusercontent.com/-RqeZBxqBAy4/YaHpiAi9OLI/AAAAAAAAjSA/-oX8ifC4KTAruE6EEUixWbpwur402I2vQCLcBGAsYHQ/s72-w640-c-h252/image.png","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-3826368468004556615.post-3255613830812758672"},"published":{"$t":"2021-11-26T23:49:00.002-08:00"},"updated":{"$t":"2021-11-26T23:49:22.638-08:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"multi target application"},{"scheme":"http://www.blogger.com/atom/ns#","term":"mta"},{"scheme":"http://www.blogger.com/atom/ns#","term":"cloud foundary"},{"scheme":"http://www.blogger.com/atom/ns#","term":"python"},{"scheme":"http://www.blogger.com/atom/ns#","term":"SAP MTA"},{"scheme":"http://www.blogger.com/atom/ns#","term":"mtar"},{"scheme":"http://www.blogger.com/atom/ns#","term":"node.js"},{"scheme":"http://www.blogger.com/atom/ns#","term":"SAP CAP"},{"scheme":"http://www.blogger.com/atom/ns#","term":"cloud foundry"}],"title":{"type":"text","$t":"SAP MTA: Multi Target Application"},"content":{"type":"html","$t":"\u003cp\u003e\u003c/p\u003e\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%;\"\u003e\u003cspan lang\u003d\"EN-IN\" style\u003d\"mso-ansi-language: EN-IN; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan style\u003d\"font-family: times;\"\u003eIn this blog,\nwe will try to cover SAP MTA, i.e., Multi Target Application. \u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"background: white; line-height: 115%; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm;\"\u003e\u003cspan style\u003d\"font-family: times;\"\u003e\u003cspan style\u003d\"color: black; font-size: 11pt; line-height: 115%;\"\u003eA\nMulti-Target Application (\u003c/span\u003e\u003cspan style\u003d\"font-size: 11pt; line-height: 115%;\"\u003e\u003cspan style\u003d\"color: #042c40;\"\u003e\u003cb\u003eSAP\u0026nbsp;\u003c/b\u003e\u003c/span\u003eMTA)\nis a package comprised of multiple libraries, application, and resource\nmodules. These have been created using different technologies and deployed to\ndifferent runtimes but have a common life cycle. You can bundle different\nmodules together, describe them along with their inter-dependencies to other\nmodules, services, and interfaces, and package them in an Multi-Target Application\n(MTA). \u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"-webkit-text-stroke-width: 0px; background: white; box-sizing: border-box; font-stretch: normal !important; font-variant-caps: normal; font-variant-east-asian: normal !important; font-variant-ligatures: normal; font-variant-numeric: normal !important; line-height: 115%; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; orphans: 2; overflow-wrap: break-word; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;\"\u003e\u003cspan style\u003d\"color: black; font-size: 11pt; line-height: 115%;\"\u003e\u003cspan style\u003d\"font-family: times;\"\u003eA Multi-Target\nApplication can have both UI5 and other open-source app implementation. We can\ndeploy Java, Node.js and all other SAP cloud platform services.\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-IN\" style\u003d\"mso-ansi-language: EN-IN; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan style\u003d\"font-family: times;\"\u003eSAP Multi Target\nApplication Architecture\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-JATAvYvUmrw/YaHgLy2WIyI/AAAAAAAAjR4/rSV6HsWwM10d1nzc9y1YEirEy4LfpPp8QCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cspan style\u003d\"font-family: times;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"392\" data-original-width\u003d\"325\" height\u003d\"240\" src\u003d\"https://lh3.googleusercontent.com/-JATAvYvUmrw/YaHgLy2WIyI/AAAAAAAAjR4/rSV6HsWwM10d1nzc9y1YEirEy4LfpPp8QCLcBGAsYHQ/image.png\" width\u003d\"199\" /\u003e\u003c/span\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"background: white; line-height: 115%; margin-bottom: 7.5pt;\"\u003e\u003cspan style\u003d\"color: black; mso-bidi-font-family: Calibri; mso-bidi-language: HI; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;;\"\u003e\u003cspan style\u003d\"font-family: times;\"\u003eIt is clear\nfrom the architecture flow diagram above that using our UI5 App, we will be\ncalling a Node.js API which in return will be calling a Blockchain Application\nEnablement Service. This Enablement Service will help us to communicate with\nthe Multichain environment. Both this UI5 App and Node.js files will co-exist\nunder MTA Application that we will discuss in upcoming sections.\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"background: white; line-height: 115%; margin-bottom: 7.5pt; margin-left: 0cm; margin-right: 0cm; margin-top: 15.0pt; mso-outline-level: 2;\"\u003e\u003cb\u003e\u003cspan style\u003d\"color: black; mso-bidi-font-family: Calibri; mso-bidi-language: HI; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;;\"\u003e\u003cspan style\u003d\"font-family: times;\"\u003ePrerequisites\nand Restrictions\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"background: white; line-height: 115%; margin-bottom: 7.5pt;\"\u003e\u003cspan style\u003d\"color: black; mso-bidi-font-family: Calibri; mso-bidi-language: HI; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;;\"\u003e\u003cspan style\u003d\"font-family: times;\"\u003eWe need to\nconsider the following limits for the SAP MTA deployment on SAP\u0026nbsp;Cloud\nFoundry\u0026nbsp;deploy service:\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"text-align: left;\"\u003e\u003cspan style\u003d\"background-color: white; font-family: times;\"\u003eMaximum size of the MTA archive: 4 GB\u003c/span\u003e\u003cbr /\u003e\u003cspan style\u003d\"background-color: white; font-family: times;\"\u003eMaximum size of MTA module content: 4 GB\u003c/span\u003e\u003cbr /\u003e\u003cspan style\u003d\"background-color: white; font-family: times;\"\u003eMaximum size of MTA resource content: 1 GB\u003c/span\u003e\u003cbr /\u003e\u003cspan style\u003d\"background-color: white; font-family: times;\"\u003eMaximum size of MTA descriptors (\u003c/span\u003e\u003cspan style\u003d\"background: rgb(247, 247, 247); font-family: times;\"\u003emtad.yaml\u003c/span\u003e\u003cspan style\u003d\"background-color: white; font-family: times;\"\u003e\u0026nbsp;and\u0026nbsp;\u003c/span\u003e\u003cspan style\u003d\"background: rgb(247, 247, 247); font-family: times;\"\u003eMANIFEST.MF\u003c/span\u003e\u003cspan style\u003d\"background-color: white; font-family: times;\"\u003e): 1 MB\u003c/span\u003e\u003c/p\u003e\n\n\u003ctable border\u003d\"0\" cellpadding\u003d\"0\" cellspacing\u003d\"0\" class\u003d\"MsoNormalTable\" style\u003d\"border-collapse: collapse; mso-yfti-tbllook: 1184;\" summary\u003d\"\"\u003e\n \u003cthead\u003e\n  \u003ctr\u003e\n   \u003ctd style\u003d\"border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .5pt; padding: 7.2pt 7.2pt 7.2pt 7.2pt;\" valign\u003d\"top\"\u003e\n   \u003cp align\u003d\"center\" class\u003d\"MsoNormal\" style\u003d\"line-height: 115%; margin-bottom: 0cm; text-align: center;\"\u003e\u003cb\u003e\u003cspan style\u003d\"color: #333333; mso-bidi-font-family: Calibri; mso-bidi-language: HI; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;;\"\u003e\u003cspan style\u003d\"font-family: times;\"\u003eTo learn more about\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n   \u003c/td\u003e\n   \u003ctd style\u003d\"border-left: none; border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .5pt; mso-border-left-alt: solid #CCCCCC .5pt; padding: 7.2pt 7.2pt 7.2pt 7.2pt;\" valign\u003d\"top\"\u003e\n   \u003cp align\u003d\"center\" class\u003d\"MsoNormal\" style\u003d\"line-height: 115%; margin-bottom: 0cm; text-align: center;\"\u003e\u003cb\u003e\u003cspan style\u003d\"color: #333333; mso-bidi-font-family: Calibri; mso-bidi-language: HI; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;;\"\u003e\u003cspan style\u003d\"font-family: times;\"\u003eSee\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n   \u003c/td\u003e\n  \u003c/tr\u003e\n \u003c/thead\u003e\n \u003ctbody\u003e\u003ctr\u003e\n  \u003ctd style\u003d\"border-top: none; border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .5pt; mso-border-top-alt: solid #CCCCCC .5pt; padding: 7.2pt 7.2pt 7.2pt 7.2pt;\" valign\u003d\"top\"\u003e\n  \u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%; margin-bottom: 0cm;\"\u003e\u003cspan style\u003d\"color: #333333; mso-bidi-font-family: Calibri; mso-bidi-language: HI; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;;\"\u003e\u003cspan style\u003d\"font-family: times;\"\u003eMultitarget\n  Application deployment descriptor\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n  \u003c/td\u003e\n  \u003ctd style\u003d\"border-bottom: solid #CCCCCC 1.0pt; border-left: none; border-right: solid #CCCCCC 1.0pt; border-top: none; mso-border-alt: solid #CCCCCC .5pt; mso-border-left-alt: solid #CCCCCC .5pt; mso-border-top-alt: solid #CCCCCC .5pt; padding: 7.2pt 7.2pt 7.2pt 7.2pt;\" valign\u003d\"top\"\u003e\n  \u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%; margin-bottom: 0cm;\"\u003e\u003cspan style\u003d\"color: #333333; mso-bidi-font-family: Calibri; mso-bidi-language: HI; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;;\"\u003e\u003cspan style\u003d\"font-family: times;\"\u003e\u003ca href\u003d\"https://help.sap.com/products/BTP/65de2977205c403bbc107264b8eccf4b/f48880b0295d4e9d859658244da84201.html?\"\u003e\u003cspan style\u003d\"color: #007db8;\"\u003eDefining Multitarget Application Deployment Descriptors\n  for Cloud Foundry\u003c/span\u003e\u003c/a\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n  \u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n  \u003ctd style\u003d\"border-top: none; border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .5pt; mso-border-top-alt: solid #CCCCCC .5pt; padding: 7.2pt 7.2pt 7.2pt 7.2pt;\" valign\u003d\"top\"\u003e\n  \u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%; margin-bottom: 0cm;\"\u003e\u003cspan style\u003d\"color: #333333; mso-bidi-font-family: Calibri; mso-bidi-language: HI; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;;\"\u003e\u003cspan style\u003d\"font-family: times;\"\u003eMultitarget\n  Application archive\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n  \u003c/td\u003e\n  \u003ctd style\u003d\"border-bottom: solid #CCCCCC 1.0pt; border-left: none; border-right: solid #CCCCCC 1.0pt; border-top: none; mso-border-alt: solid #CCCCCC .5pt; mso-border-left-alt: solid #CCCCCC .5pt; mso-border-top-alt: solid #CCCCCC .5pt; padding: 7.2pt 7.2pt 7.2pt 7.2pt;\" valign\u003d\"top\"\u003e\n  \u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%; margin-bottom: 0cm;\"\u003e\u003cspan style\u003d\"color: #333333; mso-bidi-font-family: Calibri; mso-bidi-language: HI; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;;\"\u003e\u003cspan style\u003d\"font-family: times;\"\u003e\u003ca href\u003d\"https://help.sap.com/products/BTP/65de2977205c403bbc107264b8eccf4b/33a0e0eb1e4a47b3af52596b87fd2cef.html?\" title\u003d\"You package the MTA deployment descriptor and module binaries in an MTA archive. You can manually do so as described below, or alternatively use the Cloud MTA Build tool.\"\u003e\u003cspan style\u003d\"color: #007db8;\"\u003eDefining Multitarget Application Archives\u003c/span\u003e\u003c/a\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n  \u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n  \u003ctd style\u003d\"border-top: none; border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .5pt; mso-border-top-alt: solid #CCCCCC .5pt; padding: 7.2pt 7.2pt 7.2pt 7.2pt;\" valign\u003d\"top\"\u003e\n  \u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%; margin-bottom: 0cm;\"\u003e\u003cspan style\u003d\"color: #333333; mso-bidi-font-family: Calibri; mso-bidi-language: HI; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;;\"\u003e\u003cspan style\u003d\"font-family: times;\"\u003eMultitarget\n  Application extension descriptor\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n  \u003c/td\u003e\n  \u003ctd style\u003d\"border-bottom: solid #CCCCCC 1.0pt; border-left: none; border-right: solid #CCCCCC 1.0pt; border-top: none; mso-border-alt: solid #CCCCCC .5pt; mso-border-left-alt: solid #CCCCCC .5pt; mso-border-top-alt: solid #CCCCCC .5pt; padding: 7.2pt 7.2pt 7.2pt 7.2pt;\" valign\u003d\"top\"\u003e\n  \u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%; margin-bottom: 0cm;\"\u003e\u003cspan style\u003d\"color: #333333; mso-bidi-font-family: Calibri; mso-bidi-language: HI; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;;\"\u003e\u003cspan style\u003d\"font-family: times;\"\u003e\u003ca href\u003d\"https://help.sap.com/products/BTP/65de2977205c403bbc107264b8eccf4b/50df803465324d36851c79fd07e8972c.html?\"\u003e\u003cspan style\u003d\"color: #007db8;\"\u003eDefining MTA Extension Descriptors\u003c/span\u003e\u003c/a\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n  \u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n  \u003ctd style\u003d\"border-top: none; border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .5pt; mso-border-top-alt: solid #CCCCCC .5pt; padding: 7.2pt 7.2pt 7.2pt 7.2pt;\" valign\u003d\"top\"\u003e\n  \u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%; margin-bottom: 0cm;\"\u003e\u003cspan style\u003d\"color: #333333; mso-bidi-font-family: Calibri; mso-bidi-language: HI; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;;\"\u003e\u003cspan style\u003d\"font-family: times;\"\u003eMultitarget\n  Application structure\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n  \u003c/td\u003e\n  \u003ctd style\u003d\"border-bottom: solid #CCCCCC 1.0pt; border-left: none; border-right: solid #CCCCCC 1.0pt; border-top: none; mso-border-alt: solid #CCCCCC .5pt; mso-border-left-alt: solid #CCCCCC .5pt; mso-border-top-alt: solid #CCCCCC .5pt; padding: 7.2pt 7.2pt 7.2pt 7.2pt;\" valign\u003d\"top\"\u003e\n  \u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%; margin-bottom: 0cm;\"\u003e\u003cspan style\u003d\"color: #333333; mso-bidi-font-family: Calibri; mso-bidi-language: HI; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;;\"\u003e\u003cspan style\u003d\"font-family: times;\"\u003e\u003ca href\u003d\"https://help.sap.com/products/BTP/65de2977205c403bbc107264b8eccf4b/f443b9f5412c410688916a5b833fab40.html?\" title\u003d\"The following chapter contains information about:\"\u003e\u003cspan style\u003d\"color: #007db8;\"\u003eMultitarget Application Structure\u003c/span\u003e\u003c/a\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n  \u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n  \u003ctd style\u003d\"border-top: none; border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .5pt; mso-border-top-alt: solid #CCCCCC .5pt; padding: 7.2pt 7.2pt 7.2pt 7.2pt;\" valign\u003d\"top\"\u003e\n  \u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%; margin-bottom: 0cm;\"\u003e\u003cspan style\u003d\"color: #333333; mso-bidi-font-family: Calibri; mso-bidi-language: HI; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;;\"\u003e\u003cspan style\u003d\"font-family: times;\"\u003eHow to\n  deploy the Multitarget Application\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n  \u003c/td\u003e\n  \u003ctd style\u003d\"border-bottom: solid #CCCCCC 1.0pt; border-left: none; border-right: solid #CCCCCC 1.0pt; border-top: none; mso-border-alt: solid #CCCCCC .5pt; mso-border-left-alt: solid #CCCCCC .5pt; mso-border-top-alt: solid #CCCCCC .5pt; padding: 7.2pt 7.2pt 7.2pt 7.2pt;\" valign\u003d\"top\"\u003e\n  \u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%; margin-bottom: 0cm;\"\u003e\u003cspan style\u003d\"color: #333333; mso-bidi-font-family: Calibri; mso-bidi-language: HI; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: \u0026quot;Times New Roman\u0026quot;;\"\u003e\u003cspan style\u003d\"font-family: times;\"\u003e\u003ca href\u003d\"https://help.sap.com/products/BTP/65de2977205c403bbc107264b8eccf4b/e93b231895b64cbc9221a62953563a6f.html?\" title\u003d\"Use the Multitarget application plug-in for the Cloud Foundry command line interface to deploy, remove, and view MTAs, among other possible operations.\"\u003e\u003cspan style\u003d\"color: #007db8;\"\u003eMultitarget Application Plug-In for the Cloud Foundry\n  Command Line Interface\u003c/span\u003e\u003c/a\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n  \u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\u003c/table\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"font-family: times;\"\u003e\u003cspan lang\u003d\"EN-IN\" style\u003d\"mso-ansi-language: EN-IN; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003co:p\u003e\u0026nbsp;\u003c/o:p\u003e\u003c/span\u003e\u003cspan lang\u003d\"EN-IN\"\u003eNow, let’s\nsummarize MTA, in short, \u003c/span\u003e\u003cspan style\u003d\"background: white;\"\u003eAn MTA is an SAP construct that allows you to combine modules\ninto a single deployable unit for lifecycle maintenance. These modules could\npotentially use different runtimes (one on Node.js, one on Python, etc.)\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"line-height: 115%;\"\u003e\u003cspan style\u003d\"font-family: times;\"\u003e\u003cspan style\u003d\"background: white;\"\u003eOne of the primary features of using the SAP WebIDE for Cloud\nFoundry (CF) application development is the ability to create a multi-target\napplication (MTA) easily\u003c/span\u003e. Hence, in the next blog, I will try to cover\nsetting up SAP Web IDE for MTA.\u003cspan lang\u003d\"EN-IN\"\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan lang\u003d\"EN-IN\" style\u003d\"mso-ansi-language: EN-IN; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003co:p\u003e\u003cspan style\u003d\"font-family: times;\"\u003e\u0026nbsp;\u003c/span\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan lang\u003d\"EN-IN\" style\u003d\"mso-ansi-language: EN-IN; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003co:p\u003e\u003cspan style\u003d\"font-family: times;\"\u003e\u0026nbsp;\u003c/span\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan lang\u003d\"EN-IN\" style\u003d\"mso-ansi-language: EN-IN; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003co:p\u003e\u003cspan style\u003d\"font-family: times;\"\u003e\u0026nbsp;\u003c/span\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan lang\u003d\"EN-IN\" style\u003d\"mso-ansi-language: EN-IN; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003co:p\u003e\u003cspan style\u003d\"font-family: times;\"\u003e\u0026nbsp;\u003c/span\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\u003cbr /\u003e\u003cp\u003e\u003c/p\u003e"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https://www.sapui5tutors.com/feeds/3255613830812758672/comments/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https://www.sapui5tutors.com/2021/11/sap-mta-multi-target-application.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https://www.blogger.com/feeds/3826368468004556615/posts/default/3255613830812758672"},{"rel":"self","type":"application/atom+xml","href":"https://www.blogger.com/feeds/3826368468004556615/posts/default/3255613830812758672"},{"rel":"alternate","type":"text/html","href":"https://www.sapui5tutors.com/2021/11/sap-mta-multi-target-application.html","title":"SAP MTA: Multi Target Application"}],"author":[{"name":{"$t":"Sanjo Thomas"},"uri":{"$t":"https://www.blogger.com/profile/06687889588258406801"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"35","height":"35","src":"//www.blogger.com/img/blogger_logo_round_35.png"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https://lh3.googleusercontent.com/-JATAvYvUmrw/YaHgLy2WIyI/AAAAAAAAjR4/rSV6HsWwM10d1nzc9y1YEirEy4LfpPp8QCLcBGAsYHQ/s72-c/image.png","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-3826368468004556615.post-3222279360901356744"},"published":{"$t":"2021-05-03T03:56:00.003-07:00"},"updated":{"$t":"2021-05-03T03:56:49.895-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"CAP"},{"scheme":"http://www.blogger.com/atom/ns#","term":"CDS"},{"scheme":"http://www.blogger.com/atom/ns#","term":"CDL"},{"scheme":"http://www.blogger.com/atom/ns#","term":"CQL"},{"scheme":"http://www.blogger.com/atom/ns#","term":"CSN"},{"scheme":"http://www.blogger.com/atom/ns#","term":"SAP CAP"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Cloud Application Programming Model"}],"title":{"type":"text","$t":"CDS views in SAP Cloud Application Programming Model (CAP)"},"content":{"type":"html","$t":"\u003cp\u003e\u0026nbsp;\u003c/p\u003e\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eIn this blog, we will deep dive into \u003cb\u003eCDS views\u003c/b\u003e with respect\nto \u003cb\u003eSAP Cloud Application Programming Model\u003c/b\u003e \u003cb\u003e(CAP).\u003c/b\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eCDS stands for Core Data Services, but what exactly is CDS? CDS is\na collection of Domain specific languages, helping developers to entirely focus\non specifically on business domain model.\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eCDS is base of the SAP Cloud Application programming Model.\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eIt provides the means to express service definitions\u003c/span\u003e and\ndata models, as well as queries, and expressions, all of this in plain\nJavaScript object notations. It can parse from a variety of source\nlanguages and to compile them into various target languages. \u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eThe CDS models are plain JavaScript objects\u003c/span\u003e complying to\nthe Core Schema Notation, in short CSN, which is an open specification\nderived from JSON Schema.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-6-Ez4htOqfk/YI_VTECdJ6I/AAAAAAAAazY/m6-HpbLNNq4pV08vu_PyqZLAdHaK79lQQCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"178\" data-original-width\u003d\"374\" height\u003d\"152\" src\u003d\"https://lh3.googleusercontent.com/-6-Ez4htOqfk/YI_VTECdJ6I/AAAAAAAAazY/m6-HpbLNNq4pV08vu_PyqZLAdHaK79lQQCLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eYou can easily create or interpret these models,\u003c/span\u003e which\nfosters extensions by third-party contributions. Models are processed\ndynamically at runtime and can also be created dynamically.\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eDefinition Language\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eCDL is a human-readable syntax for defining your models.\u003c/span\u003e\nHere are some of the available definitions of this language.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpFirst\" style\u003d\"mso-list: l1 level1 lfo1; text-indent: -.25in;\"\u003e\u003c!--[if !supportLists]--\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan style\u003d\"mso-list: Ignore;\"\u003e1)\u003cspan style\u003d\"font: 7.0pt \u0026quot;Times New Roman\u0026quot;;\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c!--[endif]--\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eEntities\u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e - Entities are structured types\nrepresenting sets\u003c/span\u003e of persisted data that can be read and\nmanipulated using CRUD operations.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-l6rsYF-jg_w/YI_VV2p960I/AAAAAAAAazg/WlPlz775J2klXAlue5yL9SFGIqzDd1v8ACLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"192\" data-original-width\u003d\"353\" height\u003d\"174\" src\u003d\"https://lh3.googleusercontent.com/-l6rsYF-jg_w/YI_VV2p960I/AAAAAAAAazg/WlPlz775J2klXAlue5yL9SFGIqzDd1v8ACLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"mso-list: l1 level1 lfo1; text-indent: -.25in;\"\u003e\u003c!--[if !supportLists]--\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan style\u003d\"mso-list: Ignore;\"\u003e2)\u003cspan style\u003d\"font: 7.0pt \u0026quot;Times New Roman\u0026quot;;\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eViews\u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e - Views are entities defined by\nprojection\u003c/span\u003e on underlying entities or other views, like the views\nin SQL.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eThe element signatures are inferred from the\nprojection.\u003c/span\u003e The projection can be any valid query.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-0T1lh-ClNuw/YI_VYB0pCZI/AAAAAAAAazk/0chXyddGTkYslJ_q-hIn-zxY7Dw-L1EfgCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"90\" data-original-width\u003d\"347\" height\u003d\"83\" src\u003d\"https://lh3.googleusercontent.com/-0T1lh-ClNuw/YI_VYB0pCZI/AAAAAAAAazk/0chXyddGTkYslJ_q-hIn-zxY7Dw-L1EfgCLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"mso-list: l1 level1 lfo1; text-indent: -.25in;\"\u003e\u003c!--[if !supportLists]--\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan style\u003d\"mso-list: Ignore;\"\u003e3)\u003cspan style\u003d\"font: 7.0pt \u0026quot;Times New Roman\u0026quot;;\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c!--[endif]--\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eAssociations\u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e -\u003cspan style\u003d\"mso-spacerun: yes;\"\u003e\u0026nbsp;\n\u003c/span\u003eAssociations capture relationships between entities.\u003c/span\u003e They are\nlike forward-declared joins added to a table definition in SQL.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-MUa9u8DqrbE/YI_VZr1TvTI/AAAAAAAAazo/mJTXRHDbFr8tzb3zp6bF5rqdo7Slvb3dACLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"136\" data-original-width\u003d\"283\" height\u003d\"154\" src\u003d\"https://lh3.googleusercontent.com/-MUa9u8DqrbE/YI_VZr1TvTI/AAAAAAAAazo/mJTXRHDbFr8tzb3zp6bF5rqdo7Slvb3dACLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"mso-list: l1 level1 lfo1; text-indent: -.25in;\"\u003e\u003c!--[if !supportLists]--\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan style\u003d\"mso-list: Ignore;\"\u003e4)\u003cspan style\u003d\"font: 7.0pt \u0026quot;Times New Roman\u0026quot;;\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c!--[endif]--\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eAspects\u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e - Aspects help to separate concerns\ninto partial definitions\u003c/span\u003e and, in this way, to avoid polluting your\nstructure. They can be declared in the same or different files or\neven in different projects, \u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-jFFLPOrrns8/YI_Va709nNI/AAAAAAAAazw/izea-b0YRD4Zy6QtQV-OT5bOuu-68DynACLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"143\" data-original-width\u003d\"291\" height\u003d\"157\" src\u003d\"https://lh3.googleusercontent.com/-jFFLPOrrns8/YI_Va709nNI/AAAAAAAAazw/izea-b0YRD4Zy6QtQV-OT5bOuu-68DynACLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"mso-list: l1 level1 lfo1; text-indent: -.25in;\"\u003e\u003c!--[if !supportLists]--\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan style\u003d\"mso-list: Ignore;\"\u003e5)\u003cspan style\u003d\"font: 7.0pt \u0026quot;Times New Roman\u0026quot;;\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c!--[endif]--\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eTypes\u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e -\u003cspan style\u003d\"mso-spacerun: yes;\"\u003e\u0026nbsp;\n\u003c/span\u003eYou can declare custom types to reuse later on\u003c/span\u003e for example for\nelements in entity definitions.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-rivLdxZuE4Y/YI_VcCwAtcI/AAAAAAAAaz0/zWElbX-YT4sS9DpQtNntfV26eyq7-vGfQCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"151\" data-original-width\u003d\"268\" height\u003d\"180\" src\u003d\"https://lh3.googleusercontent.com/-rivLdxZuE4Y/YI_VcCwAtcI/AAAAAAAAaz0/zWElbX-YT4sS9DpQtNntfV26eyq7-vGfQCLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpLast\" style\u003d\"mso-list: l1 level1 lfo1; text-indent: -.25in;\"\u003e\u003c!--[if !supportLists]--\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan style\u003d\"mso-list: Ignore;\"\u003e6)\u003cspan style\u003d\"font: 7.0pt \u0026quot;Times New Roman\u0026quot;;\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c!--[endif]--\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eService Definitions\u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e - Service\ndefinitions, service interfaces should be defined\u003c/span\u003e as collections of\nexposed entities enclosed in a service block. A service could\nalso have, as members, actions and functions. \u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"margin-left: .25in;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-no-proof: yes;\"\u003e\u003cspan style\u003d\"mso-spacerun: yes;\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-vfUypAaIz-c/YI_Vd_w8rGI/AAAAAAAAaz4/ytpf842BFeIupDLxQJZPM9lLwUzDYsj6gCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"199\" data-original-width\u003d\"364\" height\u003d\"175\" src\u003d\"https://lh3.googleusercontent.com/-vfUypAaIz-c/YI_Vd_w8rGI/AAAAAAAAaz4/ytpf842BFeIupDLxQJZPM9lLwUzDYsj6gCLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003co:p\u003e\u003c/o:p\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-no-proof: yes;\"\u003eCore Scheme Notation(CSN)\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eThe next member of the languages set\u003c/span\u003e we will take a look at\nis the CSN, or Core Schema Notation. It is notation for compact\nrepresentations of data and service models, of data and service\nmodels, to share and interpret models with minimal footprint and\ndependencies. \u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eIt is like JSON Schema but goes beyond it with the ability to\ncapture full- blown,\u003c/span\u003e entity-relationship models and extensions. This\nability makes CSN models much more concise and closer to your conceptual\nthinking. \u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eLet us see an example for the same.\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-9BeHwqQTG9A/YI_Vf_vCrYI/AAAAAAAAaz8/WxIRntlhMvAuD6AnhMRTli1s7i0I4nDqQCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"203\" data-original-width\u003d\"624\" height\u003d\"130\" src\u003d\"https://lh3.googleusercontent.com/-9BeHwqQTG9A/YI_Vf_vCrYI/AAAAAAAAaz8/WxIRntlhMvAuD6AnhMRTli1s7i0I4nDqQCLcBGAsYHQ/w400-h130/image.png\" width\u003d\"400\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eOn the slide's left-hand side, you can see\u003c/span\u003e an entity Books\ndeclared in the human-readable definition language, and on the right\nside, you see the CSN representation.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eBoth are not lengthy, but still capture\u003c/span\u003e all the needed\ninformation.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-75paje4F5jQ/YI_Vg297j3I/AAAAAAAAa0A/TdSDL_R8ZfwfYfWYQruTkvnrDD36ePnYgCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"286\" data-original-width\u003d\"624\" height\u003d\"184\" src\u003d\"https://lh3.googleusercontent.com/-75paje4F5jQ/YI_Vg297j3I/AAAAAAAAa0A/TdSDL_R8ZfwfYfWYQruTkvnrDD36ePnYgCLcBGAsYHQ/w400-h184/image.png\" width\u003d\"400\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eIn the next example, on the left CDL snippet,\u003c/span\u003e we see a\nservice definition with one unbound action as part of the service.\nOn the right side, the respective CSN representation, an easily\nprocessable JSON object.\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eQuery Language (CQL)\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eThe next member of the group of languages\u003c/span\u003e is the query\nlanguage, abbreviated as CQL or CDS QL. CDS QL is based on standard SQL,\nbut upgrades it with some really handy features, like postfix\nprojections, path expressions, CDL-style casts, and some more.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpFirst\" style\u003d\"mso-list: l0 level1 lfo2; text-indent: -.25in;\"\u003e\u003c!--[if !supportLists]--\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-font-weight: bold; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan style\u003d\"mso-list: Ignore;\"\u003e1)\u003cspan style\u003d\"font: 7.0pt \u0026quot;Times New Roman\u0026quot;;\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c!--[endif]--\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003ePostfix Projections - \u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eCQL allows\nputting the SELECT clause\u003c/span\u003e behind the FROM clause, enclosed in curly\nbraces. We see in the example that the elements list is put\nbehind the \"from Books\" part of the statement.\u003cb\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eIn the postfix projections, the star operator\nqueries\u003c/span\u003e in the postfix projections, the star operator queries compared\nto the plain SQL SELECT clauses. Queries like on the example here would\nresult in duplicate element effects for author in SQL, but in CDS\nQL, explicitly defined columns following the star will replace equally\nnamed columns.\u003cb\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-8Kl-79iv-_w/YI_VipqK4QI/AAAAAAAAa0E/58pZ-XxUdgwq0kajWCQnCSLFQvkc8lQVgCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"21\" data-original-width\u003d\"323\" height\u003d\"21\" src\u003d\"https://lh3.googleusercontent.com/-8Kl-79iv-_w/YI_VipqK4QI/AAAAAAAAa0E/58pZ-XxUdgwq0kajWCQnCSLFQvkc8lQVgCLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cbr /\u003e\u003cbr /\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"mso-list: l0 level1 lfo2; text-indent: -.25in;\"\u003e\u003c!--[if !supportLists]--\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-font-weight: bold; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan style\u003d\"mso-list: Ignore;\"\u003e2)\u003cspan style\u003d\"font: 7.0pt \u0026quot;Times New Roman\u0026quot;;\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c!--[endif]--\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003ePath Expressions -\u003cspan style\u003d\"mso-spacerun: yes;\"\u003e\u0026nbsp; \u003c/span\u003e\u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eOne should use path expressions\u003c/span\u003e\nto navigate along associations and structured elements in any of the SQL\nclauses like FROM clauses, SELECT clauses, or WHERE clauses as is\nshown here in the example.\u003cb\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-IhEMqlCID6s/YI_Vj4ZePiI/AAAAAAAAa0M/XZiAm1DkJ_sU8Q8f6_Z5PqWtlNGZ_tbzwCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"116\" data-original-width\u003d\"325\" height\u003d\"114\" src\u003d\"https://lh3.googleusercontent.com/-IhEMqlCID6s/YI_Vj4ZePiI/AAAAAAAAa0M/XZiAm1DkJ_sU8Q8f6_Z5PqWtlNGZ_tbzwCLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003ePath expressions in FROM clauses allow to\nfetch only\u003c/span\u003e those entries from a target entity that are associated\nto a parent entity. They unfold to semi-joins in plain SQL queries.\nThe path expressions in all other clauses are very much like standard\nSQL column expressions, with table aliases as single prefixes.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"mso-list: l0 level1 lfo2; text-indent: -.25in;\"\u003e\u003c!--[if !supportLists]--\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-font-weight: bold; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan style\u003d\"mso-list: Ignore;\"\u003e3)\u003cspan style\u003d\"font: 7.0pt \u0026quot;Times New Roman\u0026quot;;\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eCDL – style casts\u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e - As an\nalternative of the SQL-type casts,\u003c/span\u003e you can use CDL-styled casts. This\nis done as in the element of an entity definition.\u003cspan style\u003d\"mso-spacerun: yes;\"\u003e\u0026nbsp; \u003c/span\u003e\u003cspan style\u003d\"mso-spacerun: yes;\"\u003e\u0026nbsp;\u003c/span\u003e\u003cb\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-hWQbhhwrEU4/YI_VlVZHviI/AAAAAAAAa0U/8L6Na1cdRYUFsVuPhV26avAPN1ddyWbsQCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"19\" data-original-width\u003d\"329\" height\u003d\"18\" src\u003d\"https://lh3.googleusercontent.com/-hWQbhhwrEU4/YI_VlVZHviI/AAAAAAAAa0U/8L6Na1cdRYUFsVuPhV26avAPN1ddyWbsQCLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003cb style\u003d\"text-align: left; text-indent: -0.25in;\"\u003e4) Excluding clause - \u003c/b\u003e\u003cspan style\u003d\"text-align: left; text-indent: -0.25in;\"\u003eTo exclude\nelements from your SELECT list,\u003c/span\u003e\u003cspan style\u003d\"text-align: left; text-indent: -0.25in;\"\u003e the excluding clauses come to help.\nCombined with the SELECT star of all elements, it gives the chance to\nget rid of the elements listed in the curly braces.\u003c/span\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-9wrvcSxuVzs/YI_VmjKlPlI/AAAAAAAAa0Y/FRenOsMaT7UtWj7ChqJNEbAquBSdNxqqwCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"24\" data-original-width\u003d\"345\" height\u003d\"22\" src\u003d\"https://lh3.googleusercontent.com/-9wrvcSxuVzs/YI_VmjKlPlI/AAAAAAAAa0Y/FRenOsMaT7UtWj7ChqJNEbAquBSdNxqqwCLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cb style\u003d\"text-indent: -0.25in;\"\u003e5) Query – local mixins – \u003c/b\u003e\u003cspan style\u003d\"text-indent: -0.25in;\"\u003eIt is used\nto logically add elements to the source of your query.\u003c/span\u003e\u003cspan style\u003d\"text-indent: -0.25in;\"\u003e Later on, those\nelements can be used and propagated in the query's projection.\u003c/span\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-NSj7T4N7ZYM/YI_Vn6gGs-I/AAAAAAAAa0c/TyD-eNJHKp8_6lPfgTMTwsKku6006s_vQCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"131\" data-original-width\u003d\"261\" height\u003d\"161\" src\u003d\"https://lh3.googleusercontent.com/-NSj7T4N7ZYM/YI_Vn6gGs-I/AAAAAAAAa0c/TyD-eNJHKp8_6lPfgTMTwsKku6006s_vQCLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cbr /\u003eIn our \u003ca href\u003d\"http://www.sapui5tutors.com/2021/05/what-is-sap-cloud-application.html\"\u003eprevious blog\u003c/a\u003e, we saw how to create a hello world project using CDS and node.js in\nSAP BAS.\u003cp\u003e\u003c/p\u003e"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https://www.sapui5tutors.com/feeds/3222279360901356744/comments/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https://www.sapui5tutors.com/2021/05/cds-views-in-sap-cloud-application.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https://www.blogger.com/feeds/3826368468004556615/posts/default/3222279360901356744"},{"rel":"self","type":"application/atom+xml","href":"https://www.blogger.com/feeds/3826368468004556615/posts/default/3222279360901356744"},{"rel":"alternate","type":"text/html","href":"https://www.sapui5tutors.com/2021/05/cds-views-in-sap-cloud-application.html","title":"CDS views in SAP Cloud Application Programming Model (CAP)"}],"author":[{"name":{"$t":"Sanjo Thomas"},"uri":{"$t":"https://www.blogger.com/profile/06687889588258406801"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"35","height":"35","src":"//www.blogger.com/img/blogger_logo_round_35.png"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https://lh3.googleusercontent.com/-6-Ez4htOqfk/YI_VTECdJ6I/AAAAAAAAazY/m6-HpbLNNq4pV08vu_PyqZLAdHaK79lQQCLcBGAsYHQ/s72-c/image.png","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-3826368468004556615.post-5954739278923238196"},"published":{"$t":"2021-05-03T03:39:00.002-07:00"},"updated":{"$t":"2021-05-03T03:47:55.840-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"SAP BAS"},{"scheme":"http://www.blogger.com/atom/ns#","term":"example of CAP"},{"scheme":"http://www.blogger.com/atom/ns#","term":"CAP"},{"scheme":"http://www.blogger.com/atom/ns#","term":"CDS"},{"scheme":"http://www.blogger.com/atom/ns#","term":"SAP Bussiness Application Studio"},{"scheme":"http://www.blogger.com/atom/ns#","term":"node.js"},{"scheme":"http://www.blogger.com/atom/ns#","term":"SAP CAP"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Cloud Application Programming Model"},{"scheme":"http://www.blogger.com/atom/ns#","term":"hello world application"},{"scheme":"http://www.blogger.com/atom/ns#","term":"design principles"}],"title":{"type":"text","$t":"What is SAP Cloud Application Programming Model (CAP)?"},"content":{"type":"html","$t":"\u003cp\u003e\u0026nbsp;In this tutorial series, we will focus on learning SAP Cloud Application\nProgramming Model (CAP).\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eCAP is a framework, that would not only guide developers,\u003c/span\u003e but\nalso take away some of the more technical or foundational tasks to help\nthem focus on their business logic. Business logic is the key\ndifferentiator for what you are developing.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eSAP CAP is both open and opinionated.\u003c/span\u003e The programming model\nis a combination of tools, languages, and libraries that will help you\nbuild enterprise-grade services and applications.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eThe goal is to guide developers\u003c/span\u003e and minimize boilerplate\ncontent, so they can focus on what's important the business logic.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-7wdklXOSwfE/YI_RpSo3wjI/AAAAAAAAax0/Mwx6_bUakp0lLjsfNyDQm1VmY-cq_6NzwCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"208\" data-original-width\u003d\"222\" height\u003d\"240\" src\u003d\"https://lh3.googleusercontent.com/-7wdklXOSwfE/YI_RpSo3wjI/AAAAAAAAax0/Mwx6_bUakp0lLjsfNyDQm1VmY-cq_6NzwCLcBGAsYHQ/image.png\" width\u003d\"256\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eAs you can see in this graphic,\u003c/span\u003e we support both open-source\nand SAP tools and technologies.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eComponents of CAP\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-HOpZWBj2_HY/YI_RqjmeJTI/AAAAAAAAax4/dFPfSDJb3jc-0nn0FOzSK2FRQwlwbUjrwCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"174\" data-original-width\u003d\"271\" height\u003d\"205\" src\u003d\"https://lh3.googleusercontent.com/-HOpZWBj2_HY/YI_RqjmeJTI/AAAAAAAAax4/dFPfSDJb3jc-0nn0FOzSK2FRQwlwbUjrwCLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cbr /\u003e\u003cbr /\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpFirst\" style\u003d\"margin-left: 27pt; mso-add-space: auto; mso-list: l0 level1 lfo1; text-align: left; text-indent: -0.25in;\"\u003e\u003c!--[if !supportLists]--\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan\u003e\u0026nbsp;\u0026nbsp; \u0026nbsp;\u003c/span\u003e1) Core Data Services\u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e (CDS) is\nthe data modelling infrastructure. CDS is known as the backbone of the\nprogramming model,\u003c/span\u003e as it provides the means to capture service\ndefinitions and data models, queries, and expressions in plain\nobject notations.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto; mso-list: l0 level1 lfo1; text-align: left; text-indent: -0.25in;\"\u003e\u003c!--[if !supportLists]--\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan\u003e\u0026nbsp;\u0026nbsp; \u0026nbsp;\u003c/span\u003e2) Service SDKs - \u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eIt\nsupports libraries available for both Java and Node.js,\u003c/span\u003e which can be\nused to provide and consume services through synchronous and asynchronous\nAPIs.\u003cb\u003e\u0026nbsp;\u003c/b\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eThe SDKs include out-of-the-box integration\u003c/span\u003e\nto lower-level platform services, such as authentication and\ncredential-flows or on and off-boarding of SaaS tenants.\u003c/p\u003e\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"text-align: left;\"\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto; mso-list: l0 level1 lfo1; text-align: left; text-indent: -0.25in;\"\u003e\u003c!--[if !supportLists]--\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan\u003e\u0026nbsp;\u0026nbsp; \u0026nbsp;\u003c/span\u003e3) SAP BAS, Fiori Elements, SAP HANA - \u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eSAP BAS is\nthe IDE of choice, there is Support for SAP HANA and SAP Fiori Elements\u003c/span\u003e.\u003cb\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003co:p\u003e\u0026nbsp;\u003c/o:p\u003e\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eDesign\nPrinciples\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eWhen\nit comes to design principles,\u003c/span\u003e there is open and opinionated concept.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eIt's\n\u003cb\u003eopen\u003c/b\u003e because it gives you choice.\u003c/span\u003e You can choose which technology\nto use, you can select your architecture pattern, you can pick\nand choose the parts of the programming model that suit your development\nneeds best. But it's also \u003cb\u003eopinionated\u003c/b\u003e, because we provide but\nit's also opinionated, because we provide for you to follow SAP’s\nrecommended approach.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-C5NDS5iWd48/YI_Rsmm8KaI/AAAAAAAAax8/WRjE48R6iQIxVQpvK5QY1L8OyDrLorHLwCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"252\" data-original-width\u003d\"411\" height\u003d\"196\" src\u003d\"https://lh3.googleusercontent.com/-C5NDS5iWd48/YI_Rsmm8KaI/AAAAAAAAax8/WRjE48R6iQIxVQpvK5QY1L8OyDrLorHLwCLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cb\u003eZero\nLock-In\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eYou\ncan choose any technology of your choice, that there is no locked-in, mandatory\npath\u003c/span\u003e with this programming model. To build your UI, you can use\nSAP Fiori Elements, or you can use any other alternative technology as\nwell.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eNon-Intrusive\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eThe\nprogramming model is non-intrusive, i.e. it is completely free of assumptions. Here\nthe main goal here is to reduce boilerplate code,\u003c/span\u003e which would be the\nsame regardless of the architecture or methodology you choose.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003ePlatform-Agnostic\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eYou\ncan build applications in a way that is independent\u003c/span\u003e from the underlying\ncloud infrastructure. To achieve this by using an API-first approach\nthat avoids hard wiring to any given technology.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003co:p\u003e\u0026nbsp;\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eLet’s\nunderstand with an example Hello World application using CDS and node.js using\nSAP BAS as IDE.\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eI\nhope you are well versed with the basics of SAP BAS. If you aren’t, please\ncheck my previous blog on introduction to SAP BAS and setting up.\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan color\u003d\"windowtext\"\u003e\u003ca href\u003d\"http://www.sapui5tutors.com/2020/11/getting-started-with-sap-bussiness.html\"\u003eIntroduction to SAP BAS\u003c/a\u003e\u003c/span\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003ca href\u003d\"http://www.sapui5tutors.com/2020/11/setting-up-sap-bussiness-application.html\"\u003e\u003cspan color\u003d\"windowtext\"\u003eSetting up SAP BAS\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eThis\nis the home page of SAP BAS.\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-VUexS5ZYkmk/YI_RxCk94eI/AAAAAAAAayA/M4Oa5dVsIdgn_qS-oTUGU6CbuWzm9-TjQCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"283\" data-original-width\u003d\"624\" height\u003d\"181\" src\u003d\"https://lh3.googleusercontent.com/-VUexS5ZYkmk/YI_RxCk94eI/AAAAAAAAayA/M4Oa5dVsIdgn_qS-oTUGU6CbuWzm9-TjQCLcBGAsYHQ/w400-h181/image.png\" width\u003d\"400\" /\u003e\u003c/a\u003e\u003c/div\u003eGo\nTo terminal and enter cd projects\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-L2vlAjYuWfc/YI_R3PK9LwI/AAAAAAAAayE/XM5_IUlK0VsC_6KkLtizrBAHoVYMkGQIACLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"176\" data-original-width\u003d\"583\" height\u003d\"121\" src\u003d\"https://lh3.googleusercontent.com/-L2vlAjYuWfc/YI_R3PK9LwI/AAAAAAAAayE/XM5_IUlK0VsC_6KkLtizrBAHoVYMkGQIACLcBGAsYHQ/w400-h121/image.png\" width\u003d\"400\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: justify;\"\u003e\u003cspan style\u003d\"text-align: left;\"\u003eCDS\nInit helloworld create a new project template and you can search the project in\nthe projects directory.\u003c/span\u003e\u003c/div\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-eRBoJG2X8rQ/YI_R6SM4vgI/AAAAAAAAayM/zUalRBdB8LUgAjFLfLtEeDZDpCTsbB-dwCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"268\" data-original-width\u003d\"244\" height\u003d\"320\" src\u003d\"https://lh3.googleusercontent.com/-eRBoJG2X8rQ/YI_R6SM4vgI/AAAAAAAAayM/zUalRBdB8LUgAjFLfLtEeDZDpCTsbB-dwCLcBGAsYHQ/w292-h320/image.png\" width\u003d\"292\" /\u003e\u003c/a\u003e\u003c/div\u003eAs\nyou can see, by using cds init, the project structure was already created\nwith a folder for the services, for the database, and for the UI.\u003cdiv\u003eNow\nlets define a service in the srv folder and name it as say.cds\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-8j-aL9DZ528/YI_SBc4NoTI/AAAAAAAAayY/D5kGMwRolDAj22Lhl33NQnzukhjHbpBxQCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"216\" data-original-width\u003d\"624\" height\u003d\"138\" src\u003d\"https://lh3.googleusercontent.com/-8j-aL9DZ528/YI_SBc4NoTI/AAAAAAAAayY/D5kGMwRolDAj22Lhl33NQnzukhjHbpBxQCLcBGAsYHQ/image.png\" width\u003d\"400\" /\u003e\u003c/a\u003e\u003c/div\u003eNow,\nwe need to implement the service. To do so, we create another file say.js.\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-W91UdraEsVg/YI_SFgkt4aI/AAAAAAAAayc/RlfXf4Byr6AktpIMR_JV7Bv9Y2j__u2ZACLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"175\" data-original-width\u003d\"624\" height\u003d\"113\" src\u003d\"https://lh3.googleusercontent.com/-W91UdraEsVg/YI_SFgkt4aI/AAAAAAAAayc/RlfXf4Byr6AktpIMR_JV7Bv9Y2j__u2ZACLcBGAsYHQ/w400-h113/image.png\" width\u003d\"400\" /\u003e\u003c/a\u003e\u003c/div\u003eNow,\ngo to the terminal and we can run our little hello world application.\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-m5lL6JWlK9k/YI_SNSRvWsI/AAAAAAAAayo/LRWERbMdy_8mA1Gfe8RffhThtfRiu4u8gCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"136\" data-original-width\u003d\"242\" height\u003d\"180\" src\u003d\"https://lh3.googleusercontent.com/-m5lL6JWlK9k/YI_SNSRvWsI/AAAAAAAAayo/LRWERbMdy_8mA1Gfe8RffhThtfRiu4u8gCLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003c/div\u003eSo\nusing cds run, we should get a running service.\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-FhyGuxgf3yE/YI_SPvjggeI/AAAAAAAAays/iO03CeMwu94KiumK2bhx9AyfBw18z4pPgCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"219\" data-original-width\u003d\"291\" height\u003d\"240\" src\u003d\"https://lh3.googleusercontent.com/-FhyGuxgf3yE/YI_SPvjggeI/AAAAAAAAays/iO03CeMwu94KiumK2bhx9AyfBw18z4pPgCLcBGAsYHQ/image.png\" width\u003d\"319\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto; text-align: justify;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eWe\ncan edit the url to run our hello world request.\u0026nbsp;\u003c/span\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-tS1Ls50ruRk/YI_SQzyDPuI/AAAAAAAAayw/u8ayDYN5xdU_BlR6c5guvu2LwRBg8lefwCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"40\" data-original-width\u003d\"390\" height\u003d\"33\" src\u003d\"https://lh3.googleusercontent.com/-tS1Ls50ruRk/YI_SQzyDPuI/AAAAAAAAayw/u8ayDYN5xdU_BlR6c5guvu2LwRBg8lefwCLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cbr /\u003e\u003co:p\u003e\u003c/o:p\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003co:p\u003e\u0026nbsp;\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-OF7Xfu7XHYw/YI_SR9IVjUI/AAAAAAAAay4/_rH5ZVnc1ys_HXCZ4aOcrY3cvkBMhfniACLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"174\" data-original-width\u003d\"624\" height\u003d\"89\" src\u003d\"https://lh3.googleusercontent.com/-OF7Xfu7XHYw/YI_SR9IVjUI/AAAAAAAAay4/_rH5ZVnc1ys_HXCZ4aOcrY3cvkBMhfniACLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003eAnd\nwe'll see the value returned as \"Hello world\".So I hope\nyou learned how to build a small HelloWorld application using CDS and node.js\non SAP BAS. In the coming blogs, we will explore more about CDS and SAP CAP.\u003c/div\u003e"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https://www.sapui5tutors.com/feeds/5954739278923238196/comments/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https://www.sapui5tutors.com/2021/05/what-is-sap-cloud-application.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https://www.blogger.com/feeds/3826368468004556615/posts/default/5954739278923238196"},{"rel":"self","type":"application/atom+xml","href":"https://www.blogger.com/feeds/3826368468004556615/posts/default/5954739278923238196"},{"rel":"alternate","type":"text/html","href":"https://www.sapui5tutors.com/2021/05/what-is-sap-cloud-application.html","title":"What is SAP Cloud Application Programming Model (CAP)?"}],"author":[{"name":{"$t":"Sanjo Thomas"},"uri":{"$t":"https://www.blogger.com/profile/06687889588258406801"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"35","height":"35","src":"//www.blogger.com/img/blogger_logo_round_35.png"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https://lh3.googleusercontent.com/-7wdklXOSwfE/YI_RpSo3wjI/AAAAAAAAax0/Mwx6_bUakp0lLjsfNyDQm1VmY-cq_6NzwCLcBGAsYHQ/s72-c/image.png","height":"72","width":"72"},"thr$total":{"$t":"0"}}]}});