You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by Saminda Abeyruwan <sa...@gmail.com> on 2006/02/09 15:31:38 UTC

Chat-Log 9th-Feb-2006

* Now talking on #apache-synapse
* #apache-synapse :[freenode-info] if you need to send private messages,
please register: http://freenode.net/faq.shtml#privmsg
* paulfremantle (n=paulfrem@user-168-236-151-83.e7even.com) has joined
#apache-synapse
saminda hello
paulfremantle hi
saminda "The ability to talk to some kind of simple registry (even just a
HTTP GET returning some data)" pls
paulfremantle hi
paulfremantle i sent a note about this
saminda thank you
paulfremantle in response to Soumadeep
paulfremantle let me paste it here
paulfremantle for discussion
saminda Infravio guys are not in the channel yet
paulfremantle How about this???
paulfremantle
paulfremantle The synapse environment offers a simple interface to external
resources - for example:
paulfremantle   OMElement get(String URI)
paulfremantle
paulfremantle When a mediator uses this get, then we can record the URI. We
can then build some different ways of finding out if the resource has
changed, for example, we could have an event (Synapse offers a service,
resource pings Synapse to indicate update), RSS feed (Synapse subscribes),
or poll (Synapse checks if resource has changed every x minutes). Synapse
can keep a table of mediators to resources. If the resource changes, then
paulfremantle
paulfremantle That way, we can have a very dynamic configuration. In fact we
can use the same model to get the initial synapse.xml.
saminda agreed
paulfremantle so SynapseEnv implements some lookup system (i.e. HTTP GET)
saminda we can easily use HttpClient functionality for this
saminda lightweight
paulfremantle yep
paulfremantle but it should be pluggable
saminda via synapse.xml ?
paulfremantle not sure
paulfremantle or maybe just programmatically
saminda ok
paulfremantle im happy to start with a simple HttpClient
paulfremantle and then make it pluggable later
saminda +1
saminda then mediators can use this functionality to lookup resources as
well
paulfremantle absolutely
paulfremantle so mediators can go through the env.... and that way we know
which mediators need updating
paulfremantle maybe a mediator needs a refresh() method?
dims hi guys
* dims goes back to stealth mode
paulfremantle hi dims
saminda yes absolutely
saminda hi dims
saminda so we can spawn a thread and allow it to refresh mediators, but
saminda do we need all the mediators to be refreshed
paulfremantle not sure
saminda do mediators have to implement another interface to do the
"refreshing"
saminda " stats " - which level of states are we looking
saminda ex: mediator level or Synapse Environment level
* Rajesh (n=rajesh@220.225.137.194) has joined #apache-synapse
* pvikas (n=p_vikas@220.225.137.194) has joined #apache-synapse
* Soumadeep (n=soumadee@220.225.137.194) has joined #apache-synapse
Soumadeep hi all
paulfremantle hi
Soumadeep paul, the property util that I was talking about in there in
scratch
Soumadeep [Paul]did you get a chance to see it
paulfremantle not yet
paulfremantle let me take a look right now
Soumadeep ok it's in the infravio folder
Soumadeep You OMElement.get(URI) is cool... this will solve a lot of our
problems...
paulfremantle yeah we were just talking baout it
paulfremantle how to refresh the mediators
Soumadeep We can the have a resource folder somewhere
Soumadeep ok
paulfremantle one way would be to rebuild the whoe tree
paulfremantle if the synapse.xml changes we should do that
paulfremantle but if the mediator has used the get itself
saminda so synapse.xml is a resource folder ?
paulfremantle then maybe we could have a refresh() method on the mediator
Rajesh We can then build some different ways of finding out if the resource
has changed, for example, we could have an event (Synapse offers a service,
resource pings Synapse to indicate update)
Soumadeep Do we have some kind of a directory listner?
Rajesh Paul if some external entity wants to ping Synapse (maybe a UDDI
subscription listener on the Synapse end, then it would be easier to
indicate about changes to mediator data)
paulfremantle so i guess we need a way of plugging in resources to the
environment
paulfremantle so maybe we offer an API
Rajesh yes - it's very dependent on the mechanism in question (i.e it could
be a remote call or it can originate from the same sytem)
paulfremantle exactly
Rajesh and the data could be on the file system, database or a UDDI registry
paulfremantle so we offer an API for something to handle a set of URI
prefixes
Rajesh i.e each plugin provides a mechanism to address change notification
and submission of data & the mediator is capable of getting the data via
this plugin and re-configure itself
* pvikas has quit ("ChatZilla 0.9.61 [Mozilla rv:1.7.2/20040803]")
paulfremantle yes exactly
paulfremantle the mediator goes to the environment
Rajesh Is it possible to make this mandatory for all mediators in question?
Rajesh Since mediators are all pre-built, will they be flexible to change
their interfaces to accomodate this information
Soumadeep Can a Web service be exposed for the this purpose... I mean
pushing data into synapse...
paulfremantle the environment has a table of URI prefix to plugin
paulfremantle the environment asks the right plugin for the resource
paulfremantle and hands it to the mediator
Rajesh Soumadeep - webservice should be just a mechanism to do it
paulfremantle and yes all mediators MUST use this (our recommendation)
Soumadeep yeah...true
Rajesh ok
paulfremantle each plugin has a way of calling in to environment to say some
URI has changed
Rajesh There should be a generic framework which is capable of asking all
mediators to sync & re-fetch this information via the plugin in question
paulfremantle well the environment keeps track of which mediator has used
which resource
paulfremantle so when a resource is changed
paulfremantle it can call mediator.refresh()
paulfremantle which causes the mediator to relaod
paulfremantle i can take a crack at writing the APIs
paulfremantle and enhancing the env
Soumadeep Paul, would there be any issues with transactions... meaning once
a request has come through the synapse.xml should not change...
paulfremantle then if Infravio could try writing a plugin
paulfremantle say for UDDI
paulfremantle yes we need to do the refresh in a sync block
paulfremantle so that no messages are processed till its finished
Rajesh How does the environment know that a mediator's resource has been
modified? If you take the UDDI example, my understanding is that the plugin
has enough intelligence to know that the resource has been modified
Rajesh correct?
paulfremantle yes.... and the plugin calls environment.resourceUpdated(URI)
Rajesh ok
Soumadeep Well ... before I forget... the base64 util needs to be added in
axis2 for consumer Indentification mediator to work
paulfremantle so everything is mediated throught the SynapseEnv
paulfremantle what base64 util?
Rajesh ok
paulfremantle i think Axis2 has a base64 codec already
paulfremantle maybe part of commons-codec?
Soumadeep for encoding / decoding http header user/pass
Soumadeep we need it for decoding...
paulfremantle must be part of the commons http or commons codec
Rajesh AXIS 1 had a mechanism by which HTTP Basic headers were automatically
constructed back as username / password variables and put on the message
context
paulfremantle ok
Soumadeep didn't find it so used one of the axis1 jars
Rajesh not sure if this is there w/ AXIS 2?
paulfremantle dims
paulfremantle you still there?
Rajesh some predefined variables - which plugged in at a global level
paulfremantle Dims will know the answer
Soumadeep Yeah, dims helped me with putting the remote addr in the message
context...
Soumadeep maybe I will file a Jira for this
paulfremantle i think the code must be there
Soumadeep yup... in axis1
paulfremantle because it supports encoding the u/p
Soumadeep that's httpAuthHandler I guess...
paulfremantle i mean the code must be in axis2
Soumadeep didn't find it...I will check it though...
paulfremantle
http://jakarta.apache.org/commons/codec/apidocs/org/apache/commons/codec/binary/Base64.html
paulfremantle maybe?
Soumadeep ok... will use that check
Soumadeep and check I mean :-)
Soumadeep Paul, when do you think we should be hitting M2 release
paulfremantle good question
paulfremantle 3 months between releases?
paulfremantle so end april?
saminda my understanding is base64 is in the core jar
Rajesh we need to come up with feature list / enhancements which we need to
address for M2 and put it in the wiki page
saminda because axis2's MTOM stuff heavily depend on that
saminda it's there org.apache.axis2.util.Base64
saminda i believe Pual has already opened a wiki
saminda he asked to updated it if we feel any feature would come upder M2
Soumadeep was it recently added? I don't see it in my axis2 code base?
Soumadeep [Saminda] yeah... the wiki is there... but only selected few can
change it.. :-)
saminda Base64 class ?
Soumadeep yes
saminda i think it's accessble to anyone
saminda org.apache.axis2.util.Base64, in commons module
Soumadeep let me see
Soumadeep yeah... not in core ;-)
Soumadeep thanks man
saminda but axis2-0.94.jar has it
Soumadeep Anyway.. I guess rather than decoding at the mediator level... we
should get it from the MessageContext
Soumadeep as getUsername/getPassword
Soumadeep Would be useful... what say?
saminda the mail you put SLA mediator for synapse, we cant see the
attachment with it :)
Soumadeep open it with winrar
Soumadeep I sent an email .... saying that ;-)
paulfremantle lol saminda is a linux guy :p
Soumadeep :-))
saminda we have the luxary of Open source stuff :-)
Soumadeep ok... henceforth I will start taring ;-)
saminda about hte
Soumadeep Paul did you get a change to look at the SLA code...
saminda SynaEnv.get(URL); shall we start it will making
synapse.xmlavailable in a resource
paulfremantle sorry got distracted by the cool resource
paulfremantle yes
Rajesh use Winzip :) works for everybody
Soumadeep Need to remove the creating of a Stack instance every time the
mediator is hit.
saminda Oh please Log JiRA for every feature you think is necessary, this
way we can track the necessaries
Soumadeep will do...
saminda Zip is universal :-)
Soumadeep Paul, by the way... now I can't even attach stuff in the email...
it bounces back saying its spam ;-)
paulfremantle no idea
saminda humm..i think you can attach binary stuff when you mailing to apache
paulfremantle sorry
saminda can not
* Hariharasudhan (n=hari@220.225.137.194) has joined #apache-synapse
saminda you can  not attach binary stuff when you mailing to apache,
security
Soumadeep Somehow the SLA code sneaked through...
saminda what about the WSSec and WSRM mediators
Soumadeep lucky me...
paulfremantle yeah .... that needs
paulfremantle i think the sec should be straightforward
paulfremantle just like engage-addressing
* dims waves
Soumadeep not really... we have to handle WSSec,Http token,cert etc
saminda i have a sample code which is not commited in M1, may be can work on
it go production with M2
saminda isn't security modules that ships with axis2 do this
* dims waves again
Soumadeep I am working on this security mediator which takes care all of
it... we need to identify the client too
saminda if axis2 client engaged addressing, why the synapse need to identify
the client
Rajesh I think some notes on what the feature is trying to accomplish will
be helpful for everybody
saminda sorry security
saminda if axis2 client engaged security, why the synapse need to identify
the client
dims saminda: intranet vs extranet
Soumadeep Ok... I will send my note... then we can discuss about it
dims different policies
paulfremantle soumadeep/rajesh.... you guys should look at the axis2
security module
Rajesh to identify the user represented in the WS-Sec Binary Token OR
Username Token
Soumadeep exactly
Rajesh ok
saminda yep
Rajesh no we don't intend to modify any code which comes with the security
module
Rajesh Consumer Identification uses information from them to uniquely
identify the client
dims FYI, we have org.apache.axis2.util.Base64 in modules/common
Rajesh we also built some extensions to the security module (for handling
CRL, chain of certificates)
Soumadeep yup.. Saminda... mentioned that  thanks
Rajesh not sure if they are supported natively by the module now
dims Rajesh: some of it can go to wss4j if needed.
Soumadeep And also handling CRLs ;-)
Rajesh yes - that should be the place for CRL handling
dims +1
Rajesh and expired certificates also
dims ++1
Hariharasudhan +1
Rajesh Since we modified the same peice of code which used to handle
decryption / signature verification
dims plz log a bug in wss4j and ruchith or me can take care of it.
Rajesh ok
saminda hey send the patches to Axis2 :-)
Soumadeep So we need some admin stuff to handle the CRL ...
dims BTW, you guys have karma for wss4j too
dims so say hi on the mailing list and get cranking :)
Soumadeep not exactly.... but Vikas and Hari...;-)
Soumadeep So they are the chosen one...
dims hehe, existing ws committers.
Soumadeep well....
paulfremantle not long soumadeep :)
Soumadeep may the karma be with everyone...
dims hang in there :)
paulfremantle you'll soon be karmad up
Soumadeep ok... fair enough
paulfremantle i gtg.... i know we havent gone through the properties yet
paulfremantle i'll send an email
paulfremantle sorry soumadeep!!!
paulfremantle but we made lots of progress i thougth
Soumadeep I will be waiting for your feedback...
Soumadeep though of using the SYnapseObject think... in oe of the
mediators...
paulfremantle saminda
paulfremantle can you send the log?
saminda can do
Soumadeep bye guys...
saminda Bye Soumdadeep
dims bye all
Rajesh bye
* Soumadeep (n=soumadee@220.225.137.194) has left #apache-synapse
saminda paul shall we start implementing <drop/> and <sendNow/> mediators
too
* Rajesh has quit ()
* Hariharasudhan (n=hari@220.225.137.194) has left #apache-synapse
paulfremantle yes please saminda
saminda cool
saminda bye Paul,