[OpenAjaxGadgets] [OpenAjaxIDE] Property onChange notification events

Howard Weingram weingram at tibco.com
Tue Apr 7 19:26:50 PDT 2009


So, language:

The hub sub-object MUST implement the HubClient interface and semantics
defined in the OpenAjax 2.0 specification.

?

Regards,
Howard     

On 4/7/09 8:05 AM, "Jon Ferraiolo" <jferrai at us.ibm.com> wrote:

> 
> Hi Rich,
> How about just saying that the runtime has to support the HubClient
> interface from the OpenAjax Hub 2.0 specification? They don't have to
> support the Hub per se, just implementation of the interfaces.
> 
> Jon
> 
> 
> 
> 
>                  
>              Rich
>              Thompson/Watson/I
>              BM at IBMUS                                                   To
>              Sent by:                  "gadgets at openajax.org"
>              gadgets-bounces at o         <gadgets at openajax.org>,
>              penajax.org               "ide at openajax.org"
>                                        <ide at openajax.org>
>                                                                         cc
>              04/07/2009 04:28
>              AM                                                    Subject
>                                        Re: [OpenAjaxGadgets] [OpenAjaxIDE]
>                                        Property onChange  notification
>                                        events
>                  
>                  
>                  
>                  
>                  
>                  
> 
> 
> 
> 
> 
> Might want to define an interface the runtime has to make available (likely
> exactly matches HubClient) such that widgets can have a well-defined way to
> publish events as well as doing dynamic subscribes.
> 
> Rich Thompson
> IBM T.J. Watson Research Center / Hawthorne, NY
> 
> 
>                  
>  From: Jon Ferraiolo/Menlo Park/IBM
>                  
>                  
>  To:   Rich Thompson/Watson/IBM at IBMUS
>                  
>  Cc:   "gadgets at openajax.org" <gadgets at openajax.org>,
>        gadgets-bounces at openajax.org, "ide at openajax.org" <ide at openajax.org>
>                  
>                  
>  Date: 04/06/2009 01:46 PM
>                  
>                  
>  Subje Re: [OpenAjaxGadgets] [OpenAjaxIDE] Property onChange notification
>  ct:   events    
>                  
> 
> 
> 
> 
> 
> Regarding explicit mention of OpenAjax Hub in the spec, it seems like we
> should be able to find a way to describe the necessary behavior (i..e,
> message transmission and reception) without having to mention a particular
> technology (i.e., the Hub).
> 
> Jon
> 
> 
> 
> 
>                  
>  Rich            
>  Thompson/Watson/IBM at IB
>  MUS             
>  Sent by:                                                               To
>  gadgets-bounces at openaj         "gadgets at openajax.org"
>  ax.org                         <gadgets at openajax.org>, "ide at openajax.org"
>                                 <ide at openajax.org>
>                                                                         cc
>  04/06/2009 06:12 AM
>                                                                    Subject
>                                 Re: [OpenAjaxGadgets] [OpenAjaxIDE]
>                                 Property onChange notification
>                                 events
>                  
>                  
>                  
>                  
>                  
>                  
>                  
> 
> 
> 
> 
> 
> 
> I agree that a widget only has its subscribe handler invoked if someone
> outside the widget causes the property value to be updated (actual value
> change). Likewise, an event is only published if the widget causes the
> property value to change. It also is reasonable to have an overall
> namespace for topics with the default being the widget's namespace.
> 
> Reading through the quoted portions of the spec was tough with my spec
> writer hat on. The reason is that I firmly believe specs should be loosely
> coupled unless the specified functionality can not be achieved with a loose
> coupling (rare). This section explicitly requires use of the Hub spec
> without any real need for that requirement (i.e. any event distribution
> mechanism would be fine, the Hub is an example). Is there a reason for such
> tight coupling other than both are being defined under the OAA umbrella??
> 
> Rich
>                  
>  From:  Howard Weingram <weingram at tibco.com>
>                  
>  To:    "gadgets at openajax.org" <gadgets at openajax.org>, "ide at openajax.org"
>         <ide at openajax.org>
>                  
>  Date:  04/06/2009 06:55 AM
>                  
>  Subjec [OpenAjaxIDE] Property onChange notification events
>  t:              
>                  
> 
> 
> 
> 
> 
> 
> 
> I have some questions, comments and proposals.
> 
> The IDE spec currently says the following:
> 
> ==========
> The publish attribute. Boolean. Default value is 'false'. If true,
> indicates
> that the user agent should publish an event on the OpenAjax Hub whenever
> the
> value of the property changes. Attribute 'topic' indicates the name of the
> topic that is used when that event is published. 2009-02-23 Jon: I updated
> the description [MASHUP]
> The subscribe attribute. Boolean. Default value is 'false'. If true,
> indicates that the user agent should subscribe to property change events on
> the OpenAjax Hub for the topic indicated by the 'topic' attribute, and
> update this property to the new value that is received. 2009-02-23 Jon: I
> updated the description [MASHUP]
> The topic attribute. String. Defaults to NULL. Identifies the topic name
> that is published to (if 'publish' is true) and/or subscribed to (if
> 'subscribe' is true) on the OpenAjax Hub. If the attribute is not
> specified,
> or is NULL or the empty string, and if 'publish' is true or 'subscribe' is
> true, then the value of the 'name' attribute is used as the topic name.
> (Note that providing a value to 'topic' has no effect if 'publish' is false
> and 'subscribe' is false.) [MASHUP]
> ==========
> 
> Problems:
> 
> 1. This appears to state that the property name must be used as
>   the default topic.
> 
>   Topics SHOULD be namespaced. Namespacing ensures that different
>   organizations can specify their own sets of topics without
>   causing endless collisions.
> 
>   Using a single-token topic like "accountNo," as the spec
>   appears to require, is GUARANTEED to result in topic name
>   collisions between different families of widgets, balkanizing
>   the application space, causing a lot of trouble when widgets
>   receive incompatible data on overly generic topics, and greatly
>   reducing the usefulness of the standard.
> 
>   PROPOSAL:
> 
>   (If property names are used to implicitly define topics),
>   widget.xml MUST specify a topic prefix that namespaces
>   these implicitly defined topics.
> 
> 2. Does a change notification get sent each time setPropertyValue
>   is called, even if this does not change the property value?
>   (i.e. can SetPropertyValue be used to affirm an existing value?)
>   Or does a change notification only get sent if the value has
>   actually changed?
> 
>   To determine whether the new value is different from the old
>   value, setPropertyValue would need to traverse the value, which
>   might be a complex object, and directly compare old and new
>   values.
> 
>   PROPOSAL: setPropertyValue ALWAYS forces a change notification
>   to be published, even if the data did not actually change.
> 
> 3. If subscribe and publish are both true, we need to specify the
>   behavior.
> 
>   a. Does the widget see its own updates?
> 
>       PROPOSAL: NO.
> 
>   b. If the answer to (a) is "yes", then does the widget
>       distinguish its own updates from others' in some way?
>       If not, then because of #2, there will be infinite loops.
> 
> 4. If an update event arrives and updates the property value, this
>   change MUST NOT cause another update notification to be
>   published. Update notifications are published only when the
>   setPropertyValue function is called explicitly.
> 
> The expected behavior of properties & their update events needs to be
> clearly defined in the specification to avoid different vendors from
> implementing mutually incompatible behavior.
> 
> Your thoughts welcome.
> 
> Regards,
> Howard
> 
> 
> --
> Howard Weingram      650.846.1000
> Principal Architect  TIBCO Software Inc.
> 
> TIBCO PageBus(TM) delivers ultra-lightweight
> publish-subscribe messaging for mash-ups.
> Learn more at http://www.pagebus.org.
> 
> _______________________________________________
> IDE mailing list
> IDE at openajax.org
> http://openajax.org/mailman/listinfo/ide
> 
> _______________________________________________
> gadgets mailing list
> gadgets at openajax.org
> http://openajax.org/mailman/listinfo/gadgets
> 
> _______________________________________________
> gadgets mailing list
> gadgets at openajax.org
> http://openajax.org/mailman/listinfo/gadgets
> _______________________________________________
> gadgets mailing list
> gadgets at openajax.org
> http://openajax.org/mailman/listinfo/gadgets



--
Howard Weingram      650.846.1000
Principal Architect  TIBCO Software Inc.

TIBCO PageBus(TM) delivers ultra-lightweight
publish-subscribe messaging for mash-ups.
Learn more at http://www.pagebus.org



More information about the gadgets mailing list