Hi all, *the subject of the mail is misleading. Its about better URL Mapping support for code** * * * +1. Sorry everyone about the misleading title [?]. My initial requirement was to support REST that's the reason why I stick it in the subject.
Also we can improve the Router more by using descriptive method naming -
jbj.route('users/{userid}|GET',function(ctx){});
It should be better if it was like
jbj.get('users/{userid}',function(ctx){});
On Sun, May 12, 2013 at 8:42 AM, Nuwan Bandara <[email protected]> wrote:
> Hi Sanjiva
>
>
> On Sun, May 12, 2013 at 7:54 AM, Sanjiva Weerawarana <[email protected]>wrote:
>
>> Nuwan lets please not use "rest" as a name .. this is not about the REST
>> architectural pattern at all but rather about routing requests to a piece
>> of code.
>>
>
> +1, the subject of the mail is misleading. Its about better URL Mapping
> support for code
>
>
>>
>> Please let me know when u guys are having the discussion .. I'd like to
>> listen in.
>>
>
> Will do :)
>
> Regards,
> /Nuwan
>
>
>>
>> Sanjiva.
>>
>>
>> On Sat, May 11, 2013 at 11:24 PM, Nuwan Bandara <[email protected]> wrote:
>>
>>> Hi Sanjeewa,
>>>
>>> We are at the service composition level, we need some way of mapping
>>> functionality to URL Patters, so it has to be at the development framework
>>> level, bot at the integration layer level. So Jaggery need to come up with
>>> some combination with URLMatcher module to give JAX-RS like features.
>>>
>>> @Chan, compared to V8, yes Rhino is slow, but we are expecting
>>> improvements with JDK 8. however regarding load it can handle enough. we
>>> have done perf tests for APIM and UES with jaggery.
>>>
>>> Regards,
>>> /Nuwan
>>>
>>>
>>> On Sat, May 11, 2013 at 11:09 PM, Chan <[email protected]> wrote:
>>>
>>>> Hi,
>>>>
>>>> *Just to clarify, why we cant achieve this by using synapse rest
>>>> support and uri template module?*
>>>>
>>>> I looked into Apache Synapse REST support via this
>>>> sample<http://synapse.apache.org/userguide/samples/sample800.html>.
>>>> One of the problems I see is that it's not very straight-forward. The
>>>> module should be more developer friendly like Sinatra where routes can be
>>>> easily matched.
>>>>
>>>> Sinatra example -
>>>>
>>>> get '/users' do
>>>> # get a listing of all the users
>>>> end
>>>>
>>>> *Just to clarify, why we cant achieve this by using synapse rest
>>>> support and uri template module?*
>>>>
>>>> I believe URIMatcher module should be self contained in regarding
>>>> mapping utility functions and it should remain separated from the Router.
>>>> Router is an Object that will store the routes (Will be using URIMatcher
>>>> underneath as a helper) and process them when a request takes place.
>>>>
>>>> *but we need to register these at app deployment level like in JAX-RS*
>>>> *
>>>> *
>>>> +1. We need to register it at app deployment level since otherwise we
>>>> will be creating new objects every time a request turns up. But it should
>>>> be made transparent to the developer (Without too much complexity (XML,
>>>> config files)).
>>>>
>>>> By the way, have you guys tried out load testing on jaggery? (This is
>>>> regarding the limitations of
>>>> Rhino<http://chandventure.tumblr.com/post/48709679314/v8-and-the-fascination>
>>>> ).
>>>>
>>>> PS: I'll try to drop by 59 on Monday :D but I am not certain since we
>>>> are having an internal demo on Monday.
>>>>
>>>> Thanks.
>>>>
>>>> On Sat, May 11, 2013 at 10:21 PM, Sanjeewa Malalgoda <[email protected]
>>>> > wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> On Sat, May 11, 2013 at 9:05 PM, Chan <[email protected]> wrote:
>>>>>
>>>>>> Hi all,
>>>>>>
>>>>>> While developing the REST- API for the MDM backend we faced with a
>>>>>> dilemma of mapping URLs.
>>>>>>
>>>>>> We have a module call
>>>>>> Router<https://gist.github.com/dulichan/62f3d49d1fe40a11b4c7#file-router-jsa>that
>>>>>> will take the request object and traverse through a set of routes to
>>>>>> match the give REST API call. Seamless mapping of URL, method and data
>>>>>> occurs underneath the module.
>>>>>>
>>>>> Just to clarify, why we cant achieve this by using synapse rest
>>>>> support and uri template module?
>>>>>
>>>>> Thanks,
>>>>> Sanjeewa.
>>>>>
>>>>>>
>>>>>> Compared to the previous style (used in the Coffeeshop
>>>>>> example<https://gist.github.com/dulichan/62f3d49d1fe40a11b4c7#file-previousstyle-js>)
>>>>>> the new
>>>>>> style<https://gist.github.com/dulichan/62f3d49d1fe40a11b4c7#file-gistfile1-js>using
>>>>>> the Router module is much cleaner and easier to use.
>>>>>>
>>>>>> Using the Router module - a route mapped would look like below -
>>>>>> jbj.route('users/{userid}|GET',function(ctx){});
>>>>>>
>>>>>> Later improvement were done according to Gayan where we need to
>>>>>> handle three types of data -POST raw data, GET parameter data and POST
>>>>>> JSON
>>>>>> data. The initial idea to develop the component is from
>>>>>> sinatra<http://www.sinatrarb.com/intro.html>
>>>>>> .
>>>>>>
>>>>>> What are your thoughts about this routing module for jaggery?
>>>>>>
>>>>>> Thanks.
>>>>>> --
>>>>>> Chan (Dulitha Wijewantha)
>>>>>> Software Engineer - Mobile Development
>>>>>> WSO2Mobile
>>>>>> Lean.Enterprise.Mobileware
>>>>>> * ~Email [email protected]*
>>>>>> * ~Mobile +94712112165*
>>>>>> * ~Website dulithawijewantha.com
>>>>>> *
>>>>>> * ~Blog blog.dulithawijewantha.com
>>>>>> *
>>>>>> * ~Twitter @dulitharw <https://twitter.com/dulitharw>*
>>>>>>
>>>>>> _______________________________________________
>>>>>> Architecture mailing list
>>>>>> [email protected]
>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *Sanjeewa Malalgoda*
>>>>> WSO2 Inc.
>>>>> Mobile : +14084122175 | +94713068779
>>>>>
>>>>> <http://sanjeewamalalgoda.blogspot.com/>blog
>>>>> :http://sanjeewamalalgoda.blogspot.com/<http://sanjeewamalalgoda.blogspot.com/>
>>>>>
>>>>> _______________________________________________
>>>>> Architecture mailing list
>>>>> [email protected]
>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Chan (Dulitha Wijewantha)
>>>> Software Engineer - Mobile Development
>>>> WSO2Mobile
>>>> Lean.Enterprise.Mobileware
>>>> * ~Email [email protected]*
>>>> * ~Mobile +94712112165*
>>>> * ~Website dulithawijewantha.com
>>>> *
>>>> * ~Blog blog.dulithawijewantha.com
>>>> *
>>>> * ~Twitter @dulitharw <https://twitter.com/dulitharw>*
>>>>
>>>> _______________________________________________
>>>> Architecture mailing list
>>>> [email protected]
>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>
>>>>
>>>
>>>
>>> --
>>> *Thanks & Regards,
>>>
>>> Nuwan Bandara
>>> Associate Technical Lead & Member, MC, Development Technologies
>>> WSO2 Inc. - lean . enterprise . middleware | http://wso2.com
>>> blog : http://nuwanbando.com; email: [email protected]; phone: +94 11 763
>>> 9629
>>> *
>>> <http://www.nuwanbando.com/>
>>>
>>> _______________________________________________
>>> Architecture mailing list
>>> [email protected]
>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>
>>>
>>
>>
>> --
>> Sanjiva Weerawarana, Ph.D.
>> Founder, Chairman & CEO; WSO2, Inc.; http://wso2.com/
>> email: [email protected]; phone: +94 11 763 9614; cell: +94 77 787 6880 | +1
>> 650 265 8311
>> blog: http://sanjiva.weerawarana.org/
>>
>> Lean . Enterprise . Middleware
>>
>> _______________________________________________
>> Architecture mailing list
>> [email protected]
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
>
> --
> *Thanks & Regards,
>
> Nuwan Bandara
> Associate Technical Lead & Member, MC, Development Technologies
> WSO2 Inc. - lean . enterprise . middleware | http://wso2.com
> blog : http://nuwanbando.com; email: [email protected]; phone: +94 11 763
> 9629
> *
> <http://www.nuwanbando.com/>
>
> _______________________________________________
> Architecture mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>
--
Chan (Dulitha Wijewantha)
Software Engineer - Mobile Development
WSO2Mobile
Lean.Enterprise.Mobileware
* ~Email [email protected]*
* ~Mobile +94712112165*
* ~Website dulithawijewantha.com
*
* ~Blog blog.dulithawijewantha.com
*
* ~Twitter @dulitharw <https://twitter.com/dulitharw>*
<<33A.gif>>
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
