Skip to Content

Real life composites

Real life Composites
Some time ago I wrote: Composite Applications: Hype or Real?? Conclusion was – of course – REAL. During the TechEd in Berlin there were 12 out of 309 sessions about Composites. And as we all know, at TechEd we learn what is/will be real. So again, composites are real 😉
Despite these signals, reality is that sometimes it is hard to explain to customers what Composites are and why they want to implement them. “Mashups, composites, Web2.0 is something for the internet not for my enterprise environment.”
Let me help you with this blog about two real life composites that we have developed for a utility customer. Real life as these applications are live since early 2008 and in use by the end customers and the call center of this company.

Front Office Automation
This application gives call centers the functionality to support offers and contracts in the portal solution. From here, employees and partners (e.g., front office agents and external call center agents) can create and search business partner contacts and register energy offers and contracts. Front Office Automation is composed on top of SAP CRM and SAP ISU, combined with custom Java applications.


Budget Monitor
Budget Monitor offers the end customers an advice on the contract type based on the consumption amount and rate category. If customers accept the proposal, the SAP ISU contract get updated automatically.
Also Budget Monitor is composed on top of SAP CRM and SAP ISU, combined with custom Java applications.

Budget Monitor

Sorry that the screenshot is in Dutch. Short translation: You get an overview on the contracts you have. At “Uw voorschot” (= Your budget billing amount) you can see what your current budget billing amount is and on base of the calculated consumption (another composite application) the tool calculates a proposal for your amount. If you agree, just select “hier” (= here) and your SAP ISU contract gets updated automatically. Well of course after some validations 😉

How to compose?
For composing the application we used the Composite Application Framework, release 7.0.12. Application functionality is provided via web services into the CAF Service layer. Role based screens were developed with Web Dynpro for Java. You can read more in my article in SAP NetWeaver Magazine, Real-World Lessons of Building a Portal with Composite Applications and Enterprise SOA.

Lessons Learned
Besides the lessons that are already described in the article, I would like to point out some lessons on the 7.0.12 release of the Composite Application Framework. (Thanks to my colleagues Ronald Kleijn, Alain Corsius and Peter Mayringer for pointing out the Benefits and Concerns)


  • Accessing multiple resources (ABAP, Database (entity services), web service) within one SAP NetWeaver Developer Studio interface. All necessary code is generated so no knowledge of EJB/JCO is necessary.
  • Easy web service creation via a wizard
  • Easy to add business logic within the application services and entity services
  • Easily reusable by multiple applocations
  • Once deployed correctly it runs stable
  • Based on Java standards


  • Use of NWDI and CAF:
    • Only 1 developer can work on the CAF project at the same time.
    • Metamodel is not usable due to vast amount of xml files which then need to be checked in and out causing a slow development process. Metamodel can grow easily to multiple hundreds of xml files.
    • Due to generation and interpretation of the metamodel it takes a long time before the CAF perspective is opened in the SAP NetWeaver Developer Studio. Furthermore an activity is always created when opening the CAF perspective. Checking code quickly for review is in this way impossible.
    • Compilation takes extremely long. Can take up to 10 minutes on good performing systems.
  • Buggy code generator:
    • Poor support for Relational Entity Services and indexes
    • Not always working code completion within the application services’ implementation.
    • Poor regeneration of changed data structures when creating web services
    • No good deployment without starting the generation. Every action needs generation which slows down development process.
  • No clear technical error/exception messages. A very common error was a null pointer exception on the ICoreConnectionFactory. This could be due to several reasons, but which was never clear from this message.
  • No conversion from CAF release 7.0 to 7.1
  • Unclear what data types are supported when using RFC. Issues are with certain decimal and date data types.
  • Using entity services only short text can be used for parameters which need to be searched on. Short text is only 32 long and longer types are necessary. Other fixed length of type string should be possible.
  • CAF is not mature yet, we experienced a maximum of 2 simultaneous connections to the SAP backend. A patch for the SAP NetWeaver Developer Studio resolved this issue. 

And now …
And now we are looking forward to actually use the Composition Environment release 7.1 in a real project environment, especially combined with the BPM possibilities. I already know that this is not some day far far away in the future, but that is something for next time.

You must be Logged on to comment or reply to a post.
  • Hi Twan,

    Great, clear blog on how to create some reallife working composite applications. Keep up the good work!

    Next year I hope to see you on stage at demojam 2009! 😉


    Joris van de Vis

  • Hi Twan,

    Compliments on this blog. I was reading your article in NWM last week in Berlin (between sessions) and was actually eager to meet you and talk a little about this project, because I was quite enthusiastic after reading about the built composites. Unfortunately I also witnessed your agenda on your personal blog and realized that the chances were small….

    Now that I have read this blog, most of my questions are partially answered. However, one question remains: Do you think that customers are ready to adapt NW CE 7.1 and are going to use this new platform to build new composites? I am under the impression that most customers are finally getting used to the “old” platform and are acting kind of reserved when it comes to setting up the new environment.

    Looking forward hearing from you.

    Best regards,

    Jan Laros

    • Hi Jan
      Pitty that we didn’t have a cappuccino in the community clubhouse. I have been there quite frequently to enjoy the best coffee at TechEd 😉

      New things and real life customers – that is quite often very difficult to combine. If you can convince the customer that the new technology is the best to use to realize the requirements AND the technology has proven to be stable (for example in a proof of concept project), I think you have a case to start using it. What also might help is that you ask the SAP contact person for that customer for a second opinion.

      Remember that adapting to CE7.1 is not the end goal for a customer. They want the best solution for their requirements. A solution that must be stable, future proof and offer a great experience to the endusers. With CE you can realize that all, but you can convince the customer only with the end results and your vision on how to get there.

      Good luck

      • Most definitely PoC’s are the way to go and I am already busy with the installation of CE at a customers site to start working with it.

        I hope that many customers will follow this example and start building their own apps with this great platform. Who needs standard SAP anyway…… 😉

        PS. I loved that coffee too!

  • Hi Twan,

    thanks for the comprehensive article!

    I just wanted to say that since 7.1 the meta-model of CAF has completly changed and the issues you describe have fortunately been eliminated.

    I’m sure you’ll have a more pleasant experience with 7.1.

    Best regards


    • Hi Matthias
      Thanks for your reply. I am looking forward to work with CE7.1. Currently we are delivering e-HRM solutions to another customer with PI. Another way of delivering composites to the endusers.

      Kind regards

  • Hi Twan,

    Great thinking of developing such a composite application.

    I would like to know what advantages would an end customer get from using such a composite application over a CRM application which can also provide a similar functionality.

    Thanks !!