Re: [Architecture] [Intern Project] Salsforce Wave Analytics Connector for WSO2 EI

2019-06-13 Thread Keerthika Mahendralingam
Hi All,

This connector is released in the store [1].

[1].
https://store.wso2.com/store/assets/esbconnector/details/31ee2da6-921a-47a9-8fe6-88306c19397e

Thanks,
Keerthika.

On Thu, Jan 31, 2019 at 12:52 PM Nirubikaa Ravikumar 
wrote:

>
> Hi all,
>
> As an intern project, I am going to develop Salesforce Wave Analytics
> Connector for WSO2 EI.
>
> *API: Salesforce Wave Analytics REST API*
> *Authentication mechanism: Oauth 2.0 Authentication.*
>
> Salesforce Wave Analytics is a business intelligence platform from
> Salesforce.com that is optimized for mobile access and data visualization.
> And Wave analytics is an analytic tool that helps to create powerful
> reports and dashboards from a large amount of enterprise data
>
> For the initial version of the connector, I am going to implement the
> following 13 methods:
>
> 1.  ListTopLevelResources: Lists the top-level resources available for
> Analytics.
> 2.  ListAnnotations: Lists the collection of annotations
> 3.  ListDatasets: Returns the collection of the dataset.
> 4.  UpdateDatasets: Updates a dataset for a specified ID.
> 5. Query: Executes a query written in Salesforce Analytics Query Language
> 6.  ListDashboards: Returns a list of Analytics dashboards.
> 7.  CreateDashboard: Creates the dashboard.
> 8.  UpdateDashboard: Updates the dashboard with the specified ID.
> 9.  ListTemplate: Returns a list of Analytics templates
> 10.ListFolder: Lists the collection of the folder.
> 11.ListFolderByID: Returns the representation for an Analytics
> application or folder.
> 12.ReplaceFolder: Replaces folder.
> 13.ListLenses: Returns a list of Analytics lenses.
>
> I have attached a user story for 'Salesforce Wave Analytics for WSO2 EI'.
> Please let me know if you have any concerns.
>
> --
> R.Nirubikaa
> Software Engineering Intern | WSO2
> M: O779108852
>
>
>


-- 

Keerthika Mahendralingam
Senior Software Engineer
Mobile :+94 (0) 776 121144
keerth...@wso2.com
WSO2, Inc.
lean . enterprise . middleware
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [Dev] [VOTE] Release WSO2 Enterprise Integrator 6.5.0 RC1

2019-05-18 Thread Keerthika Mahendralingam
Hi All,

I have tested the following:
 1. Call mediator
 2. Property mediator
 3. Validate mediator
 4. Kerberos mediator

[+] Stable go ahead and release.

Thanks,


On Sat, 18 May 2019, 10:56 Kesavan Yogarajah,  wrote:

> Hi All,
>
> I tested the following, and no issues found.
>
>- Salesforce Connector
>- Salesforce custom inbound Endpoint
>- Script mediator
>
>
> [+] Stable - go ahead and release
>
> Thanks
> Kesavan
>
> Kesavan Yogarajah
> Software Engineer
> Mobile :+94 (0) 779 758021
> kesav...@wso2.com
> WSO2, Inc.
> lean . enterprise . middleware
>
>
> On Fri, May 17, 2019 at 11:15 PM Mathuriga Thavarajah 
> wrote:
>
>> Hi All,
>>
>> Security Scanning reports (Static and Dynamic) were analyzed and
>> reviewed. Hence +1 from the Platform Security Team for proceeding with the
>> release.
>>
>> Thanks.
>>
>> Regards,
>> Mathuriga.
>>
>> On Fri, May 17, 2019 at 7:06 PM Chanika Geeganage 
>> wrote:
>>
>>> Hi All,
>>>
>>> I tested following scenarios ( artifacts were created using both
>>> management console and integration studio).
>>> 1. Call Template
>>> 2. Adding a datasource
>>> 3. Generating a dataservice form the datasource
>>> 4. Creating a dataservice and uploading a dataservice
>>> 5. Tested sample dataservices
>>> 6. Odata
>>>
>>> [+] Stable - go ahead and release
>>>
>>> On Thu, May 16, 2019 at 7:33 PM Nirothipan Megalingham <
>>> nirothi...@wso2.com> wrote:
>>>
 Hi all,

 We are pleased to announce the first release candidate of WSO2
 Enterprise Integrator 6.5.0.

 Please find the list of tasks / bug fixes and improvements shipped with
 this release below

- Tasks/bug fixes and improvements in Enterprise Integrator

 
- Tasks/bug fixes and improvements in Micro Integrator

 

 Known Issues

- https://github.com/wso2/product-ei/issues
- https://github.com/wso2/micro-integrator/issues

 The tag to be voted upon:
 https://github.com/wso2/product-ei/tree/v6.5.0-rc1

 Source and binary distributions:
 https://github.com/wso2/product-ei/releases/tag/v6.5.0-rc1

 Please test and vote as follows

 [+] Stable - go ahead and release
 [-] Broken - do not release (explain why)

 You may find the official documentation in:
 https://docs.wso2.com/display/EI6xx

 ~ The Enterprise Integrator Team ~


 --

 *M.Nirothipan* | Senior Software Engineer | WSO2 Inc.

 (m) +94772172692 | (e) nirothi...@wso2.com

 [image: http://wso2.com/signature] 


>>>
>>> --
>>>
>>> *Chanika Geeganage* | Associate Technical Lead | WSO2 Inc.
>>>
>>> (m) +94-77-3522586 | (e) chan...@wso2.com
>>>
>>> 
>>> ___
>>> Architecture mailing list
>>> Architecture@wso2.org
>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>
>>
>>
>> --
>>
>> *Mathuriga Thavarajah*
>> Software Engineer
>> WSO2 Inc. - http ://wso2.com
>>
>> Email : mathur...@wso2.com
>> Mobile  : +94778191300
>>
>>
>>
>> *[image: http://wso2.com/signature] *
>> ___
>> Architecture mailing list
>> Architecture@wso2.org
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
> ___
> Dev mailing list
> d...@wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [RRT] Improving caching based on cache-control and ETag headers

2018-01-29 Thread Keerthika Mahendralingam
Hi Malaka,

Existing ETag support is implemented at the transport level to support
the client-side caching. ie, we calculate the ETag value and add it to the
response as ETag header. Client(Eg: browser) can cache this response and
validate the response to the subsequent request using that ETag. I am not
doing any modification in that implementation.

In my case, when we have the no-cache header in the backend response that
means we can cache the response at the cache mediator level but we need to
verify the cached response before returning it to the user for the
subsequent call. So what we need to do is, if we have the no-cache and ETag
are present in the cached response, then we need to send a request with the
"If-not-match" header to the backend and if we get 304 response then we
should return the response which is cached already to the user. Otherwise,
we need to cache the newly returned response and return it to the user.


Thanks,
Keerthika.

On Fri, Jan 26, 2018 at 4:50 PM, Malaka Gangananda <mala...@wso2.com> wrote:

> Hi Keerthika,
>
> As Isuru mentioned ETag caching support is already implemented.
> But it only supports Strong ETag validation since
> in PassThroughHttpSender we have implemented the Handle ETag caching, by
> just hashing the message context with digestGenerator.
> So this gives the support for strong Etag validation.
> But to support weak Etag validation we need to check Semantic equivalence
> of two representation.
>
> So are we going to implement support for Weak Etag validation as well ?.
>
> Thanks,
>
> On Wed, Jan 24, 2018 at 9:55 AM, Keerthika Mahendralingam <
> keerth...@wso2.com> wrote:
>
>>
>>> What will happen in the following case?
>>>
>>>-  Cache Expiry < Max-age && and the cache entry is evicted?
>>>
>>> I believe in that case we have to fetch it from BE?
>>>
>> Yes, if the Cache expiry time is less than the Max-age then cached
>> response will be invalidated in the expiration time limit. So we ned to get
>> the response from BE.
>>
>>>
>>> thanks,
>>> Dimuthu
>>>
>>>
>>> On Wed, Jan 24, 2018 at 8:02 AM, Riyafa Abdul Hameed <riy...@wso2.com>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> It was required to support native JSON in the cache mediator and hence
>>>> we had to use the JsonStreamBuilder. At the time of releasing it was
>>>> mentioned that APIM still uses JsonBuilder and I created an issue[1] to
>>>> address this if required.
>>>>
>>>> [1] https://github.com/wso2/product-ei/issues/916
>>>>
>>>> Thanks,
>>>> Riyafa
>>>>
>>>> On Wed, Jan 24, 2018 at 3:40 AM, Dushan Abeyruwan <dus...@wso2.com>
>>>> wrote:
>>>>
>>>>> Hi Kreethika,
>>>>>   Yes, this is a long pending initiative that is required under the
>>>>> cache mediator. Anyway, I believe this may be more meaningful if you draw
>>>>> flow diagram + sequence diagram so, audience in this list able to fully
>>>>> understand the picture and the interaction of the middleman (i.e
>>>>> Integration layer) and that may be helpful when writing documentation
>>>>>
>>>> Will send those ASAP Dushan.
>>
>> Thanks,
>> Keerthika.
>>
>>>
>>>>> Cheers,
>>>>> Dushan
>>>>>
>>>>> On Fri, Jan 12, 2018 at 1:37 AM, Keerthika Mahendralingam <
>>>>> keerth...@wso2.com> wrote:
>>>>>
>>>>>> +1. Thanks Riyafa for the suggestion.
>>>>>>
>>>>>>
>>>>>> Thanks,
>>>>>> Keerthika.
>>>>>>
>>>>>> On Fri, Jan 12, 2018 at 3:05 PM, Riyafa Abdul Hameed <riy...@wso2.com
>>>>>> > wrote:
>>>>>>
>>>>>>> Hi Keerthika,
>>>>>>>
>>>>>>> We should have an option for disregarding the cache-control headers
>>>>>>> and the default value should be that the cache-control headers be
>>>>>>> disregarded. This is because the current cache mediator is written so 
>>>>>>> that
>>>>>>> it is fully backward compatible with the older versions of the cache
>>>>>>> mediators. Any one using cache mediator in a synape configuration in an
>>>>>>> older version can use the same synapse configuration in the new version 
>>>>>>> and
>>

Re: [Architecture] [RRT] Calculate Age value of cached response

2018-01-24 Thread Keerthika Mahendralingam
Hi All,

I need to get the cached response fetched time from origin server which is
returned in the BE response with Date header. When I debugged the
cache-mediator code, I found that when caching the response Date header is
added to the cache. But when I retrieve the cached response for the
subsequent request, Date header is removed from the cached response.

This is due to we are removing the Date header from the response [1] and
send a new Date header with the response to the user. If we set the
preserveHeaders(in passthru-http.properties), I was able to get the Date
header from the cached response as well.

So, as I need the response fetched time to calculate the TTL value of the
cached response, I am planning to add a property to the cached response to
store the fetched time and use it to calculate the TTL. Or do we need to
suggest the user to set the preserve header?


[1].
https://github.com/wso2/wso2-synapse/blob/master/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/util/PassThroughTransportUtils.java#L160

Thanks,
Keerthika.

On Tue, Jan 23, 2018 at 8:26 PM, Keerthika Mahendralingam <
keerth...@wso2.com> wrote:

> Hi All,
>
> I am trying to add an Age header when returning the cached response(as
> discussed in [1]). I am following the steps as follows:
>
>- If the response doesn't have the Date header, add Date header (with
>current time) when caching the response[2].
>- For the subsequent request, get the Date header value of the cached
>response, timeout and current requested time and find the TTL value as:
>
> TTL = difference ((DateHeaderValue + timeout), CurrentTime)
>
>
>- Set the TTL value as Age header.
>
> Please let me know if you have any concerns on this.
>
> [1]. [Architecture][RRT] Improving caching based on cache-control and ETag
> headers
> [2]. https://tools.ietf.org/html/rfc2616#page-124
>
> Thanks,
> Keerthika.
> --
> <dev-requ...@wso2.org>
> Keerthika Mahendralingam
> Software Engineer
> Mobile :+94 (0) 776 121144 <+94%2077%20612%201144>
> keerth...@wso2.com
> WSO2, Inc.
> lean . enterprise . middleware
>



-- 
<dev-requ...@wso2.org>
Keerthika Mahendralingam
Software Engineer
Mobile :+94 (0) 776 121144
keerth...@wso2.com
WSO2, Inc.
lean . enterprise . middleware
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [RRT] Improving caching based on cache-control and ETag headers

2018-01-23 Thread Keerthika Mahendralingam
>
>
> What will happen in the following case?
>
>-  Cache Expiry < Max-age && and the cache entry is evicted?
>
> I believe in that case we have to fetch it from BE?
>
Yes, if the Cache expiry time is less than the Max-age then cached response
will be invalidated in the expiration time limit. So we ned to get the
response from BE.

>
> thanks,
> Dimuthu
>
>
> On Wed, Jan 24, 2018 at 8:02 AM, Riyafa Abdul Hameed <riy...@wso2.com>
> wrote:
>
>> Hi,
>>
>> It was required to support native JSON in the cache mediator and hence we
>> had to use the JsonStreamBuilder. At the time of releasing it was mentioned
>> that APIM still uses JsonBuilder and I created an issue[1] to address this
>> if required.
>>
>> [1] https://github.com/wso2/product-ei/issues/916
>>
>> Thanks,
>> Riyafa
>>
>> On Wed, Jan 24, 2018 at 3:40 AM, Dushan Abeyruwan <dus...@wso2.com>
>> wrote:
>>
>>> Hi Kreethika,
>>>   Yes, this is a long pending initiative that is required under the
>>> cache mediator. Anyway, I believe this may be more meaningful if you draw
>>> flow diagram + sequence diagram so, audience in this list able to fully
>>> understand the picture and the interaction of the middleman (i.e
>>> Integration layer) and that may be helpful when writing documentation
>>>
>> Will send those ASAP Dushan.

Thanks,
Keerthika.

>
>>> Cheers,
>>> Dushan
>>>
>>> On Fri, Jan 12, 2018 at 1:37 AM, Keerthika Mahendralingam <
>>> keerth...@wso2.com> wrote:
>>>
>>>> +1. Thanks Riyafa for the suggestion.
>>>>
>>>>
>>>> Thanks,
>>>> Keerthika.
>>>>
>>>> On Fri, Jan 12, 2018 at 3:05 PM, Riyafa Abdul Hameed <riy...@wso2.com>
>>>> wrote:
>>>>
>>>>> Hi Keerthika,
>>>>>
>>>>> We should have an option for disregarding the cache-control headers
>>>>> and the default value should be that the cache-control headers be
>>>>> disregarded. This is because the current cache mediator is written so that
>>>>> it is fully backward compatible with the older versions of the cache
>>>>> mediators. Any one using cache mediator in a synape configuration in an
>>>>> older version can use the same synapse configuration in the new version 
>>>>> and
>>>>> can expect the same behavior. If he/she wants to make use of the new
>>>>> features he/she may do so by editing the synapse configurations.
>>>>>
>>>>> Thanks,
>>>>> Riyafa
>>>>>
>>>>>
>>>>> On Fri, Jan 12, 2018 at 12:24 PM, Keerthika Mahendralingam <
>>>>> keerth...@wso2.com> wrote:
>>>>>
>>>>>> Thanks Isuru. Will check the existing functionality.
>>>>>>
>>>>>> @Vijitha,
>>>>>> +1 for providing the configuration option for omitting the
>>>>>> cache-control headers.
>>>>>>
>>>>>> @Sanjeewa
>>>>>> Will check with the latest cache mediator.
>>>>>>
>>>>>> Thanks,
>>>>>> Keerthika.
>>>>>>
>>>>>> On Fri, Jan 12, 2018 at 12:16 PM, Vijitha Ekanayake <
>>>>>> vijit...@wso2.com> wrote:
>>>>>>
>>>>>>> Hi Sanjeewa,
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Jan 12, 2018 at 12:01 PM, Sanjeewa Malalgoda <
>>>>>>> sanje...@wso2.com> wrote:
>>>>>>>
>>>>>>>> So i think we can add latest cache mediator dependency to API
>>>>>>>> Manager 2.2.0 branch and test this feature.
>>>>>>>> If there are any gaps in documents or implementation we will be
>>>>>>>> able to fix them and officially support this feature from 2.2.0 onward.
>>>>>>>> WDYT?
>>>>>>>>
>>>>>>>
>>>>>>> +1 for this approach.
>>>>>>>
>>>>>>>>
>>>>>>>> @Vijitha, Cache mediator can engage per API basis. So if someone do
>>>>>>>> not interested on caching they can simply remove cache mediator for 
>>>>>>>> that
>>>>>>>> particular mediation flow.
>>>>>>>>

[Architecture] [RRT] Calculate Age value of cached response

2018-01-23 Thread Keerthika Mahendralingam
Hi All,

I am trying to add an Age header when returning the cached response(as
discussed in [1]). I am following the steps as follows:

   - If the response doesn't have the Date header, add Date header (with
   current time) when caching the response[2].
   - For the subsequent request, get the Date header value of the cached
   response, timeout and current requested time and find the TTL value as:

TTL = difference ((DateHeaderValue + timeout), CurrentTime)


   - Set the TTL value as Age header.

Please let me know if you have any concerns on this.

[1]. [Architecture][RRT] Improving caching based on cache-control and ETag
headers
[2]. https://tools.ietf.org/html/rfc2616#page-124

Thanks,
Keerthika.
-- 
<dev-requ...@wso2.org>
Keerthika Mahendralingam
Software Engineer
Mobile :+94 (0) 776 121144 <+94%2077%20612%201144>
keerth...@wso2.com
WSO2, Inc.
lean . enterprise . middleware
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [RRT] Improving caching based on cache-control and ETag headers

2018-01-12 Thread Keerthika Mahendralingam
+1. Thanks Riyafa for the suggestion.


Thanks,
Keerthika.

On Fri, Jan 12, 2018 at 3:05 PM, Riyafa Abdul Hameed <riy...@wso2.com>
wrote:

> Hi Keerthika,
>
> We should have an option for disregarding the cache-control headers and
> the default value should be that the cache-control headers be disregarded.
> This is because the current cache mediator is written so that it is fully
> backward compatible with the older versions of the cache mediators. Any one
> using cache mediator in a synape configuration in an older version can use
> the same synapse configuration in the new version and can expect the same
> behavior. If he/she wants to make use of the new features he/she may do so
> by editing the synapse configurations.
>
> Thanks,
> Riyafa
>
>
> On Fri, Jan 12, 2018 at 12:24 PM, Keerthika Mahendralingam <
> keerth...@wso2.com> wrote:
>
>> Thanks Isuru. Will check the existing functionality.
>>
>> @Vijitha,
>> +1 for providing the configuration option for omitting the cache-control
>> headers.
>>
>> @Sanjeewa
>> Will check with the latest cache mediator.
>>
>> Thanks,
>> Keerthika.
>>
>> On Fri, Jan 12, 2018 at 12:16 PM, Vijitha Ekanayake <vijit...@wso2.com>
>> wrote:
>>
>>> Hi Sanjeewa,
>>>
>>>
>>> On Fri, Jan 12, 2018 at 12:01 PM, Sanjeewa Malalgoda <sanje...@wso2.com>
>>> wrote:
>>>
>>>> So i think we can add latest cache mediator dependency to API Manager
>>>> 2.2.0 branch and test this feature.
>>>> If there are any gaps in documents or implementation we will be able to
>>>> fix them and officially support this feature from 2.2.0 onward.
>>>> WDYT?
>>>>
>>>
>>> +1 for this approach.
>>>
>>>>
>>>> @Vijitha, Cache mediator can engage per API basis. So if someone do not
>>>> interested on caching they can simply remove cache mediator for that
>>>> particular mediation flow.
>>>>
>>>
>>> I intended to state just an option of disregarding the HTTP caching
>>> however not the response caching. Shouldn't it be valuable to have a design
>>> alternative to disregard the HTTP Caching yet not the default response
>>> caching?
>>>
>>> Thanks.
>>>
>>>>
>>>> Thanks,
>>>> Sanjeewa.
>>>>
>>>> On Fri, Jan 12, 2018 at 11:07 AM, Isuru Udana <isu...@wso2.com> wrote:
>>>>
>>>>> Hi Keerthika,
>>>>>
>>>>> ETag caching support is already implemented at the http transport
>>>>> level.
>>>>> This feature was introduced long time ago but still the documentation
>>>>> is not added to the wiki.
>>>>> Please refer to following jiras for more information.
>>>>>
>>>>>
>>>>> https://wso2.org/jira/browse/ESBJAVA-3504
>>>>>
>>>>> https://wso2.org/jira/browse/DOCUMENTATION-1435
>>>>>
>>>>>
>>>>> Thanks.
>>>>>
>>>>>
>>>>> On Fri, Jan 12, 2018 at 10:51 AM, Keerthika Mahendralingam <
>>>>> keerth...@wso2.com> wrote:
>>>>>
>>>>>> Hi Shazni,
>>>>>>
>>>>>> Please find the answers inline.
>>>>>>
>>>>>>>
>>>>>>> 1. Does the user specify whether the ETag header should present in
>>>>>>> the response or not? Or is it always available if the cache mediator is
>>>>>>> used?
>>>>>>>
>>>>>> If the backend returns the response with ETag header, cahce mediator
>>>>>> always need to validate the response before sending the cached response 
>>>>>> to
>>>>>> the user.
>>>>>>
>>>>>>>
>>>>>>>>- If it is available and ETag is present in the cached
>>>>>>>>response, make a request with "If-None-Match" header with the ETag 
>>>>>>>> value.
>>>>>>>>
>>>>>>>>
>>>>>>>>- If the server returns "304 Not Modified" response returns the
>>>>>>>>cached response to the user.
>>>>>>>>
>>>>>>>> 2. If the caller makes a request with "If-None-Match" header with
>>>>>>> the ETag value and 

Re: [Architecture] [RRT] Improving caching based on cache-control and ETag headers

2018-01-11 Thread Keerthika Mahendralingam
Thanks Isuru. Will check the existing functionality.

@Vijitha,
+1 for providing the configuration option for omitting the cache-control
headers.

@Sanjeewa
Will check with the latest cache mediator.

Thanks,
Keerthika.

On Fri, Jan 12, 2018 at 12:16 PM, Vijitha Ekanayake <vijit...@wso2.com>
wrote:

> Hi Sanjeewa,
>
>
> On Fri, Jan 12, 2018 at 12:01 PM, Sanjeewa Malalgoda <sanje...@wso2.com>
> wrote:
>
>> So i think we can add latest cache mediator dependency to API Manager
>> 2.2.0 branch and test this feature.
>> If there are any gaps in documents or implementation we will be able to
>> fix them and officially support this feature from 2.2.0 onward.
>> WDYT?
>>
>
> +1 for this approach.
>
>>
>> @Vijitha, Cache mediator can engage per API basis. So if someone do not
>> interested on caching they can simply remove cache mediator for that
>> particular mediation flow.
>>
>
> I intended to state just an option of disregarding the HTTP caching
> however not the response caching. Shouldn't it be valuable to have a design
> alternative to disregard the HTTP Caching yet not the default response
> caching?
>
> Thanks.
>
>>
>> Thanks,
>> Sanjeewa.
>>
>> On Fri, Jan 12, 2018 at 11:07 AM, Isuru Udana <isu...@wso2.com> wrote:
>>
>>> Hi Keerthika,
>>>
>>> ETag caching support is already implemented at the http transport level.
>>> This feature was introduced long time ago but still the documentation is
>>> not added to the wiki.
>>> Please refer to following jiras for more information.
>>>
>>>
>>> https://wso2.org/jira/browse/ESBJAVA-3504
>>>
>>> https://wso2.org/jira/browse/DOCUMENTATION-1435
>>>
>>>
>>> Thanks.
>>>
>>>
>>> On Fri, Jan 12, 2018 at 10:51 AM, Keerthika Mahendralingam <
>>> keerth...@wso2.com> wrote:
>>>
>>>> Hi Shazni,
>>>>
>>>> Please find the answers inline.
>>>>
>>>>>
>>>>> 1. Does the user specify whether the ETag header should present in the
>>>>> response or not? Or is it always available if the cache mediator is used?
>>>>>
>>>> If the backend returns the response with ETag header, cahce mediator
>>>> always need to validate the response before sending the cached response to
>>>> the user.
>>>>
>>>>>
>>>>>>- If it is available and ETag is present in the cached response,
>>>>>>make a request with "If-None-Match" header with the ETag value.
>>>>>>
>>>>>>
>>>>>>- If the server returns "304 Not Modified" response returns the
>>>>>>cached response to the user.
>>>>>>
>>>>>> 2. If the caller makes a request with "If-None-Match" header with the
>>>>> ETag value and if it matched, why would you need to respond with the 
>>>>> cached
>>>>> message. Shouldn't it be only 304 with empty message as the response 
>>>>> hasn't
>>>>> changed?
>>>>>
>>>> I considered only the use case where the backend server response has
>>>> the ETag header. But we need to consider the request as well. As you said,
>>>> if the user sends a request with "If-None-Match" header with the ETag
>>>> value and if it is matched with the cached response ETag value, then we
>>>> need to send 304 response. If it is not matched, cache mediator should
>>>> validate the cached response with the backend and return the response to
>>>> the user. Thanks for pointing this out.
>>>>
>>>>>
>>>>>
>>>>>> *Honor "max-age" cache-control header*If the "max-age" header
>>>>>> presents in the response it specifies the maximum time in seconds that 
>>>>>> the
>>>>>> fetched response is allowed to be reused from the time of the request. So
>>>>>> the response should be cached and reused within the max-age time limit. 
>>>>>> So
>>>>>> the Cache mediator should honor max-age instead of timeout configuration 
>>>>>> if
>>>>>> it is less than the timeout configuration.
>>>>>
>>>>>
>>>>> 3. What is the behavior when the timeout configuration is less than
>>>>> the max-age cache-control header?
>&g

Re: [Architecture] [RRT] Improving caching based on cache-control and ETag headers

2018-01-11 Thread Keerthika Mahendralingam
Hi Shazni,

Please find the answers inline.

>
> 1. Does the user specify whether the ETag header should present in the
> response or not? Or is it always available if the cache mediator is used?
>
If the backend returns the response with ETag header, cahce mediator always
need to validate the response before sending the cached response to the
user.

>
>>- If it is available and ETag is present in the cached response, make
>>a request with "If-None-Match" header with the ETag value.
>>
>>
>>- If the server returns "304 Not Modified" response returns the
>>cached response to the user.
>>
>> 2. If the caller makes a request with "If-None-Match" header with the
> ETag value and if it matched, why would you need to respond with the cached
> message. Shouldn't it be only 304 with empty message as the response hasn't
> changed?
>
I considered only the use case where the backend server response has the
ETag header. But we need to consider the request as well. As you said, if
the user sends a request with "If-None-Match" header with the ETag value
and if it is matched with the cached response ETag value, then we need to
send 304 response. If it is not matched, cache mediator should validate the
cached response with the backend and return the response to the user.
Thanks for pointing this out.

>
>
>> *Honor "max-age" cache-control header*If the "max-age" header presents
>> in the response it specifies the maximum time in seconds that the fetched
>> response is allowed to be reused from the time of the request. So the
>> response should be cached and reused within the max-age time limit. So the
>> Cache mediator should honor max-age instead of timeout configuration if it
>> is less than the timeout configuration.
>
>
> 3. What is the behavior when the timeout configuration is less than the
> max-age cache-control header?
>
Cached response expires after the timeout limit.

Thanks,
Keerthika.

>
> On Thu, Jan 11, 2018 at 3:20 AM, Keerthika Mahendralingam <
> keerth...@wso2.com> wrote:
>
>> Hi All,
>>
>> In the current cache mediator implementation, cache control headers and
>> ETag haven't been considered when serving responses through the cache
>> mediator. Basically, it caches all responses and responds with same headers
>> for the subsequent requests. I am planning to improve the current cache
>> mediator with the following features:
>>
>>- Honor ETag header
>>- Honor "no-cache" & "no-store" cache-control header.
>>- Honor "max-age" cache-control header.
>>- Add Age header based on "max-age" cache-control header when
>>returning the cached response.
>>
>>
>> *1. ETag support:*
>> If ETag header is present in the response, subsequent requests need to be
>> issued with the "If-None-Match" header(with ETag value) and if the
>> requested resource is modified from the last response fetched time, a new
>> modified response will be returned with new ETag. And this new response
>> needs to be cached. If it is not modified, the server returns a "304 Not
>> Modified" response. In that case, the cached response can be reused.
>>
>> Flow:
>>
>>- Cache mediator receives a request.
>>- Check whether a cached response is available for the same request.
>>- If it is available and ETag is present in the cached response, make
>>a request with "If-None-Match" header with the ETag value.
>>- If the server returns "304 Not Modified" response returns the
>>cached response to the user.
>>- If the server returns a new modified response(200 OK response) then
>>cache the newly returned response.
>>
>>
>> *2. Honor "no-cache" and "no-store" header*
>>
>>- If the "no-cache" header is present in the response it indicates
>>that the returned response can’t be used to satisfy a subsequent request 
>> to
>>the same URL without first checking with the server if the response has
>>changed. So before responding with the cached response cache mediator
>>should validate the response with ETag. This can be supported through the
>>ETag support.
>>- If the "no-store" header is present in the response, Cache mediator
>>should not cache the returned response.
>>
>> *3. Honor "max-age" cache-control header*
>> If the "max-age" header presents in the response it specifies the maximum
>> time in seconds th

[Architecture] [RRT] Improving caching based on cache-control and ETag headers

2018-01-11 Thread Keerthika Mahendralingam
Hi All,

In the current cache mediator implementation, cache control headers and
ETag haven't been considered when serving responses through the cache
mediator. Basically, it caches all responses and responds with same headers
for the subsequent requests. I am planning to improve the current cache
mediator with the following features:

   - Honor ETag header
   - Honor "no-cache" & "no-store" cache-control header.
   - Honor "max-age" cache-control header.
   - Add Age header based on "max-age" cache-control header when returning
   the cached response.


*1. ETag support:*
If ETag header is present in the response, subsequent requests need to be
issued with the "If-None-Match" header(with ETag value) and if the
requested resource is modified from the last response fetched time, a new
modified response will be returned with new ETag. And this new response
needs to be cached. If it is not modified, the server returns a "304 Not
Modified" response. In that case, the cached response can be reused.

Flow:

   - Cache mediator receives a request.
   - Check whether a cached response is available for the same request.
   - If it is available and ETag is present in the cached response, make a
   request with "If-None-Match" header with the ETag value.
   - If the server returns "304 Not Modified" response returns the cached
   response to the user.
   - If the server returns a new modified response(200 OK response) then
   cache the newly returned response.


*2. Honor "no-cache" and "no-store" header*

   - If the "no-cache" header is present in the response it indicates that
   the returned response can’t be used to satisfy a subsequent request to the
   same URL without first checking with the server if the response has
   changed. So before responding with the cached response cache mediator
   should validate the response with ETag. This can be supported through the
   ETag support.
   - If the "no-store" header is present in the response, Cache mediator
   should not cache the returned response.

*3. Honor "max-age" cache-control header*
If the "max-age" header presents in the response it specifies the maximum
time in seconds that the fetched response is allowed to be reused from the
time of the request. So the response should be cached and reused within the
max-age time limit. So the Cache mediator should honor max-age instead of
timeout configuration if it is less than the timeout configuration.

4. *Include an ‘Age’ header with the response*
Cache mediator should return the true TTL value of a response without
altering the value of the cache-control max-age header returned by the
back-end.


Flow:

   - Calculate the TTL using response fetched time and max-age header
   - Set the Age header to the cached response before returning it to the
   user.


[1].
https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching
[2]. https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

Thanks,
Keerthika.
--
<dev-requ...@wso2.org>
Keerthika Mahendralingam
Software Engineer
Mobile :+94 (0) 776 121144 <+94%2077%20612%201144>
keerth...@wso2.com
WSO2, Inc.
lean . enterprise . middleware
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [PET] Improving File Connector

2017-10-12 Thread Keerthika Mahendralingam
Thanks Jochen for the suggestion. We will consider these functions in
future releases.

@Malaka,
Please find the answers inline.
On Fri, Sep 22, 2017 at 11:19 PM, Jochen Traunecker <
jochen.traunec...@googlemail.com> wrote:

> Hi,
>
> CRC32 and other checksums would be helpful in some situations, too
>
> Thanks,
> Jochen
>
> 2017-09-22 2:20 GMT+02:00 Malaka Silva <mal...@wso2.com>:
>
>>
>>
>> On Thu, Sep 21, 2017 at 7:51 PM, Keerthika Mahendralingam <
>> keerth...@wso2.com> wrote:
>>
>>> Hi All,
>>>
>>> Currently, I'm working on improving the file connector with the
>>> following functionalities.
>>>
>>>- Read a specific line from a file
>>>- Read range of lines
>>>- Get last modified time of a file
>>>
>>> ​Since we are using common-vfs can we do this for all file systems?​
>>
>>
> I am able to get the meta-data of a file for local and ftp file systems.
Need to check for sftp system.

>
>>>- Get the size of a file
>>>- Append line/data to a file to a specific line
>>>- Split the file into chunks
>>>
>>> ​What is the logic to do this? ​
>>
>>
> I am planning to split the files based on chunk size or number of lines.
And also for xml file will check whether we can split the xml file based on
the tags(xpath) as we discussed.

Thanks,
>
>
>>>- Merge the chunks into a file
>>>
>>> Please let me know if you have any concerns.
>>>
>>>
>>> Thanks,
>>> --
>>> <dev-requ...@wso2.org>
>>> Keerthika Mahendralingam
>>> Software Engineer
>>> Mobile :+94 (0) 776 121144 <077%20612%201144>
>>> keerth...@wso2.com
>>> WSO2, Inc.
>>> lean . enterprise . middleware
>>>
>>
>>
>>
>> --
>>
>> Best Regards,
>>
>> Malaka Silva
>> Associate Director / Architect
>> M: +94 777 219 791 <+94%2077%20721%209791>
>> Tel : 94 11 214 5345
>> Fax :94 11 2145300
>> Skype : malaka.sampath.silva
>> LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77
>> Blog : http://mrmalakasilva.blogspot.com/
>>
>> WSO2, Inc.
>> lean . enterprise . middleware
>> https://wso2.com/signature
>> http://www.wso2.com/about/team/malaka-silva/
>> <http://wso2.com/about/team/malaka-silva/>
>> https://store.wso2.com/store/
>>
>> Don't make Trees rare, we should keep them with care
>>
>> ___
>> Architecture mailing list
>> Architecture@wso2.org
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
>
> --
> Gruss / regards
>
> Jochen Traunecker
> mailto: jochen.traunec...@gmail.com
>
> ___
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
<dev-requ...@wso2.org>
Keerthika Mahendralingam
Software Engineer
Mobile :+94 (0) 776 121144
keerth...@wso2.com
WSO2, Inc.
lean . enterprise . middleware
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


[Architecture] [PET] Improving File Connector

2017-09-21 Thread Keerthika Mahendralingam
Hi All,

Currently, I'm working on improving the file connector with the following
functionalities.

   - Read a specific line from a file
   - Read range of lines
   - Get last modified time of a file
   - Get the size of a file
   - Append line/data to a file to a specific line
   - Split the file into chunks
   - Merge the chunks into a file

And also Biruntha is doing the competitor analysis with Apache Camel file
component. So we will add if we miss any functionalities in our connector.

Please let me know if you have any concerns.

[1]. Improving the file connector (Re: [Urgent][NYU Demo] How to get a
newly added records from a (csv) file, via ESB logic)


Thanks,
-- 
<dev-requ...@wso2.org>
Keerthika Mahendralingam
Software Engineer
Mobile :+94 (0) 776 121144
keerth...@wso2.com
WSO2, Inc.
lean . enterprise . middleware
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] ESB WSO2 connector

2017-08-02 Thread Keerthika Mahendralingam
Hi Yasitha,

Thanks for your contribution. We will check and let you know.

Thanks,

On Wed, Aug 2, 2017 at 12:23 PM, yasitha dananjaya <
yasithadananjayaher...@gmail.com> wrote:

> Hi All,
>
> I have finished writing the connector.You can find the connector in the
> following Git repository link[1]. And here attached both Icon and
> Documentation[2] as well.
>
>
>
>
> [1]
> https://github.com/YasithaDananjaya/esb-connector-workable
>
> [2]
>
>
> <http://www.avg.com/email-signature?utm_medium=email_source=link_campaign=sig-email_content=webmail>
>  Virus-free.
> www.avg.com
> <http://www.avg.com/email-signature?utm_medium=email_source=link_campaign=sig-email_content=webmail>
> <#m_7557155919663398107_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>



-- 
<dev-requ...@wso2.org>
Keerthika Mahendralingam
Software Engineer
Mobile :+94 (0) 776 121144
keerth...@wso2.com
WSO2, Inc.
lean . enterprise . middleware
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


[Architecture] Rewriting Dropbox Connector

2016-10-24 Thread Keerthika Mahendralingam
Hi All,

Current Dropbox connector is implemented based on Dropbox API V1 which is
deprecated now. So I am planning to rewrite the connector for API V2 with
the following methods:

*Files and Metadata:*

   - getFile: Downloads a file.
   - uploadFile: Uploads a file.
   - getMetadata: Retrieves file and folder metadata.
   - getRevisionMetadata: Retreives metadata for the previous revisions.
   - restoreFile: Restores the file path.
   - search: Returns metadata for all files and folders.
   - share: Creates and returns a Dropbox link.
   - chunkUpload: Uploads large files in multiple chunks.
   - commitChunk: Completes an upload.
   - createDirectLink: Returns a link directly to a file.

*File operation:*

   - copy: Copies a file or folder.
   - createFolder: Creates a folder.
   - delete: Deletes a file or folder.
   - move: Moves a file or folder.


Please let me know if you have any suggestions.

[1]. https://wso2.org/jira/browse/ESBCONNECT-105
<https://wso2.org/jira/browse/ESBCONNECT-105>

Thanks,
-- 
<dev-requ...@wso2.org>
Keerthika Mahendralingam
Software Engineer
Mobile :+94 (0) 776 121144
keerth...@wso2.com
WSO2, Inc.
lean . enterprise . middleware
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] ESB connector auto generation tool

2016-10-13 Thread Keerthika Mahendralingam
;>> Mobile | +94752833834|+94777226874
>>>>>>> Email   | raj...@wso2.com
>>>>>>> LinkedIn <https://lk.linkedin.com/in/hmohammedrajjaz> | Blogger
>>>>>>> <http://rajjazhm.blogspot.com/> | WSO2 Profile
>>>>>>> <http://wso2.com/about/team/mohammer-rajjaz/>
>>>>>>> [image: https://wso2.com/signature] <https://wso2.com/signature>
>>>>>>>
>>>>>>> ___
>>>>>>> Architecture mailing list
>>>>>>> Architecture@wso2.org
>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>>
>>>>>> Ajanthan
>>>>>> Software Engineer;
>>>>>> WSO2, Inc.;  http://wso2.com/
>>>>>>
>>>>>> email: ajanthan <http://goog_595075977>@wso2.com; cell: +1 425 919
>>>>>> 8630
>>>>>> blog: http://bkayts.blogspot.com/
>>>>>>
>>>>>> Lean . Enterprise . Middleware
>>>>>>
>>>>>> ___
>>>>>> Architecture mailing list
>>>>>> Architecture@wso2.org
>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Kasun Indrasiri
>>>>> Director, Integration Technologies
>>>>> WSO2, Inc.; http://wso2.com
>>>>> lean.enterprise.middleware
>>>>>
>>>>> cell: +1 650 450 2293
>>>>> Blog : http://kasunpanorama.blogspot.com/
>>>>>
>>>>> ___
>>>>> Architecture mailing list
>>>>> Architecture@wso2.org
>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> Best Regards,
>>>>
>>>> Malaka Silva
>>>> Senior Technical Lead
>>>> M: +94 777 219 791
>>>> Tel : 94 11 214 5345
>>>> Fax :94 11 2145300
>>>> Skype : malaka.sampath.silva
>>>> LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77
>>>> Blog : http://mrmalakasilva.blogspot.com/
>>>>
>>>> WSO2, Inc.
>>>> lean . enterprise . middleware
>>>> https://wso2.com/signature
>>>> http://www.wso2.com/about/team/malaka-silva/
>>>> <http://wso2.com/about/team/malaka-silva/>
>>>> https://store.wso2.com/store/
>>>>
>>>> Don't make Trees rare, we should keep them with care
>>>>
>>>> ___
>>>> Architecture mailing list
>>>> Architecture@wso2.org
>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>
>>>>
>>>
>>>
>>> --
>>> Thank you
>>> Best Regards
>>>
>>> *Rajjaz HM*
>>> Associate Software Engineer
>>> Platform Extension Team
>>> WSO2 Inc. <http://wso2.com/>
>>> lean | enterprise | middleware
>>> Mobile | +94752833834|+94777226874
>>> Email   | raj...@wso2.com
>>> LinkedIn <https://lk.linkedin.com/in/hmohammedrajjaz> | Blogger
>>> <http://rajjazhm.blogspot.com/> | WSO2 Profile
>>> <http://wso2.com/about/team/mohammer-rajjaz/>
>>> [image: https://wso2.com/signature] <https://wso2.com/signature>
>>>
>>> ___
>>> Architecture mailing list
>>> Architecture@wso2.org
>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>
>>>
>>
>>
>> --
>>
>> Best Regards,
>>
>> Malaka Silva
>> Senior Technical Lead
>> M: +94 777 219 791
>> Tel : 94 11 214 5345
>> Fax :94 11 2145300
>> Skype : malaka.sampath.silva
>> LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77
>> Blog : http://mrmalakasilva.blogspot.com/
>>
>> WSO2, Inc.
>> lean . enterprise . middleware
>> https://wso2.com/signature
>> http://www.wso2.com/about/team/malaka-silva/
>> <http://wso2.com/about/team/malaka-silva/>
>> https://store.wso2.com/store/
>>
>> Don't make Trees rare, we should keep them with care
>>
>> ___
>> Architecture mailing list
>> Architecture@wso2.org
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
>
> --
> Thank you
> Best Regards
>
> *Rajjaz HM*
> Associate Software Engineer
> Platform Extension Team
> WSO2 Inc. <http://wso2.com/>
> lean | enterprise | middleware
> Mobile | +94752833834|+94777226874
> Email   | raj...@wso2.com
> LinkedIn <https://lk.linkedin.com/in/hmohammedrajjaz> | Blogger
> <http://rajjazhm.blogspot.com/> | WSO2 Profile
> <http://wso2.com/about/team/mohammer-rajjaz/>
> [image: https://wso2.com/signature] <https://wso2.com/signature>
>
> ___
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
<dev-requ...@wso2.org>
Keerthika Mahendralingam
Software Engineer
Mobile :+94 (0) 776 121144
keerth...@wso2.com
WSO2, Inc.
lean . enterprise . middleware
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


[Architecture] [PET] Rewriting the Stripe Connector

2016-09-25 Thread Keerthika Mahendralingam
Hi All,

Since there are API changes[1] in Stripe API, I have planned to rewrite the
existing connector[2].

Please let me know if you have any concerns.

[1]. https://wso2.org/jira/browse/ESBCONNECT-114
[2]. [Architecture] Stripe Web Connector for WSO2 ESB

Thanks,
Keerthika.
-- 
<dev-requ...@wso2.org>
Keerthika Mahendralingam
Software Engineer
Mobile :+94 (0) 776 121144
keerth...@wso2.com
WSO2, Inc.
lean . enterprise . middleware
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Fwd: OATH Authenticators for IS

2016-03-10 Thread Keerthika Mahendralingam
Yes, IMO we can't rename TOTP as Google authenticator. Because TOTP will
provide the facility to use the Google authenticator to get the token and
validate the user. But it can be also used to authenticate the user like
SMSOTP and emailOTP.


Thanks,

On Thu, Mar 10, 2016 at 7:34 PM, Prabath Siriwardana <prab...@wso2.com>
wrote:

>
>
> On Tue, Mar 8, 2016 at 10:24 PM, Kathees Rajendram <kath...@wso2.com>
> wrote:
>
>> +1 for common module for TOTP and HOTP algorithms.
>>
>> IMO can we rename TOTP authenticator to Google Authenticator.
>>
>
> Isn't that misleading...?
>
>
>> SMS OTP, Email OTP and Google Authenticator can have the options TOTP
>> and  HOTP.
>>
>> Thanks,
>> Kahees
>>
>> On Tue, Mar 8, 2016 at 7:51 PM, Malaka Silva <mal...@wso2.com> wrote:
>>
>>> +1 for separating common modules.
>>>
>>> However IMO these needs to go as two different authenticators since
>>> it provides two distinct methods to authenticate.
>>>
>>> +architecture
>>>
>>> -- Forwarded message --
>>> From: Rajj
>>> ​common mod​
>>> az Mohammed <raj...@wso2.com>
>>> Date: Tue, Mar 8, 2016 at 6:56 PM
>>> Subject: OATH Authenticators for IS
>>> To: Malaka Silva <mal...@wso2.com>, Rohan Perera <ro...@wso2.com>
>>> Cc: Kathees Rajendram <kath...@wso2.com>, Elilmatha Sivanesan <
>>> elilma...@wso2.com>, Keerthika Mahendralingam <keerth...@wso2.com>,
>>> Shakila Sivagnanarajah <shak...@wso2.com>
>>>
>>>
>>> Hi All,
>>> We already have SMS OTP , Email OTP and TOTP all are using hash-based
>>> message authentication code
>>> <https://en.wikipedia.org/wiki/Hash-based_message_authentication_code>
>>> (HMAC) algorithm. OATH provides 2 types of authentication methods[1]
>>> TOTP[2] and HOTP[3].
>>>
>>> OTP relies on two basic things, a shared secret and a moving factor. for
>>> TOTP moving factor will be a timestamp[2] and for HOTP that moving factor
>>> will be a counter[3].
>>> But according to the list[4] given by IS Team we are developing separate
>>> authenticators. can't we create common modules for these OATH[1]
>>> authenticators?
>>>
>>> WDYT?
>>>
>>>
>>> [1] https://openauthentication.org/specifications-technical-resources/
>>> [2] https://en.wikipedia.org/wiki/Time-based_One-time_Password_Algorithm
>>> [3] https://en.wikipedia.org/wiki/HMAC-based_One-time_Password_Algorithm
>>> [4]
>>> https://docs.google.com/spreadsheets/d/1WhAc2yXg9SJ_fAFQYKwetbmP09m5TWEvRGLp04a0dO8/edit#gid=2089406928
>>>
>>>
>>>
>>> --
>>> Thank you
>>> Best Regards
>>>
>>> *Rajjaz HM*
>>> Associate Software Engineer
>>> Platform Extension Team
>>> WSO2 Inc. <http://wso2.com/>
>>> lean | enterprise | middleware
>>> Mobile | +94752833834|+94777226874
>>> Email   | raj...@wso2.com
>>> LinkedIn | Blogger | WSO2 Profile
>>> <http://wso2.com/about/team/mohammer_rajjaz/>
>>>
>>>
>>>
>>> --
>>>
>>> Best Regards,
>>>
>>> Malaka Silva
>>> Senior Tech Lead
>>> M: +94 777 219 791
>>> Tel : 94 11 214 5345
>>> Fax :94 11 2145300
>>> Skype : malaka.sampath.silva
>>> LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77
>>> Blog : http://mrmalakasilva.blogspot.com/
>>>
>>> WSO2, Inc.
>>> lean . enterprise . middleware
>>> http://www.wso2.com/
>>> http://www.wso2.com/about/team/malaka-silva/
>>> <http://wso2.com/about/team/malaka-silva/>
>>> https://store.wso2.com/store/
>>>
>>> Save a tree -Conserve nature & Save the world for your future. Print
>>> this email only if it is absolutely necessary.
>>>
>>> ___
>>> Architecture mailing list
>>> Architecture@wso2.org
>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>
>>>
>>
>>
>> --
>> Kathees
>> Software Engineer,
>> email: kath...@wso2.com
>> mobile: +94772596173
>>
>> ___
>> Architecture mailing list
>> Architecture@wso2.org
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
>
> --
> Thanks & Regards,
> Prabath
>
> Twitter : @prabath
> LinkedIn : http://www.linkedin.com/in/prabathsiriwardena
>
> Mobile : +1 650 625 7950
>
> http://blog.facilelogin.com
> http://blog.api-security.org
>
> ___
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
<dev-requ...@wso2.org>
Keerthika Mahendralingam
Associate Software Engineer
Mobile :+94 (0) 776 121144
keerth...@wso2.com
WSO2, Inc.
lean . enterprise . middleware
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


[Architecture] [PET] AmazonS3 Connector Improvement

2016-02-20 Thread Keerthika Mahendralingam
Hi All,

Since setting the permissions, configurations, and lifecycle for a created
bucket and objects and retrieving them is mostly important, I am planning
to implement the following methods in AmazonS3 connector.

   - PUT Bucket acl - to set the permissions on an existing bucket using
   access control lists (ACL).
   - PUT Bucket cors - Sets the cors configuration for your bucket.
   - PUT Bucket lifecycle - Creates a new lifecycle configuration for the
   bucket or replaces an existing lifecycle configuration.
   - PUT Bucket policy - To add to or replace a policy on a bucket.
   - PUT Bucket logging - To set the logging parameters for a bucket and to
   specify permissions for who can view and modify the logging parameters.
   - PUT Bucket notification -  To receive notifications when certain
   events happen in your bucket.
   - PUT Bucket tagging - To add a set of tags to an existing bucket.
   - PUT Bucket requestPayment - To set the request payment configuration
   of a bucket.
   - PUT Bucket versioning - To set the versioning state of an existing
   bucket.
   - PUT Bucket replication - To creates a new replication configuration.
   Replication enables automatic, asynchronous copying of objects across
   buckets in different AWS regions.


   - GET Bucket cors - Returns the cors configuration information set for
   the bucket.
   - GET Bucket location - Returns a bucket's region.
   - GET Bucket logging - Returns the logging status of a bucket and the
   permissions users have to view and modify that status.
   - GET Bucket notification - Returns the notification configuration of a
   bucket.
   - GET Bucket tagging - Returns the tag set associated with the bucket.
   - GET Bucket replication - Returns the replication configuration
   information set on the bucket.


   - DELETE Bucket cors - Deletes the cors configuration information set
   for the bucket.
   - DELETE Bucket lifecycle - Deletes the lifecycle configuration from the
   specified bucket.
   - DELETE Bucket tagging - To remove a tag set from the specified bucket.
   - DELETE Bucket replication - Deletes the replication subresource
   associated with the specified bucket.


   - HEAD Bucket - This operation is useful to determine if a bucket exists
   and you have permission to access it.
   - HEAD Object - Retrieves metadata from an object without returning the
   object itself.


   - GET Object ACL - Returns the access control list (ACL) of an object.
   - GET Object torrent - Returns torrent files from a bucket.
   - POST Object restore - Restores a temporary copy of an archived object.

Please let me know if you have any suggestions on this?

Thanks,
-- 
<dev-requ...@wso2.org>
Keerthika Mahendralingam
Associate Software Engineer
Mobile :+94 (0) 776 121144
keerth...@wso2.com
WSO2, Inc.
lean . enterprise . middleware
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [PET] AmazonSQS Connector Improvement

2016-02-19 Thread Keerthika Mahendralingam
With these methods all methods in the API will be covered.

On Fri, Feb 19, 2016 at 6:29 PM, Malaka Silva <mal...@wso2.com> wrote:

> Can you also mention methods we left off pls?
>
> On Fri, Feb 19, 2016 at 2:19 PM, Keerthika Mahendralingam <
> keerth...@wso2.com> wrote:
>
>> Hi All,
>>
>> I’m planning to improve the existing Amazon AQS connector with the
>> following methods:
>>
>>
>>- SendMessageBatch - Delivers up to ten messages to the specified
>>queue.
>>- ChangeMessageVisibilityBatch - Changes the visibility timeout of
>>multiple messages.
>>- DeleteMessageBatch - Deletes up to ten messages from the specified
>>queue.
>>- GetQueueUrl - Returns the URL of an existing queue.
>>- PurgeQueue - Deletes the messages in a queue specified by the queue
>>URL.
>>- ListDeadLetterSourceQueues - Returns a list of your queues that
>>have the RedrivePolicy queue attribute configured with a dead letter 
>> queue.
>>A dead letter queue is a queue that other queues can target to send
>>messages that for some reason could not be successfully processed. A
>>primary benefit of using a dead letter queue is the ability to sideline 
>> and
>>isolate the unsuccessfully processed messages. You can then analyse any
>>messages sent to the dead letter queue to try and determine why they were
>>not successfully processed.
>>
>>
>> Please let me know if you have any suggestions on above methods.
>>
>> --
>> <dev-requ...@wso2.org>
>> Keerthika Mahendralingam
>> Associate Software Engineer
>> Mobile :+94 (0) 776 121144
>> keerth...@wso2.com
>> WSO2, Inc.
>> lean . enterprise . middleware
>>
>
>
>
> --
>
> Best Regards,
>
> Malaka Silva
> Senior Tech Lead
> M: +94 777 219 791
> Tel : 94 11 214 5345
> Fax :94 11 2145300
> Skype : malaka.sampath.silva
> LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77
> Blog : http://mrmalakasilva.blogspot.com/
>
> WSO2, Inc.
> lean . enterprise . middleware
> http://www.wso2.com/
> http://www.wso2.com/about/team/malaka-silva/
> <http://wso2.com/about/team/malaka-silva/>
> https://store.wso2.com/store/
>
> Save a tree -Conserve nature & Save the world for your future. Print this
> email only if it is absolutely necessary.
>



-- 
<dev-requ...@wso2.org>
Keerthika Mahendralingam
Associate Software Engineer
Mobile :+94 (0) 776 121144
keerth...@wso2.com
WSO2, Inc.
lean . enterprise . middleware
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


[Architecture] [PET] AmazonSQS Connector Improvement

2016-02-19 Thread Keerthika Mahendralingam
 Hi All,

I’m planning to improve the existing Amazon AQS connector with the
following methods:


   - SendMessageBatch - Delivers up to ten messages to the specified queue.
   - ChangeMessageVisibilityBatch - Changes the visibility timeout of
   multiple messages.
   - DeleteMessageBatch - Deletes up to ten messages from the specified
   queue.
   - GetQueueUrl - Returns the URL of an existing queue.
   - PurgeQueue - Deletes the messages in a queue specified by the queue
   URL.
   - ListDeadLetterSourceQueues - Returns a list of your queues that have
   the RedrivePolicy queue attribute configured with a dead letter queue. A
   dead letter queue is a queue that other queues can target to send messages
   that for some reason could not be successfully processed. A primary benefit
   of using a dead letter queue is the ability to sideline and isolate the
   unsuccessfully processed messages. You can then analyse any messages sent
   to the dead letter queue to try and determine why they were not
   successfully processed.


Please let me know if you have any suggestions on above methods.

-- 
<dev-requ...@wso2.org>
Keerthika Mahendralingam
Associate Software Engineer
Mobile :+94 (0) 776 121144
keerth...@wso2.com
WSO2, Inc.
lean . enterprise . middleware
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Fully automate cloud to cloud (iPaaS) use cases

2016-01-29 Thread Keerthika Mahendralingam
+Nadeesan.

On Sat, Jan 30, 2016 at 12:48 PM, Keerthika Mahendralingam <
keerth...@wso2.com> wrote:

> +1 for class mediator.
>
> @Thulasika, As Malaka said in the code review, it is better to create a
> common module for this function so that other connectors also make use of
> it.
>
> On Sat, Jan 30, 2016 at 12:40 PM, Kathees Rajendram <kath...@wso2.com>
> wrote:
>
>> Hi Thulasika,
>>
>> I think Script mediator will have some performance impact on the
>> mediation logic. You should create a class mediator to store the content
>> into the registry. As Malaka said you should do load testing with both and
>> compare performance  with script mediator and class mediator.
>>
>> String resourcePath = "conf:/store/myStore";
>> mc.getConfiguration().getRegistry().newResource(resourcePath, false);
>> mc.getConfiguration().getRegistry().updateResource(
>> resourcePath,
>> mc.getProperty("myProperty").toString().getBytes());
>>
>> Thanks,
>> Kathees
>>
>> On Sat, Jan 30, 2016 at 11:35 AM, Malaka Silva <mal...@wso2.com> wrote:
>>
>>> Hi All,
>>>
>>> If we implement this using esb 4.10 feature whole connector is
>>> compatible with ESB 4.10 only. Doing a separate version of each connector
>>> to support this feature is not good.
>>>
>>> So will proceed with script mediator approach. However we need to run
>>> some testing before implementing this for rest.
>>>
>>> eg:- Load test and concurrent testing.
>>>
>>> On Sat, Jan 30, 2016 at 11:25 AM, Thulasika Vijayanathan <
>>> thulas...@wso2.com> wrote:
>>>
>>>> Hi All,
>>>>
>>>> I used  the script mediator to store the access token then I tried to
>>>> use ESB 4.10 registry persistence feature to store the access token. It
>>>> works in 4.10 but It doesn't work with previous versions even we can't
>>>> enable the connector in previous versions(4.8 & 4.9) so finally I have used
>>>> the script mediator.
>>>>
>>>> Thanks,
>>>> Thulasika.
>>>>
>>>> On Fri, Jan 29, 2016 at 8:17 PM, Nadeeshaan Gunasinghe <
>>>> nadeesh...@wso2.com> wrote:
>>>>
>>>>> Hi Keerthika,
>>>>> That approach looks so good since we can use this even in the past
>>>>> releases also. As I remember Thulasika used similar approach before.
>>>>>
>>>>>
>>>>> *Nadeeshaan Gunasinghe*
>>>>> Software Engineer, WSO2 Inc. http://wso2.com
>>>>> +94770596754 | nadeesh...@wso2.com | Skype: nadeeshaan.gunasinghe
>>>>> <#-158099495_-1336465115_-1479784970_201381195_-1671503430_>
>>>>> <http://www.facebook.com/nadeeshaan.gunasinghe>
>>>>> <http://lk.linkedin.com/in/nadeeshaan>
>>>>> <http://twitter.com/Nadeeshaan>  <http://nadeeshaan.blogspot.com/>
>>>>> Get a signature like this: Click here!
>>>>> <http://ws-promos.appspot.com/r?rdata=eyJydXJsIjogImh0dHA6Ly93d3cud2lzZXN0YW1wLmNvbS9lbWFpbC1pbnN0YWxsP3dzX25jaWQ9NjcyMjk0MDA4JnV0bV9zb3VyY2U9ZXh0ZW5zaW9uJnV0bV9tZWRpdW09ZW1haWwmdXRtX2NhbXBhaWduPXByb21vXzU3MzI1Njg1NDg3Njk3OTIiLCAiZSI6ICI1NzMyNTY4NTQ4NzY5NzkyIn0=>
>>>>>
>>>>> On Fri, Jan 29, 2016 at 12:14 PM, Malaka Silva <mal...@wso2.com>
>>>>> wrote:
>>>>>
>>>>>> This looks good, since this way we can support ESB versions since 480.
>>>>>>
>>>>>> On Fri, Jan 29, 2016 at 11:14 AM, Keerthika Mahendralingam <
>>>>>> keerth...@wso2.com> wrote:
>>>>>>
>>>>>>> Hi Thulashika,
>>>>>>> I think you can use the following script to save the feilds in
>>>>>>> registry. It will work with 4.8.1, 4.9.0 and 4.10 as well.
>>>>>>>
>>>>>>> <![CDATA[
>>>>>>>
>>>>>>> var accessToken = mc.getProperty('accessToken');
>>>>>>>
>>>>>>> importPackage(Packages.org.apache.synapse.config);
>>>>>>>
>>>>>>>
>>>>>>> mc.getConfiguration().getRegistry().newResource("connectors/credentials/
>>>>>>> accessToken",false);
>>>>>>>
>>>>>>> mc.getConfiguration().getRegistry().updateResource("
>>>>>>> connectors/

Re: [Architecture] Fully automate cloud to cloud (iPaaS) use cases

2016-01-29 Thread Keerthika Mahendralingam
+1 for class mediator.

@Thulasika, As Malaka said in the code review, it is better to create a
common module for this function so that other connectors also make use of
it.

On Sat, Jan 30, 2016 at 12:40 PM, Kathees Rajendram <kath...@wso2.com>
wrote:

> Hi Thulasika,
>
> I think Script mediator will have some performance impact on the mediation
> logic. You should create a class mediator to store the content into the
> registry. As Malaka said you should do load testing with both and compare
> performance  with script mediator and class mediator.
>
> String resourcePath = "conf:/store/myStore";
> mc.getConfiguration().getRegistry().newResource(resourcePath, false);
> mc.getConfiguration().getRegistry().updateResource(
> resourcePath,
> mc.getProperty("myProperty").toString().getBytes());
>
> Thanks,
> Kathees
>
> On Sat, Jan 30, 2016 at 11:35 AM, Malaka Silva <mal...@wso2.com> wrote:
>
>> Hi All,
>>
>> If we implement this using esb 4.10 feature whole connector is compatible
>> with ESB 4.10 only. Doing a separate version of each connector to support
>> this feature is not good.
>>
>> So will proceed with script mediator approach. However we need to run
>> some testing before implementing this for rest.
>>
>> eg:- Load test and concurrent testing.
>>
>> On Sat, Jan 30, 2016 at 11:25 AM, Thulasika Vijayanathan <
>> thulas...@wso2.com> wrote:
>>
>>> Hi All,
>>>
>>> I used  the script mediator to store the access token then I tried to
>>> use ESB 4.10 registry persistence feature to store the access token. It
>>> works in 4.10 but It doesn't work with previous versions even we can't
>>> enable the connector in previous versions(4.8 & 4.9) so finally I have used
>>> the script mediator.
>>>
>>> Thanks,
>>> Thulasika.
>>>
>>> On Fri, Jan 29, 2016 at 8:17 PM, Nadeeshaan Gunasinghe <
>>> nadeesh...@wso2.com> wrote:
>>>
>>>> Hi Keerthika,
>>>> That approach looks so good since we can use this even in the past
>>>> releases also. As I remember Thulasika used similar approach before.
>>>>
>>>>
>>>> *Nadeeshaan Gunasinghe*
>>>> Software Engineer, WSO2 Inc. http://wso2.com
>>>> +94770596754 | nadeesh...@wso2.com | Skype: nadeeshaan.gunasinghe
>>>> <#-1336465115_-1479784970_201381195_-1671503430_>
>>>> <http://www.facebook.com/nadeeshaan.gunasinghe>
>>>> <http://lk.linkedin.com/in/nadeeshaan>  <http://twitter.com/Nadeeshaan>
>>>>   <http://nadeeshaan.blogspot.com/>
>>>> Get a signature like this: Click here!
>>>> <http://ws-promos.appspot.com/r?rdata=eyJydXJsIjogImh0dHA6Ly93d3cud2lzZXN0YW1wLmNvbS9lbWFpbC1pbnN0YWxsP3dzX25jaWQ9NjcyMjk0MDA4JnV0bV9zb3VyY2U9ZXh0ZW5zaW9uJnV0bV9tZWRpdW09ZW1haWwmdXRtX2NhbXBhaWduPXByb21vXzU3MzI1Njg1NDg3Njk3OTIiLCAiZSI6ICI1NzMyNTY4NTQ4NzY5NzkyIn0=>
>>>>
>>>> On Fri, Jan 29, 2016 at 12:14 PM, Malaka Silva <mal...@wso2.com> wrote:
>>>>
>>>>> This looks good, since this way we can support ESB versions since 480.
>>>>>
>>>>> On Fri, Jan 29, 2016 at 11:14 AM, Keerthika Mahendralingam <
>>>>> keerth...@wso2.com> wrote:
>>>>>
>>>>>> Hi Thulashika,
>>>>>> I think you can use the following script to save the feilds in
>>>>>> registry. It will work with 4.8.1, 4.9.0 and 4.10 as well.
>>>>>>
>>>>>> <![CDATA[
>>>>>>
>>>>>> var accessToken = mc.getProperty('accessToken');
>>>>>>
>>>>>> importPackage(Packages.org.apache.synapse.config);
>>>>>>
>>>>>>
>>>>>> mc.getConfiguration().getRegistry().newResource("connectors/credentials/
>>>>>> accessToken",false);
>>>>>>
>>>>>> mc.getConfiguration().getRegistry().updateResource("
>>>>>> connectors/credentials/accessToken", accessToken);
>>>>>>
>>>>>> ]]>
>>>>>>
>>>>>> 
>>>>>>
>>>>>>
>>>>>> @Malaka/Nadeesan, Do you have any suggestion on this?
>>>>>>
>>>>>>
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> On Wed, Jan 27, 2016 at 3:25 PM, Nadeeshaan Gunasinghe <
>>>>>> nadees

Re: [Architecture] Fully automate cloud to cloud (iPaaS) use cases

2016-01-28 Thread Keerthika Mahendralingam
che.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
>> at
>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99)
>> at
>> org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:49)
>> at
>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62)
>> at
>> org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159)
>> at
>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
>> at
>> org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57)
>> at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
>> at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
>> at
>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
>> at
>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
>> at
>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1739)
>> at
>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1698)
>> at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>> at
>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>> at java.lang.Thread.run(Thread.java:745)
>> Caused by: org.apache.synapse.SynapseException: Only 'axis2' or
>> 'transport' or 'axis2-client' or 'default' or 'operation' values are
>> allowed for attribute scope for a property mediator, Unsupported scope
>> registry
>> at
>> org.apache.synapse.config.xml.PropertyMediatorFactory.createSpecificMediator(PropertyMediatorFactory.java:137)
>> at
>> org.apache.synapse.config.xml.AbstractMediatorFactory.createMediator(AbstractMediatorFactory.java:94)
>> at
>> org.apache.synapse.config.xml.MediatorFactoryFinder.getMediator(MediatorFactoryFinder.java:224)
>> at
>> org.apache.synapse.config.xml.AbstractListMediatorFactory.addChildren(AbstractListMediatorFactory.java:46)
>> at
>> org.apache.synapse.config.xml.FilterMediatorFactory.createSpecificMediator(FilterMediatorFactory.java:136)
>> at
>> org.apache.synapse.config.xml.AbstractMediatorFactory.createMediator(AbstractMediatorFactory.java:94)
>> at
>> org.apache.synapse.config.xml.MediatorFactoryFinder.getMediator(MediatorFactoryFinder.java:224)
>> at
>> org.apache.synapse.config.xml.AbstractListMediatorFactory.addChildren(AbstractListMediatorFactory.java:46)
>> at
>> org.apache.synapse.config.xml.FilterMediatorFactory.createSpecificMediator(FilterMediatorFactory.java:136)
>> at
>> org.apache.synapse.config.xml.AbstractMediatorFactory.createMediator(AbstractMediatorFactory.java:94)
>> at
>> org.apache.synapse.config.xml.MediatorFactoryFinder.getMediator(MediatorFactoryFinder.java:224)
>> at
>> org.apache.synapse.config.xml.AbstractListMediatorFactory.addChildren(AbstractListMediatorFactory.java:46)
>> at
>> org.apache.synapse.config.xml.TemplateMediatorFactory.createSpecificMediator(TemplateMediatorFactory.java:61)
>> at
>> org.apache.synapse.config.xml.AbstractMediatorFactory.createMediator(AbstractMediatorFactory.java:94)
>> at
>> org.apache.synapse.config.xml.MediatorFactoryFinder.getMediator(MediatorFactoryFinder.java:224)
>> at
>> org.apache.synapse.libraries.model.LibraryArtifact$TemplateArtifactFile.build(LibraryArtifact.java:190)
>> ... 133 more
>>
>>
>> Thanks,
>> Thulasika
>>
>>
>> On Tue, Dec 8, 2015 at 11:35 AM, Malaka Silva <mal...@wso2.com> wrote:
>>
>>> Hi,
>>>
>>> One of the main issues we had when automating the integration use cases
>>> is accesstokens getting expired and need human interaction to continue the
>>> service.
>>>
>>> From connector side (Since September release) we have added methods to
>>> renew the tokens using refresh token.
>>>
>>> With ESB 4.10 registry persistence feature we can fully automate this
>>> use case.
>>>
>>> As the first stage we are going to check how this can be done. For this
>>> will be using the sync service from Salesforce to Google Sheets as the
>>> model use case.
>>>
>>> We will plan to do this change focusing on following points.
>>>
>>>1. Connectors should make use of this ESB 4.10 new feature.
>>>2. Connector should be also compatible with previous versions.
>>>
>>> May be we can introduce a new init method for esb 4.10?
>>>
>>> Thulasika is currently checking this.
>>>
>>> @Thulasika please use this thread to update the findings.
>>>
>>> Best Regards,
>>>
>>> Malaka Silva
>>> Senior Tech Lead
>>> M: +94 777 219 791
>>> Tel : 94 11 214 5345
>>> Fax :94 11 2145300
>>> Skype : malaka.sampath.silva
>>> LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77
>>> Blog : http://mrmalakasilva.blogspot.com/
>>>
>>> WSO2, Inc.
>>> lean . enterprise . middleware
>>> http://www.wso2.com/
>>> http://www.wso2.com/about/team/malaka-silva/
>>> <http://wso2.com/about/team/malaka-silva/>
>>> https://store.wso2.com/store/
>>>
>>> Save a tree -Conserve nature & Save the world for your future. Print
>>> this email only if it is absolutely necessary.
>>>
>>
>>
>>
>> --
>> Thulasika
>> Associate Software Engineer
>> Mobile:0778014295
>> email: thulas...@wso2.com <sanj...@wso2.com>
>>
>
>
> ___
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
<dev-requ...@wso2.org>
Keerthika Mahendralingam
Associate Software Engineer
Mobile :+94 (0) 776 121144
keerth...@wso2.com
WSO2, Inc.
lean . enterprise . middleware
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] ITERATE MEDIATOR

2015-09-16 Thread Keerthika Mahendralingam
Hi John,
You can use a property to count the number of iterations and invoke the
next service once all iterations are finished.
For example,



   

   --
   
  



  
   -call service---
   


Thanks,

On Wed, Sep 16, 2015 at 10:45 PM, John Q <johnq3...@gmail.com> wrote:

> Colin, thanks for your answer, actually I am using the iterate mediator,
> the problem is that I want to receive the original message, iterate over
> all the items calling the service for each one and finally call another
> service onlye once, but the service is invoked many times.
>
> this is what I have now:
>
> 
>  
>here I call the service for the item...
> 
> 
> here I call the service to notify
>
> the notify service is been invoked per each item...
>
> On Wed, Sep 16, 2015 at 1:11 PM, Colin Roy-Ehri <col...@wso2.com> wrote:
>
>> Hi John Q,
>>
>> The aggregate mediator is used for exactly this purpose (1).
>>
>> (1) https://docs.wso2.com/display/ESB481/Aggregate+Mediator
>>
>> Thanks,
>> Colin Roy-Ehri
>> Software Engineer
>> *WSO2, Inc. : wso2.com <http://wso2.com/>*
>> *Mobile*  : 812-219-6517
>>
>> On Wed, Sep 16, 2015 at 12:56 PM, John Q <johnq3...@gmail.com> wrote:
>>
>>> Hello, I´m beginner and I need some help with the ESB.
>>>
>>> This is my situation:
>>>
>>> I will receive a message with many items, I need to iterate the items
>>> list and call a service for creating each item. At the end of all of the
>>> calls, I need to call another service to notify the end of items creation.
>>>
>>> how can I do it? I have used the iterate mediator and I have iterated
>>> the items well, but I don´t know how to wait until the last item is created
>>> and call the notify service only once. I have called the notify service
>>> outside the iterator mediator, but it is invoked once per each item
>>> iterated.
>>>
>>> can any body give me a clue?
>>>
>>> best regards...
>>>
>>> ___
>>> 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
>
>


-- 
<dev-requ...@wso2.org>
Keerthika Mahendralingam
Associate Software Engineer
Mobile :+94 (0) 776 121144
keerth...@wso2.com
WSO2, Inc.
lean . enterprise . middleware
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Fwd: Stripe Web Connector for WSO2 ESB

2015-02-14 Thread Keerthika Mahendralingam
Hi All,

please find the pull request for the above changes in [1].

[1]. https://github.com/wso2/esb-connectors/pull/54

Thank you,

On Tue, Feb 10, 2015 at 9:26 AM, Keerthika Mahendralingam 
keerth...@wso2.com wrote:

 Hi All,
 Since there are some additional parameters and one more method are added
 in the Stripe API, now I am working on to include those into Stripe ESB
 connector.

 Thank you,

 On Fri, Dec 19, 2014 at 2:08 PM, Keerthika Mahendralingam 
 keerth...@wso2.com wrote:

 Hi all,
 I have completed the fast track project according to the milestone. I am
 continuing the remaining resources to fulfill the entire connector.

 please find the milestone plan [1] , git repository[2] , and
 documentation[3] which are ready to review.

 [1]
 https://docs.google.com/a/wso2.com/spreadsheets/d/1SsgV1T893aY_RdGrjRpWGUIYNYGSliHRpGAEpZ429-M/edit#gid=0

 [2] https://github.com/keerthu/StripeESBConnector/

 [3] 
 *https://docs.google.com/a/wso2.com/document/d/164T9VF49W3_KZTobwvV1oW_oJOvW645C2ueNvG1iS7E/edit?usp=sharing
 https://docs.google.com/a/wso2.com/document/d/164T9VF49W3_KZTobwvV1oW_oJOvW645C2ueNvG1iS7E/edit?usp=sharing*

 Thank you,
 --
 dev-requ...@wso2.org
 Keerthika Mahendralingam
 Associate Software Engineer
 Mobile :+94 (0) 776 121144
 keerth...@wso2.com
 WSO2, Inc.
 lean . enterprise . middleware




 --
 dev-requ...@wso2.org
 Keerthika Mahendralingam
 Associate Software Engineer
 Mobile :+94 (0) 776 121144
 keerth...@wso2.com
 WSO2, Inc.
 lean . enterprise . middleware




-- 
dev-requ...@wso2.org
Keerthika Mahendralingam
Associate Software Engineer
Mobile :+94 (0) 776 121144
keerth...@wso2.com
WSO2, Inc.
lean . enterprise . middleware
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Fwd: Stripe Web Connector for WSO2 ESB

2015-02-09 Thread Keerthika Mahendralingam
Hi All,
Since there are some additional parameters and one more method are added in
the Stripe API, now I am working on to include those into Stripe ESB
connector.

Thank you,

On Fri, Dec 19, 2014 at 2:08 PM, Keerthika Mahendralingam 
keerth...@wso2.com wrote:

 Hi all,
 I have completed the fast track project according to the milestone. I am
 continuing the remaining resources to fulfill the entire connector.

 please find the milestone plan [1] , git repository[2] , and
 documentation[3] which are ready to review.

 [1]
 https://docs.google.com/a/wso2.com/spreadsheets/d/1SsgV1T893aY_RdGrjRpWGUIYNYGSliHRpGAEpZ429-M/edit#gid=0

 [2] https://github.com/keerthu/StripeESBConnector/

 [3] 
 *https://docs.google.com/a/wso2.com/document/d/164T9VF49W3_KZTobwvV1oW_oJOvW645C2ueNvG1iS7E/edit?usp=sharing
 https://docs.google.com/a/wso2.com/document/d/164T9VF49W3_KZTobwvV1oW_oJOvW645C2ueNvG1iS7E/edit?usp=sharing*

 Thank you,
 --
 dev-requ...@wso2.org
 Keerthika Mahendralingam
 Associate Software Engineer
 Mobile :+94 (0) 776 121144
 keerth...@wso2.com
 WSO2, Inc.
 lean . enterprise . middleware




-- 
dev-requ...@wso2.org
Keerthika Mahendralingam
Associate Software Engineer
Mobile :+94 (0) 776 121144
keerth...@wso2.com
WSO2, Inc.
lean . enterprise . middleware
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Proposed ESB connector scenario - Integrating PeopleHR with ZohoRecruit, ActiveCollab, ZohoPeople, Deputy and Xero

2015-01-16 Thread Keerthika Mahendralingam
Hi Rasikah,

Please find the comments for the Xero ESB connector below:


   - Post methods didn't have the checking for mandatory and optional
   parameters.
   - Add copyright header in all template files.
   - The year should be 2005-2015 in copyright header
  - Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights
  Reserved
   - There are spelling mistakes in the following files:

postEmployees.xml

parameter name=employees

description=One or more employees can be sent through this paramater. /


getEmployee.xml

parameter name=order

description=This paramater is used to order by any element. /


getPayItems.xml

parameter name=order

description=This paramater is used to order by any element. /


getPayRuns.xml

parameter name=order

description=This paramater is used to order by any element. /

postPayRuns.xml

parameter name=payRuns description=One or more PayRun objects can be
sent through this paramater. /

getPaySchedules.xml

parameter name=order

description=This paramater is used to order by any element. /

postPayStubs.xml

parameter name=payStubs

description=One or more payStubs can be sent via this paramater. /

   - Authentication scope and flow not mentioned clearly in the
   documentation.


On Thu, Sep 4, 2014 at 4:27 PM, Rasika Hettige rasi...@gmail.com wrote:

 FFI, please find the methods that will implement under each connector
 below.


 *PeopleHR*

 *createEmployee *- Create an employee.
 *getEmployee *- Get details of an employee.
 *updateEmployee *- Update an existing employee.
 *createAbsenceRecord *- Add a leave record for an employee.
 *getAbsenceRecord *- Get leave details for an employee.
 *updateAbsenceRecord *- Update the leave details.
 *createTimesheet *- Create a new Timesheet.
 *getTimesheet *- Get employee timesheet.
 *updateTimesheet *- Update an existing employee timesheet.
 *createProjectTimesheet *- Create a new Project Timesheet.
 *getProjectTimesheet *- Get a Project Timesheet details.
 *updateProjectTimesheet *- Update an existing Project Timesheet.
 *createSalary *- Create the salary for an employee.
 *getSalary *- Get an existing salary details for an employee.


 *ZohoRecruit*

 *addRecords *- Create Job openings or Candidates.
 *getRecords *- Get a list of job openings or candidates in the system,
 filtered by queries.
 *updateRecords *- Update job openings or candidates that were previously
 created.
 *getRecordById *- Retieve a job opening or candidate using the Id.
 *associateJobOpening *- Associate candidates to a job opening.
 *getAssociatedCandidates *- Get a list of candidates who are associated to
 a
 particular job opening.
 *changeStatus *- Change the status of a set of candidates to hired/not
 hired
 with respect to a job opening.

 *ZohoPeople*

 *createRecord *- Create an employee in Zoho People API.
 *createLeave *- Add a leave for an employee.
 *createAttendance *- Create check In and check Out records of employee.
 *updateRecord *- Update any record identified by the record Id.
 *getRecord *- Fetch single record using the record Id.

 *Deputy *

 *createEmployee *- Create an employee in the Deputy API.
 *updateEmployee *- Update an existing employee.
 *createLeave *- Add a leave for an employee.
 *createRoster *- Create a roster for the employee.
 *updateRoster *- Update an existing roster.
 *getObject *- Retrieve Employee or Roster.
 *getLeave *- Retrieve a paticular leave.


 *Xero*

 *getEmployee *- Get payroll details of employees.
 *createEmployees *- Create  update payroll details of employees
 *getPayStub *- Retrieve Paystub lines such as TimeOff, Benefits, Earnings
 and Timesheet Earnings.
 *createPaystubs* - Use this method to add, update or delete one or more
 paystub line items.
 *createPayruns *- Create  Update Payrun details.
 *getPayruns *- Get Payrun details.

 Thanks and Regards
 Rasika




 --
 View this message in context:
 http://wso2-oxygen-tank.10903.n7.nabble.com/Proposed-ESB-connector-scenario-Integrating-PeopleHR-with-ZohoRecruit-ActiveCollab-ZohoPeople-Deputyo-tp102028p102335.html
 Sent from the WSO2 Architecture mailing list archive at Nabble.com.
 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




-- 
dev-requ...@wso2.org
Keerthika Mahendralingam
Associate Software Engineer
Mobile :+94 (0) 776 121144
keerth...@wso2.com
WSO2, Inc.
lean . enterprise . middleware
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


[Architecture] ESB Connector Scenario - Integrating Teamwork with JIRA, Gmail, FreshBooks and Stripe

2015-01-16 Thread Keerthika Mahendralingam
Overview

Teamwork is a collaborative project management system which provides a
simple way to manage teams and projects.


Benefits  of Teamwork


   - Teamwork provides project management facilities such as task
   management, file sharing, time tracking, milestone tracking, etc.
   - The application is easy to use yet has advanced features.
   - Multiple language supports.


Business Scenario

The  following scenario describes how to integrate JIRA, Gmail, FreshBooks
and Stripe connectors with Teamwork.

Step1: Project initialization.

   -

   Retrieve projects from JIRA API and  create projects in Teamwork API.
   -

   Retrieve issues for that projects in JIRA and create tasks for those
   issues in Teamwork within the created project.
   -

   Retrieve contact details of project roles and create users in Teamwork
   for those contacts.
   -

   Assign responsible persons to tasks in Teamwork  and inform those
   persons about assigned tasks via email using Gmail API.

Advantages of using JIRA

JIRA is a web based issue tracking software solution.It is used to capture
and organize issues.

Advantages of using Gmail

Step2: Invoicing

   -

   Mark task as completed in Teamwork when it is completed .
   -

   Retrieve completed task details on Teamwork and create invoice for that
   task and send that invoice to associated customer in FreshBooks.

Advantages of using FreshBooks

FreshBooks is a billing system that helps to generate invoices based on the
service/application.

Step3: Make payments

   -

   Create new charge in Stripe with customer credit card details.
   -

   Create a new transfer to recipient accounts by using Stripe.

Advantages of using Stripe

Stripe is a developer-friendly way to accept payments online and in mobile
apps.
The following diagram shows the flow of the scenario described above.






Thank you,
-- 
dev-requ...@wso2.org
Keerthika Mahendralingam
Associate Software Engineer
Mobile :+94 (0) 776 121144
keerth...@wso2.com
WSO2, Inc.
lean . enterprise . middleware
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Fwd: Stripe Web Connector for WSO2 ESB

2014-12-19 Thread Keerthika Mahendralingam
Hi all,
I have completed the fast track project according to the milestone. I am
continuing the remaining resources to fulfill the entire connector.

please find the milestone plan [1] , git repository[2] , and
documentation[3] which are ready to review.

[1]
https://docs.google.com/a/wso2.com/spreadsheets/d/1SsgV1T893aY_RdGrjRpWGUIYNYGSliHRpGAEpZ429-M/edit#gid=0

[2] https://github.com/keerthu/StripeESBConnector/

[3] 
*https://docs.google.com/a/wso2.com/document/d/164T9VF49W3_KZTobwvV1oW_oJOvW645C2ueNvG1iS7E/edit?usp=sharing
https://docs.google.com/a/wso2.com/document/d/164T9VF49W3_KZTobwvV1oW_oJOvW645C2ueNvG1iS7E/edit?usp=sharing*

Thank you,
-- 
dev-requ...@wso2.org
Keerthika Mahendralingam
Associate Software Engineer
Mobile :+94 (0) 776 121144
keerth...@wso2.com
WSO2, Inc.
lean . enterprise . middleware
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Fwd: Stripe Web Connector for WSO2 ESB

2014-11-25 Thread Keerthika Mahendralingam
Hi all,

Please find the requested use case for Stripe ESB connector below.

​​​
 Use Case for Stripe ESB connector
https://docs.google.com/a/wso2.com/document/d/1qZqNicpoxGir3PcjUslgKk3lNQsGI_qn9gauipoKAJQ/edit?usp=drive_web
​

Thanks  regards,

On Mon, Nov 24, 2014 at 10:20 PM, Selvaratnam Uthaiyashankar 
shan...@wso2.com wrote:

 Need usecase please.


 On Monday, November 24, 2014, Keerthika Mahendralingam keerth...@wso2.com
 wrote:

 Ok noted.
  I will create the milestone plan accordingly.

 On Mon, Nov 24, 2014 at 1:52 PM, Shevan Goonetilleke she...@wso2.com
 wrote:

 Keerthika, there are a lot of methods here too...pls define the some
 useful scenarios around this and implement only those methods (given that
 you have only 3 weeks to complete).

 On Mon, Nov 24, 2014 at 12:54 PM, Keerthika Mahendralingam 
 keerth...@wso2.com wrote:

 I will share the milestone plan by today evening.

 On Mon, Nov 24, 2014 at 12:53 PM, Samisa Abeysinghe sam...@wso2.com
 wrote:

 Milestone plan for this?

 Thanks,
 Samisa...


 Samisa Abeysinghe

 Vice President Delivery

 WSO2 Inc.
 http://wso2.com


 On Mon, Nov 24, 2014 at 12:49 PM, Keerthika Mahendralingam 
 keerth...@wso2.com wrote:

 Hi all,
 I have planned to develop $subject as described below.

 *Introduction*
 Stripe provides simple RESTful HTTP interfaces to handle payments.

 *Stripe API Methods*

 1. Cards:
 Creates a new card for a customer.
 Retrieves an existing card details stored on a customer.
 Updates a card details.
 Deletes a card.
 Lists all cards belonging to a customer.

 2. Tokens:
 Creates a card token that wraps the details of a credit card.
 Creates a bank account token that wraps the details of a bank
 account.
 Retrieves an existing token.

 3. Customers:
 Creates a new customer.
 Retrieves the details of an existing customer.
 Updates the specified customer.
 Permanently deletes a customer.
 Returns a list of all customers.

 4. Charges:
 Creates a new charge.
 Retrieves the details of an existing charge.
 Updates the specified charge.
 Captures the payment of an existing charge.
 returns a list of all charges.

 5. Refunds:
 Creates a new refund for a charge.
 Retrieves details about an existing refund.
 Updates the specified refund.
 Returns a list all refunds belonging to a specific charge.

 6. Subscriptions:
 Creates a new subscription on an existing customer.
 Retrieves details about a specific active subscription for a
 customer.
 Updates an existing subscription on a customer.
 Cancels a customer's subscription.
 Lists active subscriptions.

 7.Plans:
 Creates a plan.
 Retrieves a plan with the given ID.
 Updates the name a plan.
 Deletes a plan.
 Lists all plans.

 8. Coupons:
 Creates a coupon.
 Retrieves a coupon with the given ID.
 Updates the metadata of a coupon.
 Deletes a coupon.
 Returns a list of coupons.

 9. Discounts:
 Removes the currently applied discount on a customer.
 Removes the currently applied discount on a subscription.

 10. Invoices:
 Creates an invoice.
 Retrieves the invoice with the give ID.
 Retrieves an invoice’s line items.
 Retrieves a customer’s upcoming invoice for a customer.
 Updates an existing invoice.
 Pays an invoice.
 Lists invoices for a specific customer.

 11. Invoice items:
 Adds an arbitrary charge to the customer's upcoming invoice.
 Retrieves an invoice item with the given ID.
 Updates the amount or description of an upcoming invoice.
 Deletes an invoice item from the upcoming invoice.
 Lists all invoice items.

 12.Transfers:
 Creates a new transfer.
 Retrieves the details of an existing transfer.
 Updates the specified transfer.
 Cancels a transfer.
 Lists all existing transfers.

 13. Disputes:
 Updates a dispute.
 Closes a dispute for a charge.

 14. Recipients:
 Creates a new recipient and verifies recipient's identity and
 bank account information   or credit card.
 Retrieves the details of an existing recipient.
 Updates the specified recipient.
 Deletes a recipient.
 Lists all recipients.

 15. Account:
 Retrieves the details of an account details.

 16. Balance:
 Retrieves the current account balance.
 Retrieves the balance transection with the given ID.
 Returns a list of transections that have contributed to the
 Stripe account balance.

 17. Application Fees:
 Retrieves the details of an application fee.
 Returns a list of application fees.

 18. Application fee refunds:
 Refunds an application fee that has

Re: [Architecture] Stripe Web Connector for WSO2 ESB

2014-11-24 Thread Keerthika Mahendralingam
Ok noted.
 I will create the milestone plan accordingly.

On Mon, Nov 24, 2014 at 1:52 PM, Shevan Goonetilleke she...@wso2.com
wrote:

 Keerthika, there are a lot of methods here too...pls define the some
 useful scenarios around this and implement only those methods (given that
 you have only 3 weeks to complete).

 On Mon, Nov 24, 2014 at 12:54 PM, Keerthika Mahendralingam 
 keerth...@wso2.com wrote:

 I will share the milestone plan by today evening.

 On Mon, Nov 24, 2014 at 12:53 PM, Samisa Abeysinghe sam...@wso2.com
 wrote:

 Milestone plan for this?

 Thanks,
 Samisa...


 Samisa Abeysinghe

 Vice President Delivery

 WSO2 Inc.
 http://wso2.com


 On Mon, Nov 24, 2014 at 12:49 PM, Keerthika Mahendralingam 
 keerth...@wso2.com wrote:

 Hi all,
 I have planned to develop $subject as described below.

 *Introduction*
 Stripe provides simple RESTful HTTP interfaces to handle payments.

 *Stripe API Methods*

 1. Cards:
 Creates a new card for a customer.
 Retrieves an existing card details stored on a customer.
 Updates a card details.
 Deletes a card.
 Lists all cards belonging to a customer.

 2. Tokens:
 Creates a card token that wraps the details of a credit card.
 Creates a bank account token that wraps the details of a bank
 account.
 Retrieves an existing token.

 3. Customers:
 Creates a new customer.
 Retrieves the details of an existing customer.
 Updates the specified customer.
 Permanently deletes a customer.
 Returns a list of all customers.

 4. Charges:
 Creates a new charge.
 Retrieves the details of an existing charge.
 Updates the specified charge.
 Captures the payment of an existing charge.
 returns a list of all charges.

 5. Refunds:
 Creates a new refund for a charge.
 Retrieves details about an existing refund.
 Updates the specified refund.
 Returns a list all refunds belonging to a specific charge.

 6. Subscriptions:
 Creates a new subscription on an existing customer.
 Retrieves details about a specific active subscription for a
 customer.
 Updates an existing subscription on a customer.
 Cancels a customer's subscription.
 Lists active subscriptions.

 7.Plans:
 Creates a plan.
 Retrieves a plan with the given ID.
 Updates the name a plan.
 Deletes a plan.
 Lists all plans.

 8. Coupons:
 Creates a coupon.
 Retrieves a coupon with the given ID.
 Updates the metadata of a coupon.
 Deletes a coupon.
 Returns a list of coupons.

 9. Discounts:
 Removes the currently applied discount on a customer.
 Removes the currently applied discount on a subscription.

 10. Invoices:
 Creates an invoice.
 Retrieves the invoice with the give ID.
 Retrieves an invoice’s line items.
 Retrieves a customer’s upcoming invoice for a customer.
 Updates an existing invoice.
 Pays an invoice.
 Lists invoices for a specific customer.

 11. Invoice items:
 Adds an arbitrary charge to the customer's upcoming invoice.
 Retrieves an invoice item with the given ID.
 Updates the amount or description of an upcoming invoice.
 Deletes an invoice item from the upcoming invoice.
 Lists all invoice items.

 12.Transfers:
 Creates a new transfer.
 Retrieves the details of an existing transfer.
 Updates the specified transfer.
 Cancels a transfer.
 Lists all existing transfers.

 13. Disputes:
 Updates a dispute.
 Closes a dispute for a charge.

 14. Recipients:
 Creates a new recipient and verifies recipient's identity and
 bank account information   or credit card.
 Retrieves the details of an existing recipient.
 Updates the specified recipient.
 Deletes a recipient.
 Lists all recipients.

 15. Account:
 Retrieves the details of an account details.

 16. Balance:
 Retrieves the current account balance.
 Retrieves the balance transection with the given ID.
 Returns a list of transections that have contributed to the
 Stripe account balance.

 17. Application Fees:
 Retrieves the details of an application fee.
 Returns a list of application fees.

 18. Application fee refunds:
 Refunds an application fee that has previously been collected
 but not yet refunded.
 Retrieves details about an application fee refund.
 Updates the specified application fee refund.
 Returns a list of the refunds that belonging to a specific
 application fee.

 19. Events:
 Retrieves the details of an event.
 Lists all events.


 *Authentication*
 Stripe API is utilizing the Oauth2 as the authentication mechanism.

 Detailed information

[Architecture] Fwd: Stripe Web Connector for WSO2 ESB

2014-11-23 Thread Keerthika Mahendralingam
Hi all,
I have planned to develop $subject as described below.

*Introduction*
Stripe provides simple RESTful HTTP interfaces to handle payments.

*Stripe API Methods*

1. Cards:
Creates a new card for a customer.
Retrieves an existing card details stored on a customer.
Updates a card details.
Deletes a card.
Lists all cards belonging to a customer.

2. Tokens:
Creates a card token that wraps the details of a credit card.
Creates a bank account token that wraps the details of a bank
account.
Retrieves an existing token.

3. Customers:
Creates a new customer.
Retrieves the details of an existing customer.
Updates the specified customer.
Permanently deletes a customer.
Returns a list of all customers.

4. Charges:
Creates a new charge.
Retrieves the details of an existing charge.
Updates the specified charge.
Captures the payment of an existing charge.
returns a list of all charges.

5. Refunds:
Creates a new refund for a charge.
Retrieves details about an existing refund.
Updates the specified refund.
Returns a list all refunds belonging to a specific charge.

6. Subscriptions:
Creates a new subscription on an existing customer.
Retrieves details about a specific active subscription for a
customer.
Updates an existing subscription on a customer.
Cancels a customer's subscription.
Lists active subscriptions.

7.Plans:
Creates a plan.
Retrieves a plan with the given ID.
Updates the name a plan.
Deletes a plan.
Lists all plans.

8. Coupons:
Creates a coupon.
Retrieves a coupon with the given ID.
Updates the metadata of a coupon.
Deletes a coupon.
Returns a list of coupons.

9. Discounts:
Removes the currently applied discount on a customer.
Removes the currently applied discount on a subscription.

10. Invoices:
Creates an invoice.
Retrieves the invoice with the give ID.
Retrieves an invoice’s line items.
Retrieves a customer’s upcoming invoice for a customer.
Updates an existing invoice.
Pays an invoice.
Lists invoices for a specific customer.

11. Invoice items:
Adds an arbitrary charge to the customer's upcoming invoice.
Retrieves an invoice item with the given ID.
Updates the amount or description of an upcoming invoice.
Deletes an invoice item from the upcoming invoice.
Lists all invoice items.

12.Transfers:
Creates a new transfer.
Retrieves the details of an existing transfer.
Updates the specified transfer.
Cancels a transfer.
Lists all existing transfers.

13. Disputes:
Updates a dispute.
Closes a dispute for a charge.

14. Recipients:
Creates a new recipient and verifies recipient's identity and bank
account information   or credit card.
Retrieves the details of an existing recipient.
Updates the specified recipient.
Deletes a recipient.
Lists all recipients.

15. Account:
Retrieves the details of an account details.

16. Balance:
Retrieves the current account balance.
Retrieves the balance transection with the given ID.
Returns a list of transections that have contributed to the Stripe
account balance.

17. Application Fees:
Retrieves the details of an application fee.
Returns a list of application fees.

18. Application fee refunds:
Refunds an application fee that has previously been collected but
not yet refunded.
Retrieves details about an application fee refund.
Updates the specified application fee refund.
Returns a list of the refunds that belonging to a specific
application fee.

19. Events:
Retrieves the details of an event.
Lists all events.


*Authentication*
Stripe API is utilizing the Oauth2 as the authentication mechanism.

Detailed information about the above methods can be found in the following
link:
https://stripe.com/docs/api#intro

-- 
dev-requ...@wso2.org
Keerthika Mahendralingam
Associate Software Engineer
Mobile :+94 (0) 776 121144
keerth...@wso2.com thili...@wso2.com



-- 
dev-requ...@wso2.org
Keerthika Mahendralingam
Associate Software Engineer
Mobile :+94 (0) 776 121144
keerth...@wso2.com thili...@wso2.com
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture