What should an ABAPer continue to learn as an application developer
There is an excellent blog written by Marco Hernandez <<And now for something completely different>> which tells how an ABAP can avoid to be obsolete. The following five points are listed in the blog which I completely agree:
- Object-oriented programming in general.
- Test-Driven development and ABAP Unit.
- Business Object Processing Framework (BOPF).
- Floorplan Manager and other UI technologies (SAP UI5 perhaps).
- ABAP for SAP HANA.
Figure: a small gift got in SAP D-KOM 2017 in Shanghai,China
Some of them come into my mind which are related to ABAPers’ life:
1. Functional Programming
- See a real example how Jerry deals with a real ABAP performance issue based on one inspiration from functional programming in this blog: Use ABAP Multi-Thread programming to deal with a real performance issue
- See getting-started guide in Scala website.
- Also see this interesting blog: Functional ABAP – Functional Programming in ABAP ?!
- Currying is a very important concept in functional programming. See Jerry’s blog how to Simulate Curry in ABAP.
know it is unfair, since BOPF has only been developed by several scrum teams in
Waldorf, and for Spring, on the other hand, it is open source project and never stops evolution with the amazing work of contributors
under the hood. Just see the star number of Spring project in
example inversion of control and dependency injection. While BOPF fulfills them via countless
configuration tables ( I prefer to call TDD in ABAP as Table-Driven-Development ), Spring uses annotation as another elegant approach.
those framework enough, you are now able to write some mini-framework in your application code, which helps you to avoid code duplication, break tight dependency among components, and make your future maintenance and
continuous development task easier
in that Open-Close-Principle is achieved.
For some other features like AOP, it could not be purely supported in ABAP from language perspective due to the fact that unfortunately ABAP Virtual Machine cannot support dynamic proxy as JVM does.
Nevertheless we still have Pre／Post exit which can be leveraged to simulate AOP, from which customer can still benefit a lot, to build their own extensions. Meanwhile, there is another blog talking about AOP in ABAP:
Last but not least, see these three SCN blogs:
2.My bog: A simulation of Java Spring dependency injection annotation @Inject in ABAP
4. A kind of NoSQL Database for example MongoDB
MongoDB is classified as a NoSQL database in Wikipedia.
Its source code could be found from github repository.
While HANA knowledge is quite important for an ABAPer, have you ever wondered that why NoSQL database will come out although there are many powerful relational database in the world?Again Google with keyword “why nosql”:
I will keep updating this list once new topic comes to my mind which is really related to ABAP. I believe you will tower over normal ABAPers once you get familiar with those stuffs.
5. Learn how to work on a kind of Cloud Platform – updated in 2018/01/02
See blogs from Florian Wahl:
and blogs from Graham Robinson:
- Fibonacci Sequence in ES5, ES6 and ABAP
- Java byte code and ABAP Load
- How to write a correct program rejected by compiler: Exception handling in Java and in ABAP
- An small example to learn Garbage collection in Java and in ABAP
- String Template in ABAP, ES6, Angular and React
- Try to access static private attribute via ABAP RTTI and Java Reflection
- Covariance in Java and simulation in ABAP
- Various Proxy Design Pattern implementation variants in Java and ABAP
- Tag(Marker) Interface in ABAP and Java
- Bitwise operation ( OR, AND, XOR ) on ABAP Integer
- ABAP ICF handler and Java Servlet
- ADBC and JDBC
- CL_ABAP_CORRESPONDING, CL_JAVA_CORRESPONDING and CL_JS_CORRESPONDING
- Build an Cross Site Scripting example in Java and ABAP
- Play around with JSONP in nodeJS server and ABAP server