Re: [Architecture] [Analytics][APIM] - Implement Geo location graph in Analytics

2016-03-19 Thread Lochana Ranaweera
;>>>> it was in the max-mind db) against the Geo location.
>>>>>>>>>>
>>>>>>>>>> Ex:-
>>>>>>>>>> For 192.168.0.1   - Colombo, Sri Lanka
>>>>>>>>>> For 192.168.15.254 - Colombo, Sri Lanka
>>>>>>>>>>
>>>>>>>>>> So as per the above example I took, if there are requests form
>>>>>>>>>> all the possible 4094 address we will be caching each IP with the Geo
>>>>>>>>>> location(since introducing range queries in a cache is not a good 
>>>>>>>>>> practice).
>>>>>>>>>>
>>>>>>>>>
>>>>>>>> Since we are implementing a custom cache, won't we be doing a
>>>>>>>> bitwise operation for the lookup with netmask and network IP? So 
>>>>>>>> basically,
>>>>>>>> we would keep the network IP and the netmask in cache and simply do a
>>>>>>>> bitwise AND to determine whether it is a match or not, right? Am 
>>>>>>>> thinking
>>>>>>>> such an operation would not incur much of a performance hit and it 
>>>>>>>> won't be
>>>>>>>> as prohibitive as a normal range query in a cache. If that is the 
>>>>>>>> case, I
>>>>>>>> think we can go with the approach suggested by Sanjeewa.
>>>>>>>>
>>>>>>>> WDYT?
>>>>>>>>
>>>>>>>>
>>>>>>>>>> Please find my comments about both the approaches.
>>>>>>>>>>
>>>>>>>>>> 1. Having an in-memory cache would speedup things but based on
>>>>>>>>>> the IPs in the data set, there could be number of entries for IPs in 
>>>>>>>>>> the
>>>>>>>>>> same range. One problem with this approach is that, if there is a 
>>>>>>>>>> server
>>>>>>>>>> restart, the initial script execution would take a lots of time. 
>>>>>>>>>> Also based
>>>>>>>>>> on certain scenarios(high number of different IPs) the cache would 
>>>>>>>>>> not have
>>>>>>>>>> a significant effect on script execution performance.
>>>>>>>>>>
>>>>>>>>>> 2. Having a DB based cache would persist the data even on a
>>>>>>>>>> restart and the data fetching query would be searching for an 
>>>>>>>>>> specific
>>>>>>>>>> value(not a range query as against the max-mind DB). But the 
>>>>>>>>>> downside is
>>>>>>>>>> that for a cache miss there would be minimum 3 DB queries (one for 
>>>>>>>>>> the
>>>>>>>>>> cache table lookup and one for the max-mind db lookup and one for the
>>>>>>>>>> cache persistence).
>>>>>>>>>>
>>>>>>>>>> That is why we have initiated this thread to finalize the caching
>>>>>>>>>> approach we should take.
>>>>>>>>>> ​
>>>>>>>>>> ​Thanks,
>>>>>>>>>> Janaka​
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> Thanks,
>>>>>>>>>>> sanjeewa.
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Lasantha
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>>>> On Fri, Mar 4, 2016 at 3:12 PM, Tharindu Dharmarathna <
>>>>>>>>>>> tharin...@wso2.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi All,
>>>>>>>>>>>>
>>>>>>>>>>>> We are going to implement Client IP based Geo-location Graph in
>>>>>>>>>>>> API Manager Analytics. When we go through the ways of doing in [1] 
>>>>>>>>>>>> , we
>>>>>>>>>>>> selected [2] as the most suitable way to do.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> *Overview of max-mind's DB.*
>>>>>>>>>>>>
>>>>>>>>>>>> As the structure of the db (attached in image), They have two
>>>>>>>>>>>> tables which incorporate to get the location.
>>>>>>>>>>>>
>>>>>>>>>>>> Find geoname_id according to network and get Country,City from
>>>>>>>>>>>> locations table.
>>>>>>>>>>>>
>>>>>>>>>>>> *Limitations*
>>>>>>>>>>>>
>>>>>>>>>>>> As their database dump we couldn't directly process the ip from
>>>>>>>>>>>> those tables. We need to check the given ip is in between the 
>>>>>>>>>>>> network min
>>>>>>>>>>>> and max ip. This query get some long time (10 seconds in indexed 
>>>>>>>>>>>> data). If
>>>>>>>>>>>> we directly do this from spark script for each and every ip which 
>>>>>>>>>>>> in
>>>>>>>>>>>> summary table (regardless if ip is same from two row data) will 
>>>>>>>>>>>> query from
>>>>>>>>>>>> the tables. Therefore this will incur the performance impact on 
>>>>>>>>>>>> this graph.
>>>>>>>>>>>>
>>>>>>>>>>>> *Solution*
>>>>>>>>>>>>
>>>>>>>>>>>> 1. Implement LRU cache against ip address vs location.
>>>>>>>>>>>>
>>>>>>>>>>>> This will need to implement on custom UDF in Spark. If ip
>>>>>>>>>>>> querying from spark available in cache it will give the location 
>>>>>>>>>>>> from it ,
>>>>>>>>>>>> IF it is not It will retrieve from DB and put into the cache.
>>>>>>>>>>>>
>>>>>>>>>>>> 2. Persist in a Table
>>>>>>>>>>>>
>>>>>>>>>>>> ip as the primary key and Country and city as other columns and
>>>>>>>>>>>> retrieve data from that table.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Please feel free to give us the most suitable way of doing this
>>>>>>>>>>>> solution?.
>>>>>>>>>>>>
>>>>>>>>>>>> [1] - Implementing Geographical based Analytics in API Manager
>>>>>>>>>>>> mail thread.
>>>>>>>>>>>>
>>>>>>>>>>>> [2] - http://dev.maxmind.com/geoip/geoip2/geolite2/
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> *Thanks*
>>>>>>>>>>>>
>>>>>>>>>>>> *Tharindu Dharmarathna*
>>>>>>>>>>>> Associate Software Engineer
>>>>>>>>>>>> WSO2 Inc.; http://wso2.com
>>>>>>>>>>>> lean.enterprise.middleware
>>>>>>>>>>>>
>>>>>>>>>>>> mobile: *+94779109091 <%2B94779109091>*
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>>
>>>>>>>>>>> *Sanjeewa Malalgoda*
>>>>>>>>>>> WSO2 Inc.
>>>>>>>>>>> Mobile : +94713068779
>>>>>>>>>>>
>>>>>>>>>>> <http://sanjeewamalalgoda.blogspot.com/>blog
>>>>>>>>>>> :http://sanjeewamalalgoda.blogspot.com/
>>>>>>>>>>> <http://sanjeewamalalgoda.blogspot.com/>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> *Janaka Ranabahu*
>>>>>>>>>> Associate Technical Lead, WSO2 Inc.
>>>>>>>>>> http://wso2.com
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> *E-mail: jan...@wso2.com <http://wso2.com>**M: **+94 718370861
>>>>>>>>>> <%2B94%20718370861>*
>>>>>>>>>>
>>>>>>>>>> Lean . Enterprise . Middleware
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Sachith Withana
>>>>>>>>> Software Engineer; WSO2 Inc.; http://wso2.com
>>>>>>>>> E-mail: sachith AT wso2.com
>>>>>>>>> M: +94715518127
>>>>>>>>> Linked-In: <http://goog_416592669>
>>>>>>>>> https://lk.linkedin.com/in/sachithwithana
>>>>>>>>>
>>>>>>>>> ___
>>>>>>>>> Architecture mailing list
>>>>>>>>> Architecture@wso2.org
>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> *Lasantha Fernando*
>>>>>>>> Senior Software Engineer - Data Technologies Team
>>>>>>>> WSO2 Inc. http://wso2.com
>>>>>>>>
>>>>>>>> email: lasan...@wso2.com
>>>>>>>> mobile: (+94) 71 5247551
>>>>>>>>
>>>>>>>> ___
>>>>>>>> Architecture mailing list
>>>>>>>> Architecture@wso2.org
>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>>
>>>>>>> *Tharindu Dharmarathna*Associate Software Engineer
>>>>>>> WSO2 Inc.; http://wso2.com
>>>>>>> lean.enterprise.middleware
>>>>>>>
>>>>>>> mobile: *+94779109091 <%2B94779109091>*
>>>>>>>
>>>>>>> ___
>>>>>>> Architecture mailing list
>>>>>>> Architecture@wso2.org
>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *Lasantha Fernando*
>>>>> Senior Software Engineer - Data Technologies Team
>>>>> WSO2 Inc. http://wso2.com
>>>>>
>>>>> email: lasan...@wso2.com
>>>>> mobile: (+94) 71 5247551
>>>>>
>>>>> ___
>>>>> Architecture mailing list
>>>>> Architecture@wso2.org
>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> *Tharindu Dharmarathna*Associate Software Engineer
>>>> WSO2 Inc.; http://wso2.com
>>>> lean.enterprise.middleware
>>>>
>>>> mobile: *+94779109091 <%2B94779109091>*
>>>>
>>>
>>>
>>>
>>> --
>>>
>>> *Tharindu Dharmarathna*Associate Software Engineer
>>> WSO2 Inc.; http://wso2.com
>>> lean.enterprise.middleware
>>>
>>> mobile: *+94779109091 <%2B94779109091>*
>>>
>>
>>
>>
>> --
>> *Janaka Ranabahu*
>> Associate Technical Lead, WSO2 Inc.
>> http://wso2.com
>>
>>
>> *E-mail: jan...@wso2.com <http://wso2.com>**M: **+94 718370861
>> <%2B94%20718370861>*
>>
>> Lean . Enterprise . Middleware
>>
>
>
>
> --
> *Kishanthan Thangarajah*
> Associate Technical Lead,
> Platform Technologies Team,
> WSO2, Inc.
> lean.enterprise.middleware
>
> Mobile - +94773426635
> Blog - *http://kishanthan.wordpress.com <http://kishanthan.wordpress.com>*
> Twitter - *http://twitter.com/kishanthan <http://twitter.com/kishanthan>*
>



-- 
Lochana Ranaweera
Intern Software Engineer
WSO2 Inc: http://wso2.com
Blog: https://lochanaranaweera.wordpress.com/
Mobile: +94716487055 <http://tel%2B716487055>
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [AS 6.0.0] HTTP Monitoring dashboard - Why are we parsing the User-Agent header in the event builder?

2016-03-19 Thread Lochana Ranaweera
list
>>>> Architecture@wso2.org
>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>
>>>>
>>>
>>>
>>> --
>>> Nathasha Naranpanawa
>>> Software Engineering Intern
>>> WSO2 Inc.
>>>
>>> Email: natha...@wso2.com
>>> Mobile: +94775496142
>>> LinkedIn: https://lk.linkedin.com/in/nathashanaranpanawa
>>>
>>>
>>> ___
>>> Architecture mailing list
>>> Architecture@wso2.org
>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>
>>>
>>
>> ___
>> Architecture mailing list
>> Architecture@wso2.org
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
>
> --
> *Kishanthan Thangarajah*
> Associate Technical Lead,
> Platform Technologies Team,
> WSO2, Inc.
> lean.enterprise.middleware
>
> Mobile - +94773426635
> Blog - *http://kishanthan.wordpress.com <http://kishanthan.wordpress.com>*
> Twitter - *http://twitter.com/kishanthan <http://twitter.com/kishanthan>*
>
> ___
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
Lochana Ranaweera
Intern Software Engineer
WSO2 Inc: http://wso2.com
Blog: https://lochanaranaweera.wordpress.com/
Mobile: +94716487055 <http://tel%2B716487055>
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [Java8] Checked Exceptions and Stream, Lambdas, Functional Interfaces

2016-03-03 Thread Lochana Ranaweera
t's look at the problem related to checked exceptions.
>
>
> *Checked Exceptions and Stream, Lambdas, Functional Interfaces*
>
> The test method of the Predicate interface has not declared any exceptions
> in the method signature. What if a checked exception is thrown inside an
> implementation of the test method, how can we forward this exception to the
> caller of the test method. There is no straight-forward way to solve this
> issue. One workaround would be to throw a RuntimeException which wraps the
> checked exception. It is not a very elegant solution though.
>
> Let me take an example to illustrate this issue more clearly.
>
> public List getClasses() throws* ClassNotFoundException* {
> Stream.of("java.lang.String", "java.lang.Integer")
> .map(className -> Class.forName(className))
> .foreach(clazz -> System.out.println(clazz.getName());}
>
> Above code snippet doesn't compile. Why? Class.forName() method throws a
> checked exception called ClassNotException, but its not possible to throw
> this exception from the lambda expression. You could deal with this problem
> in the following manner. But it is not a proper solution.
>
> public List getClasses() throws* ClassNotFoundException* {
> Stream.of("java.lang.String", "java.lang.Integer")
> .map(className -> {
>try {
> return Class.forName(className);
>} catch(ClassNotFoundException e) {
> e.printStackTrace();throw new 
> RuntimeException(e);
>   }}).foreach(clazz -> 
> System.out.println(clazz.getName());}
>
> We need to find a better workaround to this issue. I found one such
> workaround by googling. I will test it and update this thread ASAP. In the
> meantime, if you can think of a proper workaround, please update this
> thread. If required we can have a meeting to discuss this further.
>
> Thanks,
> Sameera.
>
> [1]
> http://stackoverflow.com/questions/27644361/how-can-i-throw-checked-exceptions-from-inside-java-8-streams
> [2] https://dzone.com/articles/java-8-functional-interfaces-0
> [3]
> http://programmers.stackexchange.com/questions/225931/workaround-for-java-checked-exceptions
>
> --
> Sameera Jayasoma,
> Software Architect,
>
> WSO2, Inc. (http://wso2.com)
> email: same...@wso2.com
> blog: http://blog.sameera.org
> twitter: https://twitter.com/sameerajayasoma
> flickr: http://www.flickr.com/photos/sameera-jayasoma/collections
> Mobile: 0094776364456
>
> Lean . Enterprise . Middleware
>
>
>
> ___
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
Lochana Ranaweera
Intern Software Engineer
WSO2 Inc: http://wso2.com
Blog: https://lochanaranaweera.wordpress.com/
Mobile: +94716487055 <http://tel%2B716487055>
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [Dev] Creating Gadgets for Web Application Statistics Monitoring Dashboard - Application Server 6.0.0

2016-02-26 Thread Lochana Ranaweera
Hi KasunG,

The final deliverable of the dashboard will be a set of gadgets that can be
deployed in the DS separately. It was suggested that ideally with the AS
build the gadgets could be packed as a car file.

As of now, the gadgets are working along with an API that provides the
gadgets with properly structured data obtained out of a mysql database. The
table structure for the tables in the mysql database is to be provided
using a spark script.

The following will have to be done by a user in order view web application
statistics by means of a dashboard created using these gadgets

- Publish webapp statistics to the DAS using publisher valve at AS
- Execute the given Spark script to summarize the event data in to a
database
- Configure the datasource definition in Dashboard Server to retrieve data
from the database
- Create and publish a dashboard using preferred HTTP monitoring gadgets
through dashboard server portal

Thanks.

On Fri, Feb 26, 2016 at 2:08 PM, KasunG Gajasinghe <kas...@wso2.com> wrote:

> +architecture
>
> Hi Lochana,
>
> Can you describe what is the final deliverable of the dashboard? Also,
> please explain briefly how the users are going to use these gadgets as well
> as all other dependencies these need. Based on that, we can figure out how
> the folder structure should be.
>
> Btw, can you explain the overall effort required to port these gadgets?
> What needs to be done?
>
> Thanks.
>
> On Fri, Feb 26, 2016 at 12:42 PM, Lochana Ranaweera <locha...@wso2.com>
> wrote:
>
>> Hi all,
>>
>> This is regarding the HTTP Monitoring Dashboard for AS 6.0.0. It is to be
>> deployed as a collection of user preferred set of gadgets in the Dashboard
>> Server.
>> As of now, I have ported the* basic* HTTP monitoring functionality as
>> separate gadgets for DS.
>>
>> A typical HTTP monitoring gadget has the following structure:
>>
>> gadget-name
>>├── css
>>├── js
>>├── fonts
>>├── images
>>├── index.xml
>>└── gadget.json
>>
>> What will be the best structure to version control thus created gadgets
>> in the given branch
>> <https://github.com/wso2/product-as/tree/wso2as-6.0.0> of AS 6.0.0?
>> Should it be in modules or should it be inside contents directory in the
>> distribution module?
>> The directory structure of the build for new AS 6.0.0 is given below:
>>
>>
>> ​
>> Appreciate your suggestions on this matter.
>>
>> Thanks and Regards,
>> --
>> Lochana Ranaweera
>> Intern Software Engineer
>> WSO2 Inc: http://wso2.com
>> Blog: https://lochanaranaweera.wordpress.com/
>> Mobile: +94716487055 <http://tel%2B716487055>
>>
>>
>
>
> --
>
> *Kasun Gajasinghe*Senior Software Engineer, WSO2 Inc.
> email: kasung AT spamfree wso2.com
> linked-in: http://lk.linkedin.com/in/gajasinghe
> blog: http://kasunbg.org
>
>
>



-- 
Lochana Ranaweera
Intern Software Engineer
WSO2 Inc: http://wso2.com
Blog: https://lochanaranaweera.wordpress.com/
Mobile: +94716487055 <http://tel%2B716487055>
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [Dev] WSO2 MSS JAX-RS Runtime Features

2015-11-16 Thread Lochana Ranaweera
Hi

As you all know, the WSO2 Mircoservices Server (MSS[1]) provides for a
unique JAX-RS run time, supporting only a subset of JAX-RS specification
plus a set of additional features focusing on performance and
lightweightness to run microservices.

I have herewith attached a document that contains a comparison of supported
annotations in MSS JAX-RS run time against the JAX-RS recommended run
time[2].

[1]Product-MSS repository url: https://github.com/wso2/product-mss
[2] JSR-000339 JAX-RS 2.0 Specification download url:
http://download.oracle.com/otndocs/jcp/jaxrs-2_0-fr-eval-spec/

Best Regards,
Lochana

On Mon, Nov 16, 2015 at 11:09 AM, Lochana Ranaweera <locha...@wso2.com>
wrote:

> Hi
>
> I have herewith attached a document that contains a comparison of
> annotation support in WSO2 MSS implementation against JAX-RS recommended
> implementation.
>
> Regards,
> Lochana
>
> On Mon, Nov 16, 2015 at 10:02 AM, Samiyuru Senarathne <samiy...@wso2.com>
> wrote:
>
>>
>>
>> On Thu, Oct 15, 2015 at 2:05 PM, Samiyuru Senarathne <samiy...@wso2.com>
>> wrote:
>>
>>> Hi Sameera,
>>>
>>> Please find the details you requested in the mail "WSO2 MSS JAX-RS
>>> Runtime Design Decisions" in architecture list.
>>>
>>> Best Regards,
>>> Samiyuru
>>>
>>> On Thu, Oct 15, 2015 at 11:16 AM, Sameera Jayasoma <same...@wso2.com>
>>> wrote:
>>>
>>>> +1. Since we are providing a subset of JAX-RC specification, we need to
>>>> be clear on what we support. Otherwise we will get into trouble later. This
>>>> got to be a public doc.
>>>>
>>>> Initially we forked netty-http to process JAX-RC annotations, but later
>>>> decided to completely revamp that implementation. Can you give us a summary
>>>> of the changes we have introduced.
>>>>
>>>> Thanks,
>>>> Sameera.
>>>>
>>>> On Thu, Oct 15, 2015 at 10:39 AM, Samiyuru Senarathne <
>>>> samiy...@wso2.com> wrote:
>>>>
>>>>> Sure, we will.
>>>>>
>>>>> On Thu, Oct 15, 2015 at 10:33 AM, Sagara Gunathunga <sag...@wso2.com>
>>>>> wrote:
>>>>>
>>>>>>
>>>>>> Shall we also create a doc with all JAX-RS annotations, extensions
>>>>>> and mentioning what MSS supported and what not supported ?
>>>>>>
>>>>>> Thanks !
>>>>>>
>>>>>> On Thu, Oct 15, 2015 at 10:30 AM, Samiyuru Senarathne <
>>>>>> samiy...@wso2.com> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> We have been developing our own JAX-RS runtime for WSO2 Micro
>>>>>>> Services Server (MSS). The purpose of that runtime is not to support the
>>>>>>> full JAX-RS specification but to support a subset of the JAX-RS
>>>>>>> specification plus a set of additional features focusing on performance 
>>>>>>> and
>>>>>>> lightweightness to run microservices.
>>>>>>>
>>>>>>> With latest development work currently the MSS JAX-RS runtime
>>>>>>> supports the following features.
>>>>>>>
>>>>>>>- The runtime can process annotated POJO JAX-RS resource classes
>>>>>>>and their annotated methods to create REST service endpoints for 
>>>>>>> valid
>>>>>>>resource methods.
>>>>>>>- The runtime supports the following class level annotations.
>>>>>>>   - @Path - Root path for resource methods
>>>>>>>   - @Consumes - Default consume media type(s) for resource
>>>>>>>   methods
>>>>>>>   - @Produces - Default produce media type(s) for resource
>>>>>>>   methods
>>>>>>>- Supports the following method level annotations.
>>>>>>>   - @Path - Endpoint of the method relative to @Path of the
>>>>>>>   class
>>>>>>>   - @Consumes - Media type(s) that the method can consume
>>>>>>>   - @Produces - Media type(s) that is produced by the method
>>>>>>>   - @GET - HTTP GET method
>>>>>>>   - @PUT - HTTP PUT method
>>>>>>>   - @POST - HTTP POST method
>>>>>>>   - @DELETE 

Re: [Architecture] [Dev] WSO2 MSS JAX-RS Runtime Features

2015-11-16 Thread Lochana Ranaweera
Hi Sagara,

Noted. And thank you very much for the feedback! :)

Regards,
Lochana

On Mon, Nov 16, 2015 at 3:27 PM, Sagara Gunathunga <sag...@wso2.com> wrote:

>
>
> On Mon, Nov 16, 2015 at 3:16 PM, Lochana Ranaweera <locha...@wso2.com>
> wrote:
>
>> Hi
>>
>> As you all know, the WSO2 Mircoservices Server (MSS[1]) provides for a
>> unique JAX-RS run time, supporting only a subset of JAX-RS specification
>> plus a set of additional features focusing on performance and
>> lightweightness to run microservices.
>>
>> I have herewith attached a document that contains a comparison of
>> supported annotations in MSS JAX-RS run time against the JAX-RS recommended
>> run time[2].
>>
>
> As we agreed sometimes back we have to be careful on proper wording with
> related to JAX-RS :)
>
> - WSO2 MSS is not a JAX-RS runtime, WSO2 MSS is a Java annotation driven
> microservices framework.
>
> - We just use some of the annotations defined in JAX-RS spec plus our own
> annotations.
>
> Thanks !
>
>>
>> [1]Product-MSS repository url: https://github.com/wso2/product-mss
>> [2] JSR-000339 JAX-RS 2.0 Specification download url:
>> http://download.oracle.com/otndocs/jcp/jaxrs-2_0-fr-eval-spec/
>>
>> Best Regards,
>> Lochana
>>
>> On Mon, Nov 16, 2015 at 11:09 AM, Lochana Ranaweera <locha...@wso2.com>
>> wrote:
>>
>>> Hi
>>>
>>> I have herewith attached a document that contains a comparison of
>>> annotation support in WSO2 MSS implementation against JAX-RS recommended
>>> implementation.
>>>
>>> Regards,
>>> Lochana
>>>
>>> On Mon, Nov 16, 2015 at 10:02 AM, Samiyuru Senarathne <samiy...@wso2.com
>>> > wrote:
>>>
>>>
>>>>
>>>> On Thu, Oct 15, 2015 at 2:05 PM, Samiyuru Senarathne <samiy...@wso2.com
>>>> > wrote:
>>>>
>>>>> Hi Sameera,
>>>>>
>>>>> Please find the details you requested in the mail "WSO2 MSS JAX-RS
>>>>> Runtime Design Decisions" in architecture list.
>>>>>
>>>>> Best Regards,
>>>>> Samiyuru
>>>>>
>>>>> On Thu, Oct 15, 2015 at 11:16 AM, Sameera Jayasoma <same...@wso2.com>
>>>>> wrote:
>>>>>
>>>>>> +1. Since we are providing a subset of JAX-RC specification, we need
>>>>>> to be clear on what we support. Otherwise we will get into trouble later.
>>>>>> This got to be a public doc.
>>>>>>
>>>>>> Initially we forked netty-http to process JAX-RC annotations, but
>>>>>> later decided to completely revamp that implementation. Can you give us a
>>>>>> summary of the changes we have introduced.
>>>>>>
>>>>>> Thanks,
>>>>>> Sameera.
>>>>>>
>>>>>> On Thu, Oct 15, 2015 at 10:39 AM, Samiyuru Senarathne <
>>>>>> samiy...@wso2.com> wrote:
>>>>>>
>>>>>>> Sure, we will.
>>>>>>>
>>>>>>> On Thu, Oct 15, 2015 at 10:33 AM, Sagara Gunathunga <sag...@wso2.com
>>>>>>> > wrote:
>>>>>>>
>>>>>>>>
>>>>>>>> Shall we also create a doc with all JAX-RS annotations, extensions
>>>>>>>> and mentioning what MSS supported and what not supported ?
>>>>>>>>
>>>>>>>> Thanks !
>>>>>>>>
>>>>>>>> On Thu, Oct 15, 2015 at 10:30 AM, Samiyuru Senarathne <
>>>>>>>> samiy...@wso2.com> wrote:
>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> We have been developing our own JAX-RS runtime for WSO2 Micro
>>>>>>>>> Services Server (MSS). The purpose of that runtime is not to support 
>>>>>>>>> the
>>>>>>>>> full JAX-RS specification but to support a subset of the JAX-RS
>>>>>>>>> specification plus a set of additional features focusing on 
>>>>>>>>> performance and
>>>>>>>>> lightweightness to run microservices.
>>>>>>>>>
>>>>>>>>> With latest development work currently the MSS JAX-RS runtime
>>>>>>>>> supports the foll