Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
qmacro
Developer Advocate
Developer Advocate
We have a new SAP Developer Challenge for you for the month of August. This time it is all about APIs - introducing you to the basics, revisiting some classic aspects, and having a bit of fun along the way.

Challenge close and final statistics


Update 04 Sep 2023: We're now a few days into September already. In last week's SAP Developer News episode we mentioned that we'd keep the challenge open for a few more days (basically until the weekend was over) for you to catch up on any tasks that were outstanding. That period is now over, and the challenge is now officially closed, as of 0900 BST (UTC+1) today. The statistics below are based on all participation up to this point.

The tasks are still available for you to work through, and will remain available for the forseeable future. We have endeavoured to supply enough background information in each of the tasks for you to complete them on your own at any time.

We'd like to congratulate each and every one of you for taking part, and working through the tasks. There was a super community vibe and some interesting discussions sparked by some great questions from you. We thank you for that.

So, here are a few statistics.

Overall participation


There were lots of you that took part! In fact, 223 unique participants. All of you that participated will receive an SAP Community badge, as mentioned towards the end of this post. Congratulations to all of you, who are:

AAncos, ALEJONO, AbapAndy728, AchimBolte, Afenna, AndrewF, ArindamSAP, Ashok_Easa, Bharathi_S, BrijeshGandhi, Chaitanyat, Cmdd, Cylia_Oulebsir, DazOwens, DenisGaland, DirkO, Ella, Eurey, FabienHenique, Flavio, FooThePolarBear, Frank_Haschick, GRABLERE, Gowtham, HJRavi, HelenaFortun, Hendrik, Henning, IngoS, IsmailFatih, JJAIMES, Jagtar, JohnPaulLiberal, Julio, K_Choudhary, KathrynKazibwe, Keekee, MadhavKumar, Mahmoud-Farag, ManojSutar, MarcelloUrbani, MeriemSouissi, Monni, Nacho_Rodriguez, Naguco, Nicolas, Nidhi, OlH, OlgenH, P41l, Petchimuthu_M, PriyankaChak, R4BB1T, RUPAM9115, Rafito, Rajshekhar2, Ramjee_korada, RaulVega, Rishi_and_SAP, Ritik, Ruthiel, SSchuck, SandipAgarwalla, SandraSolis, Sharadha, Shubasis, StKollos, SubaR, Suneeth_P, SyamisUnique, SyedAllaBakshu, TJRP, TRainer, TRuloff, TiagoAlmeida, Tomas_Buryanek, ToniOostveen, TravelTechCode, VenugopalA, VinitaSangtani, Zakir_hussain, _Konstantin_, aancos_id, abdullahgunes, adrian-ngo, ajay_soreng, ajmaradiaga, ajos, akshaychats129, alessandraarm, amine_b23, andrew_chiam, andyl, anupamduttaroy, arismuda, arunneerolil, aslan1906, barisguler, bernd_broesamle, beserk, bmsudhakaran, brahammittal, bugsanderrrors, bztoy, cd_winc, cdias, ceedee666, cguttikonda24, choujiacheng, cinemandre, d067595, dakoller, dan_wroblewski, danielpobletaes, das87, devrajsingh, dhegde, dianab, dinah, dvontress, eakucuk, ecem_yalim, eddiedu, elkhenati, emiliocampo, encarrero, erickgrilo, fabio_correa, flo_conrad, fsteurer, garyzuo, geek, govardhansahil, gphadnis2000, gustavo-alvarez, harsh_itaverma, hunamm, huseyindereli, ibibhu, imancour, induthiru, jagadish, jasshauer, jdm, jens_borau, jironoor, jitendrakansal, jkz, jmalappil, jmuiruri, johna69, kamesh-sap, kasch-code, kjyothiraditya, koehntopp, ktrkanjec, kumarniti4, kunalsahi85, lehuynhnam, lvhengel, marhol, martin_zauner, martinstenzig, mdejesus, menglert, miyasuta, msoans, mts2605_orsted, mustafabilen, mvaibhav, nagarajan, nalin_sharma, naveen1241, nex, nicoschoenteich, nilsb, njames, nmkarthikeya, ofilho, p330068, pedropeixoto, pmthien, pmwilliam, pocaFight, prachetas, prashil, pvnierop, r5luga, ramana_salapu, raulguti, rdulek, rohantiwari, sabarna17, sainithesh21, salilmehta01, sandeepmalhotra, sarahf, satya-dev, se38, se71, seVladimirs, senchi, sgatea, shotokka, shrinivasan_ns, somnath_paul, spassaro, steph_senita, stephancalmindo, stevanic, stickman_0x00, swanandl, szeteng00, thomas_jung, thomasks, tly, tobiasz_h, turanaydin, vedaradhya, vignesh_narayan, vinaychowdary, xyla, yassine.

Overall task completion


There were 13 tasks altogether. Each of these were successfully completed by many of you. Here's the breakdown, task by task, of how many of you completed each task.
176 Task 0  ++++++++++++++++++++++++++++++++++++++++++++++++
70 Task 1 ++++++++++++++++++++
104 Task 2 +++++++++++++++++++++++++++++
90 Task 3 +++++++++++++++++++++++++
53 Task 4 +++++++++++++++
56 Task 5 ++++++++++++++++
38 Task 6 +++++++++++
49 Task 7 ++++++++++++++
44 Task 8 ++++++++++++
35 Task 9 ++++++++++
37 Task 10 +++++++++++
30 Task 11 +++++++++
27 Task 12 ++++++++

Individual task streaks


There was a lot of work for you to do across all 13 tasks in this challenge. Some of you did incredibly well, successfully completing multiple tasks in the challenge period.

Here's a breakdown of how many of you successfully completed how many tasks in total:
188 1 tasks  +++++++++++++++++++++++++++++++++++++++++++++++
127 2 tasks ++++++++++++++++++++++++++++++++
96 3 tasks ++++++++++++++++++++++++
79 4 tasks ++++++++++++++++++++
65 5 tasks +++++++++++++++++
54 6 tasks ++++++++++++++
50 7 tasks +++++++++++++
40 8 tasks ++++++++++
31 9 tasks ++++++++
28 10 tasks +++++++
23 11 tasks ++++++
19 12 tasks +++++
9 13 tasks +++

As you can see, a handful of you, 9 in total, worked through and successfully completed every single task. While we can't give a special extra badge for this, we'd like to call you out as participants with stamina!

  • PriyankaChak

  • ajmaradiaga

  • geek

  • kasch-code

  • sabarna17

  • se38

  • seVladimirs

  • thomas_jung

  • tobiasz_h


Great work! 💪

Thanks once more to each and every participant for taking part in this challenge. Look out for your badge which should be coming your way in the next few weeks!

We'd love to hear from you on how you found this challenge, what you liked, what you disliked. So please, please, take a minute or two to leave a comment to this blog post, below, letting us know how we can do better next time.

Thanks!

Task list


If you're just here for the list of tasks in this challenge so far, here they are:

Task 0 - Learn to share your task results

Task 1 - List the Northwind entity sets

Task 2 - Calculate Northbreeze product stock

Task 3 - Have a Northbreeze product selected for you

Task 4 - Discover the Date and Time API Package

Task 5 - Call the country date format API endpoint

Task 6 - Create a new Northbreeze category

Task 7 - Create a new directory in an SAP BTP account

Task 8 - Create an instance of the SAP Cloud Management Service

Task 9 - Create a service key for API endpoints and auth info

Task 10 - Request an OAuth access token

Task 11 - Examine the access token for scopes

Task 12 - Use the access token to call the API endpoint

Introduction


OK, let's dive in!

APIs are an essential component in any system, large or small. In enterprise software, you can think of APIs as providing the lifeblood, the flow, in between and around systems that work together.

Aspects of APIs


There are many aspects of APIs, not least whether any given API is synchronous or asynchronous. But beyond that, there are styles. From simple HTTP based APIs that use HTTP as what it is, i.e. an application level protocol, through to those that conform partially or fully to RESTful constraints, such as OData, to styles which are quite orthogonal, such as gRPC, GraphQL and SOAP.

So while there are many API styles and aspects, this month we'll focus on what is arguably the style that covers a large majority of integration interactions - HTTP and OData. Not least because to understand HTTP and OData is to understand the protocol that is used as a transport layer* for other styles (such as SOAP, XML-RPC, GraphQL and more).

*I'm deliberately going to avoid talking about whether that is a good thing or not 🙂

The challenge


As a slight departure from previous SAP Developer Challenges where there have been around four weekly tasks, we're trying something a little different this month, with a series of more smaller, shorter tasks. Each task is something you can probably do in a coffee or lunch break (there are some that may take a little longer), and introduces you to some aspect of HTTP and OData APIs.

Some tasks will be based on simple services that are ideal for light touch activities. Others will be based on, and thereby introduce you to, or allow you to revisit, facilities on the SAP Business Accelerator Hub (previously known as the SAP API Business Hub).

The tasks


So any given SAP Developer Challenge like this consists of one or more tasks.

Each task in this challenge will be presented as a new discussion thread in the Application Development area of the SAP Community and the content of each of these discussion topics will have sections as follows:

  • Background: some content that covers details of the API aspect or feature at hand

  • Your task: a description of what you actually have to do

  • Hints and tips: information designed to help you complete the task

  • For discussion: questions for you to consider, and to share your thoughts on


For each task, you are encouraged to do two things:

  1. Complete the task as described, and share your result in a reply to the task's discussion thread - this should be in the form of a SHA256 hash made from that result value and your SAP Community ID.

  2. Share your thoughts, by starting a separate reply to the task's discussion thread, on the questions raised in the "For discussion" section.


So the question on your mind now is: "How should I create and share my task result hash?"

Well, you can find out exactly how you should do that, in our very first task for you in this challenge:

SAP Developer Challenge - APIs - Task 0 - Learn to share your task results

The task schedule


As mentioned earlier, there are more than just four weekly tasks in this challenge. We'll create a new discussion thread in the Application Development area of the SAP Community for each task as and when they are ready for you to complete.

Expect each new task to be publicized like this every few days. It's probably worth bookmarking the discussion group, or adding the discussion group's RSS feed to your favorite RSS reader. For example, I use Miniflux and am subscribed to this feed here:



What to do now


Bookmark or otherwise subscribe to updates to this blog post and / or the Application Development discussion threads.

Then head on over to the first discussion thread, for Task 0:

SAP Developer Challenge - APIs - Task 0 - Learn to share your task results

and complete the task as described. Add your result hash, plus add further replies to the discussion thread with any thoughts you have.

Then check back in a couple of days time to look for the next task in its own new discussion thread!

What you'll need


To complete the tasks, you'll need to use various bits of software; often you'll have a choice (for example, of language to use, or tool to employ). For some of the tasks you'll need an account on SAP Business Technology Platform. A trial account will be fine, and is free for anyone.

Badges


Upon successful completion of the challenge's tasks, you will earn a badge for your SAP Community profile.


 

We'll leave the tasks open to complete for a period of time after August ends, to give you a chance to catch up and complete them all if you need to.

And don't forget to have fun, learn stuff along the way, and share your thoughts with you fellow SAP Community members!


 
20 Comments