Hi All, I have added the functionality to support polling interval less than 1 second for inbound endpoints.
This is implemented when user adds the inbound endpoint, it schedule a task with NTASK. If the interval is less than 1000ms will be scheduling the task for 1000ms. When executing such an inbound endpoint we are doing many polling cycles as required in each task cycle. Related PR can be found in [1] @Kathees - We can get the same functionality to Kafka Inbound EP. Further I have done some investigation to support coordination=false to support in MT. However still did not find a proper solution for this. With coordination=false inbound endpoint will not schedule any task, but run as a background thread. When starting the ESB if there is a task scheduled tenant gets loaded automatically. Since we are not using task for inbounds in this case tenant won't get loaded. As a solution I have tried to schedule several tasks (Equal to the number of workers). This is not a solid solution. This worked when we add the task from Manager for the first time. If we down and up workers in cluster, It'll keep on running multiple tasks on same worker. Any idea on this? For the timing coordination=false is only supported in ST mode. [1] https://github.com/wso2/carbon-mediation/pull/123/files > According to the offline chat I had with Anjana, we are going to load the > tenant as required when executing the task. > > On Wed, Oct 1, 2014 at 12:04 PM, Anjana Fernando <anj...@wso2.com> wrote: > >> I hope you understood, what I told is, not what you mentioned earlier, >> you do not have to store anything in the registry, and the ESB does not >> have to load anything themselves. The tasks will be automatically loaded. >> >> Cheers, >> Anjana. >> >> On Wed, Oct 1, 2014 at 12:00 PM, Malaka Silva <mal...@wso2.com> wrote: >> >>> Hi Anjana, >>> >>> Yes that is the plan. Will be implementing this at the task adapter >>> level. >>> >>> Best Regards, >>> Malaka >>> >>> On Wed, Oct 1, 2014 at 11:23 AM, Anjana Fernando <anj...@wso2.com> >>> wrote: >>> >>>> Hi Malaka, >>>> >>>> Kasun sometime earlier asked me about this; And basically, from ntask, >>>> the tasks will automatically start up when the server is started up. It >>>> does not wait till a tenant is loaded or anything like that, it is >>>> automatically handled by ntask. If the task itself wants some tenant >>>> specific functionalities, the task implementation can load that. Basically, >>>> the ESB has an task adapter implementation, which bridges the ntask task >>>> interface and ESB task interfaces, in the adaptor, you can write the code >>>> to load any tenant information as needed. >>>> >>>> Cheers, >>>> Anjana. >>>> >>>> On Wed, Oct 1, 2014 at 8:58 AM, Malaka Silva <mal...@wso2.com> wrote: >>>> >>>>> Hi All, >>>>> >>>>> At the time of inbound EP code review Azeez has identified an issue >>>>> with ntask integration in tenant mode. >>>>> >>>>> The problem is when a task is schedules in tenant mode this will not >>>>> run until the tenant is loaded. >>>>> >>>>> Following is the solution I'm planning to implement. >>>>> >>>>> When a task is scheduled it'll put a entry in the registry, under >>>>> tenant specific structure. At the time ESB starts, we are going to load >>>>> the >>>>> tenant, if they have one or more tasks scheduled. >>>>> >>>>> Above will solve the task implementation and polling inbound EPs issue >>>>> in tenant mode. But the issue will still exists for listening Inbound EPs. >>>>> >>>>> Let me know your feedback on this? >>>>> >>>>> Best Regards, >>>>> Malaka >>>>> >>>>> On Tue, May 20, 2014 at 5:37 PM, Ishan Jayawardena <is...@wso2.com> >>>>> wrote: >>>>> >>>>>> We have implemented the $subject and it is available in the ESB's git >>>>>> repo. As we initially planned we will be releasing this new task manager >>>>>> with our next release. >>>>>> >>>>>> Thanks, >>>>>> Ishan. >>>>>> >>>>>> >>>>>> On Mon, Apr 21, 2014 at 5:27 PM, Ishan Jayawardena <is...@wso2.com> >>>>>> wrote: >>>>>> >>>>>>> Today we had a discussion to review the current implementation of >>>>>>> $subject. >>>>>>> We have developed two task providers/managers to manage quartz and >>>>>>> ntask based task types. The correct task manager gets registered >>>>>>> according >>>>>>> to the synapse configuration, during the startup. When a user deploys a >>>>>>> new >>>>>>> task through the UI, Synapse schedules a task in the registered task >>>>>>> manager. >>>>>>> >>>>>>> Although each task manager is capable of executing its own task >>>>>>> type, currently none of the task managers can execute tasks of a >>>>>>> different >>>>>>> type. Due to this, the new ntask task manager cannot execute existing >>>>>>> tasks >>>>>>> such as Synapse MessageInjector. We cannot support this yet without >>>>>>> Synapse >>>>>>> having a dependency to ntask component. At the moment we are looking >>>>>>> into a >>>>>>> solution to this problem. >>>>>>> >>>>>>> At the same time, we are working on the inbound endpoint (VFS) to >>>>>>> make it reuse the same ntask provider that we developed. >>>>>>> >>>>>>> Thanks, >>>>>>> Ishan. >>>>>>> >>>>>>> >>>>>>> On Mon, Apr 21, 2014 at 9:42 AM, Ishan Jayawardena <is...@wso2.com> >>>>>>> wrote: >>>>>>> >>>>>>>> Hi Kasun, >>>>>>>> We managed to solve the issue and now we are working on the final >>>>>>>> stage of the development. We will complete this within this week. >>>>>>>> Thanks, >>>>>>>> Ishan. >>>>>>>> >>>>>>>> >>>>>>>> On Tue, Apr 15, 2014 at 9:48 AM, Kasun Indrasiri <ka...@wso2.com> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Did you check whether the required packages are osgi imported >>>>>>>>> properly? >>>>>>>>> On a separate note, what's the ETA of a working deliverable of >>>>>>>>> this? >>>>>>>>> >>>>>>>>> >>>>>>>>> On Sun, Apr 13, 2014 at 12:43 PM, Anjana Fernando <anj...@wso2.com >>>>>>>>> > wrote: >>>>>>>>> >>>>>>>>>> Obviously, check if that class is available and where it is >>>>>>>>>> referred from in the code. As I remember, there isn't a package >>>>>>>>>> called "ntaskint", >>>>>>>>>> so check where this is coming from. >>>>>>>>>> >>>>>>>>>> Cheers, >>>>>>>>>> Anjana. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Sat, Apr 12, 2014 at 6:46 AM, Ishan Jayawardena < >>>>>>>>>> is...@wso2.com> wrote: >>>>>>>>>> >>>>>>>>>>> We developed the quartz task manager and we are currently >>>>>>>>>>> working on the ntask task manager. While developing the task >>>>>>>>>>> handling >>>>>>>>>>> component that uses ntask, we observed that we cannot schedule a >>>>>>>>>>> task in it >>>>>>>>>>> due to a class not found error. See the below error message. The >>>>>>>>>>> ntask >>>>>>>>>>> component (which is used by the component that we are currently >>>>>>>>>>> writing) >>>>>>>>>>> cannot load the actual task implementation. Does anyone know how to >>>>>>>>>>> get rid >>>>>>>>>>> of this? >>>>>>>>>>> >>>>>>>>>>> java.lang.ClassNotFoundException: class >>>>>>>>>>> org.wso2.carbon.ntaskint.core.Task >>>>>>>>>>> at >>>>>>>>>>> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501) >>>>>>>>>>> at >>>>>>>>>>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421) >>>>>>>>>>> at >>>>>>>>>>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412) >>>>>>>>>>> at >>>>>>>>>>> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) >>>>>>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:247) >>>>>>>>>>> at >>>>>>>>>>> org.wso2.carbon.ntask.core.impl.TaskQuartzJobAdapter.execute(TaskQuartzJobAdapter.java:58) >>>>>>>>>>> at org.quartz.core.JobRunShell.run(JobRunShell.java:213) >>>>>>>>>>> at >>>>>>>>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) >>>>>>>>>>> at >>>>>>>>>>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) >>>>>>>>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:138) >>>>>>>>>>> at >>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) >>>>>>>>>>> at >>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) >>>>>>>>>>> at java.lang.Thread.run(Thread.java:662) >>>>>>>>>>> Thanks, >>>>>>>>>>> Ishan. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Mon, Apr 7, 2014 at 9:11 AM, Anjana Fernando <anj...@wso2.com >>>>>>>>>>> > wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi Paul, >>>>>>>>>>>> >>>>>>>>>>>> Task Server is actually another server itself. NTask component >>>>>>>>>>>> is the task scheduling component we put to all our Carbon server >>>>>>>>>>>> when we >>>>>>>>>>>> need distributed task scheduling functionality. That component >>>>>>>>>>>> support >>>>>>>>>>>> scheduling tasks in a standalone manner (in a single server), or >>>>>>>>>>>> in a >>>>>>>>>>>> clustered mode for the distributed nature (it does the >>>>>>>>>>>> coordination using >>>>>>>>>>>> Hazelcast), or else, also a "remote" mode where it can interface >>>>>>>>>>>> with an >>>>>>>>>>>> external Task Server. >>>>>>>>>>>> >>>>>>>>>>>> So basically the full required functionality of distributed >>>>>>>>>>>> tasks can be achieved with the ntask component working in the >>>>>>>>>>>> clustered >>>>>>>>>>>> mode, where it identifies all the participating servers in the >>>>>>>>>>>> cluster and >>>>>>>>>>>> do the proper fail-over/load balanced scheduling of scheduled >>>>>>>>>>>> tasks. And >>>>>>>>>>>> they schedule the tasks themselves using their internal Quartz >>>>>>>>>>>> functionality. With TS, all the task triggering is offloaded to >>>>>>>>>>>> TS, where >>>>>>>>>>>> it will be sending HTTP messages to each server saying to execute >>>>>>>>>>>> the >>>>>>>>>>>> tasks. This should happen through the LB as I explained in the >>>>>>>>>>>> earlier >>>>>>>>>>>> mail. >>>>>>>>>>>> >>>>>>>>>>>> So basically Task Server = ntask component + remote tasks >>>>>>>>>>>> component. What any other Carbon server will need is just the ntask >>>>>>>>>>>> component for full task scheduling functionality. >>>>>>>>>>>> >>>>>>>>>>>> Cheers, >>>>>>>>>>>> Anjana. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Sat, Apr 5, 2014 at 1:43 PM, Paul Fremantle <p...@wso2.com> >>>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Can someone clarify? I'm lost but I really don't understand >>>>>>>>>>>>> why we are creating any other approach than task server. It is >>>>>>>>>>>>> the only >>>>>>>>>>>>> approach that scales clearly. Is our task server code too >>>>>>>>>>>>> heavyweight? >>>>>>>>>>>>> >>>>>>>>>>>>> Paul >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On 5 April 2014 08:47, Chanaka Fernando <chana...@wso2.com> >>>>>>>>>>>>> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> Hi Kasun/Anjana, >>>>>>>>>>>>>> >>>>>>>>>>>>>> I think what Anjana mentioned and Ishan mentioned are >>>>>>>>>>>>>> somewhat converge to same idea (even though they looks >>>>>>>>>>>>>> different). >>>>>>>>>>>>>> >>>>>>>>>>>>>> What we have discussed and agreed was that we are developing >>>>>>>>>>>>>> a separate carbon-component which is used for executing the ntask >>>>>>>>>>>>>> component. Since we need a common interface to support both the >>>>>>>>>>>>>> existing >>>>>>>>>>>>>> quartz based synapse-tasks implementation and the ntask >>>>>>>>>>>>>> component, we have >>>>>>>>>>>>>> defined the TaskManager interface. >>>>>>>>>>>>>> >>>>>>>>>>>>>> When ESB is loading the synapse configuration, it will create >>>>>>>>>>>>>> an object of type TaskManager according to the Task provider >>>>>>>>>>>>>> mentioned in >>>>>>>>>>>>>> the configuration. This task manager object will delegate the >>>>>>>>>>>>>> scheduling >>>>>>>>>>>>>> and other task related stuff to the respective implementation of >>>>>>>>>>>>>> the >>>>>>>>>>>>>> TaskManager (which can be either QuartzTaskManager or >>>>>>>>>>>>>> NTaskManager). >>>>>>>>>>>>>> >>>>>>>>>>>>>> @Kasun/Anjana: are we missing something here? >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>> Chanaka >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Sat, Apr 5, 2014 at 9:32 AM, Kasun Indrasiri < >>>>>>>>>>>>>> ka...@wso2.com> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Sat, Apr 5, 2014 at 9:22 AM, Anjana Fernando < >>>>>>>>>>>>>>> anj...@wso2.com> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Hi Ishan, >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Sat, Apr 5, 2014 at 7:33 AM, Ishan Jayawardena < >>>>>>>>>>>>>>>> is...@wso2.com> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Currently, we have developed following design and started >>>>>>>>>>>>>>>>> to work on it. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Synapse will have defined the TaskManager, and Task >>>>>>>>>>>>>>>>> interfaces whose implementations will provide the concrete >>>>>>>>>>>>>>>>> tasks and >>>>>>>>>>>>>>>>> management of those tasks depending on the scheduler(ie >>>>>>>>>>>>>>>>> quartz or ntask). >>>>>>>>>>>>>>>>> For instance, for inbuilt quartz based task scheduling, we >>>>>>>>>>>>>>>>> will refactor and develop a quartz task manager, and a task >>>>>>>>>>>>>>>>> type while >>>>>>>>>>>>>>>>> maintaining the compatibility with existing tasks. >>>>>>>>>>>>>>>>> Additionally, we are developing an ntask based task >>>>>>>>>>>>>>>>> manager. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> We will introduce the following new element to synapse.xml >>>>>>>>>>>>>>>>> that provides the class name of the TaskManager >>>>>>>>>>>>>>>>> implementation so that >>>>>>>>>>>>>>>>> Synapse can create a single task manger object when it starts >>>>>>>>>>>>>>>>> up. >>>>>>>>>>>>>>>>> <definitions xmlns="http://ws.apache.org/ns/synapse"> >>>>>>>>>>>>>>>>> <taskExecutor >>>>>>>>>>>>>>>>> provider="org.apache.synapse.task.NTaskTaskManager"/> >>>>>>>>>>>>>>>>> </definitions> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> I guess the NTask based task manager implementation should >>>>>>>>>>>>>>>> have a WSO2 package name, since it is a WSO2 specific >>>>>>>>>>>>>>>> implementation, and >>>>>>>>>>>>>>>> something you will not ship with Synapse. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Exactly. >>>>>>>>>>>>>>> I've mentioned this several times in our offline discussions >>>>>>>>>>>>>>> as well.. Why are putting a dependency from synapse to a WSO2 >>>>>>>>>>>>>>> component? >>>>>>>>>>>>>>> Again... have a look at how we have integrated synapse registry >>>>>>>>>>>>>>> with WSO2 >>>>>>>>>>>>>>> registry. This must be implemented as a carbon component. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Cheers, >>>>>>>>>>>>>>>> Anjana. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> The class name of the Task implementation can be obtained >>>>>>>>>>>>>>>>> at the time the user adds a new task through the UI. By >>>>>>>>>>>>>>>>> using that class name, Synapse can create the task object, >>>>>>>>>>>>>>>>> initialize it >>>>>>>>>>>>>>>>> and hand it over to the task manager instance to schedule. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>>>>> Ishan. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On Mon, Mar 24, 2014 at 8:23 PM, Isuru Udana < >>>>>>>>>>>>>>>>> isu...@wso2.com> wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On Mon, Mar 24, 2014 at 8:04 PM, Sagara Gunathunga < >>>>>>>>>>>>>>>>>> sag...@wso2.com> wrote: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> On Mon, Mar 24, 2014 at 11:52 AM, Kasun Indrasiri < >>>>>>>>>>>>>>>>>>> ka...@wso2.com> wrote: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> I would like to clarify the objective of this task: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> - Introduce the concept of a Task provider in to ESB. >>>>>>>>>>>>>>>>>>>> Which means any existing task (task config) can be ran on >>>>>>>>>>>>>>>>>>>> the available >>>>>>>>>>>>>>>>>>>> task provider( this can be ntask, quartz or anything) >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Is this means we continue to support Quartz as well ? >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Yes. Idea is to introduce an interface at the synapse >>>>>>>>>>>>>>>>>> level which providers can implement. Quartz based >>>>>>>>>>>>>>>>>> implementation is one of >>>>>>>>>>>>>>>>>> the possible task provider implementation. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> IMO for simple use cases it's important to continue >>>>>>>>>>>>>>>>>>> support for Quartz while Task server may fit into complex >>>>>>>>>>>>>>>>>>> use cases. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Thanks ! >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> - However, the recipes concept is completely >>>>>>>>>>>>>>>>>>>> transparent at Synapse level. Simply we don't have to >>>>>>>>>>>>>>>>>>>> thing about recipes >>>>>>>>>>>>>>>>>>>> when doing this. Recipe(or Dish) can be consider as a >>>>>>>>>>>>>>>>>>>> place where specific >>>>>>>>>>>>>>>>>>>> logic is executed on top of generic task. >>>>>>>>>>>>>>>>>>>> - All the details on sequence deployment, template >>>>>>>>>>>>>>>>>>>> invocation is not related to ESB task provider concept. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> On Sat, Mar 22, 2014 at 7:36 AM, Ishan Jayawardena < >>>>>>>>>>>>>>>>>>>> is...@wso2.com> wrote: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> I am working on $subject to support scheduled >>>>>>>>>>>>>>>>>>>>> invocation of recipes in the ESB. This mainly includes >>>>>>>>>>>>>>>>>>>>> replacing the >>>>>>>>>>>>>>>>>>>>> existing quartz based task scheduler with ntask >>>>>>>>>>>>>>>>>>>>> scheduler. The new task >>>>>>>>>>>>>>>>>>>>> type is based on ntask, and it will be added as a new >>>>>>>>>>>>>>>>>>>>> component in the >>>>>>>>>>>>>>>>>>>>> mediation category. We can use the existing task >>>>>>>>>>>>>>>>>>>>> management UI of the ESB >>>>>>>>>>>>>>>>>>>>> to add and manage tasks. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> In addition to the task schedule information, template >>>>>>>>>>>>>>>>>>>>> name and template parameter values, a special property >>>>>>>>>>>>>>>>>>>>> must be added to the >>>>>>>>>>>>>>>>>>>>> task parameter list at the time of task creation so that >>>>>>>>>>>>>>>>>>>>> the task can >>>>>>>>>>>>>>>>>>>>> invoke the template within its execute method. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> The task, >>>>>>>>>>>>>>>>>>>>> reads properties and builds a synapse sequence by >>>>>>>>>>>>>>>>>>>>> inserting the recipe template in it, >>>>>>>>>>>>>>>>>>>>> deploys the sequence into synapse, >>>>>>>>>>>>>>>>>>>>> injects a message to the above sequence to invoke >>>>>>>>>>>>>>>>>>>>> the template. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>>>>>>>>> Ishan. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>> Ishan Jayawardena >>>>>>>>>>>>>>>>>>>>> Senior Software Engineer >>>>>>>>>>>>>>>>>>>>> Mobile: +94 (77) 408 2330 >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>>>>>>> Architecture mailing list >>>>>>>>>>>>>>>>>>>>> Architecture@wso2.org >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>> Kasun Indrasiri >>>>>>>>>>>>>>>>>>>> Software Architect >>>>>>>>>>>>>>>>>>>> WSO2, Inc.; http://wso2.com >>>>>>>>>>>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> cell: +94 77 556 5206 >>>>>>>>>>>>>>>>>>>> Blog : http://kasunpanorama.blogspot.com/ >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>>>>>> Architecture mailing list >>>>>>>>>>>>>>>>>>>> Architecture@wso2.org >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>> Sagara Gunathunga >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Senior Technical Lead; WSO2, Inc.; http://wso2.com >>>>>>>>>>>>>>>>>>> V.P Apache Web Services; http://ws.apache.org/ >>>>>>>>>>>>>>>>>>> Linkedin; http://www.linkedin.com/in/ssagara >>>>>>>>>>>>>>>>>>> Blog ; http://ssagara.blogspot.com >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>> *Isuru Udana* >>>>>>>>>>>>>>>>>> Senior >>>>>>>>>>>>>>>>>> * Software Engineer* >>>>>>>>>>>>>>>>>> WSO2 Inc.; http://wso2.com >>>>>>>>>>>>>>>>>> email: isu...@wso2.com cell: +94 77 3791887 >>>>>>>>>>>>>>>>>> blog: http://mytecheye.blogspot.com/ >>>>>>>>>>>>>>>>>> twitter: http://twitter.com/isudana >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>>>> Architecture mailing list >>>>>>>>>>>>>>>>>> Architecture@wso2.org >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>> Ishan Jayawardena >>>>>>>>>>>>>>>>> Senior Software Engineer >>>>>>>>>>>>>>>>> Mobile: +94 (77) 408 2330 >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>>> Architecture mailing list >>>>>>>>>>>>>>>>> Architecture@wso2.org >>>>>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>> *Anjana Fernando* >>>>>>>>>>>>>>>> Technical Lead >>>>>>>>>>>>>>>> WSO2 Inc. | http://wso2.com >>>>>>>>>>>>>>>> lean . enterprise . middleware >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>> Architecture mailing list >>>>>>>>>>>>>>>> Architecture@wso2.org >>>>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> Kasun Indrasiri >>>>>>>>>>>>>>> Software Architect >>>>>>>>>>>>>>> WSO2, Inc.; http://wso2.com >>>>>>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> cell: +94 77 556 5206 >>>>>>>>>>>>>>> Blog : http://kasunpanorama.blogspot.com/ >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> Chanaka Fernando >>>>>>>>>>>>>> >>>>>>>>>>>>>> Technical Lead >>>>>>>>>>>>>> WSO2, Inc.; http://wso2.com >>>>>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>>>>> >>>>>>>>>>>>>> mobile: +94 773337238 >>>>>>>>>>>>>> Blog : http://soatutorials.blogspot.com >>>>>>>>>>>>>> LinkedIn: >>>>>>>>>>>>>> http://www.linkedin.com/pub/chanaka-fernando/19/a20/5b0 >>>>>>>>>>>>>> Twitter:https://twitter.com/chanakaudaya >>>>>>>>>>>>>> Wordpress:http://chanakaudaya.wordpress.com >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>> Architecture mailing list >>>>>>>>>>>>>> Architecture@wso2.org >>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> Paul Fremantle >>>>>>>>>>>>> CTO and Co-Founder, WSO2 >>>>>>>>>>>>> OASIS WS-RX TC Co-chair, Apache Member >>>>>>>>>>>>> >>>>>>>>>>>>> UK: +44 207 096 0336 >>>>>>>>>>>>> US: +1 646 595 7614 >>>>>>>>>>>>> >>>>>>>>>>>>> blog: http://pzf.fremantle.org >>>>>>>>>>>>> twitter.com/pzfreo >>>>>>>>>>>>> p...@wso2.com >>>>>>>>>>>>> >>>>>>>>>>>>> wso2.com Lean Enterprise Middleware >>>>>>>>>>>>> >>>>>>>>>>>>> Disclaimer: This communication may contain privileged or other >>>>>>>>>>>>> confidential information and is intended exclusively for the >>>>>>>>>>>>> addressee/s. >>>>>>>>>>>>> If you are not the intended recipient/s, or believe that you may >>>>>>>>>>>>> have >>>>>>>>>>>>> received this communication in error, please reply to the sender >>>>>>>>>>>>> indicating >>>>>>>>>>>>> that fact and delete the copy you received and in addition, you >>>>>>>>>>>>> should not >>>>>>>>>>>>> print, copy, retransmit, disseminate, or otherwise use the >>>>>>>>>>>>> information >>>>>>>>>>>>> contained in this communication. Internet communications cannot be >>>>>>>>>>>>> guaranteed to be timely, secure, error or virus-free. The sender >>>>>>>>>>>>> does not >>>>>>>>>>>>> accept liability for any errors or omissions. >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> *Anjana Fernando* >>>>>>>>>>>> Technical Lead >>>>>>>>>>>> WSO2 Inc. | http://wso2.com >>>>>>>>>>>> lean . enterprise . middleware >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Ishan Jayawardena >>>>>>>>>>> Senior Software Engineer >>>>>>>>>>> Mobile: +94 (77) 408 2330 >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> *Anjana Fernando* >>>>>>>>>> Technical Lead >>>>>>>>>> WSO2 Inc. | http://wso2.com >>>>>>>>>> lean . enterprise . middleware >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Kasun Indrasiri >>>>>>>>> Software Architect >>>>>>>>> WSO2, Inc.; http://wso2.com >>>>>>>>> lean.enterprise.middleware >>>>>>>>> >>>>>>>>> cell: +94 77 556 5206 >>>>>>>>> Blog : http://kasunpanorama.blogspot.com/ >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Ishan Jayawardena >>>>>>>> Senior Software Engineer >>>>>>>> Mobile: +94 (77) 408 2330 >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Ishan Jayawardena >>>>>>> Senior Software Engineer >>>>>>> Mobile: +94 (77) 408 2330 >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Ishan Jayawardena >>>>>> Senior Software Engineer >>>>>> Mobile: +94 (77) 408 2330 >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> >>>>> 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/> >>>>> >>>>> Save a tree -Conserve nature & Save the world for your future. Print >>>>> this email only if it is absolutely necessary. >>>>> >>>> >>>> >>>> >>>> -- >>>> *Anjana Fernando* >>>> Senior Technical Lead >>>> WSO2 Inc. | http://wso2.com >>>> 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/> >>> >>> Save a tree -Conserve nature & Save the world for your future. Print >>> this email only if it is absolutely necessary. >>> >> >> >> >> -- >> *Anjana Fernando* >> Senior Technical Lead >> WSO2 Inc. | http://wso2.com >> 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/> > > Save a tree -Conserve nature & Save the world for your future. Print this > email only if it is absolutely necessary. > > -- 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/> 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