Hi all,

This is regarding the retrieval of IP addresses of a node.

In the local cluster, I could retrieve the IP addresses of all network
interfaces, the AMQP port and the AMQP SSL port in order to store them  in
the database at broker startup. When a node shuts down, details of the
removed node are removed from the database by the cluster coordinator.

In an AWS cluster, I could get the private and public IP of the instance
and store in the database at broker startup. When a node shuts down,
details of the removed node are removed from the database by the cluster
coordinator.

Since these are two different implementations, I am planning to have a
configuration for this in the broker.xml file as follows:

<dynamicDiscovery>mode</dynamicDiscovery>
where the mode can be one of "AwsIpAddressRetriever" and
"LocalIpAddressRetriever"


any ideas ?

On Thu, Oct 20, 2016 at 2:07 PM, Sidath Weerasinghe <[email protected]> wrote:

> Hi Asanka,
>
> I get the Node Id from CoordinationConfigurableClusterAgent class. There
> is no validation for that.
> I changed XML structure according to the standards.
>
>
>
>
>
>
>
>
>
>
>
> *<node id="NODE:10.100.4.165:4000 <http://10.100.4.165:4000>">
> <addresses>       <address ip="10.100.4.165" port="5672" ssl-port="8672"
> interface-name="wlp3s0"/>             <address ip="192.168.11.50"
> port="5672" ssl-port="8672" interface-name="enp0s25"/>
> </addresses></node><node id="NODE:10.100.4.166:4000
> <http://10.100.4.166:4000>">    <addresses>        <address
> ip="10.100.4.166" port="5672" ssl-port="8672" interface-name="wlp3s0"/>
> </addresses></node>*
>
> On Thu, Oct 20, 2016 at 12:05 PM, Asanka Abeyweera <[email protected]>
> wrote:
>
>> Hi Sidath,
>>
>> What was the reason to use *PascalCase* for attribute names? In HTML for
>> attributes we normally use all lower case with hyphens [1]. Maybe we should
>> adhere to the same style. WDYT?
>>
>> Do we currently have any character restrictions on the Node id? Are we
>> escaping the reserved characters in values before generating the XML?
>>
>> [1] http://www.w3schools.com/tags/ref_attributes.asp
>>
>> On Thu, Oct 20, 2016 at 11:49 AM, Sidath Weerasinghe <[email protected]>
>> wrote:
>>
>>> Hi all,
>>>
>>> Andes client invokes the admin service to get IP address and ports of
>>> the live nodes in the cluster.
>>> Admin service makes XML structure  and sends that string to the client
>>> who invokes the service.
>>>
>>> Previous XML structure is changed. Here is the new structure of the XML,
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> *<Node Id = "NODE:10.100.4.165:4000 <http://10.100.4.165:4000>">
>>> <Addresses>        <Address Ip="10.100.4.165", Port="5672", SslPort =
>>> "8672", InterfaceName="wlp3s0"></Address>        <Address
>>> Ip="192.168.11.50", Port="5672", SslPort = "8672",
>>> InterfaceName="enp0s25"></Address>    </Addresses></Node><Node Id =
>>> "NODE:10.100.4.166:4000 <http://10.100.4.166:4000>">    <Addresses>
>>> <Address Ip="10.100.4.166", Port="5672", SslPort = "8672",
>>> InterfaceName="wlp3s0"></Address>    </Addresses></Node>*
>>> Any comments?
>>>
>>> On Fri, Oct 7, 2016 at 7:57 AM, Sidath Weerasinghe <[email protected]>
>>> wrote:
>>>
>>>> Hi all,
>>>>
>>>> Then we can use java Socket isconnected() method for this. It returns true
>>>> if the socket was successfully bound to an address.
>>>>
>>>> On Thu, Oct 6, 2016 at 1:50 PM, Pamod Sylvester <[email protected]> wrote:
>>>>
>>>>> Asanka's point is valid. Sending a ping request could have the
>>>>> constraint of having a particular port being blocked i.e by firewall etc.
>>>>>
>>>>> How about sending a TCP heartbeat to the AMQP/MQTT port itself ?  wdyt
>>>>> ?
>>>>>
>>>>> Thanks,
>>>>> Pamod
>>>>>
>>>>> On Thu, Oct 6, 2016 at 1:42 PM, Asanka Abeyweera <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Hi Sidath,
>>>>>>
>>>>>> I do not think ping command is a good approach. The reasons are,
>>>>>>
>>>>>> 1. PING command uses the ICMP which is different from the AMQP which
>>>>>> we use for broker communication.
>>>>>> 2. ICMP can be blocked from the firewall while AMQP is unblocked.
>>>>>>
>>>>>> On Thu, Oct 6, 2016 at 1:36 PM, Sidath Weerasinghe <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi Asanka,
>>>>>>>
>>>>>>> Still there is one way to choose the network. That is ping method.
>>>>>>> Get the one IP and ping to that. Then we can get the all IP address 
>>>>>>> which
>>>>>>> are related to that interface. otherwise we want to ping all the IP
>>>>>>> address.
>>>>>>>
>>>>>>> On Thu, Oct 6, 2016 at 1:16 PM, Asanka Abeyweera <[email protected]>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi Sidath,
>>>>>>>>
>>>>>>>> We cannot say that the network is same when the interface name is
>>>>>>>> same. System admin can configure network interfaces the way they 
>>>>>>>> prefer.
>>>>>>>> Therefore we cannot use network interface name to identify if they are 
>>>>>>>> in
>>>>>>>> the same network. If we want to identify if two network interfaces in 
>>>>>>>> the
>>>>>>>> same network, we have to use a method like checking the subnet using 
>>>>>>>> the
>>>>>>>> netmask. Additionally there can be cases where two interfaces belong 
>>>>>>>> to the
>>>>>>>> two different subsnets which are connected using a router. In this 
>>>>>>>> case not
>>>>>>>> using an interface to connect the broker since it is in a different 
>>>>>>>> subnet
>>>>>>>> is wrong.
>>>>>>>>
>>>>>>>> On Thu, Oct 6, 2016 at 1:03 PM, Sidath Weerasinghe <[email protected]
>>>>>>>> > wrote:
>>>>>>>>
>>>>>>>>> Hi Asanka,
>>>>>>>>>
>>>>>>>>> I am using this structure because of client wants to get the IP
>>>>>>>>> address with is related to client network(Client is in LAN or WiFi). 
>>>>>>>>> So in
>>>>>>>>> this structure Andes client get the one of IP and choose the suitable
>>>>>>>>> network to connect. If I group IP addresses based on the nodes then 
>>>>>>>>> how can
>>>>>>>>> I get the suitable IP address which is related to the client network. 
>>>>>>>>> Then
>>>>>>>>> client want to check all the IP address on the structure.
>>>>>>>>>
>>>>>>>>> On Thu, Oct 6, 2016 at 12:03 PM, Asanka Abeyweera <
>>>>>>>>> [email protected]> wrote:
>>>>>>>>>
>>>>>>>>>> Hi Sidath,
>>>>>>>>>>
>>>>>>>>>> If I understood correctly, we are grouping the IP addresses
>>>>>>>>>> belonging to different nodes according to their interface name. What 
>>>>>>>>>> was
>>>>>>>>>> the reason for doing that?
>>>>>>>>>>
>>>>>>>>>> With this approach, I do not see a way to identify the IP
>>>>>>>>>> addresses belonging to a specific node. I think the requirement is 
>>>>>>>>>> to load
>>>>>>>>>> balance between different MB nodes available in the cluster. 
>>>>>>>>>> Therefore I
>>>>>>>>>> think it is important to group IP addresses based on the nodes 
>>>>>>>>>> instead of
>>>>>>>>>> using interface name to group .
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Thu, Oct 6, 2016 at 11:42 AM, Sidath Weerasinghe <
>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi Asanka,
>>>>>>>>>>>
>>>>>>>>>>> Each node can be have different intercaces (LAN, WiFi).
>>>>>>>>>>> So that I got the those IP and ports of all the interfaces.
>>>>>>>>>>>
>>>>>>>>>>> <Eth1> - Wifi
>>>>>>>>>>> <Eth0> - LAN
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> *<?xml version="1.0" encoding="UTF-8"?><IpList>    <Eth1>
>>>>>>>>>>> <default>            <IP>10.100.4.165:5672
>>>>>>>>>>> <http://10.100.4.165:5672></IP>            <IP>10.100.4.165:5673
>>>>>>>>>>> <http://10.100.4.165:5673></IP>        </default>        <ssl>
>>>>>>>>>>> <IP>10.100.4.165:8672 <http://10.100.4.165:8672></IP>
>>>>>>>>>>> <IP>10.100.4.165:8673 <http://10.100.4.165:8673></IP>        </ssl>
>>>>>>>>>>> </Eth1>    <Eth0>        <default>            <IP>192.165.55.20:5672
>>>>>>>>>>> <http://192.165.55.20:5672></IP>            <IP>192.165.55.20:5673
>>>>>>>>>>> <http://192.165.55.20:5673></IP>        </default>        <ssl>
>>>>>>>>>>> <IP>192.165.55.20:8672 <http://192.165.55.20:8672></IP>
>>>>>>>>>>> <IP>192.165.55.20:8673 <http://192.165.55.20:8673></IP>        
>>>>>>>>>>> </ssl>
>>>>>>>>>>> </Eth0></IpList>*
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> *<Eth1>        <default> - WiFi binded IP address *
>>>>>>>>>>>
>>>>>>>>>>> *           <IP>10.100.4.165:5672
>>>>>>>>>>> <http://10.100.4.165:5672></IP> - Nodes in cluster
>>>>>>>>>>> <IP>10.100.4.165:5673 <http://10.100.4.165:5673></IP> - **Nodes
>>>>>>>>>>> in cluster*
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> * <Eth0>        <default> - LAN binded IP address*
>>>>>>>>>>> *            <IP>192.165.55.20:8672
>>>>>>>>>>> <http://192.165.55.20:8672></IP> *
>>>>>>>>>>> *- Nodes in cluster            <IP>192.165.55.20:8673
>>>>>>>>>>> <http://192.165.55.20:8673></IP> **- Nodes in cluster*
>>>>>>>>>>>
>>>>>>>>>>> On Thu, Oct 6, 2016 at 11:15 AM, Asanka Abeyweera <
>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi Sidath,
>>>>>>>>>>>>
>>>>>>>>>>>> From this structure, how can we differentiate between IP
>>>>>>>>>>>> addresses belonging to different node?
>>>>>>>>>>>>
>>>>>>>>>>>> On Thu, Oct 6, 2016 at 11:09 AM, Sidath Weerasinghe <
>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Andes client invokes the admin service to get IP address and
>>>>>>>>>>>>> ports of the live nodes in the cluster.
>>>>>>>>>>>>> Admin service makes XML structure  and sends that string to
>>>>>>>>>>>>> the client who invokes the service.
>>>>>>>>>>>>> .
>>>>>>>>>>>>> Here is the structure of the XML,
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> *<?xml version="1.0" encoding="UTF-8"?><IpList>
>>>>>>>>>>>>> <Eth1>        <default>            <IP>10.100.4.165:5672
>>>>>>>>>>>>> <http://10.100.4.165:5672></IP>            <IP>10.100.4.165:5673
>>>>>>>>>>>>> <http://10.100.4.165:5673></IP>        </default>        <ssl>
>>>>>>>>>>>>> <IP>10.100.4.165:8672 <http://10.100.4.165:8672></IP>
>>>>>>>>>>>>> <IP>10.100.4.165:8673 <http://10.100.4.165:8673></IP>        
>>>>>>>>>>>>> </ssl>
>>>>>>>>>>>>> </Eth1></IpList>*
>>>>>>>>>>>>>
>>>>>>>>>>>>> The user can choose the SSL by setting a system property in
>>>>>>>>>>>>> the client program. Otherwise, it always takes default ones.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Any comments ?
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Thu, Sep 29, 2016 at 1:39 PM, Sidath Weerasinghe <
>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi Malaka,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I got the IP address (all network interfaces) and AMQP port
>>>>>>>>>>>>>> and store database at cluster startup. When node shutdown that 
>>>>>>>>>>>>>> details are
>>>>>>>>>>>>>> removed from the database.
>>>>>>>>>>>>>> I wrote an admin service to get those database details at the
>>>>>>>>>>>>>> carbon business module. Inside the client, I call that service.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Thu, Sep 29, 2016 at 12:08 PM, Malaka Silva <
>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Thu, Sep 29, 2016 at 10:06 AM, Sidath Weerasinghe <
>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> In Andes client, I implemented a new initialContextFactory
>>>>>>>>>>>>>>>> and inside that, I made an AMQP URL.
>>>>>>>>>>>>>>>> Inside the Andes client, I called that web service to get
>>>>>>>>>>>>>>>> the cluster node IP address and Port details. When calling web 
>>>>>>>>>>>>>>>> service it
>>>>>>>>>>>>>>>> shuffles  the IP address and gives String to the client. Using 
>>>>>>>>>>>>>>>> this, create
>>>>>>>>>>>>>>>> AMQP URL inside the Andes client, Other IPs put as a failover.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> ​What is the web service you called to get the all the
>>>>>>>>>>>>>>> members? Can this be a single point of failure?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> The client can set failover values as properties.  Inside
>>>>>>>>>>>>>>>> the new initialContextFactory, read those properties and set 
>>>>>>>>>>>>>>>> failover.
>>>>>>>>>>>>>>>> "amqp://admin:admin@carbon/carbon?brokerlist='tcp://
>>>>>>>>>>>>>>>> 10.100.4.165:5672?*retries='10'&connectdelay='1000'*;tcp://
>>>>>>>>>>>>>>>> 10.100.4.166:5672?
>>>>>>>>>>>>>>>> *retries='10'&connectdelay='1000''&failover='roundrobin?cyclecount='20'*
>>>>>>>>>>>>>>>> '"
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Any ideas for this.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Thu, Sep 22, 2016 at 5:11 PM, Sidath Weerasinghe <
>>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> In MB, the user/developers having to manually list out the
>>>>>>>>>>>>>>>>> IPs in the connection URL could be difficult. The change of 
>>>>>>>>>>>>>>>>> IPs of the
>>>>>>>>>>>>>>>>> broker nodes would require reconfiguring and restart the 
>>>>>>>>>>>>>>>>> client
>>>>>>>>>>>>>>>>> applications connected to it. I am implementing a way to 
>>>>>>>>>>>>>>>>> dynamically
>>>>>>>>>>>>>>>>> detection the MB nodes in the cluster and load balance 
>>>>>>>>>>>>>>>>> through them.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I got the IP address(all network interfaces) and AMQP port
>>>>>>>>>>>>>>>>> and store database at cluster startup. When node shutdown 
>>>>>>>>>>>>>>>>> that details are
>>>>>>>>>>>>>>>>> removed from the database.
>>>>>>>>>>>>>>>>> I wrote an admin service to get those database details at
>>>>>>>>>>>>>>>>> the carbon business module.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> In andes client, I implemented a new initialContextFactory
>>>>>>>>>>>>>>>>> and inside that, I made an AMQP URL. As a mock, I got the IP 
>>>>>>>>>>>>>>>>> list from the
>>>>>>>>>>>>>>>>> file and randomly select one of the IP and port and make AMPQ 
>>>>>>>>>>>>>>>>> URL. Other
>>>>>>>>>>>>>>>>> IPs  put as a fail-over. I tested it.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> *Work to be done*
>>>>>>>>>>>>>>>>> I will call web service inside the andes client and get
>>>>>>>>>>>>>>>>> the IP and port and resolve it according to the client 
>>>>>>>>>>>>>>>>> network. After that
>>>>>>>>>>>>>>>>> get the correct IP and the port.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>> Thank You,
>>>>>>>>>>>>>>>>> Best Regards,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Sidath Weerasinghe
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> *Intern*
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> *WSO2, Inc. *
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> *lean . enterprise . middleware *
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> *Mobile: +94719802550 <%2B94719802550>*
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> *Email: *[email protected]
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Blog: https://medium.com/@sidath
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Linkedin: https://lk.linkedin.com/in/sidathweerasinghe
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>> Thank You,
>>>>>>>>>>>>>>>> Best Regards,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Sidath Weerasinghe
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> *Intern*
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> *WSO2, Inc. *
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> *lean . enterprise . middleware *
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> *Mobile: +94719802550 <%2B94719802550>*
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> *Email: *[email protected]
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Blog: https://medium.com/@sidath
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Linkedin: https://lk.linkedin.com/in/sidathweerasinghe
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>>> Architecture mailing list
>>>>>>>>>>>>>>>> [email protected]
>>>>>>>>>>>>>>>> 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
>>>>>>>>>>>>>>> [email protected]
>>>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> Thank You,
>>>>>>>>>>>>>> Best Regards,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Sidath Weerasinghe
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> *Intern*
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> *WSO2, Inc. *
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> *lean . enterprise . middleware *
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> *Mobile: +94719802550 <%2B94719802550>*
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> *Email: *[email protected]
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Blog: https://medium.com/@sidath
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Linkedin: https://lk.linkedin.com/in/sidathweerasinghe
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Thank You,
>>>>>>>>>>>>> Best Regards,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Sidath Weerasinghe
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> *Intern*
>>>>>>>>>>>>>
>>>>>>>>>>>>> *WSO2, Inc. *
>>>>>>>>>>>>>
>>>>>>>>>>>>> *lean . enterprise . middleware *
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> *Mobile: +94719802550 <%2B94719802550>*
>>>>>>>>>>>>>
>>>>>>>>>>>>> *Email: *[email protected]
>>>>>>>>>>>>>
>>>>>>>>>>>>> Blog: https://medium.com/@sidath
>>>>>>>>>>>>>
>>>>>>>>>>>>> Linkedin: https://lk.linkedin.com/in/sidathweerasinghe
>>>>>>>>>>>>>
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> Architecture mailing list
>>>>>>>>>>>>> [email protected]
>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Asanka Abeyweera
>>>>>>>>>>>> Senior Software Engineer
>>>>>>>>>>>> WSO2 Inc.
>>>>>>>>>>>>
>>>>>>>>>>>> Phone: +94 712228648
>>>>>>>>>>>> Blog: a5anka.github.io
>>>>>>>>>>>>
>>>>>>>>>>>> <https://wso2.com/signature>
>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> Architecture mailing list
>>>>>>>>>>>> [email protected]
>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Thank You,
>>>>>>>>>>> Best Regards,
>>>>>>>>>>>
>>>>>>>>>>> Sidath Weerasinghe
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> *Intern*
>>>>>>>>>>>
>>>>>>>>>>> *WSO2, Inc. *
>>>>>>>>>>>
>>>>>>>>>>> *lean . enterprise . middleware *
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> *Mobile: +94719802550 <%2B94719802550>*
>>>>>>>>>>>
>>>>>>>>>>> *Email: *[email protected]
>>>>>>>>>>>
>>>>>>>>>>> Blog: https://medium.com/@sidath
>>>>>>>>>>>
>>>>>>>>>>> Linkedin: https://lk.linkedin.com/in/sidathweerasinghe
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Asanka Abeyweera
>>>>>>>>>> Senior Software Engineer
>>>>>>>>>> WSO2 Inc.
>>>>>>>>>>
>>>>>>>>>> Phone: +94 712228648
>>>>>>>>>> Blog: a5anka.github.io
>>>>>>>>>>
>>>>>>>>>> <https://wso2.com/signature>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Thank You,
>>>>>>>>> Best Regards,
>>>>>>>>>
>>>>>>>>> Sidath Weerasinghe
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> *Intern*
>>>>>>>>>
>>>>>>>>> *WSO2, Inc. *
>>>>>>>>>
>>>>>>>>> *lean . enterprise . middleware *
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> *Mobile: +94719802550 <%2B94719802550>*
>>>>>>>>>
>>>>>>>>> *Email: *[email protected]
>>>>>>>>>
>>>>>>>>> Blog: https://medium.com/@sidath
>>>>>>>>>
>>>>>>>>> Linkedin: https://lk.linkedin.com/in/sidathweerasinghe
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Asanka Abeyweera
>>>>>>>> Senior Software Engineer
>>>>>>>> WSO2 Inc.
>>>>>>>>
>>>>>>>> Phone: +94 712228648
>>>>>>>> Blog: a5anka.github.io
>>>>>>>>
>>>>>>>> <https://wso2.com/signature>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Thank You,
>>>>>>> Best Regards,
>>>>>>>
>>>>>>> Sidath Weerasinghe
>>>>>>>
>>>>>>>
>>>>>>> *Intern*
>>>>>>>
>>>>>>> *WSO2, Inc. *
>>>>>>>
>>>>>>> *lean . enterprise . middleware *
>>>>>>>
>>>>>>>
>>>>>>> *Mobile: +94719802550 <%2B94719802550>*
>>>>>>>
>>>>>>> *Email: *[email protected]
>>>>>>>
>>>>>>> Blog: https://medium.com/@sidath
>>>>>>>
>>>>>>> Linkedin: https://lk.linkedin.com/in/sidathweerasinghe
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Asanka Abeyweera
>>>>>> Senior Software Engineer
>>>>>> WSO2 Inc.
>>>>>>
>>>>>> Phone: +94 712228648
>>>>>> Blog: a5anka.github.io
>>>>>>
>>>>>> <https://wso2.com/signature>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Architecture mailing list
>>>>>> [email protected]
>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *Pamod Sylvester *
>>>>>
>>>>> *WSO2 Inc.; http://wso2.com <http://wso2.com>*
>>>>> cell: +94 77 7779495
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Thank You,
>>>> Best Regards,
>>>>
>>>> Sidath Weerasinghe
>>>>
>>>>
>>>> *Intern*
>>>>
>>>> *WSO2, Inc. *
>>>>
>>>> *lean . enterprise . middleware *
>>>>
>>>>
>>>> *Mobile: +94719802550 <%2B94719802550>*
>>>>
>>>> *Email: *[email protected]
>>>>
>>>> Blog: https://medium.com/@sidath
>>>>
>>>> Linkedin: https://lk.linkedin.com/in/sidathweerasinghe
>>>>
>>>
>>>
>>>
>>> --
>>> Thank You,
>>> Best Regards,
>>>
>>> Sidath Weerasinghe
>>>
>>>
>>> *Intern*
>>>
>>> *WSO2, Inc. *
>>>
>>> *lean . enterprise . middleware *
>>>
>>>
>>> *Mobile: +94719802550 <%2B94719802550>*
>>>
>>> *Email: *[email protected]
>>>
>>> Blog: https://medium.com/@sidath
>>>
>>> Linkedin: https://lk.linkedin.com/in/sidathweerasinghe
>>>
>>> _______________________________________________
>>> Architecture mailing list
>>> [email protected]
>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>
>>>
>>
>>
>> --
>> Asanka Abeyweera
>> Senior Software Engineer
>> WSO2 Inc.
>>
>> Phone: +94 712228648
>> Blog: a5anka.github.io
>>
>> <https://wso2.com/signature>
>>
>> _______________________________________________
>> Architecture mailing list
>> [email protected]
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
>
> --
> Thank You,
> Best Regards,
>
> Sidath Weerasinghe
>
>
> *Intern*
>
> *WSO2, Inc. *
>
> *lean . enterprise . middleware *
>
>
> *Mobile: +94719802550 <%2B94719802550>*
>
> *Email: *[email protected]
>
> Blog: https://medium.com/@sidath
>
> Linkedin: https://lk.linkedin.com/in/sidathweerasinghe
>



-- 
Thank You,
Best Regards,

Sidath Weerasinghe


*Intern*

*WSO2, Inc. *

*lean . enterprise . middleware *


*Mobile: +94719802550*

*Email: *[email protected]

Blog: https://medium.com/@sidath

Linkedin: https://lk.linkedin.com/in/sidathweerasinghe
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to