hi Martin,
We have a very similar background... You already have more experience than required to work with ABAP considering you come from a Java background - ABAP is sort of a "downgrade" of a lot of things you already know and a matter of getting used to some "features" that either don't work particularly well or are damn slow to work with (for instance Objects in ABAP are terribly slow compared to Java) - be aware if you write really OO code because ABAP will struggle with Object Creation.
I recommend you read the SAP Docs around ABAP (ABAP Keyword Documentation), what you need to know is the architecture of the ABAP AS, how memory / session is controlled and their lifecycle and how memory in a shared state works in ABAP. After that you should read about ICM and ICF (these are two underlying components that controls a lot of what ABAP has to offer in HTTP terms - Server Architecture - Components of SAP Communication Technology - SAP Library) and Authentication in ABAP (which will include basic, logon tickets, certs, etc - AS ABAP Authentication Infrastructure - User Authentication and Single Sign-On - SAP Library).
After you have that you read the ABAP Language Reference and you are done - you know ABAP, all rest you don't know are the "bugs" or "issues" with the kernel which you will learn with time.
Having such knowledge you could jump in "programming the service". In "SAP environments" you have basically three ways of exposing REST Services for UI5 consumption:
1. OData using SAP Netweaver Gateway: this is a simple OData generation library with some helpers to create class hierarchy, service "exposure", etc - it removes a lot of complexity that exists in the primitive ABAP stack, like Activation of icf nodes along others. You can work either with Eclipse or SAP GUI to "implement methods in the generated classes" - there are books you can find in SAP Press about OData, this is all you need to know actually, it will have code samples for crazy stuff that is not particularly well implemented which will get you around some scenarios.
https://www.sap-press.com/odata-and-sap-netweaver-gateway_3431/
2. REST using SREST package: this is an "ABAP Package" (ABAP package is not the same as a Java package) which resembles the very first JAXRS implementations.. in fact if you have worked with JAXRS 1.0 this is piece of cake - here you can work in a OO way for the most and you can create your resource handlers that will implement different methods (get, post, put, etc).. You have access to the lower objects in the ABAP WebServer and you work on request / response level - gives you a hell lot of flexibility and speed because it removes all the OData overhead. - the OData framework is created over the SREST package.
ABAP REST Library - Connectivity - SAP Library
3. HANA XS: case you run HANA, inside the platform there is a Mozilla Spider-Monkey JS Server which runs server-side javascript - you can also expose services thru that layer utilizing server side Javascript as the language to write those (instead of ABAP) - I believe they are not 100% flexible and some scenarios you get sort of stuck to override or "re-implement" some behaviours, but worth giving a shot.
There is a lot of material around this either in openSAP Courses (more of a marketing tool than anything else, so beware the long talks about nothing) or Blogs and Questions here in SDN - when you signup for your HANA tenant you should also have access to run the XS Engine - since JS is also your area there's not much to add in here, I'm sure you will get around.
Hope it helps,
Dan.
PS: This a summary of my journey into ABAP and for me it's just another language I have to deal with on a daily basis.. maybe this also fits your profile, it worked well for me in the past few years I've been involved with SAP developments.