Hi Andres. Thanks for you reply.
1 - I have two interfaces.
1.1 A System sends JMS messages to a queue that my application listens to. I have a component with a Message Driven Bean stereotype, linked to a component with a JMS Queue stereotype, the link has a <listen> stereotype. Then I have a component representing the external system with a <external> stereotype linked to my queue, the link has a <send> stereotype. All links are representing the correct directions. Then, I don't see any reason to have a interface here.
1.2 My system has to call a webservice. In my UML diagram I created a package with an interface and a class. I created a note informing that this package represents a client generated by the wsimport tool and the class inside it represents the element root of a JAXB structure generated, the interface represents the WSClient interface that will be generated as well. That was the best form that came in my mind to represent the webservice client inside the flow, filling the JAXB representative class and sending to WSClient representative interface. In this case I created a component representing the generated client and I used the lollipop to represent the interface that it provides and I have connected my
ejb to it.
2 - Ok, I'll keep it. A component with a external system stereotype.
3 - Ok, same as 2 with JMS Queue stereotype indicating direction.
4 - Really difficult. The managed beans will show data related to the logged user, then it's essential connect to user session to know who is the user, but all my managed beans have the same need. If it was only one, or two, there wasn't any doubt. But the fact of being injected in all managed beans makes it sound some kind of a trivial component.
Thanks again =]