.netsilverlightwcf-ria-servicessaprfc

Usage of WCF RIA Services, where the datasource isn't a classical (relational) database


I want (have) to write a Silverlight and (or) ASP.NET based webapplication with SAP in the backend (in other words, the datasource is no classical database) . The usage of Silverlight and ASP.NET is a precondition. Is it possible to use the WCF RIA Services (and Silverlight) where the data-source are RFCs from SAP ? Makes this sense ? If yes, how the pattern/architecture could be shortly described ? Or should I take other architectures into considerations (usage of plain WCF services, WCF data services,...) ?


Solution

  • The architectural problem that you are facing, is that SAP is not a data-source. SAP is the business logic layer. Trying to force it to act as a mere data-source will probably cause problems down the road.

    So my advice is to use simple WCF services. Or, if you are using old version of sap, to wait eagerly to the new .net connector. Do the presentation layer in .net or silverlight. And keep all the logic in sap.

    There are actually two possible scenarios that you haven't specified which of them your application will be using.
    1. Using a standard sap application.
    2. Using a custom(Z) sap application.

    In the first option, its clear that sap is doing the logic. Doing it otherwise will make your application vulnerable to upgrades in the back-end.
    In the second option, you can expose CRUD like interface. And try to disguise sap as a data-layer. I think that it will be wrong. This entire architecture doesn't make sense. But if its forced on you, don't try to "save" it, because it will just make it worse. Do the logic in sap, and the presentation in .net. I think that re-implementing SQL can't be considered an elegant architecture.