Hi all,

*What we need for Jaggery is a module system where you can have a
repository of these addon libs. Like NPM for Node. Gem for Ruby etc..*

I think we can build a similar system for jaggery. NPM source is available
on github[1] so we can have a good idea from how we should build our own
module repository. By the way when are we planning to do a 1.0 release?  (I
noticed this today on the jaggery.js site- 0.9.0-ALPHA-3 of Jaggery
released ! ).

1 - https://github.com/isaacs/npm


On Mon, May 13, 2013 at 12:20 AM, Manuranga Perera <[email protected]> wrote:

> MS Word has autocorrected jaggery into jiggery, sorry about that.
>
>
> On Mon, May 13, 2013 at 12:06 AM, Manuranga Perera <[email protected]> wrote:
>
>> @Chintana
>>
>> We have the concept of a ‘module’ in jiggery, even though we currently
>> don’t have an online repository for them. It seems Chan is suggesting to
>> implement this as a module not as a core part of jiggery. Hope this
>> addresses your concern.
>>
>> @Chan, Nuwan, Sanjiva
>>
>> We did have discussions about implementing this kind of functionality
>> within jaggery team as well as with carbon team. But not in the exact way
>> you have currently implemented [1].
>>
>>    1.  This implementation is doing what URIMatcher is doing but with
>>    better syntax. Ideally it should have been using URIMatcher module
>>    underneath. I don’t see the reason for re-implement the URIMatcher module
>>    in JavaScript. But we should look into extending the URIMatcher class to
>>    support more features of the URI Template RFC [2].
>>    2. As Nuwan has pointed out, we have to register the mapping at init
>>    time (not just because it will reduce object creation but mainly because 
>> it
>>    will give the ability to map functions written in multiple files
>>    uniformly). But it if we do this by writing yet another module we have to
>>    create another configuration file, which isn’t ideal because we already
>>    have mappings in ‘jiggery.conf’. A Better solution might be to extend
>>    jiggery, so that existing configuration file can express this kind of
>>    mappings.
>>
>> We should schedule a meeting to discuss about this.
>>
>> [1] https://gist.github.com/dulichan/62f3d49d1fe40a11b4c7#file-router-jsa
>>
>> [2] http://tools.ietf.org/html/rfc6570
>>
>>
>> On Sun, May 12, 2013 at 2:10 PM, Chintana Wilamuna <[email protected]>wrote:
>>
>>> IMHO, this stuff should not be part of Jaggery. URI mappers are part of
>>> an application, a developer writes for ease of use. Ditto for other stuff
>>> like ORM.
>>>
>>> What we need for Jaggery is a module system where you can have a
>>> repository of these addon libs. Like NPM for Node. GEM for Ruby etc... Then
>>> it becomes a matter of making things as libraries and give the developers a
>>> choice of selecting a library that feels natural.
>>>
>>>     -Chintana
>>>
>>>
>>> On Sun, May 12, 2013 at 12:38 PM, Chan <[email protected]> wrote:
>>>
>>>> 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>*
>>>>
>>>> _______________________________________________
>>>> Architecture mailing list
>>>> [email protected]
>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>
>>>>
>>>
>>>
>>> --
>>> Chintana Wilamuna
>>> Senior Technical Lead
>>> WSO2, Inc.; http://wso2.com
>>> lean.enterprise.middleware
>>>
>>> phone: +94 72 145 4545
>>> blog: http://engwar.com/
>>> photos: http://flickr.com/photos/chintana
>>> linkedin: http://www.linkedin.com/in/engwar
>>> twitter: twitter.com/std_err
>>>
>>> _______________________________________________
>>> Architecture mailing list
>>> [email protected]
>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>
>>>
>>
>
> _______________________________________________
> 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

Reply via email to