SAP Web Applications
2009-12-10 16:34:49 Graham Robinson
Business Card
[Reply]
A quick brain-dump of my thinking....
1. Web Dynpro ABAP - suits internal professional business users running business transactions, i.e. the same target audience as traditional Dynpro. Great component-based reusability options, lightspeed rendering engine really improves user experience. Lots of improvements recently and more on the way. If you haven't checked out WDA recently it is worth another look. I should also mention the NetWeaver Business Client here. NWBC will also help change your mind about WDA - if it needs changing.
2. Web Dynpro Java - as above, but development environment suffers from lack of features I am used to with ABAP runtime, such as Search Helps, DDIC integration, CTS (I hate NWDI). Oh and personally I miss the MOVE-CORRESPONDING statement. :-) But I am an ABAPer first and a Java guy about 20th. If you are a Java guy 1st then this could well be your preference.
3. Business Server Pages - you can do anything with BSP - the downside is that you really have to build everything yourself. BSP is great for building stateless applications - a must if you a high volume application such as a web shop. It supports any web technology so you can make the UI look any way you want by incorporating all sorts of technologies. Of course you do need to handle browser-specific issues, etc. just like all web developers. (Yes I know there is a tag library to help handle this - but really!) BSP framework is also very handy for supporting other options, e.g. building REST-ful services for consumption by other UI technologies, etc.
4. Rich Internet Applications - I mainly use Adobe Flex but I have heard nice things about Silverlight. RIA's let you build great user experiences that can really transform the capabilities of the application. Users love them if they are well constructed. I typically have my Flex frontend application interact with the SAP backend by making simple HTTP calls to stateless BSP pages that return XML payloads. These calls all happen asynchronously so the user experience can be managed and there is little waiting for the backend to respond. Some improvements in the SAP<->Flex messaging layer could help here. :-)
5. Your favourite Web development tools. If you have preferences for specific tools there is no reason you can't use them. You can use a similar technique I described for RIA's to interact with the backend - but don't forget good old RFC. Fast, light and extremely efficient.
Cheers
Graham Robbo
p.s. Don't forget that connecting a user to the SAP system via a bespoke application layer is still connecting a user to the SAP system. There are licensing implications that you need to be aware of.