diff --git a/abap-developer-roadmap/Development Tools/X.1 Development Tools.md b/abap-developer-roadmap/Development Tools/X.1 Development Tools.md index 3b64c65..c1e2b98 100644 --- a/abap-developer-roadmap/Development Tools/X.1 Development Tools.md +++ b/abap-developer-roadmap/Development Tools/X.1 Development Tools.md @@ -2,9 +2,9 @@ In the SAP world, there is the old and the new world of development tools. -More and more familiar tools are being used. Eclipse plays a central role in ABAP development and Build Code in cloud development. This helps non-SAP developers to familiarise themselves with the processes more quickly. Especially the ABAP Development Tools allow developers to manage connections to multiple systems, customize their development experience to their specific needs and increase their productivity. Plugins for the development environment, such as ABAP Cleaner and Code Pal, are only possible in ADT. +More and more familiar tools are being used. Eclipse plays a central role in ABAP development, VS Code is becoming an additional option, and Build Code is important in cloud development. This helps non-SAP developers to familiarise themselves with the processes more quickly. Especially the ABAP Development Tools allow developers to manage connections to multiple systems, customize their development experience to their specific needs and increase their productivity. Plugins for the development environment, such as ABAP Cleaner and Code Pal, are only possible in ADT. The still-existing SAP Developer Workbench (SE80) is obsolete. It was the central tool for ABAP development and available directly in SAP GUI. Its functionality is far surpassed by the ABAP Development Tools in Eclipse, the only remaining part of SE80 that is still used in on-premise systems today is the "New ABAP Debugger" which still has some features that are not matched by the ADT Debugger. # Resources -#Article [SAP Developer Workbench | SAP Help Portal](https://help.sap.com/docs/SAP_NETWEAVER_AS_ABAP_FOR_SOH_740/bd833c8355f34e96a6e83096b38bf192/cd3965595f154c6895a486b7d006a010.html) \ No newline at end of file +#Article [SAP Developer Workbench | SAP Help Portal](https://help.sap.com/docs/SAP_NETWEAVER_AS_ABAP_FOR_SOH_740/bd833c8355f34e96a6e83096b38bf192/cd3965595f154c6895a486b7d006a010.html) diff --git a/abap-developer-roadmap/Development Tools/X.1.3 ABAP Development Tools for Visual Studio Code.md b/abap-developer-roadmap/Development Tools/X.1.3 ABAP Development Tools for Visual Studio Code.md new file mode 100644 index 0000000..de0e003 --- /dev/null +++ b/abap-developer-roadmap/Development Tools/X.1.3 ABAP Development Tools for Visual Studio Code.md @@ -0,0 +1,14 @@ +#Basic +Visual Studio Code (VS Code) is a lightweight, extensible code editor that can be adapted to many development scenarios through extensions. It offers familiar editor functions such as syntax highlighting, code completion, integrated terminal support, debugging and Git integration. + +ABAP Development Tools for Visual Studio Code brings ABAP development into this editor. It gives developers a local VS Code-based environment for working with ABAP Cloud projects and makes the ABAP toolchain easier to access for developers who already use VS Code in other technology stacks. + +Compared to Eclipse with ADT, VS Code focuses on a lean editor experience and a broad extension ecosystem. This can make it easier to get started and to combine ABAP work with other languages or tools in the same workspace. + +It is advisable to use the latest version of VS Code and the ABAP Development Tools extension. This ensures that the newest functions and fixes are available. + +ADT for VS Code is still at the beginning of its development phase. Currently, connections to an on-premise ABAP system can only be established via SSO. + +# Resources +#Article [ABAP Development Tools for Visual Studio Code is now available on the VS Code Marketplace | SAP Community](https://community.sap.com/t5/technology-blog-posts-by-sap/abap-development-tools-for-visual-studio-code-is-now-available-on-the-vs/ba-p/14402120) +#Article [ABAP Development Tools for Visual Studio Code | SAP Help Portal](https://help.sap.com/docs/abap-cloud/abap-development-tools-for-visual-studio-code/abap-development-tools-for-visual-studio-code?locale=en-US) diff --git a/cloud-developer-roadmap/BTP/User Provided Services.md b/cloud-developer-roadmap/BTP/User Provided Services.md new file mode 100644 index 0000000..538a670 --- /dev/null +++ b/cloud-developer-roadmap/BTP/User Provided Services.md @@ -0,0 +1,48 @@ +--- +tags: + - sap-btp + - Basic +links: + - "[[SAP BTP]]" + - "[[Service Bindings]]" + - "[[Cloud Foundry]]" + - "[[cf CLI]]" +source: https://help.sap.com/docs/btp/sap-business-technology-platform/creating-user-provided-service-instances +aliases: + - ups +--- +User Provided Services (UPS) are service instances in the [[Cloud Foundry]] environment of [[SAP BTP]] that are created and filled with credentials by the developer or operator. In contrast to managed services from the SAP BTP service marketplace, the platform does not provision the external resource itself. The UPS only stores the connection information that an application needs. + +A UPS is used when an application has to consume a service that is not available as a managed service instance in the current space, for example an external API, an existing database, an on-premise endpoint, or a technical service with manually provided credentials. After the UPS has been created, it can be bound to an application like other service instances. The application then receives the credentials through the Cloud Foundry service binding mechanism, usually via the `VCAP_SERVICES` environment variable. + +This approach keeps connection data out of the application code and makes it possible to manage endpoint URLs, users, passwords, tokens, or other service-specific properties as part of the platform configuration. + +**Example** +Create a user provided service instance with the [[cf CLI]]: + +```sh +cf create-user-provided-service my-external-api -p '{ + "url": "https://api.example.com", + "clientid": "my-client-id", + "clientsecret": "my-client-secret" +}' +``` + +The short form of the command is: + +```sh +cf cups my-external-api -p '{ + "url": "https://api.example.com", + "clientid": "my-client-id", + "clientsecret": "my-client-secret" +}' +``` + +Afterwards, the service instance can be bound to an application: + +```sh +cf bind-service my-application my-external-api +``` + +**Sources** +- [SAP Help Portal - Creating User-Provided Service Instances](https://help.sap.com/docs/btp/sap-business-technology-platform/creating-user-provided-service-instances) diff --git a/cloud-developer-roadmap/Roadmap.sh.canvas b/cloud-developer-roadmap/Roadmap.sh.canvas index 4017120..715ba31 100755 --- a/cloud-developer-roadmap/Roadmap.sh.canvas +++ b/cloud-developer-roadmap/Roadmap.sh.canvas @@ -5,10 +5,10 @@ {"id":"b9bbaf4b95d3120e","type":"group","x":-599,"y":-120,"width":330,"height":482,"label":"Security"}, {"id":"02a7ae6faec613e3","type":"group","x":321,"y":1180,"width":290,"height":438,"label":"Databases"}, {"id":"c745ce8c244675ec","type":"group","x":-973,"y":4527,"width":290,"height":420,"label":"Hybrid Testing"}, + {"id":"839f29e936dc04cc","type":"group","x":440,"y":5212,"width":290,"height":413,"label":"SAP BTP"}, {"id":"3107443a56190998","type":"group","x":201,"y":2188,"width":290,"height":402,"label":"(Shared) Domain Modelling"}, {"id":"fa4dbf33e4822c2d","type":"group","x":486,"y":3915,"width":286,"height":346,"label":"Roles & Role-Collections"}, {"id":"b820e74b8a318461","type":"group","x":321,"y":220,"width":290,"height":340,"label":"Tools"}, - {"id":"839f29e936dc04cc","type":"group","x":440,"y":5212,"width":290,"height":340,"label":"SAP BTP"}, {"id":"53bf524d0f72ecca","type":"group","x":-578,"y":4267,"width":290,"height":340,"label":"Unit- & Integration Testing"}, {"id":"4f1e91e71ab572c4","type":"group","x":631,"y":2222,"width":290,"height":334,"label":"Service Definition"}, {"id":"3d87b187c1f2561c","type":"group","x":-433,"y":5825,"width":290,"height":265,"color":"6","label":"Telemetry"}, @@ -31,12 +31,39 @@ {"id":"c4118baf613a1f14","type":"group","x":861,"y":821,"width":290,"height":177,"label":"Programming Languages"}, {"id":"735822bd43c7262b","type":"group","x":-360,"y":2998,"width":290,"height":175,"color":"#000000","label":"Link to UX Roadmap??"}, {"id":"9cf67e9c489e8297","type":"group","x":-433,"y":5192,"width":290,"height":170,"label":"Schema Evolution"}, + {"id":"667fa1224499c386","type":"text","text":"[SAP Customer Influence for CAP](https://influence.sap.com/sap/ino/#/campaign/2280)","x":341,"y":-250,"width":250,"height":60}, + {"id":"cd5b0c60a86143b2","type":"text","text":"[[Business Accelerator Hub]]","x":341,"y":-330,"width":250,"height":60}, + {"id":"ecae5fde3dde1345","type":"text","text":"[[IDE]]s","x":341,"y":-86,"width":250,"height":60}, + {"id":"20dcd41beba220bc","type":"text","text":"[[Visual Studio Code]]","x":341,"y":-6,"width":250,"height":60}, + {"id":"29906c37f2f64a30","type":"text","text":"[[SAP Build Code]]","x":341,"y":80,"width":250,"height":60}, + {"id":"2f1bc3a5d1801c52","type":"text","text":"[[NPM]]","x":341,"y":240,"width":250,"height":60}, + {"id":"93bf44ab68927a9b","type":"text","text":"[[cds CLI]]","x":341,"y":317,"width":250,"height":60}, + {"id":"8354daa588492b8d","type":"text","text":"[[mbt CLI]]","x":341,"y":404,"width":250,"height":60}, + {"id":"3c050556332f5e09","type":"text","text":"[[cf CLI]]","x":341,"y":484,"width":250,"height":60}, + {"id":"a4be56532bccb7c0","type":"text","text":"[[SAP BTP]]","x":-559,"y":100,"width":250,"height":60}, + {"id":"a90b376c7cce71c2","type":"text","text":"[[Service Bindings]]","x":-559,"y":182,"width":250,"height":60}, + {"id":"572d784405929670","type":"text","text":"[[Destination]]","x":-559,"y":262,"width":250,"height":60}, + {"id":"d89b43b34051a060","type":"file","file":"cloud-developer-roadmap/Getting started.md","subpath":"#^c87d7b","x":-259,"y":-500,"width":559,"height":160}, + {"id":"e78591bfb7f1c4ef","type":"text","text":"**Hinweis:** Man kann ohne Vorwissen zu diesen Bereichen in die Cloud Entwicklung einsteigen. Vereinfachen tut es einem den Einstieg jedoch :)","x":-165,"y":-174,"width":332,"height":118,"color":"1"}, + {"id":"54bb88899dcf40ca","type":"text","text":"# [[Prerequisites]]","x":-124,"y":-6,"width":250,"height":60}, + {"id":"e8f706ae5bade27b","type":"text","text":"**Ankündigungen**","x":-939,"y":-942,"width":250,"height":60,"color":"1"}, + {"id":"85a6c5e53fa5be8f","type":"text","text":"**Themen, ohne eigene Erfahrung**","x":-939,"y":-862,"width":250,"height":60,"color":"3"}, + {"id":"0732e50423ccd745","type":"text","text":"[[Access Tokens]]","x":-559,"y":-100,"width":250,"height":60}, + {"id":"9fd4e33ca529b080","type":"text","text":"[[JWT]]","x":-559,"y":-23,"width":250,"height":60}, + {"id":"6b2b007e1b73aca3","type":"text","text":"[[Version Control Systems]]","x":-559,"y":-340,"width":250,"height":60}, + {"id":"952b253bcf5e05b6","type":"text","text":"[[Git]]","x":-559,"y":-250,"width":250,"height":60}, + {"id":"fc5a89cc21951a6a","type":"text","text":"[[Microservice Architecture]]","x":-559,"y":440,"width":250,"height":60}, + {"id":"3fb5eef6287ec1e8","type":"text","text":"[[Event Driven Architecture]]","x":-559,"y":517,"width":250,"height":60}, {"id":"d27ecc2ad98c92d6","type":"text","text":"[[Git Hooks]] ([[Husky]]?)","x":-1762,"y":-1221,"width":250,"height":60}, {"id":"cd569936a11c0513","type":"text","text":"[[Prettier]]/[[ESLint]]/Tests","x":-1762,"y":-1133,"width":250,"height":60}, {"id":"67845ef84a75a6a1","type":"text","text":"[[Alerting]]","x":-1762,"y":-790,"width":250,"height":60}, {"id":"7562d1baab65430a","type":"text","text":"[[Logging in CAP]]","x":-1762,"y":-714,"width":250,"height":60}, {"id":"e99a4f9b4557bde3","type":"text","text":"DevOps","x":-1962,"y":-975,"width":250,"height":60}, {"id":"d713154ed82bc623","type":"text","text":"[[Monitoring]]","x":-1762,"y":-871,"width":250,"height":60}, + {"id":"0b627caec48bf712","type":"text","text":"**Neue Themen, welche in Arbeit seind**","x":-939,"y":-782,"width":250,"height":60,"color":"6"}, + {"id":"1818b8d6062c13a7","type":"text","text":"# Cloud Developer Roadmap\n---\n### Beschreibung\nBased on our new skillmatrix we want to establish a comprehensive **SAP** **Cloud Development Roadmap** to enhance the skills and expertise of SAP developers, ensuring sustained growth and capability within the team.\n### Scope of SAP Cloud evelopment\n> Competencies include proficiency in Cloud Application Programming and REST/OData for Back-End, Fiori Elements for Front-End, understanding database concepts, proficiency in using IDEs (such as SAP Business Application Studio) and Git for version control.\n### Acceptance criteria\n- Relevant content for SAP Cloud Development (based on high level skill matrix) is identified\n- The SAP Cloud Development Roadmap is documented in [roadmap.sh](https://roadmap.sh/ \"Verknüpfung folgen\") and accessible to all team members\n- Training and tutorial content (both from SAP and Tchibo) is included and feedback from team members is collected\n- Knowledge sharing sessions are scheduled for continuous improvement\n- An assessment is completed, and the results are used to adjust training content and focus.","x":701,"y":-1080,"width":960,"height":597}, + {"id":"8fc3283f9425f68c","type":"text","text":"**Link zu anderen Roadmaps**","x":-939,"y":-704,"width":250,"height":60,"color":"#000000"}, + {"id":"385f2976671d7a34","type":"text","text":"# Legende","x":-739,"y":-1044,"width":250,"height":60}, {"id":"f88d9e916b124855","type":"text","text":"Code Quality","x":-1962,"y":-1319,"width":250,"height":60}, {"id":"0d7e07de3f2748dd","type":"text","text":"# Guides","x":-1558,"y":-1862,"width":250,"height":60}, {"id":"1f89c5579c91ee36","type":"text","text":"CI/CD","x":-1962,"y":-1506,"width":250,"height":60}, @@ -46,138 +73,112 @@ {"id":"923bebdcb99a2a69","type":"text","text":"Building","x":-2340,"y":-1506,"width":250,"height":60}, {"id":"4a2f8755ef2bb3ef","type":"text","text":"# Neue Themen","x":-2157,"y":-1596,"width":250,"height":60}, {"id":"7cf3fa409196a64c","type":"text","text":"[SAP Discovery Center - Develop a Full-Stack CAP Application Following the SAP BTP Developer's Guide](https://discovery-center.cloud.sap/missiondetail/4327/4608/?tab=projectboard)","x":-1373,"y":-1779,"width":250,"height":149}, - {"id":"6e3ff411c94c1ee7","type":"text","text":"[[Hybrid Testing]]","x":-953,"y":4547,"width":250,"height":60}, - {"id":"570156f8bb191f54","type":"text","text":"[[Value-Helps]]","x":980,"y":5037,"width":250,"height":60}, - {"id":"b9b6fdb388deaf08","type":"text","text":"[[Side-Effects]]","x":980,"y":5117,"width":250,"height":60}, - {"id":"b998873e1e9fea02","type":"text","text":"[[Currencies & Units]]","x":980,"y":5197,"width":250,"height":60}, - {"id":"fc2d754b7fef9a7b","type":"text","text":"[@cap-js-community/cds-cucumber](https://github.com/cap-js-community/cds-cucumber)","x":-558,"y":4987,"width":250,"height":60,"color":"3"}, - {"id":"70fff24e6725c48f","type":"text","text":"# [[Finalize UI]]","x":63,"y":4957,"width":250,"height":60}, - {"id":"364606b167401ba0","type":"text","text":"[[Replace standard UI texts]]","x":980,"y":4866,"width":250,"height":60,"color":"3"}, - {"id":"a1e91f35a273cc89","type":"text","text":"[[Localize UI labels & texts]]","x":980,"y":4787,"width":250,"height":60}, - {"id":"11c1a0103b52b883","type":"text","text":"[[Mock local users]]","x":502,"y":4530,"width":250,"height":60}, - {"id":"7fdbe69c8c253f8d","type":"text","text":"[[cds-test|@cap-js/cds-test]]","x":502,"y":4447,"width":250,"height":60}, - {"id":"22326aec76bbc7a4","type":"text","text":"# [[Testing]]","x":54,"y":4407,"width":250,"height":60}, - {"id":"0e1dc9e3302e1e89","type":"text","text":"[[Mock local users]]","x":506,"y":4181,"width":250,"height":60}, - {"id":"1cbb363a7cfab087","type":"text","text":"[[mbt CLI]]","x":-316,"y":4108,"width":250,"height":60}, - {"id":"067de115a22750eb","type":"text","text":"[[Condition & value-based restrictions]]","x":506,"y":4099,"width":250,"height":60}, - {"id":"a97f4694e1f95b2a","type":"text","text":"[[Role-Collections]]","x":506,"y":4017,"width":250,"height":60}, - {"id":"1800c238eaf5edea","type":"text","text":"# [[Build]]","x":54,"y":3968,"width":250,"height":60}, - {"id":"8b0c09814f828cd1","type":"text","text":" [[MTA Build for Node.js]]","x":-316,"y":3948,"width":250,"height":60}, - {"id":"3ce6a5e6aa65affd","type":"text","text":"[[Roles]]","x":506,"y":3935,"width":250,"height":60}, + {"id":"ba0b8b72934d0db1","type":"text","text":"[[CDS Profiles]]","x":341,"y":1660,"width":250,"height":60}, + {"id":"c0045c7bbc69cd1f","type":"text","text":"# [[Service Definition]]","x":626,"y":1980,"width":300,"height":60}, + {"id":"baff90145422deba","type":"text","text":"# [[Domain Modelling]]","x":-291,"y":1980,"width":340,"height":60}, + {"id":"45e9434653010fea","type":"text","text":"[[CAP Java Backend]]\n[[Spring Boot]]","x":341,"y":960,"width":250,"height":58}, + {"id":"b3727ac1bb0382b3","type":"text","text":"[[SAP HANA Native]] ==(external service)==","x":341,"y":1540,"width":250,"height":58,"color":"6"}, + {"id":"b9fb6f8841755e90","type":"text","text":"[[Initialize CAP project]]","x":341,"y":1760,"width":250,"height":60}, + {"id":"2bb4873100c84108","type":"text","text":"[[Multi Tenancy]]","x":341,"y":1080,"width":250,"height":60}, + {"id":"f1cbfbe8078c74d3","type":"text","text":"[[Databases]]\n[DB - Decision TCH](https://wiki.tchibo-intranet.de/x/VoJtNw)","x":341,"y":1200,"width":250,"height":80}, + {"id":"56439690a61110db","type":"text","text":"[[SQLite]]","x":341,"y":1300,"width":250,"height":60}, + {"id":"671986ff25129c9c","type":"text","text":"[[SAP HANA Cloud]]","x":341,"y":1380,"width":250,"height":58}, + {"id":"0c86a5bab4adc5e5","type":"text","text":"[[Fiori Elements]]","x":430,"y":2980,"width":250,"height":60}, + {"id":"e3c1ac483a1094b4","type":"text","text":"[[Condition & value-based restrictions]]","x":651,"y":2472,"width":250,"height":60}, + {"id":"86814308169bfabb","type":"text","text":"SAP has published [a guide](https://cap.cloud.sap/docs/advanced/performance-modeling) to achieve improved performance in data modeling.","x":221,"y":2210,"width":250,"height":129,"color":"1"}, + {"id":"6494700c70a9692a","type":"text","text":"[[CDS Namespaces]]","x":221,"y":2357,"width":250,"height":60}, + {"id":"e89245d0d7e86dd9","type":"text","text":"[[Virtual Elements]]","x":221,"y":2435,"width":250,"height":60}, + {"id":"c21155cf59e2ef56","type":"text","text":"[[Calculated Elements]]","x":221,"y":2512,"width":250,"height":60}, + {"id":"927ebd5943caa00f","type":"text","text":"[[PostgreSQL on SAP BTP]]","x":341,"y":1460,"width":250,"height":60}, {"id":"8e66749493771f4e","type":"text","text":"[[Custom Logger]]","x":1100,"y":3782,"width":250,"height":60}, - {"id":"e41251d26a4eb7c9","type":"text","text":"[[Custom auth handler]]","x":506,"y":3751,"width":250,"height":60}, - {"id":"0841a3fdc985eea8","type":"text","text":"[[E2E Tests]]","x":-558,"y":4907,"width":250,"height":60,"color":"3"}, - {"id":"944deb3126633703","type":"text","text":"[[Unit Tests]]","x":-558,"y":4527,"width":250,"height":60}, - {"id":"c5513304f63af957","type":"text","text":"[[cds-test|@cap-js/cds-test]]","x":-558,"y":4447,"width":250,"height":60}, - {"id":"4c27c05c720d72fd","type":"text","text":"[[Chai]]","x":-558,"y":4367,"width":250,"height":60,"color":"3"}, - {"id":"5beb4f822772ddb2","type":"text","text":"[[Jest]]","x":-558,"y":4287,"width":250,"height":60}, - {"id":"9bd4fcd00c0e7d67","type":"text","text":"[[Add external services]]","x":-953,"y":4627,"width":250,"height":60}, - {"id":"2f7560a84892631c","type":"text","text":"[[SAP XSUAA]]","x":-953,"y":4707,"width":250,"height":60}, - {"id":"a2e1625f8219c5ff","type":"text","text":"[[Service Bindings]]","x":-953,"y":4787,"width":250,"height":60}, - {"id":"31d77cf601e9cf6d","type":"text","text":"[[AppRouter]]","x":-953,"y":4867,"width":250,"height":60}, - {"id":"51d38565f3440eec","type":"text","text":"[[SAP Build Work Zone]]","x":459,"y":5232,"width":250,"height":60,"color":"3"}, - {"id":"4d06525dfb357eb5","type":"text","text":"[[Role-Collections]]","x":460,"y":5392,"width":250,"height":60}, - {"id":"ac4d80ad951e8e77","type":"text","text":"[[Service Bindings]]","x":460,"y":5475,"width":250,"height":60}, - {"id":"db0fcab4ce1168f7","type":"text","text":"[[Roles]]","x":460,"y":5312,"width":250,"height":60}, - {"id":"9b8dfc1652c5394a","type":"text","text":"[[Logging in CAP]]","x":-413,"y":5545,"width":250,"height":60}, - {"id":"0e201cbe65f9fea9","type":"text","text":"[[SAP Cloud Logging]]","x":-413,"y":5625,"width":250,"height":60,"color":"3"}, - {"id":"f0e993290a83d388","type":"text","text":"[[Custom Logger]]","x":-413,"y":5705,"width":250,"height":60}, - {"id":"e7f4a89f0863f474","type":"text","text":"[[CDS Plugins]]","x":438,"y":5785,"width":250,"height":60}, - {"id":"9205bcb31e63c909","type":"text","text":"[[server.js]] \nor [[Custom server.js]]","x":438,"y":5870,"width":250,"height":60}, - {"id":"e56720fc723c5080","type":"text","text":"# [[Deployment]]","x":63,"y":5222,"width":250,"height":60}, - {"id":"bfc0e799cd68ffc3","type":"text","text":"Automated deployments using the [[SAP Continuous Integration and Delivery]]","x":-413,"y":5384,"width":250,"height":88,"color":"6"}, - {"id":"2cf5ef764989c2b4","type":"text","text":"# [[Operation]]","x":62,"y":5565,"width":250,"height":60}, - {"id":"929d99b236375c23","type":"text","text":"[[Telemetry]]","x":-413,"y":5845,"width":250,"height":60,"color":"6"}, - {"id":"c19ed1ff3eb65f08","type":"text","text":"[[OpenTelemetry]]","x":-413,"y":5930,"width":250,"height":60,"color":"6"}, - {"id":"3c7b26d321d1fa90","type":"text","text":"[[gRPC]]","x":-413,"y":6010,"width":250,"height":60,"color":"6"}, - {"id":"c304264064430627","type":"file","file":"cloud-developer-roadmap/SAP Capire/Serving UIs/fiori-elements-feature-showcase.md","subpath":"#^b6e0ad","x":385,"y":4877,"width":400,"height":240,"color":"1"}, - {"id":"4a7c5877172fc577","type":"text","text":"[[Deploy local data]]","x":-413,"y":5282,"width":250,"height":60}, - {"id":"ffb41f8d3d3114bc","type":"text","text":"[[Automatic Schema Evolution]]","x":-413,"y":5212,"width":250,"height":60}, - {"id":"698d6919f200dcc5","type":"text","text":"# [[Extended Knowledge]]","x":31,"y":5785,"width":315,"height":60}, - {"id":"982ae4fbd2bd6ee0","type":"text","text":"## [[Custom Handler]]","x":680,"y":3340,"width":250,"height":60}, - {"id":"94e33bb2918af942","type":"text","text":"# [[Add Business Logic]]","x":-5,"y":3340,"width":320,"height":60}, {"id":"27decedb7f08d2ff","type":"text","text":"[[Node.js Custom Handler]]","x":1100,"y":3340,"width":250,"height":60}, - {"id":"ef0747b8e5e79af1","type":"text","text":"[[Add external services]]","x":-620,"y":3340,"width":240,"height":60}, - {"id":"97fbb645e8a931d8","type":"text","text":"[[Express.js]]","x":1480,"y":3361,"width":250,"height":60,"color":"#000000"}, {"id":"1d7712ae2079f225","type":"text","text":"[[CDS Models|#cds-models]]","x":1100,"y":3421,"width":250,"height":60}, - {"id":"b991e3699415a383","type":"text","text":"[[JavaScript]]","x":1480,"y":3440,"width":250,"height":60,"color":"#000000"}, {"id":"4e3642612c49d8ed","type":"text","text":"[[Setup TypeScript for CAP]]","x":1100,"y":3501,"width":250,"height":60}, - {"id":"611ccf97f08193ca","type":"text","text":"[[TypeScript]]","x":1480,"y":3515,"width":250,"height":60,"color":"#000000"}, {"id":"17524db654c44a08","type":"text","text":"[[Custom server.js]]","x":1100,"y":3621,"width":250,"height":60}, - {"id":"5a5c207b8360d1df","type":"text","text":"[[SAP XSUAA]]","x":506,"y":3660,"width":250,"height":60}, - {"id":"1ba60e9d9632a9dd","type":"text","text":"Es ist etwas früh hier schon in \"Custom Implementation\" zu schauen. Es wird empfohlen erst ein wenig später ein den Bereich zu schauen...","x":1460,"y":3673,"width":363,"height":118,"color":"1"}, - {"id":"cec6dc6afba99a5d","type":"text","text":"# [[Security]]","x":54,"y":3678,"width":250,"height":60}, - {"id":"b1f845dbf9f3f32f","type":"text","text":"[[Custom auth handler]]","x":1100,"y":3702,"width":250,"height":60}, - {"id":"0c86a5bab4adc5e5","type":"text","text":"[[Fiori Elements]]","x":430,"y":2980,"width":250,"height":60}, {"id":"6677ab8082395073","type":"text","text":"[[Fiori Extensibility]]","x":430,"y":3055,"width":250,"height":60}, {"id":"90699db80d9ca654","type":"text","text":"==[[Custom Fragments]]==","x":430,"y":3130,"width":250,"height":60,"color":"6"}, {"id":"8182f8e784416449","type":"text","text":"# [[Serving UIs]]","x":70,"y":3070,"width":250,"height":60}, - {"id":"305d7abeb43ac346","type":"text","text":"[[Flexible Programming Model]]","x":-340,"y":3018,"width":250,"height":60,"color":"6"}, - {"id":"434c788357ce8909","type":"text","text":"[[freestyle UI5]]","x":-340,"y":3093,"width":250,"height":60}, + {"id":"b1f845dbf9f3f32f","type":"text","text":"[[Custom auth handler]]","x":1100,"y":3702,"width":250,"height":60}, {"id":"6ae5dfc0ed5895f9","type":"file","file":"cloud-developer-roadmap/SAP Capire/Serving UIs/fiori-elements-feature-showcase.md","subpath":"#^b6e0ad","x":900,"y":2800,"width":400,"height":240,"color":"1"}, {"id":"e2577e3b3dd25f42","type":"text","text":"[[cds-typer|@cap-js/cds-typer]]","x":971,"y":2242,"width":250,"height":60}, {"id":"a5483b042208ba63","type":"text","text":"[[CDS Models|#cds-models]]","x":651,"y":2242,"width":250,"height":60}, {"id":"67db5baa7c2eeb7c","type":"text","text":"[[Protocols & APIs]]","x":651,"y":2317,"width":250,"height":60}, {"id":"ea90a99550339bc4","type":"text","text":"[[Expose Entities]]","x":651,"y":2392,"width":250,"height":60}, - {"id":"e3c1ac483a1094b4","type":"text","text":"[[Condition & value-based restrictions]]","x":651,"y":2472,"width":250,"height":60}, - {"id":"c0045c7bbc69cd1f","type":"text","text":"# [[Service Definition]]","x":626,"y":1980,"width":300,"height":60}, - {"id":"baff90145422deba","type":"text","text":"# [[Domain Modelling]]","x":-291,"y":1980,"width":340,"height":60}, - {"id":"6ac69bb93a525307","type":"text","text":"[[Views & Projections]]","x":-249,"y":2543,"width":260,"height":60}, - {"id":"b8aa02a053bf9761","type":"text","text":"[[Validity Periods]]","x":-249,"y":2620,"width":260,"height":60}, {"id":"e70ab468a459921c","type":"text","text":"**Relations**\n- [[Association]]\n- [[Composition]]\n","x":-249,"y":2400,"width":260,"height":124}, {"id":"4f8903e5cc753d56","type":"text","text":"[[Domain Entites]]","x":-249,"y":2182,"width":256,"height":60}, {"id":"0ba7a997d1352497","type":"text","text":"**Re-usable types**\n- [[Aspect]]\n- [[Type]]","x":-249,"y":2261,"width":260,"height":120}, - {"id":"86814308169bfabb","type":"text","text":"SAP has published [a guide](https://cap.cloud.sap/docs/advanced/performance-modeling) to achieve improved performance in data modeling.","x":221,"y":2210,"width":250,"height":129,"color":"1"}, - {"id":"6494700c70a9692a","type":"text","text":"[[CDS Namespaces]]","x":221,"y":2357,"width":250,"height":60}, - {"id":"e89245d0d7e86dd9","type":"text","text":"[[Virtual Elements]]","x":221,"y":2435,"width":250,"height":60}, - {"id":"c21155cf59e2ef56","type":"text","text":"[[Calculated Elements]]","x":221,"y":2512,"width":250,"height":60}, + {"id":"6ac69bb93a525307","type":"text","text":"[[Views & Projections]]","x":-249,"y":2543,"width":260,"height":60}, + {"id":"b8aa02a053bf9761","type":"text","text":"[[Validity Periods]]","x":-249,"y":2620,"width":260,"height":60}, {"id":"e896c89fef444cc8","type":"text","text":"[[Add local data]]","x":-729,"y":2060,"width":250,"height":60}, {"id":"806ef11bd0b12620","type":"text","text":"[[JavaScript]]","x":881,"y":841,"width":250,"height":60}, {"id":"8cc0b7778708824f","type":"text","text":"[[TypeScript]]","x":881,"y":918,"width":250,"height":60}, {"id":"8bd4e42a4a48a795","type":"text","text":"[[Choose a backend]]","x":341,"y":800,"width":250,"height":60}, {"id":"76f4e98d97ad68ed","type":"text","text":"[[CAP NodeJS Backend]]\n[[Express.js]]","x":341,"y":880,"width":250,"height":60}, - {"id":"45e9434653010fea","type":"text","text":"[[CAP Java Backend]]\n[[Spring Boot]]","x":341,"y":960,"width":250,"height":58}, - {"id":"b3727ac1bb0382b3","type":"text","text":"[[SAP HANA Native]] ==(external service)==","x":341,"y":1540,"width":250,"height":58,"color":"6"}, - {"id":"ba0b8b72934d0db1","type":"text","text":"[[CDS Profiles]]","x":341,"y":1660,"width":250,"height":60}, - {"id":"b9fb6f8841755e90","type":"text","text":"[[Initialize CAP project]]","x":341,"y":1760,"width":250,"height":60}, - {"id":"2bb4873100c84108","type":"text","text":"[[Multi Tenancy]]","x":341,"y":1080,"width":250,"height":60}, - {"id":"f1cbfbe8078c74d3","type":"text","text":"[[Databases]]\n[DB - Decision TCH](https://wiki.tchibo-intranet.de/x/VoJtNw)","x":341,"y":1200,"width":250,"height":80}, - {"id":"56439690a61110db","type":"text","text":"[[SQLite]]","x":341,"y":1300,"width":250,"height":60}, - {"id":"671986ff25129c9c","type":"text","text":"[[SAP HANA Cloud]]","x":341,"y":1380,"width":250,"height":58}, - {"id":"927ebd5943caa00f","type":"text","text":"[[PostgreSQL on SAP BTP]]","x":341,"y":1460,"width":250,"height":60}, - {"id":"e8f706ae5bade27b","type":"text","text":"**Ankündigungen**","x":-939,"y":-942,"width":250,"height":60,"color":"1"}, - {"id":"85a6c5e53fa5be8f","type":"text","text":"**Themen, ohne eigene Erfahrung**","x":-939,"y":-862,"width":250,"height":60,"color":"3"}, - {"id":"0b627caec48bf712","type":"text","text":"**Neue Themen, welche in Arbeit seind**","x":-939,"y":-782,"width":250,"height":60,"color":"6"}, - {"id":"1818b8d6062c13a7","type":"text","text":"# Cloud Developer Roadmap\n---\n### Beschreibung\nBased on our new skillmatrix we want to establish a comprehensive **SAP** **Cloud Development Roadmap** to enhance the skills and expertise of SAP developers, ensuring sustained growth and capability within the team.\n### Scope of SAP Cloud evelopment\n> Competencies include proficiency in Cloud Application Programming and REST/OData for Back-End, Fiori Elements for Front-End, understanding database concepts, proficiency in using IDEs (such as SAP Business Application Studio) and Git for version control.\n### Acceptance criteria\n- Relevant content for SAP Cloud Development (based on high level skill matrix) is identified\n- The SAP Cloud Development Roadmap is documented in [roadmap.sh](https://roadmap.sh/ \"Verknüpfung folgen\") and accessible to all team members\n- Training and tutorial content (both from SAP and Tchibo) is included and feedback from team members is collected\n- Knowledge sharing sessions are scheduled for continuous improvement\n- An assessment is completed, and the results are used to adjust training content and focus.","x":701,"y":-1080,"width":960,"height":597}, - {"id":"8fc3283f9425f68c","type":"text","text":"**Link zu anderen Roadmaps**","x":-939,"y":-704,"width":250,"height":60,"color":"#000000"}, - {"id":"385f2976671d7a34","type":"text","text":"# Legende","x":-739,"y":-1044,"width":250,"height":60}, - {"id":"a4be56532bccb7c0","type":"text","text":"[[SAP BTP]]","x":-559,"y":100,"width":250,"height":60}, - {"id":"a90b376c7cce71c2","type":"text","text":"[[Service Bindings]]","x":-559,"y":182,"width":250,"height":60}, - {"id":"572d784405929670","type":"text","text":"[[Destination]]","x":-559,"y":262,"width":250,"height":60}, - {"id":"0732e50423ccd745","type":"text","text":"[[Access Tokens]]","x":-559,"y":-100,"width":250,"height":60}, - {"id":"9fd4e33ca529b080","type":"text","text":"[[JWT]]","x":-559,"y":-23,"width":250,"height":60}, - {"id":"6b2b007e1b73aca3","type":"text","text":"[[Version Control Systems]]","x":-559,"y":-340,"width":250,"height":60}, - {"id":"952b253bcf5e05b6","type":"text","text":"[[Git]]","x":-559,"y":-250,"width":250,"height":60}, - {"id":"fc5a89cc21951a6a","type":"text","text":"[[Microservice Architecture]]","x":-559,"y":440,"width":250,"height":60}, - {"id":"3fb5eef6287ec1e8","type":"text","text":"[[Event Driven Architecture]]","x":-559,"y":517,"width":250,"height":60}, - {"id":"3d739d8f7d4fdbed","type":"text","text":"# [[Introduction 2 CAP]]","x":-161,"y":780,"width":325,"height":60}, - {"id":"d89b43b34051a060","type":"file","file":"cloud-developer-roadmap/Getting started.md","subpath":"#^c87d7b","x":-259,"y":-500,"width":559,"height":160}, - {"id":"e78591bfb7f1c4ef","type":"text","text":"**Hinweis:** Man kann ohne Vorwissen zu diesen Bereichen in die Cloud Entwicklung einsteigen. Vereinfachen tut es einem den Einstieg jedoch :)","x":-165,"y":-174,"width":332,"height":118,"color":"1"}, - {"id":"54bb88899dcf40ca","type":"text","text":"# [[Prerequisites]]","x":-124,"y":-6,"width":250,"height":60}, - {"id":"667fa1224499c386","type":"text","text":"[SAP Customer Influence for CAP](https://influence.sap.com/sap/ino/#/campaign/2280)","x":341,"y":-250,"width":250,"height":60}, - {"id":"cd5b0c60a86143b2","type":"text","text":"[[Business Accelerator Hub]]","x":341,"y":-330,"width":250,"height":60}, - {"id":"ecae5fde3dde1345","type":"text","text":"[[IDE]]s","x":341,"y":-86,"width":250,"height":60}, - {"id":"20dcd41beba220bc","type":"text","text":"[[Visual Studio Code]]","x":341,"y":-6,"width":250,"height":60}, - {"id":"29906c37f2f64a30","type":"text","text":"[[SAP Build Code]]","x":341,"y":80,"width":250,"height":60}, - {"id":"2f1bc3a5d1801c52","type":"text","text":"[[NPM]]","x":341,"y":240,"width":250,"height":60}, - {"id":"93bf44ab68927a9b","type":"text","text":"[[cds CLI]]","x":341,"y":317,"width":250,"height":60}, - {"id":"8354daa588492b8d","type":"text","text":"[[mbt CLI]]","x":341,"y":404,"width":250,"height":60}, - {"id":"3c050556332f5e09","type":"text","text":"[[cf CLI]]","x":341,"y":484,"width":250,"height":60}, {"id":"34de77a1293c29b1","type":"text","text":"[[cds CLI|cli]] deploy","x":-729,"y":1980,"width":250,"height":60}, + {"id":"4d06525dfb357eb5","type":"text","text":"[[Role-Collections]]","x":459,"y":5392,"width":250,"height":60}, + {"id":"ac4d80ad951e8e77","type":"text","text":"[[Service Bindings]]","x":459,"y":5472,"width":250,"height":60}, + {"id":"e7f4a89f0863f474","type":"text","text":"[[CDS Plugins]]","x":438,"y":5785,"width":250,"height":60}, + {"id":"9205bcb31e63c909","type":"text","text":"[[server.js]] \nor [[Custom server.js]]","x":438,"y":5870,"width":250,"height":60}, + {"id":"2cf5ef764989c2b4","type":"text","text":"# [[Operation]]","x":62,"y":5565,"width":250,"height":60}, + {"id":"929d99b236375c23","type":"text","text":"[[Telemetry]]","x":-413,"y":5845,"width":250,"height":60,"color":"6"}, + {"id":"c19ed1ff3eb65f08","type":"text","text":"[[OpenTelemetry]]","x":-413,"y":5930,"width":250,"height":60,"color":"6"}, + {"id":"3c7b26d321d1fa90","type":"text","text":"[[gRPC]]","x":-413,"y":6010,"width":250,"height":60,"color":"6"}, + {"id":"3d739d8f7d4fdbed","type":"text","text":"# [[Introduction 2 CAP]]","x":-161,"y":780,"width":325,"height":60}, + {"id":"364606b167401ba0","type":"text","text":"[[Replace standard UI texts]]","x":980,"y":4866,"width":250,"height":60,"color":"3"}, + {"id":"9b8dfc1652c5394a","type":"text","text":"[[Logging in CAP]]","x":-413,"y":5545,"width":250,"height":60}, + {"id":"0e201cbe65f9fea9","type":"text","text":"[[SAP Cloud Logging]]","x":-413,"y":5625,"width":250,"height":60,"color":"3"}, + {"id":"f0e993290a83d388","type":"text","text":"[[Custom Logger]]","x":-413,"y":5705,"width":250,"height":60}, + {"id":"bfc0e799cd68ffc3","type":"text","text":"Automated deployments using the [[SAP Continuous Integration and Delivery]]","x":-413,"y":5384,"width":250,"height":88,"color":"6"}, + {"id":"4a7c5877172fc577","type":"text","text":"[[Deploy local data]]","x":-413,"y":5282,"width":250,"height":60}, + {"id":"ffb41f8d3d3114bc","type":"text","text":"[[Automatic Schema Evolution]]","x":-413,"y":5212,"width":250,"height":60}, + {"id":"698d6919f200dcc5","type":"text","text":"# [[Extended Knowledge]]","x":31,"y":5785,"width":315,"height":60}, + {"id":"570156f8bb191f54","type":"text","text":"[[Value-Helps]]","x":980,"y":5037,"width":250,"height":60}, + {"id":"b9b6fdb388deaf08","type":"text","text":"[[Side-Effects]]","x":980,"y":5117,"width":250,"height":60}, + {"id":"b998873e1e9fea02","type":"text","text":"[[Currencies & Units]]","x":980,"y":5197,"width":250,"height":60}, + {"id":"a1e91f35a273cc89","type":"text","text":"[[Localize UI labels & texts]]","x":980,"y":4787,"width":250,"height":60}, + {"id":"51d38565f3440eec","type":"text","text":"[[SAP Build Work Zone]]","x":459,"y":5232,"width":250,"height":60,"color":"3"}, + {"id":"db0fcab4ce1168f7","type":"text","text":"[[Roles]]","x":459,"y":5312,"width":250,"height":60}, + {"id":"c304264064430627","type":"file","file":"cloud-developer-roadmap/SAP Capire/Serving UIs/fiori-elements-feature-showcase.md","subpath":"#^b6e0ad","x":385,"y":4877,"width":400,"height":240,"color":"1"}, + {"id":"6e3ff411c94c1ee7","type":"text","text":"[[Hybrid Testing]]","x":-953,"y":4547,"width":250,"height":60}, + {"id":"70fff24e6725c48f","type":"text","text":"# [[Finalize UI]]","x":63,"y":4957,"width":250,"height":60}, + {"id":"22326aec76bbc7a4","type":"text","text":"# [[Testing]]","x":54,"y":4407,"width":250,"height":60}, + {"id":"0841a3fdc985eea8","type":"text","text":"[[E2E Tests]]","x":-558,"y":4907,"width":250,"height":60,"color":"3"}, + {"id":"9bd4fcd00c0e7d67","type":"text","text":"[[Add external services]]","x":-953,"y":4627,"width":250,"height":60}, + {"id":"2f7560a84892631c","type":"text","text":"[[SAP XSUAA]]","x":-953,"y":4707,"width":250,"height":60}, + {"id":"a2e1625f8219c5ff","type":"text","text":"[[Service Bindings]]","x":-953,"y":4787,"width":250,"height":60}, + {"id":"31d77cf601e9cf6d","type":"text","text":"[[AppRouter]]","x":-953,"y":4867,"width":250,"height":60}, + {"id":"fc2d754b7fef9a7b","type":"text","text":"[@cap-js-community/cds-cucumber](https://github.com/cap-js-community/cds-cucumber)","x":-558,"y":4987,"width":250,"height":60,"color":"3"}, + {"id":"1cbb363a7cfab087","type":"text","text":"[[mbt CLI]]","x":-316,"y":4108,"width":250,"height":60}, + {"id":"8b0c09814f828cd1","type":"text","text":" [[MTA Build for Node.js]]","x":-316,"y":3948,"width":250,"height":60}, + {"id":"4c27c05c720d72fd","type":"text","text":"[[Chai]]","x":-558,"y":4367,"width":250,"height":60,"color":"3"}, + {"id":"5beb4f822772ddb2","type":"text","text":"[[Jest]]","x":-558,"y":4287,"width":250,"height":60}, + {"id":"e56720fc723c5080","type":"text","text":"# [[Deployment]]","x":63,"y":5222,"width":250,"height":60}, + {"id":"305d7abeb43ac346","type":"text","text":"[[Flexible Programming Model]]","x":-340,"y":3018,"width":250,"height":60,"color":"6"}, + {"id":"434c788357ce8909","type":"text","text":"[[freestyle UI5]]","x":-340,"y":3093,"width":250,"height":60}, + {"id":"11c1a0103b52b883","type":"text","text":"[[Mock local users]]","x":502,"y":4530,"width":250,"height":60}, + {"id":"7fdbe69c8c253f8d","type":"text","text":"[[cds-test|@cap-js/cds-test]]","x":502,"y":4447,"width":250,"height":60}, + {"id":"0e1dc9e3302e1e89","type":"text","text":"[[Mock local users]]","x":506,"y":4181,"width":250,"height":60}, + {"id":"067de115a22750eb","type":"text","text":"[[Condition & value-based restrictions]]","x":506,"y":4099,"width":250,"height":60}, + {"id":"a97f4694e1f95b2a","type":"text","text":"[[Role-Collections]]","x":506,"y":4017,"width":250,"height":60}, + {"id":"1800c238eaf5edea","type":"text","text":"# [[Build]]","x":54,"y":3968,"width":250,"height":60}, + {"id":"944deb3126633703","type":"text","text":"[[Unit Tests]]","x":-558,"y":4527,"width":250,"height":60}, + {"id":"c5513304f63af957","type":"text","text":"[[cds-test|@cap-js/cds-test]]","x":-558,"y":4447,"width":250,"height":60}, + {"id":"3ce6a5e6aa65affd","type":"text","text":"[[Roles]]","x":506,"y":3935,"width":250,"height":60}, + {"id":"982ae4fbd2bd6ee0","type":"text","text":"## [[Custom Handler]]","x":680,"y":3340,"width":250,"height":60}, + {"id":"94e33bb2918af942","type":"text","text":"# [[Add Business Logic]]","x":-5,"y":3340,"width":320,"height":60}, + {"id":"97fbb645e8a931d8","type":"text","text":"[[Express.js]]","x":1480,"y":3361,"width":250,"height":60,"color":"#000000"}, + {"id":"b991e3699415a383","type":"text","text":"[[JavaScript]]","x":1480,"y":3440,"width":250,"height":60,"color":"#000000"}, + {"id":"611ccf97f08193ca","type":"text","text":"[[TypeScript]]","x":1480,"y":3515,"width":250,"height":60,"color":"#000000"}, + {"id":"5a5c207b8360d1df","type":"text","text":"[[SAP XSUAA]]","x":506,"y":3660,"width":250,"height":60}, + {"id":"1ba60e9d9632a9dd","type":"text","text":"Es ist etwas früh hier schon in \"Custom Implementation\" zu schauen. Es wird empfohlen erst ein wenig später ein den Bereich zu schauen...","x":1460,"y":3673,"width":363,"height":118,"color":"1"}, + {"id":"e41251d26a4eb7c9","type":"text","text":"[[Custom auth handler]]","x":506,"y":3751,"width":250,"height":60}, + {"id":"ef0747b8e5e79af1","type":"text","text":"[[Add external services]]","x":-620,"y":3340,"width":240,"height":60}, + {"id":"cec6dc6afba99a5d","type":"text","text":"# [[Security]]","x":54,"y":3678,"width":250,"height":60}, {"id":"9b453f9017b20f8a","type":"text","text":"[[Events]]","x":-620,"y":3418,"width":240,"height":60,"color":"3"}, {"id":"5e97ff48204a3cea","type":"text","text":"[[Business Accelerator Hub|SAP Business Accelerator Hub]]","x":-620,"y":3501,"width":240,"height":60}, {"id":"82b8c5b7f7295646","type":"text","text":"[[Mock external data]]","x":-620,"y":3609,"width":240,"height":60}, - {"id":"7f5409c9ea72ffaf","type":"text","text":"[[external-service-mashup|@sap/external-service-mashup]]","x":-620,"y":3691,"width":240,"height":60} + {"id":"7f5409c9ea72ffaf","type":"text","text":"[[external-service-mashup|@sap/external-service-mashup]]","x":-620,"y":3691,"width":240,"height":60}, + {"id":"8576df465dbe04db","x":459,"y":5552,"width":250,"height":60,"type":"text","text":"[[User Provided Services]]"} ], "edges":[ {"id":"45338bc579e1c0de","fromNode":"d89b43b34051a060","fromSide":"bottom","toNode":"54bb88899dcf40ca","toSide":"top"}, diff --git a/cloud-developer-roadmap/SAP Capire/Database/Databases.md b/cloud-developer-roadmap/SAP Capire/Database/Databases.md index 40b19d3..da2a514 100755 --- a/cloud-developer-roadmap/SAP Capire/Database/Databases.md +++ b/cloud-developer-roadmap/SAP Capire/Database/Databases.md @@ -7,9 +7,6 @@ source: https://cap.cloud.sap/docs/guides/databases --- The [[SAP Capire]] Framework allows projects to be developed independently of the underlying database. This flexibility is achieved because data modelling is performed in [[CAP CDS]] rather than a database-specific language. The CDS definitions for tables, views, and relationships are converted into a [[CSN]] target schema using the [[cds-dbs]] plugin, which is then used to generate the database schema for the configured target database. -At Tchibo, we currently use [[PostgreSQL]] on SAP BTP, Hyperscaler Edition, as the standard database for [[SAP Capire]] projects. This provides a reliable and scalable foundation while maintaining the flexibility to adapt to other databases in the future if needed. - **Sources** -- ==[DB - Decision TCH](https://wiki.tchibo-intranet.de/x/VoJtNw)== - [[PostgreSQL on SAP BTP]] -- [[SAP HANA Cloud]] \ No newline at end of file +- [[SAP HANA Cloud]] diff --git a/cloud-developer-roadmap/Tools/SAP Cloud SDK for AI.md b/cloud-developer-roadmap/Tools/SAP Cloud SDK for AI.md new file mode 100644 index 0000000..b493ac9 --- /dev/null +++ b/cloud-developer-roadmap/Tools/SAP Cloud SDK for AI.md @@ -0,0 +1,22 @@ +--- +tags: + - tools + - ai + - sdk + - basic +links: + - "[[SAP BTP]]" + - "[[SAP Capire|SAP Capire]]" +source: https://sap.github.io/ai-sdk/ +aliases: + - SAP Cloud AI SDK + - SAP AI SDK +--- +The SAP Cloud SDK for AI, also known as SAP AI SDK, is SAP's official software development kit for integrating applications with [[SAP AI Core]], SAP Generative AI Hub and the Orchestration Service. It provides developer-friendly APIs so applications can use AI capabilities without handling every low-level service call manually. + +With the SDK, developers can integrate chat completion and other generative AI capabilities into business applications. It can be used to access foundation models through SAP Generative AI Hub, build AI orchestration flows, use prompt templating, apply grounding, data masking and content filtering, and connect AI functionality with existing application logic. + +The SDK is aimed at developers who build AI-enabled business applications on [[SAP BTP]], especially teams working with [[JavaScript]], [[TypeScript]] or [[CAP Java Backend|Java]]. It is useful when AI features should be embedded directly into applications instead of being consumed only through standalone tools. + +**Sources** +- [SAP Cloud SDK for AI](https://sap.github.io/ai-sdk/) diff --git a/cloud-developer-roadmap/Tools/SAP Cloud SDK.md b/cloud-developer-roadmap/Tools/SAP Cloud SDK.md new file mode 100644 index 0000000..f503b54 --- /dev/null +++ b/cloud-developer-roadmap/Tools/SAP Cloud SDK.md @@ -0,0 +1,26 @@ +--- +tags: + - tools + - sdk + - basic +links: + - "[[SAP BTP]]" + - "[[SAP Capire|SAP Capire]]" + - "[[Destination]]" + - "[[JavaScript]]" + - "[[TypeScript]]" + - "[[CAP Java Backend|Java]]" +source: https://sap.github.io/cloud-sdk/ +aliases: + - Cloud SDK +--- +The SAP Cloud SDK is a set of libraries and tools for building cloud-native business applications on [[SAP BTP]]. It helps developers integrate SAP systems and services into custom applications without having to implement common connectivity, authentication and protocol handling from scratch. + +With the SDK, applications can consume SAP solutions such as [[SAP S/4HANA Cloud]], [[SAP SuccessFactors]] or other [[OData]], [[REST]] and [[OpenAPI]]-based services. It provides abstractions for [[SAP BTP]] features such as [[Destination|destinations]], connectivity, authentication, multitenancy and [[HTTP]] communication. This reduces boilerplate code and allows developers to focus more on business logic. + +The SAP Cloud SDK is available for [[CAP Java Backend|Java]] and for [[JavaScript]] / [[TypeScript]]. It is aimed at developers who build extensions, integrations or side-by-side applications on [[SAP BTP]], especially when those applications need reliable communication with SAP systems or SAP BTP services. + +The [[SAP Cloud SDK for AI]] builds on this ecosystem and focuses specifically on integrating AI capabilities into applications. + +**Sources** +- [SAP Cloud SDK](https://sap.github.io/cloud-sdk/)