[Music] welcome to teched time travels next stop [Music] 2003 [Music] yeah this is the teched developer Kyo look forward to a lot of demos crazy news and fun with the advocates [Music] [Applause] [Music] on good morning good afternoon and good evening especially to all of you here in the room welcome to the sap teched developer [Music] keynote yes for those of you who don't know I'm Josh Bentley a blue bearded developer Advocate and I am here to get all of us started I hope all of you are doing fantastic and are energized like I am for this session I am thrilled to see so many familiar faces and and new faces joining us today Nama bengalo we are Bengaluru yeah so before I get into this session I I wanted to say it's an amazing day but also it's awesome to think of how much stuff we have here on site at teched we have seen so much great technology starting with this morning's keynote with Jurgen Julia the entire team tons of Hands-On sessions workshops learning content community talks demos I mean there's lectures and of course all the experts are walking around on the floor this enormous floor but the favorite space for me is a developer Advocates developer garage so come on by do some tutorials and get this t-shirt while it lasts so lots of excellent resources are available take advantage of them while you can tomorrow have one-on-one interactions and to those of you watching virtually we appreciate you so much I know you have a jam-pack full agenda full session so please ask your questions online be interactive in the chat as we take you along with us on this hybrid sap Tech Journey this year is special for us it's an extra special one because it's the celebration of the 20th anniversary of the sap community so yeah so look I started in technology 20 years ago or so and I'm only 25 so I'm pretty young I got some laughs that's awesome I did start outside of the sap World though more than 20 years ago and when I joined I had never even heard of the sap goey I didn't know that's how you said it but do you know what group helped me so much that's right the sap community so if I could ask everybody if I could take a moment if you're part of the old sdn you're an Oldtimer sdn sdn could you stand up more than 10 Years everybody we want to recognize you and you part thank you thank you so you might be expecting the usual sap style keynote after an introduction like that but today we're going to be doing something a little differently we're going to step out of this world of all the virtual webinars and we've taken inspiration from last year in Las Vegas when we did the developer download we're going to be doing all of our demos live on stage just like this morning no slides unless you guys want slides you're good no okay so the developer Advocates really enjoy all the aspects of our jobs but the one thing that really means a lot to us is to be able to talk talk and demo code with you our community so I really want all of you in the audience to think of this as us hanging out with you all of our friends all of you online as well just talking code so if any problems happen this is live we're just going to have to deal with it and this is Cutting Edge live technology so bear with us as we work through it but everything should go great as we have fun exploring this technology together pay attention to this next part setting the stage for the next hour you may have wondered why did it say all this about time and we're basically doing a jump back right I could do better probably so I don't want to get hurt 2023 jumping back to 2003 all right that's the year that we wanted to jump back to because it's the birth of the web-based sap Community now I want to introduce you in 2003 to Sheena she's a talented young developer just starting out her career in the sap World she's over in her dorm room and she's pack passionate about creating applications that make an impact she's currently working on some early versions of the sap core software from 2003 so buckle up as we take Sheena and all of you on this Incredible Journey Through Time technology and transformation everybody let's [Applause] go woo another day of great questions on sdn the community is busing with so much activity now time for something little different ah time travel wouldn't that be something just imagine meeting developers from 20 years in the future or 20 years in the past oh the code we could write you know what would be super cool a time traveler party Steven H Hawkin wrot about this idea imagine a party when you send out the invitations after the in after the event has already happened people from different eras would show up if time travel happens imagine discussing the future of ABAB with someone who is already living it the conversations would be mindblowing H all this talk about time travel is making me sleepy well time for some shut eye maybe I'll dream of the ultimate time traveler party with developers from all across time and as Sheena dreams of time bending little does she know that her journey through the corridors of technology and time is just [Music] beginning greetings ginaa don't be alarmed we're sap developers just like you but from different points in time we've traveled here from the year 2023 to share with you how your life as a developer is going to change dramatically over the next 20 years you are about to experienced an explosion of innovation from cloud computing to artificial intelligence to the next generation of developer tul and we are here to show you a preview of the best of it wow that's incredible so can you tell me who will win the next World Cup or maybe the next few presidencies oh who hold on there I have to clarify something important we cannot discuss the F we can only discuss the future of sap Technologies so no world events no sports scores nothing like that why is that we're discussing other topics destroy the space time continent wipe out something out of existence this all sounds to me like a big ball of wibbly wobbly tyy Wy stuff no it's nothing that dramatic we're just so busy writing code and pushing the boundaries of SCP technology that honestly none of us have paid much attention to anything else uh so something never change huh developers staying focused on code whether it is 203 or 2023 exactly yep that's true but now are you ready to learn about the future and what it holds for sap and developers like you absolutely let's Dive In let's start with the seamless collaboration between developers and business experts technology like generative AI is going to allow these two groups to work together better than ever before even from the early brainstorming requirements Gathering phase so let's see how okay let's map this out so we have orders and Order items now watch this with chat GP Vision we can turn the sketch into a functioning sap cap application preview so let me take a pick of this turn this image into sa cap application code okay and it's processing so wow isn't it cool here is a preview of the generated sap cap application code how cool is that so we can talk through the requirements with the business expert all while seeing exactly how changes in those requirements are going to impact our application model from a high 11 yeah that's really cool it even took the pretty bad handwriting there and was able to turn that into an sap cap application but now that I see the preview there on the screen I realize that we're missing something we need some prodct information as well so let's go ahead and add that to our diagram okay no problem let me take another and all updated Tom so now let's send this new AI generated prompt created from this image to our next time traveler who will continue the work in sap build code tooling what you've just seen is how technology is Bridging the gaps making collaboration easier and more efficient than ever this is the present and the future of sap intuitive seamless and Innovative but it doesn't stop with this collaboration or just a preview the application over to you DJ another time traveler who's going to show us what can be done now in 2023 with sap build code and its generative AI capabilities well thank you Josh so Sheena it may surprise you to know that the the programming language that's experienced the most growth right right now in 2023 is English that's right text prompts could become the linga franer between developers and generative AI coding assistant it's all text so the best thing is I can still use my terminal what's not to like right yes some terminal fans in the audience anyway let's use that text prompt to take a bit of a look behind the curtain at our generative AI capabilities in AP build code in the form of Jewel now depending on your time zone some of you may or may not have seen the amazing demo from Sangita and Mel in the executive keynote yes big round of applause for the keynote this morning whoa that's enough now whether you have or not you're going to want to see this because we saw a glimpse of the code but we're developers so we want to see all of the code so I've got a dep space here in the sap business application Studio part of sap build code with a skeleton project already set up the storyboards open and you can see that there's an empty data model and an empty service there but what we're going to do is open up the Explorer and just have a look at the the stuff that we have so far so there's nothing in the app directory of course these should be fairly familiar to us um and there's there's there's there's nothing in the app directory apart from some skeleton UI in the DB directory we have just a barebones schema right all of us cap developers recognize this and I'd quite like to be reminded of what aspects sapc as common has available to me so it's really nice and in our serve directory all we have so far is just a really barebone service definition nothing in it an explicit path that's about it by the way I've already committed most of this apart from the stuff in the app directory to get so we can easily spot what gets created and changed next so let's get duel on the case I'm going to open jel now through the guide just like we saw this morning and we can see as Sita showed us we can generate a data model and create a service basically build an app that is immediately runable we can add some sample data we can add some application logic I'm going to be doing that as well we can also have help with unit testing who doesn't need help with unit testing right anyway I'm going to start with creating the project just like Sangita did this morning so I'm going to open Jewel and down here I'm going to paste in basically the prompt that we got from earlier now because I've got the microphone live I can sort of suggest I'm from Manchester and I I'm not sure where the name juwel came from but I'd like to think that it was from the 19th century World leading physicist Jewel who was born in Manchester and also a Brewer any oh there it is there it is we've ' already got some beautiful declarative CDs generated let's accept it but also let's view it in situ we've got now oh did I accept it where are we come on come on come on guide sensor open Jewel there we go again there we DJ press press it properly there we go let's accept it and now not only do we have some skeleton UI some really fancy skeleton UI that's from sap build code not from jeel but what we get from jeel even before we get to the skeleton to the CDs we get some annotations who here struggles with annotations me too right so we got some beautiful UI annotations header info identification data point all these feel familiar we got some lovely simple but very well uh welcome title annotations as well we've got a field Group we've got some header facets absolutely fantastic what are these annotations referring to we saw a glimpse of this in sangita's demonstration but let's just stare at this because this is not only formatted beautifully but this is something that we as developers can learn from it's best practices here right this is this is generated code with best practices uuid type for the key fields and for the human readable key Fields like ID we got some beautiful mandatory and assert unique annotations what any wants not to like but I think I like the most is the fact that Jewel not only knows about associations and compositions it knows when and where to use what right so let's now have a l Fact one of the things that I really love about this is that this is immediately runnable so let me let me start off and start the running of this code npm install heaviest thing in in the Universe node modules directory let's get that loaded now while we wait for that to load let's have a look in the service. CDs best practices again we can learn from duel again right o data draft enablement of both of our service entities sensible service Name explicit B explicit DJ it's just fantastic so we're having this uh installed and immediately we've gone from a simple English text prompt to pretty much hopefully fingers crossed cross all your fingers and your toes in the audience to a fully running app um how many people are cap developers here already I'll say again just think about this how many people are cap developers already yes that's better okay so while while it's waiting um I want to also point out the fact that this that we're about to see oh there we go it's running yes this this is running is a combination of the Fantastic skeleton project in sap build code generative AI but also dare I say the absolutely wonderful convention over configuration philosophy and grow as you go approach from cap that makes everything so beautifully delicious for us as developers so oh P 404 is already oh my goodness me there we go that's okay we don't want to see the UI we're not you know we're backend we're cap developers so instead what I want to do is go across and make myself a little bit more useful by um what am I doing oh yeah where am I where am I oh yes te keyn note uh by adding some application logic so let me bring up juel again I can bring up juel let me stop this let me stop the um the app running let me bring up juel and I can get to juel by open opening up the graphical modeler now some folks may already be familiar with the graphical modeler and here it is let me just move that across here make it a little bit bigger now you saw and Sangita showed this uh this morning as well you saw that from this orders entity we can add an action or a function actions and functions in O data orthogonal but still cool but we want to add some business logic so I'm going to bring up this here let me close that I'm going to say I would like stock valid I would like some help please jeel with some business Logic for this orders service entity now we saw this this morning but I just want to dwell on what we saw here we're saying here we want our business logic to replace to be in the on phase any standard business logic and we also want this business logic to be for the create standard event in cap and the update standard event in cap now even here we as developers can interact with Jewel on our own terms as cap developers not some weird Voodoo incantations that means nothing to nobody right let's open the code editor and type in what we want so emit an error if the uh stock quantity uh if the product stock quantity let's have that let's be precise DJ product stock quantity is less than the order item I'm so excited I can't type item quantity now thinking while it's thinking it gives us a chance to just stare as Developers for a little bit at what we're seeing in the main editor we've got an empty JavaScript module looks pretty Innocent but check out the name in the tab all orders logic stock validation. JS right now let me accept this let me press a button properly this time how beautiful is that right we have as well as fantastic indentation we got Javas JavaScript best practices you know all the things that I would love to do I would argue right that this is no different to what I could write on a good day right so we've got Ayn of weight we got use of constant we got my favorite functional aspect for X of x's we got a proper transaction wrapped request for data all the beautiful cap best practices from duel for me to learn from as a developer we've even got a great error message let's just see where this fits in let me go back to the Explorer we can see we have a code directory and then our service JS loads that module so we don't have this horrendous overloading of logic we've got this absolutely beautiful modularization who knew that this was even a thing right I'm learning from this again we've got in line TW I pointed before in line 12 there await orders logic stock validation pass the request absolutely fantastic we're loading that in in the loading the module in in line six now I'm going to adopt this approach for my next large cap project anyway we've got this discreet organization of logic modules we've even got look look look at that there we've even got next and proper use of next for process request chains anyway I'm getting stared at by the cameras DJ that's enough I'd love to show you unit tests but I can't so come to see me afterwards with a beer I hope I've managed to give you a glimpse in behind the curtain we're soon going to have these facilities in the sap business application Studio as part of sap build code from a developer perspective I'm super excited and genuinely fascinated by the code that's generated by our friend juel it's better than okay it's good enough for us to learn from and you know what that's what we developers do best Shea what did you think a DJ's demo well I don't know about time bending but this was definitely mind bending but hey what is a cricket player doing here oh I'm not just a cricket player sheina I'm an sap developer hola sap developers China local tools have changed significantly in the past 20 years these tools help us bridge the gap between developers and business experts let me show you what can be be achieved when you fuse different products part of sap Bild in order to extend the business processes from your EIP with little code but before I show you how I want to acknowledge the great work of our colleague Daniel roesy who has helped us prepare this demo but unfortunately he cannot be here with us so since it's the Cricket World Cup season right now I decided to build this F uh fantasy Cricket player app that you see on screen screen you can see that we have a leaderboard here we also have some player stats and I'm also able to manage my teams here right so you can see my team here dream Crushers now the app is able to know which are my teams because we're leveraging sap btp authentication he uses sap btp authentication also to securely communicate with my cap service now my cap service here I built it with the local tools available in sap business application studio and I previously enabled this covery and deploying it to btp using this new task in the task Explorer okay so in the end what happens in the background is that it ends up adding some properties into a btp destination so that bill can easily Discover it okay now let's go ahead and go back to my app and I'm just going to create a new team here I'm going to let the app suggest me a team name and this is actually using a very popular generative AI API in the background and it is not coming back with a name right now so seems like the demo gods are not playing with us oh there you go the elive asres yeah I'm happy with that so I'll save this and I'm just going to add some players here okay um shardul will be part of my team I'll select rassie here and maybe yeah this player had a lot of points before so Quinton now I'm going to search for my favorite player okay so in this case verat colen Okay verat is not in my I'm sorry I'm sorry don't worry we'll fix it we'll fix it so this gives me the opportunity to actually show you a bit of the process that's in the background in order for us to actually add cricket players into my back end so like most things in the sap World it all starts in S4 Cloud right so we manage all our cricket players um in in S4 Cloud so let me create him without calling I need to enter his um nationality India of course and uh we identify all our cricket players uh with a BP type so in this case 002 perfect so now what I'm going to do is that I'm going to save this business spawner and in the background what's happening is that it will end up triggering a business event to sap event mesh event mesh will receive that business event and it will end up forwarding that event to sap build process automation so if everything went well we are going to see here on yeah perfect here we have him so you can see that a number of things have happened in this process so let's check out the process in the process you can see that I am first uh retrieving business partner data so the notification event that I receive only contains a business partner ID obviously not enough information so I retrieve it from S4 Cloud then I'm only processing uh the business partners of BP type 002 and then given that I provided minimal information to um S400 Cloud then I call another service to retrieve player data so to match it to the to the business part that I created okay and in the end once it goes through the approval process it will end up creating that player in my fantasy Cricket back end as you can see leveraging actions in order to be able to communicate with different systems but there is an approval step here this is not your outof thee boox approval form this is actually a custom sap ui5 form that my colleague Michelle built so Michelle can you share with us what's in this approval form uh sure Antonio I can definitely share more about what's in this form so here's the form that my fellow developer advocate Nico and I created as you can see it's pretty snazzy using sap ui5 controls not available in the built-in form creation tools and sap build process automation such as this Cricut bat shaped element here and getting it hooked up into the process was actually pretty easy so this project was created using a template in SCP business application studio with a few modifications to make this work for our needs to connect this to our processes the first thing we did was add the inputs outputs and outcomes that we expect into the manifest.json file this is how we indicate what data we need to have from previous steps and what we expect to pass along to Future steps in our JavaScript code we call the API of the sap build process automation inbox to add various actions that are needed for the process one example is this data model context which contains the data we consume in the code in our XML file which is the approval form itself you can see this context data model in here using binding to the input and output controls using the data binding syntax this is where the real benefit of all of this work is you can show and manipulate data in a highly customized way using all of the benefits of an sap ui5 application and that's it all of the code we need has been added so the form can be deployed into sap btp which I've already done previously moving on our next step is to consume the form in the sep build process automation workflow the first step to that would be to import the form using this button here this data can be found in the manifest.json file that I showed earlier and I've actually already imported the form here so let's move on to the workflow to show you how it gets all hooked up here is where we add the form into the process Itself by clicking this icon in between the appropriate steps going to the approvals dropdown and clicking the form this will add it to the workflow the in the first tab you can add the what we want the form to be called in the Inbox and who we want to receive this form which in our case would be the league manager and we can do this either individually or through User Group in the inputs this is where we send in data from previous steps into our form one example would be batting style to process the outputs and send them into future steps you would click on that future steps go into the inputs go into the appropriate input field and click the output from from the form in this case it would be credits which is what we how much we want the player to cost when you add them to your team the final step is to tell the workflow what to do when the form is rejected you could do this with an easy drag and drop and that's it I'm done all I need to do is save and release and we can move on as we saw previously this form has been deployed into a different process and is fully configured as I am the League manager I can go into my inbox and see the verat colie uh form here and it's all ready for me to set the fantasy credits comments and approve and deny I'll go ahead and set the credits to maximum because he's a pretty good player and very popular I'll add a comment I'll acknowledge and I will click approve this will tell the process to proceed with creating the player in the fantasy Cricket back end that Antonio mentioned before Antonio you should check again he should now be available in the app so you can add him to your te team okay let's see let's see is ver here there he is excellent so now I'm able to add him to my team right so 10 credits yeah that's uh that's good so here we go this is my team now you can see four players here so let's wrap it up what do we what do we do we created a cap service with sap business application studio and exposed it with a simple click with sapb apps we integrated with btp tion in order to connect to cap and to easily identify the current user with SIP build process automation we let our process react to events from S400 Cloud via event mesh and we leverage actions to communicate with a variety of systems and finally we use the sap ui5 applications to quickly create a rich custom form and use it within our approvals process I'm loving how easy all that looks but what about data mining hello I'm loving how easy all that looks but what about data mining um you mean data science a lot has changed in 20 years uh got a lot of news for you there but for that we need a caffeinated data geek named Vitali to help us yeah DJ mentioned already that programming language which might experience the most growth in 2020 is English well I hope that all you remember that SQL was created in 1970s at the first generation language promising to execute complex data queries but using simple English statements so let us have a look at one of these statements as humans we can perfectly read what is in there right give me quantities Sal in La which is Los Angeles summarized and ordered by year I can read it you can read it but can machine read it no because we need to follow still strict rules of syntax that SQL follows right so now we got this results as a data engineer I had to fix it to get the result as you have heard sap just ask technology uses AI language models and here I have a preview of just ask in my sap analytics Cloud tenant so now I can just don't think much what kind of question or how I want to formulate this question or a prompt if you will right I'm just saying quantity Sal the way I used to say it in business in La sorted by or ordered by doesn't matter I get the result and then I keep working with that if I need to so I need to open data Explorer or I can copy and continue working with this data in um uh in in in the data story uh as well I can switch to the column view just to show you that the results are the same right so this what makes nlq on natural language quering a reality a reality that was unimaginable 20 years ago many things we've seen so far looked like magic and maybe it even looked like kalajadu for some of you black magic but who of you are curious what is behind this what is behind how modern AI works well the natural language is important but when we look under the hood then mathematics is important by now you should have heard the word embedding in all different flavors if you paid close attention that terms actually was introduced 20 years ago in 2002 and Bings were nicely explained during this morning executive keynote but let me reiterate there mathematical representations of the content like words we as humans are using in the form of vectors so something that machines can process as you have heard again during the opening keynote we are extending the multimodel processing capabilities of a saana database in A saana Cloud by introducing support for embeddings let's have a closer look at this so uh I've got a table and in this table I store 3,000 wordss or tokens as it is often used uh to call in Ai and these tokens are actually words and phrases and then I store the vector representation which is using real Vector SQL data type that you might have seen already in the morning keynote now among this three million words let me have a look if I can find the word that this Hana database will understand that would be sap pet and just to make it readable for you I'm going to still change the presentation to the human readable so and our CH okay so this is the word sap teet it is available out there in this 3 million words and this is 300 Dimensions Vector that represents the semantics of this word so these vectors seen as ordered set of numbers and code the meaning of each word in such a way that words that are closer in that Vector space measured by the distance between these vectors are expected to be similar in meaning as simple as that and it does the magic now let us have a look at slightly more complex examples so I am in business application studio and since uh a few months you have a python extension available in business application Studio which means that I can work with Jupiter notebooks and I have prepared two of them as you might see and let me use business CLI just to impress DJ to open one of them okay so with Jupiter python notebooks you might run something as complex as this but I will leave this code for you gigs to run on your own time what we are going to have a look is python used to work with sap Hana embedded machine learning that's why I'm using here Hana ml which is a client for embedded uh machine learning in sap I'm connecting with my user key because last year during keynote Jurgen was afraid that you know I'm using just a simple password that everyone will guess so this time I just hide this behind the user key so I am connecting to the same tokens and actually we are going to do a little bit more interesting uh query so we have the word sap ABAB and now we want to measure distance from semantical distance from this world to couple of other words SQL JavaScript programming language CLI GUI and so on and so forth so uh as you have seen already there is one of the uh two functions uh that are going to be built in sap Hana Cloud that would allow you to measure this distance between these two vectors so what we can read from there so programming language is the word that most closely related to sap ABA and SQL is somewhat more close to sap ABAB than JavaScript and ABAB is closer to gu than to CLI again sorry DJ and interesting ABAB is closer to aliens than it is to humans so any of you aliens here in the room oh okay so welcome to AP teet Welcome To Earth next time we are going to run teet maybe on your planet I'm waiting for the invitation so uh let's move on now having this simple formula just to measure the distance between meaning of the two words we can do something even more interesting so this is a Formula that took me only four hours to come up with and this allows me to find the similar meaning what I mean by that is that I'm the only one in our team who actually doesn't understand Cricket but I would like to discuss with the rest of the team at least you know who the most famous cricketers are and because I know that Steven Hawking is actually the world renot of the world not astrophysic I'm running the same for cricketer right and I'm getting suggestions from Hana so these are three cricketers like Brian Ian and Sachin that should you mention this in front of our Indian team they should appreciate my knowledge of cricket uh let's have a look at slightly different example and I showed you in sap analytics Cloud that instead of Los Angeles which was the value in database I use just La uh when used just ask and now that I know that La is the abbreviation for Los Angeles what the abbreviation for New York would be so Hana returns NYC or NY might be this abbreviations for New York okay let's change this slightly and we know that LAX is the airport code for Los Angeles so will we get now airport codes for New York 3 2 1 yes it is JFK and it is EWR for New York so you've seen how aana Vector engine allows to work with wart and bendings represented by numerical factors vectors sorry but embeddings can also store sentences hold documents or other kind of structured and un structure data to power the intelligent data applications that you build so let us have a look at yet another example and this time I will just open this notebook with a simple click without running the CLI and what we've done here is um encoded as well pictures of our sap developer Advocates so Jurgen if you kind of like were already shocked by the vector that stored 1700 dimensional Vector then let me tell you that here we used vectors that are 247 dimensions and guess what uh kind of like uh we used your image to encode this as well so the question that everyone in our team was really curious to get answer for who of us among all our developer Advocates looks the most as Juran so this is the Hana question that is going to be answered right so so uh we have this similarity between two image vectors one of them is uran and the answer is oops sorry I didn't run this query so uh the answer is Michelle I think this is this smile so now over to yora to show us how to combine the Hana Vector engine and the use of large language models in sap AI Foundation something must have gone wrong when traveling back in time because I think I landed in heidleberg Shea you have heard so many use cases today using Ai and specifically generative AI ranging from like supporting HR tasks to cap and up development but what is chpt actually C gbt is an application on top of one of open a eyes large language models for example GPT 3.5 turbo GPT 4 whatever
it's called and large rage models are so cool because they are trained on a gigantic amount of training data so millions and billions of data points and therefore the models themselves are huge they have a lot of nodes kind of like in your brain and that way models can actually imitate human language in a way that it almost sounds like they understand how the world works and they do that by essentially calculating the probability of the next word over and over again until they form sentences and entire texts so what do you need in order to implement your own use case in the sap ecosystem you need an instance of sap AI Core where you can access the generative AI Hub with all our partner large language models or Foundation models and you need a subcription to SCP AI launch pad where you can create your deployment for your own large large language model endpoint so here I'm in my AI Launchpad I'm going to create a configuration with this scenario that's already preconfigured from sap I'm going to uh here you can see um the executables that you need to create the configuration and they're all our partner models Asia openi for example is um the provider of all the GPT models AI open source is for example the Falon model and I'm going to use this one because I want to create a configuration and therefore a deployment with the um default model GPT 3.5 turbo because it's the fastest I'm going to create this and then create a deployment with that and then it's going to take some time for the deployment to turn its status into running and receive a URL but I have another deployment that we can just use I'm going to copy that URL go to my python IDE paste it here and now it's really just a normal rest call so um you can already query your model I'm going to tell the model to um be SE Hawking and to please uh respond to this query tell me what you think of time travel is it possible or not have you conducted any experiments so let's run and have a look and the model says time travel is a fascinating concept BL La no concrete evidence or successful experiments have been conducted well but I know that Stephen Hawking did have an experiment the time travelers party where he only sent out invitations after the party has already happened so only people from the future could have attended so what do you do when your model responds in a way that sounds grammatically correct but you know that it's factually incorrect it's called a hallucination and basically there's a method called retrieval augmented generation where you get a set of custom documents and you feed it into your model and tell the model to read that before it responds and that's what I did I went online I found a website containing an interview with stevenh Hawking about his time travelers party I copied the entire website with advertisements and everything that's the cool thing about large language models the data doesn't have to be structured at all and then I chunk that document I turned it into vectors so embeddings and I fed all that into the Hana Vector store so now my my documents are stored in the Hana Vector store and what I I can do now is before I ask the query again I'm going to go to My Han Vector store and I'm going to find the document that is most relevant for my query my query again being tell me what you think of time travel la la la la and then I'm going to retrieve that text and I'm going to give that as context before I ask my model the same query again and now I obviously hope it knows about the time travel right so it's kind of like at home where we have this gigantic mess of important documents and when my husband tries to find something he never does so he asks me and I find my way around this unstructured mess and I can return the exact information that he was looking for to him kind of like a large language model which retrieval augmented generation would do and this time yay the model response I have conducted experiments and gathered evidence suggesting the time travel is not possible in invit in an invitation only party for Time Travelers I sent out the invitations after the party had taken place yet no one arrived which led Steven Hawk to believe that time travel was not possible but then how did we end up here this is all fantastic but I am an abap developer will I still be able to leverage my ABAB skills in 2023 absolutely you didn't really think we were going to do an entire developer keynote without abop did you did you no well folks the abop language will grow and evolve till then but in 2023 we have the abop cloud and the abop restful application programming model which allows customers and partners to build cloud ready business applications services and extensions using sap btp and sap sran both public and private editions as well as on Prem of course with any new programming model comes new aspects to learn that we need to manage as well this means the more robust our programming model becomes the more we need to help our customers and partners manage all those new development objects features and features as efficiently as possible with that I'd like to show that we're working on at sap now this is a uh this is a preview this is a proof of concept only at this point taking a look at it it's all zcode all the way down to the rest calls just above the kernel but it really shows shows how we can use the power of large language models and generative AI like we've seen already today to quickly create a boiler plate wrap application I'd like to thank our colleagues at Waldorf who are responsible for working on this POC so I'd like to thank Christian and Andre for all your hard work and allowing me to show what you've done so far so let's go to the system so I have a steampunk system running here um I have a connection to uh that system in my obop cloud project here in ADT and uh the current state of this POC is largely backend processing right now so we don't have it yet fully integrated in at which is why I'm going to do it from um from a UI here um so I could have hardcoded the user user prompt um directly in my class but that's not cool right you know what is cool using an open source framework were to quickly and easily build a UI from abop so to demonstrate from a simple UI I've created this small chat application using abop to ui5 which is an open- Source Community project created by sap creating create project for creating sap ui5 applications directly in in abot now this project was created by opam Mo which is a screen name and he really did a great job with it and now he has other contributors adding new features as well so check it out of course a big shout out to the obop G contributors thank you so much for all that you do with the abop G project and the open abop open source community in general all right so let's have a quick chat with it uh we can ask it something very simple like uh what is an exception class right we go ahead and send that thinking all right and it gives me a you know a nice nice definition of what an exception class is for abot right cool but let's do some more cooler let's jump right to the cooler stuff like generating a a wrap application okay so I'm going to paste my prompt in there and I'm going to need a prefix for that um I don't think I've used the letter V yet um kind of engine you got in your Mustangs a V8 or V6 V8 of course V all right let's go with a V8 then all right let's make that Capital just for just for our sake here okay all right and we'll go ahead and run that okay now this takes about three minutes or so but when this is all done running we should see a bunch of objects in our Z Demo uh bo package which you see on the left here is is currently empty but all those objects all those new objects will have that V8 prefix in the name so you can see my user prompt here that I'm sending I'll go ahead and and we sent that to the server so for this user prompt I want to generate an abop Cloud business application using the abop restful application programming one right uh to manage artists albums and songs um I'm a huge music fan so this is the first data model of course that that came to mind right so artists can have multiple albums an album can have multiple songs an artist has a name and a bio an album has a name and release date and a song has a name and duration in seconds and of course we're going to generate this in the Z Demo boo package with that with that prefix so what's really happening here we're using the power of generative Ai and large language models to generate all of the necessary obop development objects that are required for a boilerplate wrap application with full crud uh create read update and delete capabilities so this would include the tables the different layers of views the behavior definitions the metadata extensions the business service and the business business service bindings so this will just take another minute or so but while we wait for that Tom you think this is going to work buddy I sure hope so it's off to a good start you'll have it here in a minute but while we wait let's talk about the future of aop I'm sure many of you in this room have touched aop at some point in your career and sap is fully committed to abop this commitment is even stronger than ever we are continually making significant investments in the abop ecosystem I mean look at what sap has delivered with obop Cloud it's a truly generational change to the obop development experience but it keeps the core syntax and the capabilities that you already know and is available on all the flavors of es for on premise and Cloud as well as Standalone on sap btp so whether it's platform upgrades new features educational resources or certifications rest assured abop is here to stay and grow but let's talk about the future a little bit more with the Advent of s4a aop cloud and our movement towards cloud computing and AI in general obop is becoming more versatile more cloud ready and optimized for the next generation of applications this isn't the obop of 2003 this is a reinvigorated more powerful obop designed to meet the challenges of modern Enterprise Solutions now there's been some talk in the community about obop maybe being dead why don't we lay that notion to rest once and for all obop is certainly not dead as you've seen here today it's very much alive evolving and fundamental to the sap ecosystem we're actively encouraging encouraging our community of developers to think about aop as a dynamic tool for Innovation not just maintenance aop has a rich Evolution over the last 40 years by the way happy birthday abop there's a recent happy birthday video online that you should definitely check out and we're here to say that obop has a great 20 years ahead of it as well so if you're an abop developer or considering becoming one let me tell you there's never been a better time to dive into this language it's a skill set that's in demand its opportunities are numerous and with ongoing Innovations like what you've seen here at Tech ad your career as an obop developer will be anything but stagnant in conclusion obop is not just a part of Sap's history but also a part of its future it's a vehicle of innovation and a Cornerstone of our development environment and I can't wait for you to see what's coming up next for aop and how it's going to transform your work in incredible new ways thanks Tom for buying me some time it looks like the generation has completed um so what exactly oh can we get my uh I get my thank you so I've used some uh so what exactly did we do here so I've used some experimental custom code to make a call to the gener generative AI Hub on AI Core running on Sab btp passing a prompt to it and receiving results back from the service which contains instructions for generating all of these obop objects which we now see here on the left hand side in my package right so as you can see here we have the database tables we have both the the main tables and the draft tables we have the various CDs views uh we have the metadata extensions for your UI annotations the behavior definitions uh for enriching your service and of course the service binding service definition and service binding right but take a look at the code that was generated in the behavior definition here that's cool right so what's the so we we also have the ability to to generate a class for loading generic data into our tables automatically and uh I can run this straight away because it published the service for me right so if I go to the the application here's our application right I can hit go and right away I have data in my table so if we can see that I have uh I can also go here and just you I have full crud uh operations here I can go in here and create a new uh a new artist let's use uh my favorite favorite lead singer here musician from Boston and I can go ahead and save that and of course it's now saved I can go back and you can see it's in my list there so as we can see I have a fully functioning wrap application with full crud support here all of this was done by the system based off of simple user prompt that I showed earlier based on just that small amount of information using natural language the system was able to determine the data model what the data model should look like how it should be wired together and so on and now the developer is free to fully customize the application further adding an additional features such as validations determinations side effects events and custom actions we can leverage this technology to get through the low-level framework type tasks of development and focus our attention on the Core Business logic of the application so to summarize I'm going to get excited here if you like what you see here today give me some give me some feedback all right I've generated a boiler plate application for a data model that contains three tables with relationship ship between all three tables I've generated the behavior definition which exposes the full crud operations for all three tables I've generated the business service and the business business service bindings and published my service which shows us we can have a full-blown application in minutes and that is what we want to do with generative AI technology let's get the Baseline and less interesting parts of the functionality out of the way so we can concentrate on the humans writing the valuable business logic just think of the opportunities exciting stuff right thank you okay audience while these two Tri Travelers make their way back to their seats give them another round of applause that was a lot of great technology thank you to all of our demo people it was great and now let's time travel what was it all a dream all right thanks again to all our developer Advocates and for all of you for going with us on that Journey we got a couple more things we want to do real quick though this keynot wouldn't be possible without this entire team effort so thank you so much for all your hard work to our team audience again how did we do thank you and and thank you to all of you for being here I know it means a lot to us to have you here uh online and in the room so thank you of course the thousands of you watching here and around the world and uh we'll see you next year for our next developer keynote right yeah I know okay so next we wanted to reveal the winners of our Dev toer fest contest and for that I want to bring out two of our developer Advocates mimiki and Rea and then we're leading right in the demo Jam so stay [Music] put welcome to the toob [Music] first content and contest hello [Music] everyone you win can you beat me I'm curious and also you know gain some badges from we wanted to open it up to more participation and opportunities for the community we have an amazing guest [Music] today welcome everybody to fun Friday event what are you doing [Music] here we will close out that week with our fun Friday activity it's a celebration for developers looks like there's a lot of information in there for everybody thank you for listening I'm definitely looking forward to see [Music] you wow that was a really exciting look into what de to Fest is Rea de to Fest this was your first year of De to Fest right yeah exactly I had a privilege to be part of the deob Fest organizing team and I hosted a few technical sessions and I learned lot about the new tools Technologies of saps for and btp product from our product experts I thoroughly enjoyed it I'm so glad it was to hear that it was so fantastic now let's get into the details of what death to Fest actually is Right four weeks five incredible topics that's the journey that we've been on with de tour Fest which has made a well-deserved return for his fourth year de tour Fest isn't just another event right yeah I totally agree with you momiki it's where we dive deep into educational sessions roll up our sleeves and try the latest and greatest developer tools and Technologies and and gear up for the upcoming sap Tech Kad now every single developer out there whether you're a newbie or a Season Pro is invited to be a part of our Tech talks to learn from our guest speakers and to be a part of our Vibrant Community we have the dev Tober Fest gra game board where we earn points to reach the highest level of Dev Tober fest contest called Nana the more activities you do the more points to earn that's right contestants completing tutorials and answering questions based on the session earn points they get Badges and qualify to win prizes yeah right speaking of prizes let's showcase the winners and what they have won we are super excited in fact only 84% of the participants achieved a grand prize level of Nana shown here wow now we have not one but we have 10 grand prize winners from chosen from our top qualifiers they want a trip to sap Newport Beach office in California United States now it takes an unwavering commitment to win these prizes right only about 4% of the total contestants made it to this level this year and now it's our pleasure to announc in no particular order by the way guys the 10 winners randomly chosen so pru murugesan India Priyanka gyen India gendr AR AER India gunalan PM India ramkumar venkatesan India Sebastian Fox Germany bartholo mesak Germany mat hap Netherlands eurosoft PCO Poland and Alvaro Pinel Sanchez a big congratulations to all the winners let's give a huge round of applause to all our winners our speakers most of all every one of you who continuously makes make this event great each year death over Fest wouldn't be de over Fest without our developers and we can't wait to see you next year yeah thank you you two stay put I really would love the audience to indulge me for one more thing before demo Jam we need a group selfie if you guys don't mind we're all going to stand here and smile for you can I get all the time traveling developer Advocates to join me on stage and we uh I have a camera so I need a camera and a bunch of developer Advocates and we can take a selfie there's a couple come on out he you going to bring a chair in case we need somebody to stand on it oh woo J I don't know is Jurgen mu available he helped us last year Jurgen you would honor us and do it again you be careful thank you brother let's do it let's do it we make this to heaven I'm just hey same place next year the stairs [Music] yeah [Music] thank [Applause] [Music] you oh so uran take a selfie thank you [Applause] for all right thank you everybody Craig's coming out we're going to get set up for Dam demo Jam we have I think it's six different people who made it to the jimo jam finals tonight so Craig wherever you are I hope you can come out and get the audience excited it's time to get [Applause] going
2023-11-10