It is only the experience who gives us the best ways to do something, we call it "Best Practices", but in fact it's a continuous learning about a subject and that's exactly what we want to share with you here
There are some steps that you should follow to be successful in your Visual Composer Modeling, as usual this can be modified and adapted to your needs but keep the schema as a guideline:
1st Get a clear statement from Product Owner and Scrum Masters
The usage of Scrum methodology will help you to deliver the application on time (which is of course part of the success) you can find more information about this great methodology in the following links:
Visual Composer Apps delivered “On-Time”
Scrum at Wikipedia
However, what is also really important is that you get a clear definition about the usage and purpose of your model, in that way you will avoid making a new model from scratch several times in order to adapt it to new requirements that appear "in flight".
2nd Get a clear data sources and UI design definition
Once you get a clear statement about the model expected you have to identify your data sources, it means from where you will get the data to fill the UI elements in your model.
Then you have to get and discuss the UI design, just prepare a drawing of the UI elements and how it will look and discuss it with the Scrum Master and with the Product Owner (and if possible get feedback for end users). It's easier to make all the changes over a paper than modify an advanced model.
3rd Create a base model
So, you already have a clear idea about what is required, you now have to create a very simple model that contains the infrastructure required.
Then you can try different options in your model, and if something is wrong you always can return to the base.
Also, the "reuse" is a NetWeaver principle, this base might help you to create another models in the near future.
4th Check dataservices availability
This is the critical part of any Visual Composer development, the dataservices are the key elements in the application, and the response time of each one will determine the performance and thereby will affect the end user satisfaction, so here you have some tips that will help you in this optimization:
First of all you should check the dataservices availability, does that dataservice exist or should it be created ? if it doesn't exist, who should provide us with it ?
Once you get the dataservice, test it and check the permissions and the response time.
It's really important to check all the permissions to adapt it in the Portal, as well as the response time in order to optimize it.
In my humble opinion, the optimization of dataservices is the hard and key part of your development, for this purpose we can do this:
- Check the response in normal times and peak times, if the response time is bad, you should contact the administrator of the source system to solve this.
- Optimize the data required, do you really need a select* from that table ? so, please ask to the source system admininstrator to provide you with a dataservice optimized according to your needs, i.e: if you get the BAPI_BANK_GETLIST, you can ask for a copy of this BAPI with only the fields that you really need. This might take a time, but it will be rewarded with a great performance.
- Make your Visual Composer model “Universal” as mentioned in this blog you can avoid further problems making your model transportable, and it is so simple, only be sure that you follow the recommendations and of course that the optimized dataservices exist in the target system.
5th Create a model flow
One of the biggest advantages for Visual Composer is that you can create a model flow, so you can distribute in the storyboard the flow of your model and it doesn't affect the UI.
With using this technique you will be able to trace the data in your model in an easy way, and together with an HTTP trace you can find and fix any problem in a fast and easy way.
For HTTP trace you can use tools like HTTPWatch or the one included in the SAP Solution Manager Diagnostics
6th Use your common sense
A wise man told me once, that beside the name, the common sense is not that common, but here you have some hints that will sound "logical" to you, however you should check it during development:
- Keep the model as simple as you can
- Use only necessary UI elements, layers or views etc.
- Try to re-use datasources (e.g. use the VC connector Data Store or nested iviews)
- Use connectors
- Use only operators when needed (e.g. prefer filtering in the datasource than set a Filter in the model)
- Use formulas it helps a lot, you only need to have a basic math knowledge for it
7th Adapt the UI look and feel
The last step before finishing your application is to adapt the UI look and feel (color, sizes, locations of the UI elements, sort order, etc.) after you make this, it's recommended to perform demo to product owner and SCRUM master
Afterwards there are some topics that should be adjusted like:
- select compiling options
- configure the compiler
- select the best compiler runtime
- adapt the PAR name prefix
- adapt the data services retrieval (cache or not)
- determine if you want to deploy the model in a PAR file
Then you should have a success model, in a fast time and with the reusable capability that might reduce a lot of effort in the next model.
I really hope you find this information useful and you have a happy modeling!