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 <[email protected]> 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 <[email protected]> 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 <[email protected]> wrote:
>>
>>>
>>>
>>>
>>> On Sat, Apr 5, 2014 at 9:22 AM, Anjana Fernando <[email protected]> wrote:
>>>
>>>> Hi Ishan,
>>>>
>>>> On Sat, Apr 5, 2014 at 7:33 AM, Ishan Jayawardena <[email protected]>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 <[email protected]> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Mon, Mar 24, 2014 at 8:04 PM, Sagara Gunathunga 
>>>>>> <[email protected]>wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Mar 24, 2014 at 11:52 AM, Kasun Indrasiri <[email protected]>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 
>>>>>>>> <[email protected]>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
>>>>>>>>> [email protected]
>>>>>>>>> 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
>>>>>>>> [email protected]
>>>>>>>> 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: [email protected] cell: +94 77 3791887
>>>>>> blog: http://mytecheye.blogspot.com/
>>>>>> twitter: http://twitter.com/isudana
>>>>>>
>>>>>> _______________________________________________
>>>>>> Architecture mailing list
>>>>>> [email protected]
>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Ishan Jayawardena
>>>>> Senior Software Engineer
>>>>> Mobile: +94 (77) 408 2330
>>>>>
>>>>> _______________________________________________
>>>>> Architecture mailing list
>>>>> [email protected]
>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> *Anjana Fernando*
>>>> Technical Lead
>>>> WSO2 Inc. | http://wso2.com
>>>> lean . enterprise . middleware
>>>>
>>>> _______________________________________________
>>>> Architecture mailing list
>>>> [email protected]
>>>> 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
>> [email protected]
>> 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
> [email protected]
>
> 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
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to