OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

sca-c-cpp message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: C++ and C Impacts of Event Support - initial view


Now that 1.1 is nearing completion, we need to start understanding what is happening in the Assembly TC towards V1.2.

Background
One of the major additions to SCA in V1.2 will be support for events and a pub-sub model of messaging.  This work started in the OSOA collaboration (much like the V1.0 work) and has been submitted to the Assembly TC.  Since the submission to the Assembly, TC, there have been discussions about aspects of the OSOA submission, and an alternative proposal has been made.  Discussions on the differences between the two proposal continue.  Additionally, an initial proposal on the impacts to the Java specs has been submitted.

Initial draft proposal (based on discussions in OSOA): https://www.oasis-open.org/committees/download.php/36508/sca-assembly-1.2-spec-wd01.doc
Counter draft proposal: https://www.oasis-open.org/committees/download.php/37272/sca-assembly-1.2-spec-wd01-issue-227.doc

Initial proposal for Java extensions: https://www.oasis-open.org/committees/download.php/33985/Java%20Extensions%20for%20Eventing.doc

Based on the OSOA-based proposal and the Java proposal, the C++ and C specs will need to add material to deal with the client and implementation model impacts for EventTypes, Consumers and Producers.  Brief overviews of these concepts and my preliminary thoughts on the additions needed are:

EventType
A format of a type of event.  Much like with WSDL message formats, a form is needed for manipulation by implementation code.
Defined by:
C++ C
Primitive type
DataObject (potentially static)
Primitive type
struct
DataObject (potentially static)
Annotation needed Annotation needed


Consumer
Implementation code to process events.
Defined by:
C++ C
Member function of implementation class
  • Single in-parameter (type is EventType or superclass of EventTypes)
    • DataObjectPtr is superclass for any type of event
  • void return type
Function of implementation
  • Single in-parameter (type is EventType or type compatible with EventTypes)
  • void return type
Program-based
  • SCAService returns “Event”
  • SCAOperation returns consumer name
  • Input message is event
Implementation function attribute to designate Implementation function attribute to designate
Annotation needed Annotation needed

Producer
Implementation code that can trigger the generation of events.  Represents and event stream
Defined by:
C++ C
  • ComponentContext::getProducer(std::string) returns a ProducerProxy
  • ProducerProxy for a specific Producer has a member function for each EventType that can be produced
    • Form produce<EventType>(const EventType&)
      • Can use superclasses
  • SCAGetProducer(wchar_t *) returns a SCAREF
  • SCAProduceEvent(SCAREF, wchar_t *, len, void *)
  • Optional proxy function support SCA_produce<EventType>(SCAREF,  EventType)
Annotation needed Annotation needed


STSM, WebSphere Enterprise Platform Software Solution Architect
WW Center of Excellence for Enterprise Systems & Banking Center of Excellence Application Integration Architect

Research Triangle Park,  NC
+1 919-254-7508 (T/L 444-7508)
Internet Address: aupperle@us.ibm.com


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]