Even if u have the source code, Function Servers is a good solution esp for complex sessions like Sales Orders etc.
Here are the advantages:
1. Developer(s) need not spend time studying the logic of the Maintain session.
2. Even if the code changes for the Maintain Session (customizations etc), the session using the Function Server is not
affected. This is a blessing ... esp at a client where they keep adding in customizations.
3. Sessions performing complex tasks can be developed in a jiffy.
1. Slow ... Hence I prefer to use it for process sessions where the
user is not waiting for the session to complete.
2. Users get a hang of it and come up with weird requirements
Hope this helps.