Re: [Architecture] Removing Global Queue from MB
Hi, There were some changes in the proposed architecture after the discussion had with Srinath and Shammi today. 1. There are only queue number of slots. When a message comes A slot will be created to the destination queue of the message if it is not already created and save in the slot. 2. We do not assign the whole map to one particular node, but a range of the queue will be assigned to subscribers. 3. There is a high threshold value for the range we assign. 4. QueueDiliveryWorker checkout the message list from the assigned range and deliver the messages to subscribers. 5. Distributed map should be maintained to keep track of assigned slot ranges. Thank you, Sajini. On Mon, Jul 28, 2014 at 9:27 AM, Srinath Perera srin...@wso2.com wrote: Hazelcast map is OK, but careful on how often you update that. For the limit, shall we keep an integer for each slot in Hazelcast, and once for 1000 messages, shall we update the integer and get the new value. Then based on that value, we decide slot is full. Slot size limit is a soft limit. Any slot that is assigned, need not used again (unless subscriber died). When assigning slots, choose slots amongs ones that not yet assigned. --Srinath On Mon, Jul 28, 2014 at 9:20 AM, Sajini De Silva saj...@wso2.com wrote: Hi all, I started implementing the above mentioned features. There are some clarifications need to be made. - In each node I keep a map to keep track of slot assignments. There are two possible ways to to that. 1. Use Hazelcast distributed map. 2. Keep in-memory map in each node and update the map using hazelcast topic message when there is a change in the assignment. Which one do you think is better? - How each node knows when the limit of a slot is exceeded? Currently what I'm doing is divide the threshold limit by number of nodes and each node keep track of its own limit. Is this the best way to do this? - When assigning a slot to a node in my current implementation I take the all the available slots for a particular queue and get the lowest numbered slot. If this to work we have to remove slots which have exceeded their limits in all nodes. Any suggestions to do this or is there a better way to do this? Thank you, Sajini. On Sun, Jul 27, 2014 at 6:02 PM, Sajini De Silva saj...@wso2.com wrote: Hi, According to the discussion we had with Srinath there were some changes of the above proposal. 1. Instead of having queuesCount X nodeCount number of slots, we keep infinite number of slots with a limited number of capacity. The capacity of the slot is configurable. 2. When a message comes to a queue we create a slot and put it in the slot until the slot exceeds its maximum threshold capacity. When a slot exceeds its capacity we create a new slot and put the messages there. 3. When a subscriber subscribes from a node, we assign a slot to that node from free slot pool. 4. If a subscriber disappeared from a node, that subscriber's slot can be assigned to someone else. No need to copy messages to somewhere else. In this manner messages are not needed to be copied around. Message will be write only once and read once. Thank you, Sajini. On Fri, Jul 25, 2014 at 8:56 AM, Srinath Perera srin...@wso2.com wrote: Challenge is we do not know how many subscriptions the topic would receive. If we write message to multiple slots .. and only one subscription came, we are in trouble. I am inclined to say we write to one slot (slots are in Cassandra and so slot can be big) and split them only when there are multiple subscriptions. We need to discuss more. Can we chat f2f with Shammi and Hasitha and others. Key is to minimize the chance of having to do slot merges etc. --Srinath On Thu, Jul 24, 2014 at 10:09 PM, Sajini De Silva saj...@wso2.com wrote: Hi Srinath, While reading this the question came in to my mind was how this addresses the problem we were trying to solve using high and low water mark levels. So I had an offline discussion with Shammi and came up with the following solution. 1. When we receive messages, if there is no subscription, rather than taking the slot and writing all the messages to that slot create multiple number of slots which have messages up to HWM level. 2. If a queue has subscriptions from multiple nodes, then we will give it several slots, assign those slots to corresponding nodes. When distributing messages to those slots copy only messages up to HWM level. What do you think? Thank you, Sajini. On Thu, Jul 24, 2014 at 3:09 PM, Srinath Perera srin...@wso2.com wrote: Currently we use Global queue to handle the scenario where we receive messages for a queue that does not have any subscriptions. However, due to this large latency is added and message need to copied around lot. Shammi and myself
Re: [Architecture] [Dev] Role based Email notifications on Life-cycle state change of an asset in ES
Hi All, I have implemented a component for ES to provide the following functionality, 1. *Register custom Event Types* Currently, Registry provides several events to which users can subscribe to. i.e. Create LC, Delete LC, Update, Delete etc. By using custom Event Type registration we can introduce new Event Types (i.e. Asset Update, New Asset Version Created etc.) 2. *Subscribe to available Event Types* Allows subscribing to available event types via the same options provided by the Registry (i.e. e-mail, role profile, user profile etc.) 3. *Notify a specific event has been triggered* Notify the subscribed user of a particular event The above functionality is implemented based on the Eventing OSGI Service. The registering of new event types is used to introduce event types that occur in ES. But we have defined *Store Asset Update* which is similar to *Resource Update* in registry and *Store LC State Change* which is similar to *Change LC State. *It is done as a workaround to customize the message sent when the above events are triggered. Any feedback is appreciated. Thank you, Sameera On Fri, Jul 11, 2014 at 5:07 PM, Sameera Jayaratna samee...@wso2.com wrote: Hi All, According to the requirement in [1], I am working on implementing the $subject. *Requirement* The requirement is to send an e-mail notification to users with a specified role once the lifecycle state of an asset changes. The roles to be notified needs to be configured for each state transition. A sample use case of the requirement is as follows. In Connector Store, once a connector is newly added by a developer, it can be promoted to 'In-Review' state. Then all the users with the role 'reviewer' need to be notified. Once the connector is reviewed and transferred to 'Published' state, the developer needs to be notified. *Approach* As per the discussions I had with Ruchira and SameeraM, - the roles to be notified in each state transition could be defined in the lifecycle configuration. - An executor in ES which will be triggered on lifecycle state change can be improved to handle email sending. - implement this feature based on eventing feature in registry *Issues* We require to send a customized message in the email depending on the state transition, asset type etc. Currently, the message body can not be customized in registry. What could be the best approach in implementing the above feature? [1] https://wso2.org/jira/browse/STORE-457 Thank you, Sameera -- *Thanks Regards, Sameera Jayaratna Software Engineer; **WSO2 Inc. * *lean . enterprise . middleware | http://wso2.com http://wso2.com * -- *Thanks Regards,Sameera Jayaratna Software Engineer; **WSO2 Inc. * *lean . enterprise . middleware | http://wso2.com http://wso2.com * ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] [Dev] Role based Email notifications on Life-cycle state change of an asset in ES
Hi Sameera, With regards to the two new event types that you introduced, I think this is the best workaround possible right now, since the registry events are not easily customizable. There is one possibility though, [1], but that is not the most ideal. But, this is something you were aware of? [1] https://docs.wso2.com/display/Governance460/Notification+E-mail+Customization+Sample Thanks, Senaka. On Mon, Jul 28, 2014 at 10:16 AM, Sameera Jayaratna samee...@wso2.com wrote: Hi All, I have implemented a component for ES to provide the following functionality, 1. *Register custom Event Types* Currently, Registry provides several events to which users can subscribe to. i.e. Create LC, Delete LC, Update, Delete etc. By using custom Event Type registration we can introduce new Event Types (i.e. Asset Update, New Asset Version Created etc.) 2. *Subscribe to available Event Types* Allows subscribing to available event types via the same options provided by the Registry (i.e. e-mail, role profile, user profile etc.) 3. *Notify a specific event has been triggered* Notify the subscribed user of a particular event The above functionality is implemented based on the Eventing OSGI Service. The registering of new event types is used to introduce event types that occur in ES. But we have defined *Store Asset Update* which is similar to *Resource Update* in registry and *Store LC State Change* which is similar to *Change LC State. *It is done as a workaround to customize the message sent when the above events are triggered. Any feedback is appreciated. Thank you, Sameera On Fri, Jul 11, 2014 at 5:07 PM, Sameera Jayaratna samee...@wso2.com wrote: Hi All, According to the requirement in [1], I am working on implementing the $subject. *Requirement* The requirement is to send an e-mail notification to users with a specified role once the lifecycle state of an asset changes. The roles to be notified needs to be configured for each state transition. A sample use case of the requirement is as follows. In Connector Store, once a connector is newly added by a developer, it can be promoted to 'In-Review' state. Then all the users with the role 'reviewer' need to be notified. Once the connector is reviewed and transferred to 'Published' state, the developer needs to be notified. *Approach* As per the discussions I had with Ruchira and SameeraM, - the roles to be notified in each state transition could be defined in the lifecycle configuration. - An executor in ES which will be triggered on lifecycle state change can be improved to handle email sending. - implement this feature based on eventing feature in registry *Issues* We require to send a customized message in the email depending on the state transition, asset type etc. Currently, the message body can not be customized in registry. What could be the best approach in implementing the above feature? [1] https://wso2.org/jira/browse/STORE-457 Thank you, Sameera -- *Thanks Regards, Sameera Jayaratna Software Engineer; **WSO2 Inc. * *lean . enterprise . middleware | http://wso2.com http://wso2.com * -- *Thanks Regards,Sameera Jayaratna Software Engineer; **WSO2 Inc. * *lean . enterprise . middleware | http://wso2.com http://wso2.com * -- *[image: http://wso2.com] http://wso2.com Senaka Fernando* Software Architect; WSO2 Inc.; http://wso2.com * Member; Apache Software Foundation; http://apache.org http://apache.orgE-mail: senaka AT wso2.com http://wso2.com**P: +1 408 754 7388; ext: 51736*; *M: +44 782 741 1966 Linked-In: http://linkedin.com/in/senakafernando http://linkedin.com/in/senakafernando*Lean . Enterprise . Middleware ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] [Dev] Role based Email notifications on Life-cycle state change of an asset in ES
Hi Senaka, Thank you for the feedback. :) Yes, we came across that sample when we started doing this. But after a discussion with Ruchira it was decided not to follow that method as it is not ideal. We also need to send html content in the email. We can set the html formatted content through the newly created event type, but we need to set the content type to text/html. The sample mentioned above explains achieving this via a handler. Is it the best approach for this? Thank you, Sameera On Mon, Jul 28, 2014 at 3:03 PM, Senaka Fernando sen...@wso2.com wrote: Hi Sameera, With regards to the two new event types that you introduced, I think this is the best workaround possible right now, since the registry events are not easily customizable. There is one possibility though, [1], but that is not the most ideal. But, this is something you were aware of? [1] https://docs.wso2.com/display/Governance460/Notification+E-mail+Customization+Sample Thanks, Senaka. On Mon, Jul 28, 2014 at 10:16 AM, Sameera Jayaratna samee...@wso2.com wrote: Hi All, I have implemented a component for ES to provide the following functionality, 1. *Register custom Event Types* Currently, Registry provides several events to which users can subscribe to. i.e. Create LC, Delete LC, Update, Delete etc. By using custom Event Type registration we can introduce new Event Types (i.e. Asset Update, New Asset Version Created etc.) 2. *Subscribe to available Event Types* Allows subscribing to available event types via the same options provided by the Registry (i.e. e-mail, role profile, user profile etc.) 3. *Notify a specific event has been triggered* Notify the subscribed user of a particular event The above functionality is implemented based on the Eventing OSGI Service. The registering of new event types is used to introduce event types that occur in ES. But we have defined *Store Asset Update* which is similar to *Resource Update* in registry and *Store LC State Change* which is similar to *Change LC State. *It is done as a workaround to customize the message sent when the above events are triggered. Any feedback is appreciated. Thank you, Sameera On Fri, Jul 11, 2014 at 5:07 PM, Sameera Jayaratna samee...@wso2.com wrote: Hi All, According to the requirement in [1], I am working on implementing the $subject. *Requirement* The requirement is to send an e-mail notification to users with a specified role once the lifecycle state of an asset changes. The roles to be notified needs to be configured for each state transition. A sample use case of the requirement is as follows. In Connector Store, once a connector is newly added by a developer, it can be promoted to 'In-Review' state. Then all the users with the role 'reviewer' need to be notified. Once the connector is reviewed and transferred to 'Published' state, the developer needs to be notified. *Approach* As per the discussions I had with Ruchira and SameeraM, - the roles to be notified in each state transition could be defined in the lifecycle configuration. - An executor in ES which will be triggered on lifecycle state change can be improved to handle email sending. - implement this feature based on eventing feature in registry *Issues* We require to send a customized message in the email depending on the state transition, asset type etc. Currently, the message body can not be customized in registry. What could be the best approach in implementing the above feature? [1] https://wso2.org/jira/browse/STORE-457 Thank you, Sameera -- *Thanks Regards, Sameera Jayaratna Software Engineer; **WSO2 Inc. * *lean . enterprise . middleware | http://wso2.com http://wso2.com * -- *Thanks Regards,Sameera Jayaratna Software Engineer; **WSO2 Inc. * *lean . enterprise . middleware | http://wso2.com http://wso2.com * -- *[image: http://wso2.com] http://wso2.com Senaka Fernando* Software Architect; WSO2 Inc.; http://wso2.com * Member; Apache Software Foundation; http://apache.org http://apache.orgE-mail: senaka AT wso2.com http://wso2.com**P: +1 408 754 7388 %2B1%20408%20754%207388; ext: 51736*; *M: +44 782 741 1966 %2B44%20782%20741%201966 Linked-In: http://linkedin.com/in/senakafernando http://linkedin.com/in/senakafernando*Lean . Enterprise . Middleware -- *Thanks Regards,Sameera Jayaratna Software Engineer; **WSO2 Inc. * *lean . enterprise . middleware | http://wso2.com http://wso2.com * ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
[Architecture] [AF] Bring Your Own App type
Hi All Problem : App Factory deployers should be able to add application types by packaging everything in a file. For example to add foo apptype add foo.apptype archive file and putting it in a location. [1] Solution : Add a new deployer (Apptype Deployer), which will listen to the location $CARBON_HOME/repository/deployment/server/apptypes and which will do the following set of tasks. 1. Explode the zip file. 2. This zip file should contain a xml file such as apptype.xml. 3. There are set of tags that should be in this xml (Mandatory Tags) and there could be set of properties which is custom to this apptype. 4. Pre check the availability of the class mentioned as the Application Type Processor (Which should be a Mandatory Tags). (This application type processor is a customization endpoint provided by App Factory) 5. Copy set of resources files to a named locations. 6. Populate a in memory data structure with the data in the apptype.xml. [1] https://redmine.wso2.com/issues/2889 Thanks Regards Danushka Fernando Software Engineer WSO2 inc. http://wso2.com/ Mobile : +94716332729 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] [AF] Bring Your Own App type
Hi All, We thought of come-up with an XSD for the apptype.xml and use it to validate the xml file against the mandatory elements. If apptype.xml is validated and the result is success then it can be unmarshelled with JAXB. On Mon, Jul 28, 2014 at 5:33 PM, Danushka Fernando danush...@wso2.com wrote: Hi All Problem : App Factory deployers should be able to add application types by packaging everything in a file. For example to add foo apptype add foo.apptype archive file and putting it in a location. [1] Solution : Add a new deployer (Apptype Deployer), which will listen to the location $CARBON_HOME/repository/deployment/server/apptypes and which will do the following set of tasks. 1. Explode the zip file. 2. This zip file should contain a xml file such as apptype.xml. 3. There are set of tags that should be in this xml (Mandatory Tags) and there could be set of properties which is custom to this apptype. 4. Pre check the availability of the class mentioned as the Application Type Processor (Which should be a Mandatory Tags). (This application type processor is a customization endpoint provided by App Factory) 5. Copy set of resources files to a named locations. 6. Populate a in memory data structure with the data in the apptype.xml. [1] https://redmine.wso2.com/issues/2889 Thanks Regards Danushka Fernando Software Engineer WSO2 inc. http://wso2.com/ Mobile : +94716332729 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture -- Thanks and Regards, Punnadi Gunarathna Senior Software Engineer, WSO2, Inc.; http://wso2.com http://wso2 Blog: http://hi-my-world.blogspot.com/ Tel : 94 11 214 5345 Fax :94 11 2145300 http://lalajisureshika.blogspot.com/ ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
[Architecture] Running Carbon server inside other servers
Hi, Is it possible to run carbon server outside standalone mode, in other application server? As far as i have read, it is possible: http://wso2.com/library/articles/stuff-works-wso2-carbon/ But we cant put it to work and we also found some questions on stackoverflow No, we stopped supporting webapp deployment in later 4.x.x carbon versions http://stackoverflow.com/questions/16959326/can-wso2-carbon-4-1-run-as-a-web-app-war/16959521#16959521 Running WSO2 Carbon as web Application in Tomcat. We stopped supporting webapp deployment in later 4.x.x carbon versions http://stackoverflow.com/questions/16588575/running-wso2-carbon-as-web-application-in-tomcat WSO2 Greg Weblogic Deployment It is not supported later versions of carbon 4.0.0. GREG 4.6.0 using carbon 4.x.x version, so it can not be deployed in weblogic. http://stackoverflow.com/questions/21292296/wso2-greg-weblogic-deployment/21299747#21299747 We stopped supporting webapp deployment in later 4.x.x carbon versions https://stackoverflow.com/questions/24950452/can-wso2ues-1-0-carbon-server-run-as-a-web-app So, is it possible? Thank you so much. Regards. ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] [AF] Bring Your Own App type
I'm not really fond of having a predefined schema for application type xml. reasons: 1) in my opinion is too early to figure out what should be in the schema given that we don't have lot of apptypes (or identified what we will support in future) 2) I like to draw an example from Apache Ant. Correct me if im wrong but they purposely don't have a schema to validate tags in build.xml file. why ? because they if they do they can't introduce any ant tasks/types with out changing the schema. (- it becomes a bottleneck - and brings a lot of backward compatibility issues). What do you guys think? @Punnadhi: BTW is it possible to have un-Marshal xml if the xml document contains UN-recognized tags? On Mon, Jul 28, 2014 at 8:00 PM, Punnadi Gunarathna punn...@wso2.com wrote: Hi All, We thought of come-up with an XSD for the apptype.xml and use it to validate the xml file against the mandatory elements. If apptype.xml is validated and the result is success then it can be unmarshelled with JAXB. On Mon, Jul 28, 2014 at 5:33 PM, Danushka Fernando danush...@wso2.com wrote: Hi All Problem : App Factory deployers should be able to add application types by packaging everything in a file. For example to add foo apptype add foo.apptype archive file and putting it in a location. [1] Solution : Add a new deployer (Apptype Deployer), which will listen to the location $CARBON_HOME/repository/deployment/server/apptypes and which will do the following set of tasks. 1. Explode the zip file. 2. This zip file should contain a xml file such as apptype.xml. 3. There are set of tags that should be in this xml (Mandatory Tags) and there could be set of properties which is custom to this apptype. 4. Pre check the availability of the class mentioned as the Application Type Processor (Which should be a Mandatory Tags). (This application type processor is a customization endpoint provided by App Factory) 5. Copy set of resources files to a named locations. 6. Populate a in memory data structure with the data in the apptype.xml. [1] https://redmine.wso2.com/issues/2889 Thanks Regards Danushka Fernando Software Engineer WSO2 inc. http://wso2.com/ Mobile : +94716332729 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture -- Thanks and Regards, Punnadi Gunarathna Senior Software Engineer, WSO2, Inc.; http://wso2.com http://wso2 Blog: http://hi-my-world.blogspot.com/ Tel : 94 11 214 5345 Fax :94 11 2145300 http://lalajisureshika.blogspot.com/ ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture -- Ramith Jayasinghe Technical Lead WSO2 Inc., http://wso2.com lean.enterprise.middleware E: ram...@wso2.com P: +94 777542851 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] Jaggery based UI for WS-Human Tasks
Hi Milinda, we need to come up with a method for form generation to cater for input and outout, response of human tasks. One option is to use the renderings element to specify form information and use that to generate the ui. Additionally, we could provide a way to specify input output and reponse as Jaggery files like we do with the current jsp model in case renderings are not defined. Regards Nandika On Mon, Jul 28, 2014 at 10:00 AM, Milinda Perera milin...@wso2.com wrote: Hi, We are planning to implement Jaggery based UI for WS-Human Tasks [1] in BPS. Currently BPS doesn't have user interface for WS-HumanTasks separated from admin console. So I'm working on developping jaggery based webapp which can deploy seperately from the BPS. Following diagram depicts the basic architecture. The webapp use Admin services (HumanTaskClientAPIAdmin, AuthenticationAdmin) provided by BPS to retrieve and update human tasks. Functionalities: - List tasks assigned to user in the inbox including graphical representation for task completion progress. - List all the task information. - Provide all the operations to manipulate tasks. - Isolate user interface from BPS. Highly appreciate for any suggestions to improve this. I will update (including UI design) with the progress. [1] https://wso2.org/jira/browse/BPS-527 Thanks, milinda -- Milinda Perera Software Engineer; WSO2 Inc. http://wso2.com , Mobile: (+94) 714 115 032 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture -- Nandika Jayawardana Senior 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
Re: [Architecture] Jaggery based UI for WS-Human Tasks
Hi Milinda, will the BPMN/activiti processes also supported by the jaggery UI for WS-Human-Tasks? best regards Manfred 2014-07-28 19:38 GMT+02:00 Nandika Jayawardana nand...@wso2.com: Hi Milinda, we need to come up with a method for form generation to cater for input and outout, response of human tasks. One option is to use the renderings element to specify form information and use that to generate the ui. Additionally, we could provide a way to specify input output and reponse as Jaggery files like we do with the current jsp model in case renderings are not defined. Regards Nandika On Mon, Jul 28, 2014 at 10:00 AM, Milinda Perera milin...@wso2.com wrote: Hi, We are planning to implement Jaggery based UI for WS-Human Tasks [1] in BPS. Currently BPS doesn’t have user interface for WS-HumanTasks separated from admin console. So I’m working on developping jaggery based webapp which can deploy seperately from the BPS. Following diagram depicts the basic architecture. The webapp use Admin services (HumanTaskClientAPIAdmin, AuthenticationAdmin) provided by BPS to retrieve and update human tasks. Functionalities: - List tasks assigned to user in the inbox including graphical representation for task completion progress. - List all the task information. - Provide all the operations to manipulate tasks. - Isolate user interface from BPS. Highly appreciate for any suggestions to improve this. I will update (including UI design) with the progress. [1] https://wso2.org/jira/browse/BPS-527 Thanks, milinda -- Milinda Perera Software Engineer; WSO2 Inc. http://wso2.com , Mobile: (+94) 714 115 032 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture -- Nandika Jayawardana Senior 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 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] BPS Performance Test Results
Hi, I have added the plotted graph in the doc [1]. [1] https://docs.google.com/a/wso2.com/document/d/1aubN2MsPYb-biGIhyVs2KSDs9cQ0D_MdCo-75hFf10A/edit Regards, Firzhan On Mon, Jul 28, 2014 at 10:00 AM, Firzhan Naqash firz...@wso2.com wrote: Hi, Sorry I was working on NDataSource migration issue. I will update the mail thread with relevant plotted graphs by EOD today. Regards, Firzhan On Mon, Jul 28, 2014 at 9:53 AM, Srinath Perera srin...@wso2.com wrote: ping On Mon, Jul 21, 2014 at 3:06 PM, Srinath Perera srin...@wso2.com wrote: Could we plot this by scenario pls? On Mon, Jul 21, 2014 at 2:43 PM, Firzhan Naqash firz...@wso2.com wrote: Hi, Following scenarios are considered for the BPS performance testing. BPEL Processes 1. In-memory process with external service invocation 2. Persistent synchronous process with external service invocation 3. Persistent asynchronous process with external service invocation and callback Human Tasks == 4. Human Task Creation 5. Persistent BPEL process invoking a human task BPMN Processes == 6. BPMN process with In memory database 7. BPMN process with persistence The tests related to BPEL are done using EC2 instances and the other tests are done in the localhost. I have shared the numbers in following excel sheet. https://docs.google.com/a/wso2.com/spreadsheets/d/1kzxzfGd55KCCFz_0i1LVIsxVd3x7oYEVG5OFUe3mtVw/edit#gid=0 Regards, Firzhan -- Director, Research, WSO2 Inc. Visiting Faculty, University of Moratuwa Member, Apache Software Foundation Research Scientist, Lanka Software Foundation Blog: http://srinathsview.blogspot.com twitter:@srinath_perera Site: http://people.apache.org/~hemapani/ Photos: http://www.flickr.com/photos/hemapani/ Phone: 0772360902 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture -- Srinath Perera, Ph.D. http://people.apache.org/~hemapani/ http://srinathsview.blogspot.com/ ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] [AF] Bring Your Own App type
Hi all, Thinking about the range of apps that we'll be supporting, I believe the mandatory tags will be very minimal(one or two or else). So I am +1 not doing the schema validation yet. If we use any standard parser it will properly give out any unrecognised tags. thanks, dimuthu On Mon, Jul 28, 2014 at 10:46 PM, Ramith Jayasinghe ram...@wso2.com wrote: I'm not really fond of having a predefined schema for application type xml. reasons: 1) in my opinion is too early to figure out what should be in the schema given that we don't have lot of apptypes (or identified what we will support in future) 2) I like to draw an example from Apache Ant. Correct me if im wrong but they purposely don't have a schema to validate tags in build.xml file. why ? because they if they do they can't introduce any ant tasks/types with out changing the schema. (- it becomes a bottleneck - and brings a lot of backward compatibility issues). What do you guys think? @Punnadhi: BTW is it possible to have un-Marshal xml if the xml document contains UN-recognized tags? On Mon, Jul 28, 2014 at 8:00 PM, Punnadi Gunarathna punn...@wso2.com wrote: Hi All, We thought of come-up with an XSD for the apptype.xml and use it to validate the xml file against the mandatory elements. If apptype.xml is validated and the result is success then it can be unmarshelled with JAXB. On Mon, Jul 28, 2014 at 5:33 PM, Danushka Fernando danush...@wso2.com wrote: Hi All Problem : App Factory deployers should be able to add application types by packaging everything in a file. For example to add foo apptype add foo.apptype archive file and putting it in a location. [1] Solution : Add a new deployer (Apptype Deployer), which will listen to the location $CARBON_HOME/repository/deployment/server/apptypes and which will do the following set of tasks. 1. Explode the zip file. 2. This zip file should contain a xml file such as apptype.xml. 3. There are set of tags that should be in this xml (Mandatory Tags) and there could be set of properties which is custom to this apptype. 4. Pre check the availability of the class mentioned as the Application Type Processor (Which should be a Mandatory Tags). (This application type processor is a customization endpoint provided by App Factory) 5. Copy set of resources files to a named locations. 6. Populate a in memory data structure with the data in the apptype.xml. [1] https://redmine.wso2.com/issues/2889 Thanks Regards Danushka Fernando Software Engineer WSO2 inc. http://wso2.com/ Mobile : +94716332729 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture -- Thanks and Regards, Punnadi Gunarathna Senior Software Engineer, WSO2, Inc.; http://wso2.com http://wso2 Blog: http://hi-my-world.blogspot.com/ Tel : 94 11 214 5345 Fax :94 11 2145300 http://lalajisureshika.blogspot.com/ ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture -- Ramith Jayasinghe Technical Lead WSO2 Inc., http://wso2.com lean.enterprise.middleware E: ram...@wso2.com P: +94 777542851 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture -- Dimuthu Leelarathne Architect Product Lead of App Factory WSO2, Inc. (http://wso2.com) email: dimut...@wso2.com Mobile : 0773661935 Lean . Enterprise . Middleware ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
[Architecture] More developer friendly application home and improving collaborative nature
Hi, *Suggestion 01* Currently we have a application home which shows some basic information about an application like name, icon, app type, owner, description, repo url and information associated with versions and their current status. In 1.0.0 we had more information like team composition and resources. But in the usability improvement process done for 2.0.0 we removed them. In my point of view the application home should have a snapshot of the application. It should summarize the information that all the other tabs in the application show in detail. Currently we only have repos and build information and issue summary only. What about re adding team, resources and lifecycle info summary to the application home page? IMO information related to fork repos should not go in there since it is more of a user specific thing. *Suggestion 02* Currently we do not publish git commit information to cassandra. Hence we don't see any commit information on the application wall. I would suggest this to be added and it will definitely improve the collaborative nature. We can use the git post commit hook that we have now to publish commit information. This will make sure that the developer knows when the last update was made to the master repository. WDYT ? Thanks GayanD Gayan Dhanuska Software Engineer http://wso2.com/ Lean Enterprise Middleware Mobile 071 666 2327 Office Tel : 94 11 214 5345 Fax : 94 11 214 5300 Twitter : https://twitter.com/gayanlggd ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] Running Carbon server inside other servers
Hi David, The article you have linked at [1] is based on Carbon 1.5.1, which makes it obsolete since the latest released Carbon version as of this moment is 4.2.0. Therefore it has undergone quite a lot of architectural changes when you compare it with v1.5.1. And as all the stackoverflow answers you've mentioned suggest, we have stopped supporting deploying Carbon server as a webapp from 4.x.x Carbon versions and we highly discourage doing so as well. However, even if you get it working by following steps similar to [2], again i would have to emphasize that it is not supported and you will face the similar limitations mentioned at [3] which may outweigh the benefits you are trying to achieve using another deployment server. May I please ask what you are trying to achieve, so we might be able to help you out in some other way. [1] http://wso2.com/library/articles/stuff-works-wso2-carbon/ [2] http://pradeepfernando.blogspot.com/2012/09/running-wso2-carbon-as-web-app-apache.html [3] http://stackoverflow.com/questions/17122096/limitations-of-running-wso2-carbon-4-x-and-wso2-carbon-based-products-in-webapp Thanks. /Gayashan On Mon, Jul 28, 2014 at 8:38 PM, David Morales dmora...@stratio.com wrote: Hi, Is it possible to run carbon server outside standalone mode, in other application server? As far as i have read, it is possible: http://wso2.com/library/articles/stuff-works-wso2-carbon/ But we cant put it to work and we also found some questions on stackoverflow No, we stopped supporting webapp deployment in later 4.x.x carbon versions http://stackoverflow.com/questions/16959326/can-wso2-carbon-4-1-run-as-a-web-app-war/16959521#16959521 Running WSO2 Carbon as web Application in Tomcat. We stopped supporting webapp deployment in later 4.x.x carbon versions http://stackoverflow.com/questions/16588575/running-wso2-carbon-as-web-application-in-tomcat WSO2 Greg Weblogic Deployment It is not supported later versions of carbon 4.0.0. GREG 4.6.0 using carbon 4.x.x version, so it can not be deployed in weblogic. http://stackoverflow.com/questions/21292296/wso2-greg-weblogic-deployment/21299747#21299747 We stopped supporting webapp deployment in later 4.x.x carbon versions https://stackoverflow.com/questions/24950452/can-wso2ues-1-0-carbon-server-run-as-a-web-app So, is it possible? Thank you so much. Regards. ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture -- *Gayashan Amarasinghe* Software Engineer | Platform TG WSO2, Inc. | http://wso2.com lean. enterprise. middleware Mobile : +94718314517 Blog : gayashan-a.blogspot.com ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] [AF] Bring Your Own App type
HI Dimuthu There are several mandatory tags like app type name, description, and application type processor. These are used in our code / jaggery apps. But there could be other tags which are not mandatory and also specific to certain app types which are used inside the application type processor. Thanks Regards Danushka Fernando Software Engineer WSO2 inc. http://wso2.com/ Mobile : +94716332729 On Tue, Jul 29, 2014 at 8:45 AM, Dimuthu Leelarathne dimut...@wso2.com wrote: Hi all, Thinking about the range of apps that we'll be supporting, I believe the mandatory tags will be very minimal(one or two or else). So I am +1 not doing the schema validation yet. If we use any standard parser it will properly give out any unrecognised tags. thanks, dimuthu On Mon, Jul 28, 2014 at 10:46 PM, Ramith Jayasinghe ram...@wso2.com wrote: I'm not really fond of having a predefined schema for application type xml. reasons: 1) in my opinion is too early to figure out what should be in the schema given that we don't have lot of apptypes (or identified what we will support in future) 2) I like to draw an example from Apache Ant. Correct me if im wrong but they purposely don't have a schema to validate tags in build.xml file. why ? because they if they do they can't introduce any ant tasks/types with out changing the schema. (- it becomes a bottleneck - and brings a lot of backward compatibility issues). What do you guys think? @Punnadhi: BTW is it possible to have un-Marshal xml if the xml document contains UN-recognized tags? On Mon, Jul 28, 2014 at 8:00 PM, Punnadi Gunarathna punn...@wso2.com wrote: Hi All, We thought of come-up with an XSD for the apptype.xml and use it to validate the xml file against the mandatory elements. If apptype.xml is validated and the result is success then it can be unmarshelled with JAXB. On Mon, Jul 28, 2014 at 5:33 PM, Danushka Fernando danush...@wso2.com wrote: Hi All Problem : App Factory deployers should be able to add application types by packaging everything in a file. For example to add foo apptype add foo.apptype archive file and putting it in a location. [1] Solution : Add a new deployer (Apptype Deployer), which will listen to the location $CARBON_HOME/repository/deployment/server/apptypes and which will do the following set of tasks. 1. Explode the zip file. 2. This zip file should contain a xml file such as apptype.xml. 3. There are set of tags that should be in this xml (Mandatory Tags) and there could be set of properties which is custom to this apptype. 4. Pre check the availability of the class mentioned as the Application Type Processor (Which should be a Mandatory Tags). (This application type processor is a customization endpoint provided by App Factory) 5. Copy set of resources files to a named locations. 6. Populate a in memory data structure with the data in the apptype.xml. [1] https://redmine.wso2.com/issues/2889 Thanks Regards Danushka Fernando Software Engineer WSO2 inc. http://wso2.com/ Mobile : +94716332729 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture -- Thanks and Regards, Punnadi Gunarathna Senior Software Engineer, WSO2, Inc.; http://wso2.com http://wso2 Blog: http://hi-my-world.blogspot.com/ Tel : 94 11 214 5345 Fax :94 11 2145300 http://lalajisureshika.blogspot.com/ ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture -- Ramith Jayasinghe Technical Lead WSO2 Inc., http://wso2.com lean.enterprise.middleware E: ram...@wso2.com P: +94 777542851 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture -- Dimuthu Leelarathne Architect Product Lead of App Factory WSO2, Inc. (http://wso2.com) email: dimut...@wso2.com Mobile : 0773661935 Lean . Enterprise . Middleware ___ 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
Re: [Architecture] [AF] Bring Your Own App type
Hi Danushka, Does all the app types contain a certain set of mandatory tags? I think we will have different mandatory tags according to different app types. So it is not good to be base on a few mandatory tags for each app type. Hence shouldn't we have a different validation mechanism for each application type? GayanD Gayan Dhanuska Software Engineer http://wso2.com/ Lean Enterprise Middleware Mobile 071 666 2327 Office Tel : 94 11 214 5345 Fax : 94 11 214 5300 Twitter : https://twitter.com/gayanlggd On Tue, Jul 29, 2014 at 10:30 AM, Danushka Fernando danush...@wso2.com wrote: HI Dimuthu There are several mandatory tags like app type name, description, and application type processor. These are used in our code / jaggery apps. But there could be other tags which are not mandatory and also specific to certain app types which are used inside the application type processor. Thanks Regards Danushka Fernando Software Engineer WSO2 inc. http://wso2.com/ Mobile : +94716332729 On Tue, Jul 29, 2014 at 8:45 AM, Dimuthu Leelarathne dimut...@wso2.com wrote: Hi all, Thinking about the range of apps that we'll be supporting, I believe the mandatory tags will be very minimal(one or two or else). So I am +1 not doing the schema validation yet. If we use any standard parser it will properly give out any unrecognised tags. thanks, dimuthu On Mon, Jul 28, 2014 at 10:46 PM, Ramith Jayasinghe ram...@wso2.com wrote: I'm not really fond of having a predefined schema for application type xml. reasons: 1) in my opinion is too early to figure out what should be in the schema given that we don't have lot of apptypes (or identified what we will support in future) 2) I like to draw an example from Apache Ant. Correct me if im wrong but they purposely don't have a schema to validate tags in build.xml file. why ? because they if they do they can't introduce any ant tasks/types with out changing the schema. (- it becomes a bottleneck - and brings a lot of backward compatibility issues). What do you guys think? @Punnadhi: BTW is it possible to have un-Marshal xml if the xml document contains UN-recognized tags? On Mon, Jul 28, 2014 at 8:00 PM, Punnadi Gunarathna punn...@wso2.com wrote: Hi All, We thought of come-up with an XSD for the apptype.xml and use it to validate the xml file against the mandatory elements. If apptype.xml is validated and the result is success then it can be unmarshelled with JAXB. On Mon, Jul 28, 2014 at 5:33 PM, Danushka Fernando danush...@wso2.com wrote: Hi All Problem : App Factory deployers should be able to add application types by packaging everything in a file. For example to add foo apptype add foo.apptype archive file and putting it in a location. [1] Solution : Add a new deployer (Apptype Deployer), which will listen to the location $CARBON_HOME/repository/deployment/server/apptypes and which will do the following set of tasks. 1. Explode the zip file. 2. This zip file should contain a xml file such as apptype.xml. 3. There are set of tags that should be in this xml (Mandatory Tags) and there could be set of properties which is custom to this apptype. 4. Pre check the availability of the class mentioned as the Application Type Processor (Which should be a Mandatory Tags). (This application type processor is a customization endpoint provided by App Factory) 5. Copy set of resources files to a named locations. 6. Populate a in memory data structure with the data in the apptype.xml. [1] https://redmine.wso2.com/issues/2889 Thanks Regards Danushka Fernando Software Engineer WSO2 inc. http://wso2.com/ Mobile : +94716332729 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture -- Thanks and Regards, Punnadi Gunarathna Senior Software Engineer, WSO2, Inc.; http://wso2.com http://wso2 Blog: http://hi-my-world.blogspot.com/ Tel : 94 11 214 5345 Fax :94 11 2145300 http://lalajisureshika.blogspot.com/ ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture -- Ramith Jayasinghe Technical Lead WSO2 Inc., http://wso2.com lean.enterprise.middleware E: ram...@wso2.com P: +94 777542851 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture -- Dimuthu Leelarathne Architect Product Lead of App Factory WSO2, Inc. (http://wso2.com) email: dimut...@wso2.com Mobile : 0773661935 Lean . Enterprise . Middleware ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] [AF] Bring Your Own App type
Hi Gayan These mandatory tags I mentioned are used in the common code which should be same to all app types. Check my previous mail. Thanks Regards Danushka Fernando Software Engineer WSO2 inc. http://wso2.com/ Mobile : +94716332729 On Tue, Jul 29, 2014 at 10:40 AM, Gayan Dhanushka gay...@wso2.com wrote: Hi Danushka, Does all the app types contain a certain set of mandatory tags? I think we will have different mandatory tags according to different app types. So it is not good to be base on a few mandatory tags for each app type. Hence shouldn't we have a different validation mechanism for each application type? GayanD Gayan Dhanuska Software Engineer http://wso2.com/ Lean Enterprise Middleware Mobile 071 666 2327 Office Tel : 94 11 214 5345 Fax : 94 11 214 5300 Twitter : https://twitter.com/gayanlggd On Tue, Jul 29, 2014 at 10:30 AM, Danushka Fernando danush...@wso2.com wrote: HI Dimuthu There are several mandatory tags like app type name, description, and application type processor. These are used in our code / jaggery apps. But there could be other tags which are not mandatory and also specific to certain app types which are used inside the application type processor. Thanks Regards Danushka Fernando Software Engineer WSO2 inc. http://wso2.com/ Mobile : +94716332729 On Tue, Jul 29, 2014 at 8:45 AM, Dimuthu Leelarathne dimut...@wso2.com wrote: Hi all, Thinking about the range of apps that we'll be supporting, I believe the mandatory tags will be very minimal(one or two or else). So I am +1 not doing the schema validation yet. If we use any standard parser it will properly give out any unrecognised tags. thanks, dimuthu On Mon, Jul 28, 2014 at 10:46 PM, Ramith Jayasinghe ram...@wso2.com wrote: I'm not really fond of having a predefined schema for application type xml. reasons: 1) in my opinion is too early to figure out what should be in the schema given that we don't have lot of apptypes (or identified what we will support in future) 2) I like to draw an example from Apache Ant. Correct me if im wrong but they purposely don't have a schema to validate tags in build.xml file. why ? because they if they do they can't introduce any ant tasks/types with out changing the schema. (- it becomes a bottleneck - and brings a lot of backward compatibility issues). What do you guys think? @Punnadhi: BTW is it possible to have un-Marshal xml if the xml document contains UN-recognized tags? On Mon, Jul 28, 2014 at 8:00 PM, Punnadi Gunarathna punn...@wso2.com wrote: Hi All, We thought of come-up with an XSD for the apptype.xml and use it to validate the xml file against the mandatory elements. If apptype.xml is validated and the result is success then it can be unmarshelled with JAXB. On Mon, Jul 28, 2014 at 5:33 PM, Danushka Fernando danush...@wso2.com wrote: Hi All Problem : App Factory deployers should be able to add application types by packaging everything in a file. For example to add foo apptype add foo.apptype archive file and putting it in a location. [1] Solution : Add a new deployer (Apptype Deployer), which will listen to the location $CARBON_HOME/repository/deployment/server/apptypes and which will do the following set of tasks. 1. Explode the zip file. 2. This zip file should contain a xml file such as apptype.xml. 3. There are set of tags that should be in this xml (Mandatory Tags) and there could be set of properties which is custom to this apptype. 4. Pre check the availability of the class mentioned as the Application Type Processor (Which should be a Mandatory Tags). (This application type processor is a customization endpoint provided by App Factory) 5. Copy set of resources files to a named locations. 6. Populate a in memory data structure with the data in the apptype.xml. [1] https://redmine.wso2.com/issues/2889 Thanks Regards Danushka Fernando Software Engineer WSO2 inc. http://wso2.com/ Mobile : +94716332729 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture -- Thanks and Regards, Punnadi Gunarathna Senior Software Engineer, WSO2, Inc.; http://wso2.com http://wso2 Blog: http://hi-my-world.blogspot.com/ Tel : 94 11 214 5345 Fax :94 11 2145300 http://lalajisureshika.blogspot.com/ ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture -- Ramith Jayasinghe Technical Lead WSO2 Inc., http://wso2.com lean.enterprise.middleware E: ram...@wso2.com P: +94 777542851 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture -- Dimuthu Leelarathne Architect
Re: [Architecture] Implementing Http Inbound Endpoint Using Netty-IO
Hi all, HTTP Inbound Implementation using HTTP Core has been almost completed and Integration Tests and Documentation has to be done.High Level Implementation details as follows. - DefaultListeningIOReactor is started when ESB starts with InboundConfigurations.Same IOReactor is shared among all the inbound Endpoints. - IOReactor is listen for ports specified in inbound endpoints. - Diffrent InboundSourceHandlers are registered with MulitlisternIODispatcher with their ports. - MultilistnerIODispatcher is capable of dispatching HTTP Requests to relevant Handlers. - InboundSourceHandlers create InboundHttpSourceRequest which is representation of HTTP Request received and Pass it to the InboundRequestWorker - InboundRequestWorker is executed through thread pool which is converting request to Syanapse Message Context and inject it to sequence specified by user and creates source pipe and set it as a property to consume by outbound PTT. - Response is received through Axis2Sender before sending to the Axis2Engine and Response Synapse Message Context is send to InboundHttpResponseWorker. - InboundHttpResponseWorker is capable of extract the Target Pipe and create InboundHttpSourceResponse and correlate Request with response. - InboundHttpSourceResponse write the buffer content to the client side. On Fri, Jul 25, 2014 at 11:50 AM, Kasun Indrasiri ka...@wso2.com wrote: On Fri, Jul 25, 2014 at 11:43 AM, Isuru Ranawaka isu...@wso2.com wrote: hi all, Implementation of the HTTP Inbound using Netty has been externalized as a separate component in carbon mediation and now working on developing HTTP Default Inbound Implementation using HTTP Core .We can register request handlers for different inbound endpoints using single IO Reactor.SO same reactor is capable of listening different ports and dispatch requests to relevant handlers. +1 It is really good to have all these inbound EPs externalized from synapse. In addition, when we are implementing this with HTTPCore, we should be able to cater to PTT architecture, where we create the source pipe from the inbound EP and later consumed by axis2 based PT sender. thanks isurur On Mon, Jul 21, 2014 at 1:41 PM, Sanjiva Weerawarana sanj...@wso2.com wrote: Oleg's reply below (forwarding with permission). So we should not just configuring HttpCore to listen on the new ports - I presume it has a way of registering different callbacks for different ports (which is what we need in order to handle them outside of the normal Synapse path). Sanjiva. On Mon, Jul 21, 2014 at 1:24 PM, Oleg Kalnichevski o...@ok2consulting.com wrote: On Mon, 2014-07-21 at 13:00 +0530, Sanjiva Weerawarana wrote: Good point about the need to have different IO threads .. but that's then because of a limitation in HTTPCore .. at a C level you can listen for IO on multiple sockets at once. So ideally HTTPCore can be improved to support that .. or maybe it does already? Oleg? HttpCore was capable of listening on multiple ports while utilizing the same I/O reactor and the same number of I/O dispatch threads since very beginning (~ 2006). Oleg +1 for dropping Netty :-). Sanjiva. On Mon, Jul 21, 2014 at 8:31 AM, Kasun Indrasiri ka...@wso2.com wrote: Hi Sanjiva, I think the problem we have with inbound HTTP and existing HTTP transport is that, they are completely isolated. So, even if we implement the new InboundEP implementation with HTTPCore, we cannot share the same listening IO reactor as with axis2 based PTT. So, each HTTP inbound EP have its own reactor running with its own config. The reason for start the initial implementation with Netty is to verify the Inbound synchronous behavior with an external HTTP library (for instance we may do something similar when implementing WS-RM Inbound EP with CXF). However, we better switch back to HTTPCore as the default HTTP Inbound endpoint as it is the default non-blocking HTTP library used across the board. Thanks, Kasun On Sat, Jul 19, 2014 at 3:55 PM, Sanjiva Weerawarana sanj...@wso2.com wrote: Isuru I assume you looked at using HttpCore itself to add this - can you point me to the discussion please? Having multiple NIO listeners affects the scaling config right - because normally you have n IO handling threads if you have n cores .. now you need to watch that across multiple libraries. Sanjiva. On Wed, Jul 16, 2014 at 10:37 AM, Isuru Ranawaka isu...@wso2.com wrote: Hi Ravi, In Netty-IO,
Re: [Architecture] Inbound Endpoint support for ESB
Following are the main decisions taken in the review meeting held on 28th July. Thread pool in Inbound Endpoint -- Introduce two new parameters to inbound endpoint configuration. 1. Sequenial (default = false) This is needed to be set to true when it is required to do in-order delivery and transactions for jms. When sequential is set to true, underline implementation will use injectMessage instead of injectAsync to avoid handing over processing to the synapse thread pool. 2. Number of threads This parameter denotes the number of concurrent threads handling requests at the inbound endpoint level. Default value has to be decided based on the nature of the protocol taking the facts like performance into consideration. This needs to be set to 1 for when it is required to do in-order delivery in jms. Http Inbound Endpoint For HttpInboundEndpoint, try to see whether we can share the same IOReactor used in Passthrough Http Transport. Idea is to reduce the number of IOReactors and maintain the theory of 'number of io workers = cpu cores' globally for an ESB instance. Current implementation only supports injecting a message to a particular sequence. Ideally we should be able to inject messages to existing APIs, Proxy services etc. For ESB 4.9.0 release, we are only going to support injecting messages to sequences and APIs. Renaming configuration parameters --- Rename protocol names as follows Rename 'jms' to 'AMQP/jms' (need to verify with Srinath) Rename 'file' to 'vfs' Thanks. On Mon, Jul 28, 2014 at 11:11 AM, Kasun Indrasiri ka...@wso2.com wrote: Hi all, In the current implementation of JMS and File inbound EPs all the parameter are prefixed with transport.jms or transport.vfs. I think we should get rid of this. On Fri, Jul 18, 2014 at 11:19 PM, Malaka Silva mal...@wso2.com wrote: After the fixes by Ishan coordination seems to be working fine with inbound eps. On Mon, Jul 14, 2014 at 4:35 PM, Kasun Indrasiri ka...@wso2.com wrote: +1. Basic UI should be sufficient. On Mon, Jul 14, 2014 at 8:58 PM, Malaka Silva mal...@wso2.com wrote: Shall we also do a simple UI for inbound Endpoints? On Thu, Jul 10, 2014 at 1:32 PM, Malaka Silva mal...@wso2.com wrote: +1 since users can write vendor specific code. eg: IBM Mainframe MQ So basically either protocol or class will become mandatory. Also CustomPollingTrp should implement PollingConsumer.java [1] eg:- inboundEndpoint xmlns=http://ws.apache.org/ns/synapse; name=MyJMSListenerEP class=org.wso2.carbon.CustomPollingTrp sequence=requestHandlerSeq onError=inFalte interval=5 suspend=false parameters parameter name=java.naming.factory.initialorg.apache.activemq.jndi.ActiveMQInitialContextFactory/parameter parameter name=java.naming.provider.urltcp://localhost:61616/parameter parameter name=transport.jms.ConnectionFactoryJNDINameQueueConnectionFactory/parameter parameter name=transport.jms.ConnectionFactoryTypequeue/parameter parameter name=transport.jms.Destination wso2.com/ordersQueue/parameter parameter name=transport.jms.SessionAcknowledgementAUTO_ACKNOWLEDGE/parameter /parameters /inboundEndpoint [1] https://github.com/wso2-dev/wso2-synapse/blob/master/modules/core/src/main/java/org/apache/synapse/inbound/PollingConsumer.java On Wed, Jul 9, 2014 at 7:44 PM, Kasun Indrasiri ka...@wso2.com wrote: One other improvement is to make the inbound endpoints dynamically plugable so that the users can write their own inbound EPs (i.e: class=org.wso2.carbon.CustomPollingTrp) On Thu, Jun 19, 2014 at 10:09 PM, Kishanthan Thangarajah kishant...@wso2.com wrote: To check whether clustering is enabled, you can acquire the axisConfig instance and check for clustering agent's availability. On Thu, Jun 19, 2014 at 2:18 PM, Ishan Jayawardena is...@wso2.com wrote: Is there a way to check whether the current carbon instance is a stand alone (ie. non clustered) instance or a management node? I tried CarbonUtils.isWorkerNode() but it returns false for both manager node and single instance. It is important to identify if a given node is a management node to implement the coordination feature of the ESB task that is used in schedule tasks and inbound endpoint implementations. Therefore what are the possible ways to check this condition? Can we introduce a new isManagementNode method to the CarbonUtils class? Thanks, Ishan. On Wed, Jun 18, 2014 at 8:15 PM, Kasun Indrasiri ka...@wso2.com wrote: We need to test the coordination behavior of inbound endpoints and make sure it executes only on manager and an elected worker node. @Ishan : Please update the thread once we are done with the implementation/verification. On Mon, Apr 28, 2014 at 8:01 AM, Kasun Indrasiri ka...@wso2.com wrote: On Mon, Apr 28,