Could anyone give me a hint how to exchange data between JSF applications other than passing them in url? I mean JSF apps in different contexts. I need to pass info that user is logged in the system, also his id. That are quite "secret" data so I don't want to be visible when passing.
Thanks in advance,
How about use the HTTP Post via a SSL/HTTPS?
I am not sure why people talk about passing data using URL's, its not really the JSF "way". It is a bit difficult for me to determine exactly the behavior you are looking because I am not sure if you are looking to immediately trigger an event in the destination appliccation. This would required some sort of AJAX push.
The real problem is how the source application knows the target application in the first place and since that is not your question I assume you have solved that.
The source JSF application basically needs to put data that is visible to the destination application. The cheap way out of course is to put the data into Application scope but that is the Wal-Mart version. If you are using a database then there is always a way to do this using a database store. If you have messaging then using a message queue (top of the line is BPM, Workflow, or some Enterprise message bus implementation). There are lots of in between solutions that might utilize EJB's and persistence frameworks or sesson beans and the like.
So to get a get technical design you first have to say what technologies you want to use, how complicated is the app, what is your target environment look like, etc.