Status of ByDesign development environment
According to the current discussion on Twitter via Judson Wickham, Christian Happel, Jürgen Eisele and myself about the process of PSM requests for Business ByDesign development, I want to write some lines about this.
I also want enhance this topic a little bit with the general discussion about the status of the ByDesign development environment (ByDesign studio).
How Lars Dalgaard wrote in his blog, ByDesign has a static growth and we as partners see a high acceptance in the market. The next step should be the enablement of partners to extend the solution in a larger scale. This would save development costs for SAP and would allow partners to fulfill better customer’s needs…it would also open the doors to new target industries.
Unfortunately there are currently some big issues in the ByDesign SDK which prevent partners to do that.
PSM releases
The public solution model (PSM) is the released business content of the SAP Business ByDesign solution, which can be used within the SAP Business ByDesign studio. The different content types that are published are Business Objects, Business Configuration Objects, Data Types, Form Message Types, Object Value Selectors, Embedded Components, UI Inports, UI Outports, and business adaptation catalog (BAC) entries. (Source: https://www.sme.sap.com/irj/sme/community/collaboration/wiki?path=/x/U4cqCw)
The PSM should prevent developers to work with content that will changed in next release of ByD and should ensure that partners have enough time to react on those changes. But currently the PSM is more a pain than a win for us developers cause there are not enough content released. Additional to that the release of new content is defined as a “release by request” process via incidents and it seems like there are not enough resources to handle those. For example…we have one open request from September 17th in which SAP needed already 10 days to ask us for a detailed description of the business scenario and now?
We definitely need a faster, more uncomplicated and more transparent process. I remember that the target was to release 80% of content in PSM until FP4.0…now we have FP4.0 but it seems like that 80% is NOT released.
General extensibility
SAP Business ByDesign is promoted as an easy to enhance ERP solution and that`s true if we take a look on the existence of mashups and custom fields. That`s great for customers cause they need no programming skills to do simple enhancements.
But there are a lot of use cases where those options are not enough and where we need more complex enhancements with e.g. new screens, buttons and coding. In this case we could use ByDesign studio but the enhancement functionality here is very limited…some examples:
- Not possible to add new actions to existing business objects.
- Not possible to add new events to existing screens
- Not possible to extend existing objects with more complex structures like a list
- …
This lists contain only some points and there are definitely more…this restriction is critical regarding the possibility of developing more complex solutions/industry verticals. How Judson in his comment to Lars Dalgaard`s blog already wrote that`s the reason why most of the more complex solutions for ByDesign are integration solutions (developed outside of ByDesign integrated via mashups or webservices).
I don`t want to criticise the ByDesign studio so much cause I really think it was/is a good pitch but now it`s time to move forward, to hear what the community have to say and what customers need.
From my point of view the release of all content in PSM and better extensibility options is the way SAP should go.
Any feedback and contrary views are highly appreciated.
You know where I stand on this. Rainer said he's going to post the SLA's for PSM requests, but what's the point of SLA's that are totally ignored.
Honestly, I am very disappointed in 4.0. It seems like the PSM is more locked down than ever.
I think these changes need to be made:
Until then, I'm not finding much value in the SDK anymore, beyond trivial functional extensions.
Thanks Judson for your comment.
Definitely valuable points, especially the missing anchors are a pain.
My experiences in FP40
A business object and its released business content should provided in every wizard and and should be identical:
FSI, DataSource, WebService, ABSL with ist query calls (search and result parameters), PrintForms and more...
Currently I see no way to develop complex or integrate scenarios with ByD Studio, due to the restricted general extensibility.
@Judson:
I think use case is only necessary to find a work around to bypass or restrict the PSM release.
It is a tough fight to each element!!
Usually a PSM request takes 2-3 months.
(Possibly with final result: it is still not possible to release this function)
This scenario inflates development times and often casual customer has lost there patience.
I agree in your points of improvement. There are also a lot of other defects,
in german we say "childhood diseases".
@Andreas:
I remember the SDK training in Walldorf 2010th. Coach said, We could request a PSM release.
We have been suggesting that there must only be released, almost a flag is switched.
Today each individual PSM request is normally associated with high development costs!
Every PSM Release needs really man power in india.
I think something went wrong and the petition was missed by oversleeping.
Kay
Thanks for your comment as well.
I also remeber the words about PSM we heard in Walldorf...Sometime I think it would be better to kill the PSM and live with the risk.
Hi Andreas,
I want to comment on your second statement. I do not understand this argument. I recently was involved in several customer project and we did a lot of these things you are saying you are missing.
- For example: Customer wanted to create a follow-up Lead whenever an Opportunity is set to "lost": We implemented this in the BeforeSave and a check in the ValidateBeforeSave event of the Opportunity BO. One page of coding.
- Second example: customer wanted to show the Service Contracts from an SAP ERP system in the Account UI (in fact this was a Customer OnDemand use case, but it works also in ByDesign): we implemented a web servce call to the SAP ERP system in a custom BO, created a custom embedded component and included this embedded component as a new tab on the Account UI.
Can you please provide some concrete business use cases for which you want to extend and cannot? I personally would like to discuss about business use cases instead of just saying what is technically not possible.
Now, let me reply to the technical points you are mentioning:
1) Not possible to add new events to existing screens
In general, we strictly differ between UI and the business logic in the UI. Extensions are only possible in the business object - this is the general concept. So if the the business object is released, you can implement the extension events in the business object (AfterModify, BeforeSave, CheckBeforeSave, and as of 4.0 AfterLoading).
I agree that we are lacking some functionality of dynamically activating/deactivating UI fields, sections and buttons. We are trying to find a solution without creating a performance desaster.
2) Not possible to add new actions to existing business objects and Not possible to extend existing objects with more complex structures like a list
The solution for the requirements you are posting here is simply to create a new custom business object. I have described this concept in my book (SAP Business ByDesign Studio -Application Development, http://www.sap-press.com/products/SAP-Business-ByDesign-Studio-%E2%80%94-Application-Development.html). Let me describe this concept here shortly:
- Create an own custom business object, that has the same ID/UUID as the SAP business object
- Create an embedded component on top of the custom business object. You are completely free in the UI development of this component. You can use action buttons, links, associations, tables, ...
- Include the embedded component into the SAP UI.
- Now, link the custom business object to the SAP BO. This can be done either in UI level (in this case not even the SAP business obejcts needs to be public, you only need an public outport of the SAP UI), or in the AfterModify / BeforeSave event of the SAP BO.
You may like this concept or not, but it works and it ensures a separation of SAP and custom components (UI and BO) and thus lifecycle stability. For "simple" field extensibility SAP ensures the lifecycle stability using a merge mechanism, but for complex extension features, this is not flexible enough and finally a performance problem.
As already mentioned: let us discuss about business cases and find solutions how to implement them!
Best regards,
Thomas
.
Thanks for your comment Thomas, I really appreciate this.
With this blog I would like to give feedback regarding things I miss in ByDesign studio...things we really need to develop vertical industry solutions.
The marketing statements for ByDesign studio are "easy to use", "extreamly shorth development time" but if we are honest that`s only true in some cases and definitely not for complex solutions. We are constantly searching for workarounds to realize business scenarios but I think we should re-think and solve the primal issues.
In last month we got so many request from customers but we can`t make them an offer cause the development efford is not possible to determine. There are to much things we have to clarify before...and who will pay for that?
SAP should work closer with developers to master the situation....for example in periodically sessions.
To your comment...
You said you added a new tab to an existing screen, I also want doing this on the customer factsheet, how can I realize this? I see no option for this...I think only SAP can do something like that, I see no anchor.
Further point...I also want to add a list of current projects to a customer factsheet on tab "Sales" but that`s not possible for a partner, or?. And for this list I have to check if the user have access rights to see it.
Further comments to your points:
1) If I want to create a new button on a existing screen to give the employee the possibility to trigger a custom action, how should I realize that without own events? Shure I could create a custom field and write some coding for the events AfterModify, BeforeSave, CheckBeforeSave, or AfterLoading but that haven`t the same usability for the user. It could also be a problem for runtime cause I only want to execute the action if user press the button and not anytime the object is changed or saved.
2) How you sad, you can like the workaround or not but as partners it is critical to use Silverlight controles cause we don`t know when we get HTML5 and if we got...we have to re-develop our solution or in worst case there will be no longer custom controls available? We don`t know it.
Another thing...is it definititely possible for partners to add such a embedded component to standard screens? A current use case is to add such a list to customer factsheet. I can`t find a ViewSwitchNavigationAnchor or TabStripAnchor.
Other example is the possibility to add a new association to an existing BO to link an own created BO. In this case a OVS box is also needed to select the objects.
Thanks.
Andreas
This is Great... And I really agree with your points Andreas... I remember two years ago in Palo Alto Seeing lots of the Exact Same Functional and development issues that still exist today. While many have been resolved some of the larger ones are still there, and you have outlined them well here one thing that still gets overlooked and Dismissed is the whole
CROSS DEPLOYMENT UNIT issues... Really the service messages are a joke (for me at least) as There are many instances where It would be nice to create a custom Production order from a configured Sales order for example and know it was successful, so I can link them.
Workarounds to issues are great but just that "Workarounds" not fixes.
How Happy I will be when (similar List)
there are others but these are the basics.
I am not getting down on the whole studio, I think it is great the tools are good I just think as developers we are looking for more access so we can do what WE want to do we have visions of these grand solutions and want them to become reality ( I know we could have won a lot more sales had some of these things been possible)
I think Judson hit the nail on the head with
I would only add "And basic Integrations via Webservices" ... I feel this is the feeling of a lot of developers as show but the number of "Large" apps on the Store.
Finally I think one thing that would really help is a Road-map of PSM/Development feature Releases (If it exists I have not seen it)
To Billy's point, its almost impossible to give a customer a fast estimate on any custom development effort, because you have to research every item in the request knowing that the PSM is so locked down.
I've had to quote customers 4 hours of labor, that will take 4 MONTHS to potentially achieve, if the crazies at SAP Cloud Support approve your use case.
This past weekend I sat down with Jay Krueger and mentioned a few of these.. He told me about how they are moving all development to India, and that the plan is to be able to process all PSM requests in 3-5 days..
Billy,
That's just to process the request. Then you have to wait for a bundled hot-fix for the actual fulfillment. I believe this is the part that's not happening.
Judson
Gotta throw this out there:
"- Create an own custom business object, that has the same ID/UUID as the SAP business object
- Create an embedded component on top of the custom business object. You are completely free in the UI development of this component. You can use action buttons, links, associations, tables, ..."
Come on, now. These are the most basic use cases I've ever heard. Once you step into more complexity, we have to implement crazy-*** workarounds and/or wait MONTHS for a PSM request to be fulfilled.
It's very safe to say that SAP has failed to deliver on the promises of the ByD Studio. Perhaps you're all focused on the Cloud Studio, which seems to magically have tons more functionality and deals with the issue of 'deployment units' with grace.
Guys,
This an important subject and I believe our feedback is not only welcome but help SAP address the most relevant issues.
However, I believe we should look at the larger picture and that is we have got a lot of progress to date. Maybe the speed is not ideal, but we should be careful not to have valid feedback come through too negatively.
SAP and its partners are so dependent on each other that we need to work together on this.
Andreas, lets profit from SAPPHIRENOW and see if we can meet Rainer Z... It would be great.
Leo
Leo,
With all due respect, this about the SDK, not ByD itself. We were promised many things, and those of us in the trenches (myself, Andreas, Billy) have not seen these promises delivered.
I hope you and Andreas can have a good, productive discussion with Rainer, because he may not be aware of the commitments that were made are not being fulfilled.
We are all passionate about ByD and want to bring it to every vertical. It's been our dream for years, but so far we've not been enabled.
Best,
Judson