ping [email protected] ? On 20 Feb 2014, at 18:01, Luca Milanesio <[email protected]> wrote:
> What is the performance and scalability of [1] vs [2] ? > > CPU, Heap, PermGen, GC, horizontal scalability, vertical scalability, latency > added, throughput ? > > TIA > > Luca > > On 20 Feb 2014, at 17:54, Krishantha Dinesh <[email protected]> wrote: > >> currently i am involving some significant development with WSO2 ESB. for >> that i need to to some comparison and URL construction. (basically string >> operations) those task can do using filter mediator as well as script >> mediator. but when use filter mediator code become so bulky and ugly :( when >> use script mediator its easy to read , maintainable and nice... >> since those are non functional iam concern about performance. >> >> for example (given two example are NOT same or relevant) >> >> [1] >> <script language="js"> >> <![CDATA[ >> var apiUrl = mc.getProperty('uri.var.apiUrl')+'/v1/people/'; >> var id = mc.getProperty('uri.var.id'); >> var publicProfileUrl = >> mc.getProperty('uri.var.publicProfileUrl'); >> var searchCriteria = mc.getProperty('uri.var.searchCriteria'); >> var query =''; >> var start = mc.getProperty('uri.var.start'); >> var count = mc.getProperty('uri.var.count'); >> var modified = mc.getProperty('uri.var.modified'); >> var modifiedSince = mc.getProperty('uri.var.modifiedSince'); >> >> if(id!="") >> { >> query =''; >> query=apiUrl+'id=' + mc.getProperty('uri.var.id') + >> '/connections'; >> } >> >> else if(publicProfileUrl!="") >> { >> query =''; >> query=apiUrl+'url=' + >> mc.getProperty('uri.var.publicProfileUrl') + '/connections'; >> } >> >> else >> { >> query =''; >> query=apiUrl+'~/connections'; >> } >> >> if(searchCriteria!="") >> { >> query=query + ':' + '(' + >> mc.getProperty('uri.var.searchCriteria') + ')'; >> } >> >> query = query + '?oauth2_access_token=' + >> mc.getProperty('uri.var.accessToken'); >> >> if(start!="") >> { >> query=query + '&start=' + mc.getProperty('uri.var.start'); >> } >> >> if(count!="") >> { >> query=query + '&count=' + mc.getProperty('uri.var.count'); >> } >> >> if(modified!="") >> { >> query=query + '&modified=' + >> mc.getProperty('uri.var.modified'); >> } >> >> if(modifiedSince!="") >> { >> query=query + '&modified-since=' + >> mc.getProperty('uri.var.modifiedSince'); >> } >> >> query = query + '&format=json'; >> mc.setProperty('uri.var.query', query); >> >> ]]></script> >> >> >> [2] filter >> >> >> <filter >> xpath="not(get-property('uri.var.companyId') = '') or >> not(get-property('uri.var.universalName') = '') or >> not(get-property('uri.var.emailDomains') = '') or >> not(get-property('uri.var.companyAdmin') = '')"> >> <then> >> <filter >> xpath="not(get-property('uri.var.companyId') = '') and >> not(get-property('uri.var.universalName') = '')"> >> <then> >> <call> >> <endpoint> >> <http method="get" >> >> uri-template="{uri.var.apiUrl}/v1/companies::({uri.var.companyId},universal-name={uri.var.universalName})?oauth2_access_token={uri.var.accessToken}&format=json" >> /> >> </endpoint> >> </call> >> </then> >> <else> >> <filter xpath="not(get-property('uri.var.companyId') >> = '')"> >> <then> >> <call> >> <endpoint> >> <http method="get" >> >> uri-template="{uri.var.apiUrl}/v1/companies/{uri.var.companyId}?oauth2_access_token={uri.var.accessToken}&format=json" >> /> >> </endpoint> >> </call> >> </then> >> <else> >> <filter >> xpath="not(get-property('uri.var.universalName') = '')"> >> <then> >> <call> >> <endpoint> >> <http method="get" >> >> uri-template="{uri.var.apiUrl}/v1/companies/universal-name={uri.var.universalName}?oauth2_access_token={uri.var.accessToken}&format=json" >> /> >> </endpoint> >> </call> >> </then> >> <else> >> <filter >> xpath="not(get-property('uri.var.emailDomains') = '')"> >> <then> >> <call> >> <endpoint> >> <http method="get" >> >> uri-template="{uri.var.apiUrl}/v1/companies?email-domain={uri.var.emailDomains}&oauth2_access_token={uri.var.accessToken}&format=json" >> /> >> </endpoint> >> </call> >> </then> >> <else> >> <filter >> xpath="not(get-property('uri.var.companyAdmin') = '')"> >> <then> >> <call> >> <endpoint> >> <http >> method="get" >> >> uri-template="{uri.var.apiUrl}/v1/companies?is-company-admin={uri.var.companyAdmin}&oauth2_access_token={uri.var.accessToken}&format=json" >> /> >> </endpoint> >> </call> >> </then> >> </filter> >> </else> >> </filter> >> </else> >> </filter> >> </else> >> </filter> >> </else> >> </filter> >> </then> >> <else> >> <call> >> <endpoint> >> <http method="get" >> >> uri-template="{uri.var.apiUrl}/v1/companies?oauth2_access_token={uri.var.accessToken}&format=json" >> /> >> </endpoint> >> </call> >> </else> >> </filter>
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
