8 Baby Steps to Learn Joule – (Step #3) Joule Architecture

Estimated read time 6 min read

This blog is part of the series 8 Baby Steps to Learn Joule. Please check the previous blogs, before proceeding.

 #1 – Introduction to Joule

#2 How Joule Works

In this blog, we will dive deep into architecture of Joule.

 

Let’s first quickly recap what we learnt so far:

Joule is an advanced, generative AI copilot.It is embedded into various SAP applications, for example SAP S/4HANA, SAP SuccessFactors etc.Users ask their queries in the natively integrated Joule client embedded in SAP cloud solutions, such as S/4HANA, SuccessFactors etc. Joule analyses the prompt, provides a much richer query to the LLM, and finally returns a secure, accurate, and appropriate response back to the user.

 

Now, let’s understand the architecture of Joule. Below image shows the major components of Joule and it’s ecosystem.

 

 

First, some important points to note.

✅Technically, Joule is a service running on SAP BTP in a Cloud Foundry environment.

✅Joule is integrated into SAP cloud solutions, such as S/4HANA, SuccessFactors, SAP Start, SAP Build Work Zone, Ariba, CX and many more.

✅Users can access Joule through a diamond icon in the top right-hand corner of the SAP user interface, regardless of the specific system. 

✅Joule uses SAP Cloud Identity Services for authentication and authorization.

 

Now, let’s decode the image shown above.

1️⃣User (say, a manager) enters a prompt in Joule UI, which is embedded inside a SAP cloud solution (e.g. SAP SuccessFactors).

Example – “Show my pending leave requests.”

2️⃣Joule UI forwards the user’s request to the Joule service hosted in SAP BTP.

3️⃣As explained in previous post (#2 how Joule works), Joule sends the final prompt to LLM and get a response or instruction to access SAP cloud application.

For example, in this case, Joule recognizes that leave requests are stored in SAP SuccessFactors. So, it needs to retrieve data from SuccessFactors via OData APIs.

4️⃣Joule uses pre-configured Destination in SAP BTP to securely establish the connection with SAP cloud application.

For example, in this case, Joule calls this Destination to access SuccessFactors.

5️⃣ The request flows through the Connectivity Service in SAP BTP. For on-premise system, the Connectivity Service creates a secure tunnel.

6️⃣ Joule calls the OData API to fetch the required data.

For example, in this case Joule makes an OData API request to SuccessFactors and gets pending leave requests for the user.

7️⃣ Joule formats the response and sends it back to Joule UI.

For example, in this case Joule displays:

“You have 3 pending leave requests: 1 from John, 1 from Lisa, and 1 from Mark.”

 8️⃣ If the user wants to navigate to an app, Navigation Target Mapping mechanism of SAP Build Work Zone is used.

For example, if user requests, Joule may use Navigation Target Mapping to open the leave approval page in SuccessFactors.

 9️⃣ Throughout the process, security is handled by SAP Cloud Identity Services.

Identity Authentication verifies the user before allowing Joule access.

Identity Provisioning ensures the user has the correct permissions in Joule and SuccessFactors.

 

This is in nutshell – The Architecture of Joule!

 

Stay tuned for Blog #4 Joule Interaction Patterns. Meanwhile, you may read the blog Joule, SAP’s Generative AI Copilot

 

 

​ This blog is part of the series 8 Baby Steps to Learn Joule. Please check the previous blogs, before proceeding. #1 – Introduction to Joule#2 How Joule WorksIn this blog, we will dive deep into architecture of Joule. Let’s first quickly recap what we learnt so far:Joule is an advanced, generative AI copilot.It is embedded into various SAP applications, for example SAP S/4HANA, SAP SuccessFactors etc.Users ask their queries in the natively integrated Joule client embedded in SAP cloud solutions, such as S/4HANA, SuccessFactors etc. Joule analyses the prompt, provides a much richer query to the LLM, and finally returns a secure, accurate, and appropriate response back to the user. Now, let’s understand the architecture of Joule. Below image shows the major components of Joule and it’s ecosystem.  First, some important points to note.✅Technically, Joule is a service running on SAP BTP in a Cloud Foundry environment.✅Joule is integrated into SAP cloud solutions, such as S/4HANA, SuccessFactors, SAP Start, SAP Build Work Zone, Ariba, CX and many more.✅Users can access Joule through a diamond icon in the top right-hand corner of the SAP user interface, regardless of the specific system. ✅Joule uses SAP Cloud Identity Services for authentication and authorization. Now, let’s decode the image shown above.1️⃣User (say, a manager) enters a prompt in Joule UI, which is embedded inside a SAP cloud solution (e.g. SAP SuccessFactors).Example – “Show my pending leave requests.”2️⃣Joule UI forwards the user’s request to the Joule service hosted in SAP BTP.3️⃣As explained in previous post (#2 how Joule works), Joule sends the final prompt to LLM and get a response or instruction to access SAP cloud application.For example, in this case, Joule recognizes that leave requests are stored in SAP SuccessFactors. So, it needs to retrieve data from SuccessFactors via OData APIs.4️⃣Joule uses pre-configured Destination in SAP BTP to securely establish the connection with SAP cloud application.For example, in this case, Joule calls this Destination to access SuccessFactors.5️⃣ The request flows through the Connectivity Service in SAP BTP. For on-premise system, the Connectivity Service creates a secure tunnel.6️⃣ Joule calls the OData API to fetch the required data.For example, in this case Joule makes an OData API request to SuccessFactors and gets pending leave requests for the user.7️⃣ Joule formats the response and sends it back to Joule UI.For example, in this case Joule displays:”You have 3 pending leave requests: 1 from John, 1 from Lisa, and 1 from Mark.” 8️⃣ If the user wants to navigate to an app, Navigation Target Mapping mechanism of SAP Build Work Zone is used.For example, if user requests, Joule may use Navigation Target Mapping to open the leave approval page in SuccessFactors. 9️⃣ Throughout the process, security is handled by SAP Cloud Identity Services.Identity Authentication verifies the user before allowing Joule access.Identity Provisioning ensures the user has the correct permissions in Joule and SuccessFactors. This is in nutshell – The Architecture of Joule! Stay tuned for Blog #4 Joule Interaction Patterns. Meanwhile, you may read the blog Joule, SAP’s Generative AI Copilot    Read More Technology Blogs by SAP articles 

#SAP

#SAPTechnologyblog

You May Also Like

More From Author