[jira] Commented: (TUSCANY-1377) Conversational PM- HTTP Session persistence
[ https://issues.apache.org/jira/browse/TUSCANY-1377?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12514622 ] Simon Laws commented on TUSCANY-1377: - Some work has been going on in the area over the last few days. Many of the conversational features that the spec defines have been brought back to life Features @Conversational - service & callback interfaces @Scope(CONVERSATION) @Scope(STATELESS) @Init @Destroy @ConversationAttributes(maxAge="2 days", maxIdleTime="5 minutes" ) @ConversationId @EndsConversation - service and callback interfaces ServiceReference getConversationID() setConversationID(Object) CallableReference (can be persisted,can be passed) isConversational() getConversation() Conversation getConversationID() end() ConversationEndedException Restrictions A number of restrictions are recoded against these features... Stateful callbacks. The target of a callback (the source of the original message) has to be stored against a conversationId so that the callback can find it and invoke the callback operation on it. Currently, at the source component, the incoming conversationid is reused for outgoing messages to allow this to happen (the component instance will automatically have been registered against this id when it was created). A better solution would be to allow the reference logic to always create a new conversation id (or accept a user defined conversation id) but, for stateful callbacks this implies that the source component instance has to be registered against multiple conversation ids in the conversational scope container. As pumbing this in is a little tricky we need discuss round alternative solutions. No passing of services references, referring to conversational services, is currently supported. This is primarily because the service reference is not currently serializeable but the spec could also benefit from some clarrification in this area. For example, If a callable reference is passed off to another service how does that callable reference know what the state of the conversation is? @Scope(COMPOSITE) excluded due to ML conversation (http://www.mail-archive.com/tuscany-dev%40ws.apache.org/msg20573.html) @ConversationAttributes(singlePrincipal=false). Awaiting plicy/security work Conversation.end() will not free any resources held at the target. A protocol is required between source and target to carry this end() instruction. As it stands the target conversation will eventually time out. Subsequent requests to the target will create a new conversation. @EndsConversation on the target component where a stateful callback is defined will end the callback conversation at the target only, I.e. the component instance representing the conversation at the source end will remain in place. It remains until the callback calls an @EndConversation annotated message. This is tricky because the source component instance may have been created as part of another conversation which hasn't ended yet. Not clear whether the intention of the spec is to get both to happen at once. The WS binding is being targetted as the first remote binding with conversation support but this is not complete yet. Awaiting work on callbacks. > Conversational PM- HTTP Session persistence > --- > > Key: TUSCANY-1377 > URL: https://issues.apache.org/jira/browse/TUSCANY-1377 > Project: Tuscany > Issue Type: Improvement > Components: Java SCA Core Runtime >Affects Versions: Java-SCA-Next >Reporter: ant elder > Fix For: Java-SCA-Next > > > Implement conversational PM- HTTP Session persistence -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jira] Commented: (TUSCANY-1377) Conversational PM- HTTP Session persistence
[ https://issues.apache.org/jira/browse/TUSCANY-1377?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12508925 ] Jean-Sebastien Delfino commented on TUSCANY-1377: - Additional comments from Lou Amodeo on the tuscany-dev. I was hoping from the title of this JIRA that the proposal was to persist the implementation instances in the Http Session object not just the conversationId. The ConversationScopeContainer would know how to store/retrieve from an HttpSession object associated with the conversationId. This would allow for exploiting existing infrastructure for failover and session affinity. > Conversational PM- HTTP Session persistence > --- > > Key: TUSCANY-1377 > URL: https://issues.apache.org/jira/browse/TUSCANY-1377 > Project: Tuscany > Issue Type: Improvement > Components: Java SCA Core Runtime >Affects Versions: Java-SCA-Next >Reporter: ant elder > Fix For: Java-SCA-Next > > > Implement conversational PM- HTTP Session persistence -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jira] Commented: (TUSCANY-1377) Conversational PM- HTTP Session persistence
I was hoping from the title of this JIRA that the proposal was to persist the implementation instances in the Http Session object not just the conversationId. The ConversationScopeContainer would know how to store/retrieve from an HttpSession object associated with the conversationId. This would allow for exploiting existing infrastructure for failover and session affinity. On 6/27/07, Mike Edwards (JIRA) wrote: [ https://issues.apache.org/jira/browse/TUSCANY-1377?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12508486] Mike Edwards commented on TUSCANY-1377: --- There is a mixture of 2 things here, as described in Sebastien's last comment: 1) Handling of Scope for components (he mentions implementation.java, which is fine) 2) Dealing with conversational sessions on the HTTP binding These two are NOT directly related. You can do one without the other. I'd suggest sorting out the HTTP binding first - only once there is a conversation going on between 2 components over the wire does it become useful to implement the Scope attribute on a component. > Conversational PM- HTTP Session persistence > --- > > Key: TUSCANY-1377 > URL: https://issues.apache.org/jira/browse/TUSCANY-1377 > Project: Tuscany > Issue Type: Improvement > Components: Java SCA Core Runtime >Affects Versions: Java-SCA-Next >Reporter: ant elder > Fix For: Java-SCA-Next > > > Implement conversational PM- HTTP Session persistence -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jira] Commented: (TUSCANY-1377) Conversational PM- HTTP Session persistence
[ https://issues.apache.org/jira/browse/TUSCANY-1377?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12508486 ] Mike Edwards commented on TUSCANY-1377: --- There is a mixture of 2 things here, as described in Sebastien's last comment: 1) Handling of Scope for components (he mentions implementation.java, which is fine) 2) Dealing with conversational sessions on the HTTP binding These two are NOT directly related. You can do one without the other. I'd suggest sorting out the HTTP binding first - only once there is a conversation going on between 2 components over the wire does it become useful to implement the Scope attribute on a component. > Conversational PM- HTTP Session persistence > --- > > Key: TUSCANY-1377 > URL: https://issues.apache.org/jira/browse/TUSCANY-1377 > Project: Tuscany > Issue Type: Improvement > Components: Java SCA Core Runtime >Affects Versions: Java-SCA-Next >Reporter: ant elder > Fix For: Java-SCA-Next > > > Implement conversational PM- HTTP Session persistence -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jira] Commented: (TUSCANY-1377) Conversational PM- HTTP Session persistence
[ https://issues.apache.org/jira/browse/TUSCANY-1377?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12507963 ] Jean-Sebastien Delfino commented on TUSCANY-1377: - Here's how I see this working: - Support the conversational annotations in implementation-java, when a business method is invoked on a conversational interface, generate a new conversation unique id, when a method with @EndConversation is invoked reset the conversation id - Carry the conversation id through service invocations in the conversationID field of the SCA Message - Support @Scope("CONVERSATION") in implementation-java, associate a Java component implementation instance with a conversationID and dispatch calls to the instance associated with an incoming conversation id. - Add support for conversation ids to the WS binding, store the conversation ID found in the SCA message in the HTTP session used to communicate with a Web Service or Web Service client. - Other bindings may propapate conversation IDs in a different and binding specific way, but that's out of the scope of this particular JIRA. > Conversational PM- HTTP Session persistence > --- > > Key: TUSCANY-1377 > URL: https://issues.apache.org/jira/browse/TUSCANY-1377 > Project: Tuscany > Issue Type: Improvement > Components: Java SCA Core Runtime >Affects Versions: Java-SCA-Next >Reporter: ant elder > Fix For: Java-SCA-Next > > > Implement conversational PM- HTTP Session persistence -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]