Hi All,
I am looking at the integration points for my server now
(specifically into the product that my employer develops). It is a workflow
solution (www.k2.net), and I am trying to
figure out the best way to notify users that they have work in such as way
that:
1.
IM clients apart from our own still tell the user that
they have work. A Sharepoint web address or such would be given in the body of
the message.
2.
Our IM client detects that an agent (mobile agent <http://en.wikipedia.org/wiki/Mobile_agent>)
is present in the stanza and fires it up instead of giving the user the
message.
My thoughts are to simply do the following:
<message from="worklist.k2workflow.com"
to="fred <at> k2workflow.com" type="message">
<body>You have work. Visit http://www.denallix.com/workitem.aspx?uid=12345abc</body>
<agent xmlns="urn:com:k2:agent"><!--
Agent description XML here --></agent>
</message>
I need to know if any clients would possibly have problems
with a stanza in that form, or maybe if someone has a better idea :). Thanks in
advance.
AND… I also gave some more thought to SOAP and a nice
clean <pun> way to implement discovery within a jabber context alone. I
thought of using UDDI over XMPP (as it is itself a SOAP standard), this is
merely a suggestion, but how about the following:
<iq type='result'
from='shakespeare.lit'
to='romeo <at> montague.net/orchard'
id='info1'>
<query xmlns='http://jabber.org/protocol/disco#items'>
<item jid='uddi.shakespeare.lit'
node='uddi'
name='SOAP discovery service'/>
<item jid='foo <at> uddi.shakespeare.lit'
node='urn:myservices:foo'
name='Some service'/>
</query>
</iq>
My syntax may all be wrong, but I am sure you get the idea.
The client could the start doing UDDI calls against the uddi.shakespeare.lit
node. Also (as demonstrated) the server can broadcast any SOAP services it
supports upfront.
-- Jonathan