[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: ISSUE 66: Introduce a top-level interface element in SCDLs
http://www.osoa.org/jira/browse/ASSEMBLY-66 On May 27, 2008, at 12:01 AM, C Vamsi wrote: > > DESCRIPTION: > I felt that the introduction of a top-level interface element (say > interface.sca) in SCDLs will help in having more clarity with the > interfaces used in conversational services. The idea is to be able to > create an interface definition from existing interface definitions > and add > additional semantics like declaring the interface as conversational, > adding > a callback, declaring methods as endsConversation, oneWay etc. This > should > allow creating an interface in SCDLs as if a java interface and its > methods > are decorated with @Conversational, @Callback, @EndsConversation, > @OneWay > annotations. > > Issue 47 [1] talks about introducing an operation child element in > interface element with name, oneWay and endsConversation > attributes. This > still leaves a chance for inconsistencies. For e.g., in the following > composite, > > <composite ...> > <component name="c0"> > ... > <service name="Service1"> > <interface.java interface="com.example.MyService"> > </service> > </component> > <component name="c1"> > ... > <service name="Service1" requires="conversational"> > <interface.java interface="com.example.MyService"> > <operation name="method1" endsConversation="true"/> > </interface.java> > </service> > </component> > <component name="c2"> > ... > <service name="Service1" requires="conversational"> > <interface.java interface="com.example.MyService"> > <operation name="method2" endsConversation="true"/> > </interface.java> > </service> > </component> > <composite> > > c1/Service1 declares method1 in MyService as endsConversation whereas > c2/Service1 declares method2 in MyService as endsConversation. It > may not > be obvious whether it is an error or it is the way it is intended to > be. > > Assuming that method2 is decorated with endsConversation by mistake, > with a > top-level interface element, the composite would look like the > following: > > <composite ...> > <interface.sca name="MyConversationalService" > interface="com.example.MyService" conversational="true"> > <operation name="method1" endsConversation="true"/> > </interface.sca> > > <component name="c0"> > ... > <service name="Service1"> > <interface.java interface="com.example.MyService"> > </service> > </component> > <component name="c1"> > ... > <service name="Service1" requires="conversational"> > <interface.sca interface="MyConversationalService"/> <!-- > Notice > the use of MyConversationalService --> > </service> > </component> > <component name="c2"> > ... > <service name="Service1" requires="conversational"> > <interface.sca interface="MyConversationalService"/> <!-- > Notice > the use of MyConversationalService --> > </service> > </component> > <composite> > > If indeed method2 is decorated with endsConversation correctly, with a > top-level interface element, the composite would look like the > following: > > <composite ...> > <interface.sca name="MyConversationalService" > interface="com.example.MyService" conversational="true"> > <operation name="method1" endsConversation="true"/> > </interface.sca> > > <interface.sca name="MyOtherConversationalService" > interface="com.example.MyService" conversational="true"> > <operation name="method2" endsConversation="true"/> > </interface.sca> > > <component name="c0"> > ... > <service name="Service1"> > <interface.java interface="com.example.MyService"> > </service> > </component> > <component name="c1"> > ... > <service name="Service1" requires="conversational"> > <interface.sca interface="MyConversationalService"/> <!-- > Notice > the use of MyConversationalService --> > </service> > </component> > <component name="c2"> > ... > <service name="Service1" requires="conversational"> > <interface.sca interface="MyOtherConversationalService"/> <!-- > Notice the use of MyOtherConversationalService --> > </service> > </component> > <composite> > > Wherever the service and reference elements used operation child > elements > in interface.java elements, they can now use interface.sca with > MyConversationalService and MyOtherConversationalService consistently. > > PROPOSAL: > Introduce a top-level interface element, say interface.sca, in SCDLs > that > allows creating new interface definitions from existing interface > definitions and enable adding additional semantics like declaring the > interface as conversational, adding a callback, declaring methods as > endsConversation, oneWay etc. as if a new inferace is being created > in java > and decorated with @Conversational, @Callback, @EndsConversation, > @OneWay > annotations. > > [1] http://www.osoa.org/jira/browse/ASSEMBLY-47 > > > --------------------------------------------------------------------- > To unsubscribe from this mail list, you must leave the OASIS TC that > generates this mail. You may a link to this group and all your TCs > in OASIS > at: > https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php >
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]