In the last months I spent much time helping people in the BRM forum on SCN. I realized how many devlopers started with BRFplus and made quick success. At a certain time typical problems occur: how do you transport rules? How do you analyze transports requests? How do you trace the results? Obviously DSM can help in these cases. Nevertheless many people are mastering BRFplus within shortest time and other people need more time. What is reason for it?
How did you learn BRFplus? What have been difficulties? How did you overcome them?
Before I present my personal point of view I would like to hear your story:
- How did you start with BRFplus/DSM?
- What was helpful for you?
- What was misleading?
- What was your breakthrough to success?
I would really appreciate if you share your experience in the comment section of this blog or start blogging about this topic.
My Personal Story
At first I was overwhelmed by the complexity of the framework and had many questions: which storage type have I got to choose? How do I structure my BRFplus application? What expression types should I choose?
Then I asked myself whether I should think of BRFplus as a framework or library. This is in fact a huge difference: most frameworks define rigid boundaries and you need strict development guidelines for using them properly. The reason is that frameworks rely on the principle of “inversion of control” – they call your code which is in fact a kind of plugin. And in fact BRFplus has some properties of a framework since it has en entry point (a function) and is modularized
using rule sets.
But then I realized that I can use BRFplus as a library that defines a language consisting of rules, formulas, Boolean expressions and decision tables. And then I used those expressions to formulate the business logic and I tried it to do so that business experts can understand it.
From this moment on it became very simple: I sensed a feeling of success. I started to refactor my rules and learned about using the UI efficiently. Later I learned more expression types, learned about rule logistics and extensibility and experts like Carsten Ziegler and Wolfgang Schaper gave me valuable advice. In fact they already wrote down most of their knowledge here so I read their whitepapers. So let me conclude: I succeeded when I stopped thinking of BRFplus as a framework and thought of it as a library.
Danger of Frameworks
Please don’t understand me wrong – I appreciate frameworks and SAP invented some very powerful framework like BOPF for example.
But frameworks have their dangers and problems: They are difficult and it takes some time to master them. Once they are mastered developers get highly specialized and I learned that many team and development leaders don’t encourage their developers to learn about new frameworks and libraries and don’t promote that their developers learn something new.
BRFplus is a Toolbox – not a Framework – and you have to use it that way
From the point of view of a software architect BRFplus is a sophisticated framework and I encourage everyone who is interested in good ABAP development should to study its internal structure and design patterns. And you have to understand These patterns when you extend BRFplus But you shouldn’t think about it as a framework when you are creating rule systems and decision services. As I already mentioned I recommend to think about it as toolbox, language or library.
Unfortunately many ABAP developers know more frameworks than libraries and most of the time they work within borders of frameworks like BDT, enhancements of SAP standard software and so on. But this has to change in the future since I think the time of crating frameworks at SAP is over in my opinion. In fact SAP has many really mpressive and powerful frameworks but more and more libraries are developed at he moment. The reason is simple: libraries are more flexible and allow people to create their own individual UIs and processes and this is the direction SAP is going right now.
Maybe you have a different opinion about this and I would like to discuss this as well but it is my belief that it will help getting successful with BRFplus.