[Architecture] HTTP Session Persistence feature for WSO2 Application Server
Hi Azeez/Sameera et al. I've successfully completed HTTP Session Persistence feature[1] for Appserver next release. As of now I have a working prototype which it thoroughly tested with newly implemented Hazelcast based session replication feature as well. Currently it working as expected. I've introduced a new Manager element to support tenant aware session persistence (*CarbonTomcatSessionPersistentManager*). Therefore this element supports following sample store configurations, and those are as follows. - FileStore based Manager className='org.wso2.carbon.webapp.mgt.CarbonTomcatSessionPersistentManager' debug=0 saveOnRestart=true maxActiveSessions=-1 minIdleSwap=-1 maxIdleSwap=-1 maxIdleBackup=-1 Store className='org.apache.catalina.session.FileStore' directory='Directory path'/ /Manager - JDBCStore based Manager className='org.wso2.carbon.webapp.mgt.CarbonTomcatSessionPersistentManager' debug=0 saveOnRestart=true maxActiveSessions=-1 minIdleSwap=-1 maxIdleSwap=-1 maxIdleBackup=-1 Store className=org.apache.catalina.session.JDBCStore driverName=com.mysql.jdbc.Driver connectionURL=jdbc:mysql://localhost/tomcat?user=rootamp;password=root sessionAppCol=app_name sessionDataCol=session_data sessionIdCol=session_id sessionLastAccessedCol=last_access sessionMaxInactiveCol=max_inactive sessionTable=tomcat_sessions sessionValidCol=valid_session checkInterval=60 debug=99 / /Manager However end users can use any of above mentioned configuration and appserver supports for persistent Stores via context.xml. If you need a PoC demonstration, let me know. [1] slides https://docs.google.com/a/wso2.com/presentation/d/15YyXzpj877LHmZtPQGIidgh-wnBVStiBTBN5oci6AMk/edit?usp=sharing Thanks - Pubudu -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
[Dev] Tenants to be loaded before server ports open.
I'm working on a feature (will be in carbon.core )which involves tenants to load when server startup (Tenant eager loading). However all tenants must be loaded before server serves requests. (which means before ports open). What is the best way to do that ? However StartupFinalizerComponent is a valid option to invoke this feature. I reckon before initialize transport I must invoke necessary tenant eager loading methods, I found following method in StartupFinalizerComponent *TenantAxisUtils.initializeTenantTransports(configCtx);* How about ESB synapse transports? are those also in the main configuration ? Please advice -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [Dev] [VOTE] Release WSO2 Carbon Kernel 4.3.0 RC4
[x] Stable - go ahead and release The following areas were covered with testing in both windows and Linux environments 1. Session Replication - Session replication with ELB (EC2 cluster) with and without Ghost Deployment - Session replication without ELB (directly accessing nodes) - performed kill -9 operation on both scenarios 2. Registry Core ( with a sample webapp) - Test add, get and delete of Resources in super tenant - Test add, get and delete of Resources in tenant - Test add, get and delete of Collection in super tenant - Test add, get and delete of Collection in tenant On Wed, Dec 17, 2014 at 2:01 AM, Kishanthan Thangarajah kishant...@wso2.com wrote: [x] Stable - go ahead and release The following areas were covered with testing. 1. Carbon kernel samples (feature-management, p2-repo) i. Installing sample features using pom ii. Installing sample features using a p2-repo. 2. Usage of caching (with a sample webapp) i. Simple cache accessing (random update and access) ii. Custom cache expiry value 3. User management tests on i. Creating and managing roles, users (on both ST and Tenant and also using a non-admin user) ii. Create new tenants and test above (i) again. On Mon, Dec 15, 2014 at 9:28 AM, Sameera Jayasoma same...@wso2.com wrote: Hi Devs, This is the *4th* release candidate of WSO2 Carbon Kernel 4.3.0. This release fixes the following issues : https://wso2.org/jira/issues/?filter=12088 Please download, test and vote. *Binary distribution for Carbon, AS ESB :* http://svn.wso2.org/repos/wso2/scratch/carbon/4.3.0-RC4/ *Maven staging repository :* http://maven.wso2.org/nexus/content/repositories/orgwso2carbon-037/ *The tag to be voted upon :* https://github.com/wso2/carbon4-kernel/releases/tag/4.3.0-RC4 [ ] Broken - do not release (explain why) [ ] Stable - go ahead and release Thanks, Carbon Team. -- Sameera Jayasoma, Software Architect, WSO2, Inc. (http://wso2.com) email: same...@wso2.com blog: http://sameera.adahas.org twitter: https://twitter.com/sameerajayasoma flickr: http://www.flickr.com/photos/sameera-jayasoma/collections Mobile: 0094776364456 Lean . Enterprise . Middleware -- *Kishanthan Thangarajah* Senior Software Engineer, Platform Technologies Team, WSO2, Inc. lean.enterprise.middleware Mobile - +94773426635 Blog - *http://kishanthan.wordpress.com http://kishanthan.wordpress.com* Twitter - *http://twitter.com/kishanthan http://twitter.com/kishanthan* -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [Dev] What is the alternative for ServiceMetaData#isCAppArtifactSpecified()
Hi Jeewantha It is not removed, *isCAppArtifact* is a newly added property to service-mgt component. It will be available once it is merged to carbon-deployment repo [1] If you are referring to this ESB integration [2] please comment out until that pull request is merged [1] https://github.com/wso2-dev/carbon-deployment/pull/57 [2] https://github.com/wso2-dev/product-esb/pull/95 On Thu, Dec 11, 2014 at 6:30 PM, Jeewantha Dharmaparakrama jeewan...@wso2.com wrote: Hi CarbonTeam, Looks like the method is removed from the new carbon-deployment module [1]. What is the alternative for this ? [1] https://github.com/wso2/carbon-deployment/blob/master/components/service-mgt/axis2-service-mgt/org.wso2.carbon.service.mgt/src/main/java/org/wso2/carbon/service/mgt/ServiceMetaData.java Thanks, Jeewantha -- Jeewantha Dharmaparakrama Software Engineer; WSO2, Inc.; http://wso2.com/ Phone : (+94) 778403757 Blog: http://jeewanthad.blogspot.com/ ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
[Dev] [synapse][ESB] syanpse commits required
Hi Kasun/Isuru Please apply the patch attached in jira[1] [1] https://wso2.org/jira/browse/ESBJAVA-3438 -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
[Architecture] [Progress] HTTP Session Persistence for WSO2 Application Server
Hi Azeez/Sameera and et al. I'm currently undergoing development of $subject [1] https://redmine.wso2.com/issues/3417 In the current implementation of embedded tomcat in appserver doesn't supports Manager[2] http://tomcat.apache.org/tomcat-7.0-doc/config/manager.html attributes defines in context.xml which is a big disadvantage for $Subject implementation. Furthermore we explicitly change Manager element via code level so no flexibility toward clients to change Manager attributes via context.xml. Tomcat provides two Manager element implementations StandardManager and PersistentManager. PersistentManager has the capability to swap active (but idle) sessions out to a persistent storage mechanism[2] http://tomcat.apache.org/tomcat-7.0-doc/config/manager.html, as well as to save all sessions across a normal restart of Tomcat. Our Appserver has tenant-aware StandardManager implementation called CarbonTomcatSessionManager but no PersistenceManager support yet. I'm proposing we should go ahead and implement tenant-aware PersistentManager support ( CarbonTomcatSessionPersistentManager ) thus it will help us to achieve tenant-aware session persistence in future releases. We should provide support for persistent Stores via context.xml as well, in result end-users can configure different store elements in context.xml. On going preliminary test scenarios [4] https://docs.google.com/a/wso2.com/spreadsheets/d/1XVlYOp6grJKX4qPbk96QlyUN6VlCrPf1xo2fnE4gzvY/edit#gid=0 [3] https://docs.google.com/a/wso2.com/presentation/d/15YyXzpj877LHmZtPQGIidgh-wnBVStiBTBN5oci6AMk/edit?usp=sharing WDYT? [1] https://redmine.wso2.com/issues/3417 [2] http://tomcat.apache.org/tomcat-7.0-doc/config/manager.html [3] https://docs.google.com/a/wso2.com/presentation/d/15YyXzpj877LHmZtPQGIidgh-wnBVStiBTBN5oci6AMk/edit?usp=sharing [4] https://docs.google.com/a/wso2.com/spreadsheets/d/1XVlYOp6grJKX4qPbk96QlyUN6VlCrPf1xo2fnE4gzvY/edit#gid=0 -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] [Progress] HTTP Session Persistence for WSO2 Application Server
On Mon, Nov 17, 2014 at 10:06 AM, Afkham Azeez az...@wso2.com wrote: On Mon, Nov 17, 2014 at 8:53 AM, Pubudu Dissanayake pubu...@wso2.com wrote: CarbonTomcatSessionManager What if you simply improve CarbonTomcatSessionManager to support persistence as well, rather than writing a new class? If you want to turn off persistence, you can have a parameter. CarbonTomcatSessionManager [1] http://svn.wso2.org/repos/wso2/carbon/platform/branches/turing/components/webapp-mgt/org.wso2.carbon.webapp.mgt/4.2.2/src/main/java/org/wso2/carbon/webapp/mgt/CarbonTomcatSessionManager.javadoesn't support persistence features provided by tomcat, it extends StandardManager [2] http://grepcode.com/file/repo1.maven.org/maven2/org.apache.tomcat/tomcat-catalina/7.0.0/org/apache/catalina/session/StandardManager.java?av=f as its base class. However PersistentManager [3] http://grepcode.com/file/repo1.maven.org/maven2/org.apache.tomcat/tomcat-catalina/7.0.0/org/apache/catalina/session/PersistentManager.java extends PersistentManagerBase [4] http://grepcode.com/file/repo1.maven.org/maven2/org.apache.tomcat/tomcat-catalina/7.0.0/org/apache/catalina/session/PersistentManagerBase.java as its base class thus it contains all persistence related store configurations. Because StandardManager and PersistentManager are two different implementations, we can't use CarbonTomcatSessionManager to support persistence. And we can configure persistence easily by separating these two implementations. WDYT? [1] http://svn.wso2.org/repos/wso2/carbon/platform/branches/turing/components/webapp-mgt/org.wso2.carbon.webapp.mgt/4.2.2/src/main/java/org/wso2/carbon/webapp/mgt/CarbonTomcatSessionManager.java [2] http://grepcode.com/file/repo1.maven.org/maven2/org.apache.tomcat/tomcat-catalina/7.0.0/org/apache/catalina/session/StandardManager.java?av=f [3] http://grepcode.com/file/repo1.maven.org/maven2/org.apache.tomcat/tomcat-catalina/7.0.0/org/apache/catalina/session/PersistentManager.java [4] http://grepcode.com/file/repo1.maven.org/maven2/org.apache.tomcat/tomcat-catalina/7.0.0/org/apache/catalina/session/PersistentManagerBase.java -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] [Progress] HTTP Session Persistence for WSO2 Application Server
On Mon, Nov 17, 2014 at 11:52 AM, Afkham Azeez az...@wso2.com wrote: Ok, go ahead with your implementation. Noted On Mon, Nov 17, 2014 at 11:49 AM, Afkham Azeez az...@wso2.com wrote: So globally switching the SessionManager can be done by editing the global context.xml file? Indeed, we can configure it by editing global context.xml ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Dev] Integration tests for Hazelcast Session Replication feature
On Mon, Nov 3, 2014 at 11:05 AM, Kishanthan Thangarajah kishant...@wso2.com wrote: If that's the case, we can go ahead with graceful server shutdown restart approach. +1 for the approach Also write some integration test cases using HZ Map EntryListener as-well. With this, you can test what was the exact values updated for the session replication scenario from different nodes. Indeed, It will be very useful. BTW I've implemented Hazelcast EntryListener for hazelcast-map-Persistence feature [1] take a look at it as well. [1] https://github.com/pubudu08/hazelcat-map-persistence ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [Dev] Integration tests for Hazelcast Session Replication feature
Thanks for the reply, I'll update our redmine [1] accordingly On Mon, Oct 27, 2014 at 7:33 AM, Krishantha Samaraweera krishan...@wso2.com wrote: Running four nodes in single server is not recommended at integration tests phase, so killing a worker node at integration tests run time is not possible (Even no admin services exposed in worker nodes to forcefully shutdown the instance) I'm not sure whether upcoming operation center will facilitate this kind of functionality. What is the recommended approach to test my scenario ? Thanks, Krishantha [1] https://redmine.wso2.com/issues/2816 -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
[Dev] Integration tests for Hazelcast Session Replication feature
Hi Folks, I've implemented Hazelcast based Tomcat Session Replication feature for Appserver [1 https://redmine.wso2.com/issues/2816].I have few concerns over integration tests for this feature. Following is the basic cluster scenario that I have to be written as integration tests. Environment : *WSO2 ELB, 1-Mgt+2-Worker (WSO2 AS) * Basic scenario ( Assume 'x' webapp deployed in Mgt node and enabled dep-sync with two worker nodes. ) Say that we have above mentioned setup. Since our ELB is session aware, it will send the requests to the same node based on the seesionID. And when that node goes off line, it will route the requests to the other node. But if we have enabled replication, this routing should work seamlessly where the session, which was replicated and will be used by the second node. - Start Mgt and WorkerNode-1 -- Change session values at WorkerNode-1 -- Start the WorkerNode-2 -- Perform kill -9 operation on WorkerNode-1 after Workernode-2 complete it's start up operation. Then check whether those session values changes are reflected at WorkerNode-2. - After Change session values at WorkerNode-2 while WorkerNode-1 off line -- Start the WorkerNode-1 -- Perform kill -9 operation on WorkerNode-2 after Workernode-1 complete it's start up operation. Then check whether those session values changes are reflected at WorkerNode-1. This routing should work seamlessly where session attributes are replicated among all nodes. Basically I have to write an integration test to evaluate the feature. Please guide me through the process how should I carried out and any references to help me further to achieve this integration test? Let me know if you need any further suggestions. - Pubudu [1] https://redmine.wso2.com/issues/2816 -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [Dev] WSO2 Committers += Gayashan Amarasinghe
Congratulations Gayashan. ! On Mon, Oct 20, 2014 at 12:01 PM, Maheeka Jayasuriya mahe...@wso2.com wrote: Congratulations gayashan ! Maheeka Jayasuriya Software Engineer Mobile : +9450661 On Mon, Oct 20, 2014 at 11:57 AM, Sajini De Silva saj...@wso2.com wrote: Congratulations Gayashan!!! On Mon, Oct 20, 2014 at 11:56 AM, Rajeevan Vimalanathan rajeev...@wso2.com wrote: Congratz Gayashan..) On Mon, Oct 20, 2014 at 11:50 AM, Sameera Jayasoma same...@wso2.com wrote: Hi Gayashan, It's my pleasure to welcome you to WSO2 Committers club. You've been contributing to WSO2 in various forms, hence you deserve this. Please keep up with good work you've been doing so far. Congratulations!!! Thanks, Sameera. -- Sameera Jayasoma, Software Architect, WSO2, Inc. (http://wso2.com) email: same...@wso2.com blog: http://sameera.adahas.org twitter: https://twitter.com/sameerajayasoma flickr: http://www.flickr.com/photos/sameera-jayasoma/collections Mobile: 0094776364456 Lean . Enterprise . Middleware ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- Best Regards, V.Rajeevan Software Engineer, WSO2 Inc. :http://wso2.com Mobile : +94 773090875 Email : rajeev...@wso2.com ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- Sajini De SIlva Software Engineer; WSO2 Inc.; http://wso2.com , Email: saj...@wso2.com Blog: http://sajinid.blogspot.com/ Git hub profile: https://github.com/sajinidesilva Phone: +94 712797729 ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [Architecture] [Dev] Tomcat Session Replication Using Caching
Thanks for the insight. New implementation is based on the approach of single Hazelcast cluster shared across all webapps and context param (similar to /distributer tag) based approach to enable/disable session replication. On Tue, Oct 14, 2014 at 11:10 AM, Kishanthan Thangarajah kishant...@wso2.com wrote: Hi Pubudu, Just to be clear, this feature should work on per webapp basis. i.e not all webapps' sessions should be replicated, but the selected ones by the user. Earlier we used a webapp context property (distributable) to enable this at webapp level. I agree with you, In the current implementation it uses similar approach and it won't replicate every single web app session. Therefore it only looks in to the context property of the web.xml file and replicate the session accordingly. Also here are the test cases that comes to mind. Say that we have a two node cluster (node-1, node-2) 1. Start both nodes - change session values at node-1, then check whether those changes are reflected at node-2 (also check this both ways). 2. Start node-1 - change session values at node-1 - start node-2 and check whether session got replicated to node-2. 3. Same as #2 above, but after the third step, stop node-1 and change the session values at node-2 then start node-1 again and check the session state. This should have the latest changes at node-1 even-though that node was offline for while. I've looked in this approach as well and feature works as expected. Tested failover scenarios as well. The above tests should make sure that session object was available all the time in the cluster, even-though the nodes were not available all the time. The next step is to test this with ELB setup. Say that we have a 1-Mgt+2-Worker setup fronted by an ELB. Since our ELB is session aware, it will send the requests to the same node based on the seesionID. And when that node goes offline, it will route the requests to the other node. But if we have enabled replication, this routing should work seamlessly where the same session object - which was replicated - will be used by the second node. Majority of the time I've tested this feature using a cluster environment ( Elb and two AS nodes ). Fail over use cases are also tested. So lets first do these tests and see. Thanks, Kishanthan. -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Dev] Tomcat Session Replication Using Caching
Thanks for the insight. New implementation is based on the approach of single Hazelcast cluster shared across all webapps and context param (similar to /distributer tag) based approach to enable/disable session replication. On Tue, Oct 14, 2014 at 11:10 AM, Kishanthan Thangarajah kishant...@wso2.com wrote: Hi Pubudu, Just to be clear, this feature should work on per webapp basis. i.e not all webapps' sessions should be replicated, but the selected ones by the user. Earlier we used a webapp context property (distributable) to enable this at webapp level. I agree with you, In the current implementation it uses similar approach and it won't replicate every single web app session. Therefore it only looks in to the context property of the web.xml file and replicate the session accordingly. Also here are the test cases that comes to mind. Say that we have a two node cluster (node-1, node-2) 1. Start both nodes - change session values at node-1, then check whether those changes are reflected at node-2 (also check this both ways). 2. Start node-1 - change session values at node-1 - start node-2 and check whether session got replicated to node-2. 3. Same as #2 above, but after the third step, stop node-1 and change the session values at node-2 then start node-1 again and check the session state. This should have the latest changes at node-1 even-though that node was offline for while. I've looked in this approach as well and feature works as expected. Tested failover scenarios as well. The above tests should make sure that session object was available all the time in the cluster, even-though the nodes were not available all the time. The next step is to test this with ELB setup. Say that we have a 1-Mgt+2-Worker setup fronted by an ELB. Since our ELB is session aware, it will send the requests to the same node based on the seesionID. And when that node goes offline, it will route the requests to the other node. But if we have enabled replication, this routing should work seamlessly where the same session object - which was replicated - will be used by the second node. Majority of the time I've tested this feature using a cluster environment ( Elb and two AS nodes ). Fail over use cases are also tested. So lets first do these tests and see. Thanks, Kishanthan. -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [Architecture] [Dev] Tomcat Session Replication Using Caching
Hi Azeez/Srinath I've managed to implement Tomcat Session replication using Hazelcast APIs. As per the off-line chats with Azeez and Sameera,This functionality is applicable to all web applications which are deploy in WSO2 AS. I've introduced a global web filter, which is define in the web.xml in the conf/ directory of Tomcat to have it included in all web applications deployed. As a result I've managed to replicate all the session attributes per web application. Furthermore I've tested basic auth webapp which works as expected. And I wrote a jmeter script to test session.setAttribute() by inserting 100+ records. Please advice as to how should I thoroughly test this feature. -Pubudu On Thu, Oct 2, 2014 at 11:40 AM, Afkham Azeez az...@wso2.com wrote: On Thu, Oct 2, 2014 at 9:22 AM, Srinath Perera srin...@wso2.com wrote: I am not sure from notes what we decided. Cannot we just used hazelcast session replication? does above design you mentioned built on top of Hazelcast? Yes, the plan is to use what Hazelcast provides. Otherwise, we will anyway have to solve all the problems the Hz implementation has solved. --Srinath On Wed, Oct 1, 2014 at 2:18 PM, Pubudu Dissanayake pubu...@wso2.com wrote: Hi All, Based on the Architecture review of Tomcat session replication using caching , following aspects were discussed. Participants - Azeez, Sameera , Aruna, Jayanga, Gayashan, SupunM, Niranjan and Myself Proposed solution. - key-val: (CarbonSessionCacheKey, CarbonSessionCache ) - Initial implementation was based on javax.caching api's. I've created CarbonSessionCache and CarbonSessionCacheKey to maintain HttpSession in the Hazelcast distributed map. Session will be intercepted by using a Tomcat Valve. - *Verdict* on the proposed solution. - Cache map Serialization and Deserialization is very expensive operation due to heavy traffic. Therefore it is not efficient to replicate the whole session object in the cache map. Counter Proposed solution - Having a Hazelcast map per session object. In that way if an attribute in the session changes the whole entry should not have to be replicated, only the changed attribute. - Have a per-session cache - ( session_id ). - Issue in this approach as follows - How can we acquire the session object from the map ? *Final verdict *on the feature implementation - Instead of using the caching APIs, This needs to fix in Hazelcast level and do it in the optimal way. [1] - HazelcastWM http://docs.hazelcast.org/docs/1.9.4/manual/html/ch08.html [2], Bring in the filter code level in to the tomcat valve instead -Pubudu [1] http://hazelcast.com/use-cases/web-session-clustering/ [2] http://docs.hazelcast.org/docs/1.9.4/manual/html/ch08.html On Wed, Oct 1, 2014 at 10:51 AM, Pubudu Dissanayake pubu...@wso2.com wrote: Hi Srinath Hazelcast WM allows us to cluster user http sessions automatically. Followings are required for enabling Hazelcast Session Clustering http://hazelcast.com/use-cases/web-session-clustering/ [2][3] - Target application or web server should support Java 1.5+ - Target application or web server should support Servlet 2.4+ spec - Session objects that needs to be clustered have to be Serializable Purpose of web session clustering is to replicate web session state across a distributed application servers. Benefits, allow us to scale out but also avoid any single point of failure and allow us to dynamically handle node failure within the application tier. performance of this web session clustering is high according to VP Hazelcast https://www.youtube.com/watch?v=8a0LrlOIXq0. Using Hazelcast session replication can be achieved in two different ways. Observations as follows. - *Hazelcast Enterprise* has native web session clustering build in to Apache Tomcat. - *Opensource Hazelcast* has provide a web session clustering as an external filter, basically Hazelcast filter has to be placed before all of other filters and that will enable us to provide the web session clustering in opensource. In this use case it doesn't required changes to application itself. [1] https://redmine.wso2.com/issues/2816 [2] http://hazelcast.com/use-cases/web-session-clustering/ [3] http://hazelcast.org/docs/latest/manual/html/httpsessionclustering.html [4] https://www.youtube.com/watch?v=8a0LrlOIXq0 More info $subject - Web Session Clustering / Session Replication using Hazelcast -Pubudu On Wed, Oct 1, 2014 at 10:41 AM, Srinath Perera srin...@wso2.com wrote: We need to use Hazelcast When implemented we need to test this with multilple nodes (at least 4) and in high load conditions before it is done done. --Srinath On Wed, Oct 1, 2014 at 8:52 AM, Dinesh J Weerakkody dine...@wso2.com wrote: Hi, I came across this project [1] and might be useful. It is based on memcached library
Re: [Architecture] [Dev] Tomcat Session Replication Using Caching
I haven't drop the idea of using HttpSessionManager but what i thought was to evaluate how extent we can use this feature as a global web filter and HttpSessionListener is already placed in the global filter. In the current implementation Hazelcast creates a cluster per webapp, but I'm in progress of make it a single cluster shared across all webapps. On Mon, Oct 13, 2014 at 10:21 PM, Afkham Azeez az...@wso2.com wrote: Is a Hazelcast cluster created per webapp, or is a single cluster shared across all webapps? Why did you drop the idea of using a SessionListener SessionManager? On Mon, Oct 13, 2014 at 7:57 PM, Pubudu Dissanayake pubu...@wso2.com wrote: Hi Azeez/Srinath I've managed to implement Tomcat Session replication using Hazelcast APIs. As per the off-line chats with Azeez and Sameera,This functionality is applicable to all web applications which are deploy in WSO2 AS. I've introduced a global web filter, which is define in the web.xml in the conf/ directory of Tomcat to have it included in all web applications deployed. As a result I've managed to replicate all the session attributes per web application. Furthermore I've tested basic auth webapp which works as expected. And I wrote a jmeter script to test session.setAttribute() by inserting 100+ records. Please advice as to how should I thoroughly test this feature. -Pubudu On Thu, Oct 2, 2014 at 11:40 AM, Afkham Azeez az...@wso2.com wrote: On Thu, Oct 2, 2014 at 9:22 AM, Srinath Perera srin...@wso2.com wrote: I am not sure from notes what we decided. Cannot we just used hazelcast session replication? does above design you mentioned built on top of Hazelcast? Yes, the plan is to use what Hazelcast provides. Otherwise, we will anyway have to solve all the problems the Hz implementation has solved. --Srinath On Wed, Oct 1, 2014 at 2:18 PM, Pubudu Dissanayake pubu...@wso2.com wrote: Hi All, Based on the Architecture review of Tomcat session replication using caching , following aspects were discussed. Participants - Azeez, Sameera , Aruna, Jayanga, Gayashan, SupunM, Niranjan and Myself Proposed solution. - key-val: (CarbonSessionCacheKey, Carbon SessionCache) - Initial implementation was based on javax.caching api's. I've created CarbonSessionCache and CarbonSessionCacheKey to maintain HttpSession in the Hazelcast distributed map. Session will be intercepted by using a Tomcat Valve. - *Verdict* on the proposed solution. - Cache map Serialization and Deserialization is very expensive operation due to heavy traffic. Therefore it is not efficient to replicate the whole session object in the cache map. Counter Proposed solution - Having a Hazelcast map per session object. In that way if an attribute in the session changes the whole entry should not have to be replicated, only the changed attribute. - Have a per-session cache - ( session_id ). - Issue in this approach as follows - How can we acquire the session object from the map ? *Final verdict *on the feature implementation - Instead of using the caching APIs, This needs to fix in Hazelcast level and do it in the optimal way. [1] - HazelcastWM http://docs.hazelcast.org/docs/1.9.4/manual/html/ch08.html [2], Bring in the filter code level in to the tomcat valve instead -Pubudu [1] http://hazelcast.com/use-cases/web-session-clustering/ [2] http://docs.hazelcast.org/docs/1.9.4/manual/html/ch08.html On Wed, Oct 1, 2014 at 10:51 AM, Pubudu Dissanayake pubu...@wso2.com wrote: Hi Srinath Hazelcast WM allows us to cluster user http sessions automatically. Followings are required for enabling Hazelcast Session Clustering http://hazelcast.com/use-cases/web-session-clustering/ [2][3] - Target application or web server should support Java 1.5+ - Target application or web server should support Servlet 2.4+ spec - Session objects that needs to be clustered have to be Serializable Purpose of web session clustering is to replicate web session state across a distributed application servers. Benefits, allow us to scale out but also avoid any single point of failure and allow us to dynamically handle node failure within the application tier. performance of this web session clustering is high according to VP Hazelcast https://www.youtube.com/watch?v=8a0LrlOIXq0. Using Hazelcast session replication can be achieved in two different ways. Observations as follows. - *Hazelcast Enterprise* has native web session clustering build in to Apache Tomcat. - *Opensource Hazelcast* has provide a web session clustering as an external filter, basically Hazelcast filter has to be placed before all of other filters and that will enable us to provide the web session clustering in opensource. In this use case it doesn't required changes to application itself. [1] https://redmine.wso2.com/issues/2816 [2
Re: [Dev] Tomcat Session Replication Using Caching
Hi Azeez/Srinath I've managed to implement Tomcat Session replication using Hazelcast APIs. As per the off-line chats with Azeez and Sameera,This functionality is applicable to all web applications which are deploy in WSO2 AS. I've introduced a global web filter, which is define in the web.xml in the conf/ directory of Tomcat to have it included in all web applications deployed. As a result I've managed to replicate all the session attributes per web application. Furthermore I've tested basic auth webapp which works as expected. And I wrote a jmeter script to test session.setAttribute() by inserting 100+ records. Please advice as to how should I thoroughly test this feature. -Pubudu On Thu, Oct 2, 2014 at 11:40 AM, Afkham Azeez az...@wso2.com wrote: On Thu, Oct 2, 2014 at 9:22 AM, Srinath Perera srin...@wso2.com wrote: I am not sure from notes what we decided. Cannot we just used hazelcast session replication? does above design you mentioned built on top of Hazelcast? Yes, the plan is to use what Hazelcast provides. Otherwise, we will anyway have to solve all the problems the Hz implementation has solved. --Srinath On Wed, Oct 1, 2014 at 2:18 PM, Pubudu Dissanayake pubu...@wso2.com wrote: Hi All, Based on the Architecture review of Tomcat session replication using caching , following aspects were discussed. Participants - Azeez, Sameera , Aruna, Jayanga, Gayashan, SupunM, Niranjan and Myself Proposed solution. - key-val: (CarbonSessionCacheKey, CarbonSessionCache ) - Initial implementation was based on javax.caching api's. I've created CarbonSessionCache and CarbonSessionCacheKey to maintain HttpSession in the Hazelcast distributed map. Session will be intercepted by using a Tomcat Valve. - *Verdict* on the proposed solution. - Cache map Serialization and Deserialization is very expensive operation due to heavy traffic. Therefore it is not efficient to replicate the whole session object in the cache map. Counter Proposed solution - Having a Hazelcast map per session object. In that way if an attribute in the session changes the whole entry should not have to be replicated, only the changed attribute. - Have a per-session cache - ( session_id ). - Issue in this approach as follows - How can we acquire the session object from the map ? *Final verdict *on the feature implementation - Instead of using the caching APIs, This needs to fix in Hazelcast level and do it in the optimal way. [1] - HazelcastWM http://docs.hazelcast.org/docs/1.9.4/manual/html/ch08.html [2], Bring in the filter code level in to the tomcat valve instead -Pubudu [1] http://hazelcast.com/use-cases/web-session-clustering/ [2] http://docs.hazelcast.org/docs/1.9.4/manual/html/ch08.html On Wed, Oct 1, 2014 at 10:51 AM, Pubudu Dissanayake pubu...@wso2.com wrote: Hi Srinath Hazelcast WM allows us to cluster user http sessions automatically. Followings are required for enabling Hazelcast Session Clustering http://hazelcast.com/use-cases/web-session-clustering/ [2][3] - Target application or web server should support Java 1.5+ - Target application or web server should support Servlet 2.4+ spec - Session objects that needs to be clustered have to be Serializable Purpose of web session clustering is to replicate web session state across a distributed application servers. Benefits, allow us to scale out but also avoid any single point of failure and allow us to dynamically handle node failure within the application tier. performance of this web session clustering is high according to VP Hazelcast https://www.youtube.com/watch?v=8a0LrlOIXq0. Using Hazelcast session replication can be achieved in two different ways. Observations as follows. - *Hazelcast Enterprise* has native web session clustering build in to Apache Tomcat. - *Opensource Hazelcast* has provide a web session clustering as an external filter, basically Hazelcast filter has to be placed before all of other filters and that will enable us to provide the web session clustering in opensource. In this use case it doesn't required changes to application itself. [1] https://redmine.wso2.com/issues/2816 [2] http://hazelcast.com/use-cases/web-session-clustering/ [3] http://hazelcast.org/docs/latest/manual/html/httpsessionclustering.html [4] https://www.youtube.com/watch?v=8a0LrlOIXq0 More info $subject - Web Session Clustering / Session Replication using Hazelcast -Pubudu On Wed, Oct 1, 2014 at 10:41 AM, Srinath Perera srin...@wso2.com wrote: We need to use Hazelcast When implemented we need to test this with multilple nodes (at least 4) and in high load conditions before it is done done. --Srinath On Wed, Oct 1, 2014 at 8:52 AM, Dinesh J Weerakkody dine...@wso2.com wrote: Hi, I came across this project [1] and might be useful. It is based on memcached library
Re: [Dev] Tomcat Session Replication Using Caching
I haven't drop the idea of using HttpSessionManager but what i thought was to evaluate how extent we can use this feature as a global web filter and HttpSessionListener is already placed in the global filter. In the current implementation Hazelcast creates a cluster per webapp, but I'm in progress of make it a single cluster shared across all webapps. On Mon, Oct 13, 2014 at 10:21 PM, Afkham Azeez az...@wso2.com wrote: Is a Hazelcast cluster created per webapp, or is a single cluster shared across all webapps? Why did you drop the idea of using a SessionListener SessionManager? On Mon, Oct 13, 2014 at 7:57 PM, Pubudu Dissanayake pubu...@wso2.com wrote: Hi Azeez/Srinath I've managed to implement Tomcat Session replication using Hazelcast APIs. As per the off-line chats with Azeez and Sameera,This functionality is applicable to all web applications which are deploy in WSO2 AS. I've introduced a global web filter, which is define in the web.xml in the conf/ directory of Tomcat to have it included in all web applications deployed. As a result I've managed to replicate all the session attributes per web application. Furthermore I've tested basic auth webapp which works as expected. And I wrote a jmeter script to test session.setAttribute() by inserting 100+ records. Please advice as to how should I thoroughly test this feature. -Pubudu On Thu, Oct 2, 2014 at 11:40 AM, Afkham Azeez az...@wso2.com wrote: On Thu, Oct 2, 2014 at 9:22 AM, Srinath Perera srin...@wso2.com wrote: I am not sure from notes what we decided. Cannot we just used hazelcast session replication? does above design you mentioned built on top of Hazelcast? Yes, the plan is to use what Hazelcast provides. Otherwise, we will anyway have to solve all the problems the Hz implementation has solved. --Srinath On Wed, Oct 1, 2014 at 2:18 PM, Pubudu Dissanayake pubu...@wso2.com wrote: Hi All, Based on the Architecture review of Tomcat session replication using caching , following aspects were discussed. Participants - Azeez, Sameera , Aruna, Jayanga, Gayashan, SupunM, Niranjan and Myself Proposed solution. - key-val: (CarbonSessionCacheKey, Carbon SessionCache) - Initial implementation was based on javax.caching api's. I've created CarbonSessionCache and CarbonSessionCacheKey to maintain HttpSession in the Hazelcast distributed map. Session will be intercepted by using a Tomcat Valve. - *Verdict* on the proposed solution. - Cache map Serialization and Deserialization is very expensive operation due to heavy traffic. Therefore it is not efficient to replicate the whole session object in the cache map. Counter Proposed solution - Having a Hazelcast map per session object. In that way if an attribute in the session changes the whole entry should not have to be replicated, only the changed attribute. - Have a per-session cache - ( session_id ). - Issue in this approach as follows - How can we acquire the session object from the map ? *Final verdict *on the feature implementation - Instead of using the caching APIs, This needs to fix in Hazelcast level and do it in the optimal way. [1] - HazelcastWM http://docs.hazelcast.org/docs/1.9.4/manual/html/ch08.html [2], Bring in the filter code level in to the tomcat valve instead -Pubudu [1] http://hazelcast.com/use-cases/web-session-clustering/ [2] http://docs.hazelcast.org/docs/1.9.4/manual/html/ch08.html On Wed, Oct 1, 2014 at 10:51 AM, Pubudu Dissanayake pubu...@wso2.com wrote: Hi Srinath Hazelcast WM allows us to cluster user http sessions automatically. Followings are required for enabling Hazelcast Session Clustering http://hazelcast.com/use-cases/web-session-clustering/ [2][3] - Target application or web server should support Java 1.5+ - Target application or web server should support Servlet 2.4+ spec - Session objects that needs to be clustered have to be Serializable Purpose of web session clustering is to replicate web session state across a distributed application servers. Benefits, allow us to scale out but also avoid any single point of failure and allow us to dynamically handle node failure within the application tier. performance of this web session clustering is high according to VP Hazelcast https://www.youtube.com/watch?v=8a0LrlOIXq0. Using Hazelcast session replication can be achieved in two different ways. Observations as follows. - *Hazelcast Enterprise* has native web session clustering build in to Apache Tomcat. - *Opensource Hazelcast* has provide a web session clustering as an external filter, basically Hazelcast filter has to be placed before all of other filters and that will enable us to provide the web session clustering in opensource. In this use case it doesn't required changes to application itself. [1] https://redmine.wso2.com/issues/2816 [2
Re: [Dev] IntelliJ Idea Configure - [for users newer to Intellij Idea]
Hi folks Take a look at some useful plugins provided by Idea. [1] [1] http://blog.afkham.org/2011/10/my-top-10-third-party-intellij-idea.html On Sun, Oct 12, 2014 at 11:39 AM, Chamila De Alwis chami...@wso2.com wrote: I constantly use ctrl+alt+F7 (show usages) shortcut, but this is the shortcut to switch to tty7 in Linux. Changing it to ctrl+alt+7 might help. Regards, Chamila de Alwis Software Engineer | WSO2 | +94772207163 Blog: code.chamiladealwis.com On Fri, Oct 10, 2014 at 9:09 AM, Inosh Perera ino...@wso2.com wrote: Hi all, Also this[1] is very useful. 1. https://docs.google.com/a/wso2.com/presentation/d/1lU0iIvjYqIMGpLZrgGk7Mx85wF3VuYvM0k2dC117flo/edit#slide=id.i0 Regards, Inosh On Thu, Oct 9, 2014 at 8:21 PM, Manoj Gunawardena man...@wso2.com wrote: Hi Devs, Intellij Idea is a keyboard centric IDE and properly configure of the IDE is increased coding efficiency. Idea has provided default short cuts for most of the essential options. Users can view the default key map reference in IDE, help - Default Key Map Reference. User can change short cut keys in Idea, by File - settings. Type 'keyMap' in the search box. The key Map page will open. Ubuntu users conflicts few Idea short cut keys with OS short cut keys. Better to disable or change OS short cut keys to avoid these conflicts. In Ubuntu, users can change or disable OS short cuts as follows System settings - KeyBoard - Short Cuts, Following link listed short cut keys which conflicts with Idea and needs to change in UBUNTU. http://askubuntu.com/questions/412046/unable-to-use-intellij-idea-keyboard-shortcuts-on-ubuntu How to import Copy Right Info. Go to File - Settings- Type copy right in the search box. Add copy right text and save. Thanks -- Manoj Gunawardena Tech Lead WSO2, Inc.: http://wso2.com lean.enterprise.middleware Mobile : +94 77 2291643 -- Inosh Perera Software Engineer, WSO2 Inc. Tel: 0785293686 -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [Architecture] [Dev] Tomcat Session Replication Using Caching
Hi All, Based on the Architecture review of Tomcat session replication using caching , following aspects were discussed. Participants - Azeez, Sameera , Aruna, Jayanga, Gayashan, SupunM, Niranjan and Myself Proposed solution. - key-val: (CarbonSessionCacheKey, CarbonSessionCache) - Initial implementation was based on javax.caching api's. I've created CarbonSessionCache and CarbonSessionCacheKey to maintain HttpSession in the Hazelcast distributed map. Session will be intercepted by using a Tomcat Valve. - *Verdict* on the proposed solution. - Cache map Serialization and Deserialization is very expensive operation due to heavy traffic. Therefore it is not efficient to replicate the whole session object in the cache map. Counter Proposed solution - Having a Hazelcast map per session object. In that way if an attribute in the session changes the whole entry should not have to be replicated, only the changed attribute. - Have a per-session cache - ( session_id ). - Issue in this approach as follows - How can we acquire the session object from the map ? *Final verdict *on the feature implementation - Instead of using the caching APIs, This needs to fix in Hazelcast level and do it in the optimal way. [1] - HazelcastWM http://docs.hazelcast.org/docs/1.9.4/manual/html/ch08.html [2], Bring in the filter code level in to the tomcat valve instead -Pubudu [1] http://hazelcast.com/use-cases/web-session-clustering/ [2] http://docs.hazelcast.org/docs/1.9.4/manual/html/ch08.html On Wed, Oct 1, 2014 at 10:51 AM, Pubudu Dissanayake pubu...@wso2.com wrote: Hi Srinath Hazelcast WM allows us to cluster user http sessions automatically. Followings are required for enabling Hazelcast Session Clustering http://hazelcast.com/use-cases/web-session-clustering/ [2][3] - Target application or web server should support Java 1.5+ - Target application or web server should support Servlet 2.4+ spec - Session objects that needs to be clustered have to be Serializable Purpose of web session clustering is to replicate web session state across a distributed application servers. Benefits, allow us to scale out but also avoid any single point of failure and allow us to dynamically handle node failure within the application tier. performance of this web session clustering is high according to VP Hazelcast https://www.youtube.com/watch?v=8a0LrlOIXq0. Using Hazelcast session replication can be achieved in two different ways. Observations as follows. - *Hazelcast Enterprise* has native web session clustering build in to Apache Tomcat. - *Opensource Hazelcast* has provide a web session clustering as an external filter, basically Hazelcast filter has to be placed before all of other filters and that will enable us to provide the web session clustering in opensource. In this use case it doesn't required changes to application itself. [1] https://redmine.wso2.com/issues/2816 [2] http://hazelcast.com/use-cases/web-session-clustering/ [3] http://hazelcast.org/docs/latest/manual/html/httpsessionclustering.html [4] https://www.youtube.com/watch?v=8a0LrlOIXq0 More info $subject - Web Session Clustering / Session Replication using Hazelcast -Pubudu On Wed, Oct 1, 2014 at 10:41 AM, Srinath Perera srin...@wso2.com wrote: We need to use Hazelcast When implemented we need to test this with multilple nodes (at least 4) and in high load conditions before it is done done. --Srinath On Wed, Oct 1, 2014 at 8:52 AM, Dinesh J Weerakkody dine...@wso2.com wrote: Hi, I came across this project [1] and might be useful. It is based on memcached library. [1] http://code.google.com/p/memcached-session-manager/ On Tue, Sep 30, 2014 at 8:01 PM, Pubudu Dissanayake pubu...@wso2.com wrote: Hi All, I am working on an improvement for Carbon to enable tomcat session replication support using caching .Our previous implementation was based on a Tomcat Valve ( CarbonTomcatSessionReplicationValve.java).And it was used to replicate the session and adding it to cluster message. Http Session replication in carbon works like this (its quite similar to how the same work in a standalone tomcat). 1. Not every webbapp session will be replicated. You need to set a context property (distributable) for the webapp you need. 2. Once enabled, and when the session is modified on a node, that modification is sent to other nodes via a cluster message ( using clustering ) For the new implementation, initial suggestion is to use our caching implementation. So we need to store the session object in the cache and when session is modified, then we need to update the cache. Please guide me through the process what should I carried out and any references to help me further to achieve [1]. [1] https://redmine.wso2.com/issues/2816 -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com
Re: [Dev] Tomcat Session Replication Using Caching
Hi All, Based on the Architecture review of Tomcat session replication using caching , following aspects were discussed. Participants - Azeez, Sameera , Aruna, Jayanga, Gayashan, SupunM, Niranjan and Myself Proposed solution. - key-val: (CarbonSessionCacheKey, CarbonSessionCache) - Initial implementation was based on javax.caching api's. I've created CarbonSessionCache and CarbonSessionCacheKey to maintain HttpSession in the Hazelcast distributed map. Session will be intercepted by using a Tomcat Valve. - *Verdict* on the proposed solution. - Cache map Serialization and Deserialization is very expensive operation due to heavy traffic. Therefore it is not efficient to replicate the whole session object in the cache map. Counter Proposed solution - Having a Hazelcast map per session object. In that way if an attribute in the session changes the whole entry should not have to be replicated, only the changed attribute. - Have a per-session cache - ( session_id ). - Issue in this approach as follows - How can we acquire the session object from the map ? *Final verdict *on the feature implementation - Instead of using the caching APIs, This needs to fix in Hazelcast level and do it in the optimal way. [1] - HazelcastWM http://docs.hazelcast.org/docs/1.9.4/manual/html/ch08.html [2], Bring in the filter code level in to the tomcat valve instead -Pubudu [1] http://hazelcast.com/use-cases/web-session-clustering/ [2] http://docs.hazelcast.org/docs/1.9.4/manual/html/ch08.html On Wed, Oct 1, 2014 at 10:51 AM, Pubudu Dissanayake pubu...@wso2.com wrote: Hi Srinath Hazelcast WM allows us to cluster user http sessions automatically. Followings are required for enabling Hazelcast Session Clustering http://hazelcast.com/use-cases/web-session-clustering/ [2][3] - Target application or web server should support Java 1.5+ - Target application or web server should support Servlet 2.4+ spec - Session objects that needs to be clustered have to be Serializable Purpose of web session clustering is to replicate web session state across a distributed application servers. Benefits, allow us to scale out but also avoid any single point of failure and allow us to dynamically handle node failure within the application tier. performance of this web session clustering is high according to VP Hazelcast https://www.youtube.com/watch?v=8a0LrlOIXq0. Using Hazelcast session replication can be achieved in two different ways. Observations as follows. - *Hazelcast Enterprise* has native web session clustering build in to Apache Tomcat. - *Opensource Hazelcast* has provide a web session clustering as an external filter, basically Hazelcast filter has to be placed before all of other filters and that will enable us to provide the web session clustering in opensource. In this use case it doesn't required changes to application itself. [1] https://redmine.wso2.com/issues/2816 [2] http://hazelcast.com/use-cases/web-session-clustering/ [3] http://hazelcast.org/docs/latest/manual/html/httpsessionclustering.html [4] https://www.youtube.com/watch?v=8a0LrlOIXq0 More info $subject - Web Session Clustering / Session Replication using Hazelcast -Pubudu On Wed, Oct 1, 2014 at 10:41 AM, Srinath Perera srin...@wso2.com wrote: We need to use Hazelcast When implemented we need to test this with multilple nodes (at least 4) and in high load conditions before it is done done. --Srinath On Wed, Oct 1, 2014 at 8:52 AM, Dinesh J Weerakkody dine...@wso2.com wrote: Hi, I came across this project [1] and might be useful. It is based on memcached library. [1] http://code.google.com/p/memcached-session-manager/ On Tue, Sep 30, 2014 at 8:01 PM, Pubudu Dissanayake pubu...@wso2.com wrote: Hi All, I am working on an improvement for Carbon to enable tomcat session replication support using caching .Our previous implementation was based on a Tomcat Valve ( CarbonTomcatSessionReplicationValve.java).And it was used to replicate the session and adding it to cluster message. Http Session replication in carbon works like this (its quite similar to how the same work in a standalone tomcat). 1. Not every webbapp session will be replicated. You need to set a context property (distributable) for the webapp you need. 2. Once enabled, and when the session is modified on a node, that modification is sent to other nodes via a cluster message ( using clustering ) For the new implementation, initial suggestion is to use our caching implementation. So we need to store the session object in the cache and when session is modified, then we need to update the cache. Please guide me through the process what should I carried out and any references to help me further to achieve [1]. [1] https://redmine.wso2.com/issues/2816 -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com
[Architecture] Tomcat Session Replication Using Caching
Hi All, I am working on an improvement for Carbon to enable tomcat session replication support using caching .Our previous implementation was based on a Tomcat Valve ( CarbonTomcatSessionReplicationValve.java).And it was used to replicate the session and adding it to cluster message. Http Session replication in carbon works like this (its quite similar to how the same work in a standalone tomcat). 1. Not every webbapp session will be replicated. You need to set a context property (distributable) for the webapp you need. 2. Once enabled, and when the session is modified on a node, that modification is sent to other nodes via a cluster message ( using clustering ) For the new implementation, initial suggestion is to use our caching implementation. So we need to store the session object in the cache and when session is modified, then we need to update the cache. Please guide me through the process what should I carried out and any references to help me further to achieve [1]. [1] https://redmine.wso2.com/issues/2816 -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] [Dev] Tomcat Session Replication Using Caching
Hi Srinath Hazelcast WM allows us to cluster user http sessions automatically. Followings are required for enabling Hazelcast Session Clustering http://hazelcast.com/use-cases/web-session-clustering/ [2][3] - Target application or web server should support Java 1.5+ - Target application or web server should support Servlet 2.4+ spec - Session objects that needs to be clustered have to be Serializable Purpose of web session clustering is to replicate web session state across a distributed application servers. Benefits, allow us to scale out but also avoid any single point of failure and allow us to dynamically handle node failure within the application tier. performance of this web session clustering is high according to VP Hazelcast https://www.youtube.com/watch?v=8a0LrlOIXq0. Using Hazelcast session replication can be achieved in two different ways. Observations as follows. - *Hazelcast Enterprise* has native web session clustering build in to Apache Tomcat. - *Opensource Hazelcast* has provide a web session clustering as an external filter, basically Hazelcast filter has to be placed before all of other filters and that will enable us to provide the web session clustering in opensource. In this use case it doesn't required changes to application itself. [1] https://redmine.wso2.com/issues/2816 [2] http://hazelcast.com/use-cases/web-session-clustering/ [3] http://hazelcast.org/docs/latest/manual/html/httpsessionclustering.html [4] https://www.youtube.com/watch?v=8a0LrlOIXq0 More info $subject - Web Session Clustering / Session Replication using Hazelcast -Pubudu On Wed, Oct 1, 2014 at 10:41 AM, Srinath Perera srin...@wso2.com wrote: We need to use Hazelcast When implemented we need to test this with multilple nodes (at least 4) and in high load conditions before it is done done. --Srinath On Wed, Oct 1, 2014 at 8:52 AM, Dinesh J Weerakkody dine...@wso2.com wrote: Hi, I came across this project [1] and might be useful. It is based on memcached library. [1] http://code.google.com/p/memcached-session-manager/ On Tue, Sep 30, 2014 at 8:01 PM, Pubudu Dissanayake pubu...@wso2.com wrote: Hi All, I am working on an improvement for Carbon to enable tomcat session replication support using caching .Our previous implementation was based on a Tomcat Valve ( CarbonTomcatSessionReplicationValve.java).And it was used to replicate the session and adding it to cluster message. Http Session replication in carbon works like this (its quite similar to how the same work in a standalone tomcat). 1. Not every webbapp session will be replicated. You need to set a context property (distributable) for the webapp you need. 2. Once enabled, and when the session is modified on a node, that modification is sent to other nodes via a cluster message ( using clustering ) For the new implementation, initial suggestion is to use our caching implementation. So we need to store the session object in the cache and when session is modified, then we need to update the cache. Please guide me through the process what should I carried out and any references to help me further to achieve [1]. [1] https://redmine.wso2.com/issues/2816 -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Dev mailing list d...@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- *Dinesh J. Weerakkody* Software Engineer WSO2 Inc. lean | enterprise | middleware M : +94 727 361788 | E : dine...@wso2.com | W : www.wso2.com ___ Dev mailing list d...@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- Srinath Perera, Ph.D. http://people.apache.org/~hemapani/ http://srinathsview.blogspot.com/ -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
[Dev] Tomcat Session Replication Using Caching
Hi All, I am working on an improvement for Carbon to enable tomcat session replication support using caching .Our previous implementation was based on a Tomcat Valve ( CarbonTomcatSessionReplicationValve.java).And it was used to replicate the session and adding it to cluster message. Http Session replication in carbon works like this (its quite similar to how the same work in a standalone tomcat). 1. Not every webbapp session will be replicated. You need to set a context property (distributable) for the webapp you need. 2. Once enabled, and when the session is modified on a node, that modification is sent to other nodes via a cluster message ( using clustering ) For the new implementation, initial suggestion is to use our caching implementation. So we need to store the session object in the cache and when session is modified, then we need to update the cache. Please guide me through the process what should I carried out and any references to help me further to achieve [1]. [1] https://redmine.wso2.com/issues/2816 -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [Dev] Tomcat Session Replication Using Caching
Hi Srinath Hazelcast WM allows us to cluster user http sessions automatically. Followings are required for enabling Hazelcast Session Clustering http://hazelcast.com/use-cases/web-session-clustering/ [2][3] - Target application or web server should support Java 1.5+ - Target application or web server should support Servlet 2.4+ spec - Session objects that needs to be clustered have to be Serializable Purpose of web session clustering is to replicate web session state across a distributed application servers. Benefits, allow us to scale out but also avoid any single point of failure and allow us to dynamically handle node failure within the application tier. performance of this web session clustering is high according to VP Hazelcast https://www.youtube.com/watch?v=8a0LrlOIXq0. Using Hazelcast session replication can be achieved in two different ways. Observations as follows. - *Hazelcast Enterprise* has native web session clustering build in to Apache Tomcat. - *Opensource Hazelcast* has provide a web session clustering as an external filter, basically Hazelcast filter has to be placed before all of other filters and that will enable us to provide the web session clustering in opensource. In this use case it doesn't required changes to application itself. [1] https://redmine.wso2.com/issues/2816 [2] http://hazelcast.com/use-cases/web-session-clustering/ [3] http://hazelcast.org/docs/latest/manual/html/httpsessionclustering.html [4] https://www.youtube.com/watch?v=8a0LrlOIXq0 More info $subject - Web Session Clustering / Session Replication using Hazelcast -Pubudu On Wed, Oct 1, 2014 at 10:41 AM, Srinath Perera srin...@wso2.com wrote: We need to use Hazelcast When implemented we need to test this with multilple nodes (at least 4) and in high load conditions before it is done done. --Srinath On Wed, Oct 1, 2014 at 8:52 AM, Dinesh J Weerakkody dine...@wso2.com wrote: Hi, I came across this project [1] and might be useful. It is based on memcached library. [1] http://code.google.com/p/memcached-session-manager/ On Tue, Sep 30, 2014 at 8:01 PM, Pubudu Dissanayake pubu...@wso2.com wrote: Hi All, I am working on an improvement for Carbon to enable tomcat session replication support using caching .Our previous implementation was based on a Tomcat Valve ( CarbonTomcatSessionReplicationValve.java).And it was used to replicate the session and adding it to cluster message. Http Session replication in carbon works like this (its quite similar to how the same work in a standalone tomcat). 1. Not every webbapp session will be replicated. You need to set a context property (distributable) for the webapp you need. 2. Once enabled, and when the session is modified on a node, that modification is sent to other nodes via a cluster message ( using clustering ) For the new implementation, initial suggestion is to use our caching implementation. So we need to store the session object in the cache and when session is modified, then we need to update the cache. Please guide me through the process what should I carried out and any references to help me further to achieve [1]. [1] https://redmine.wso2.com/issues/2816 -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- *Dinesh J. Weerakkody* Software Engineer WSO2 Inc. lean | enterprise | middleware M : +94 727 361788 | E : dine...@wso2.com | W : www.wso2.com ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- Srinath Perera, Ph.D. http://people.apache.org/~hemapani/ http://srinathsview.blogspot.com/ -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [Dev] Pull requests for the following issues
Ping ! On Wed, Sep 10, 2014 at 6:17 PM, Aruna Karunarathna ar...@wso2.com wrote: Hi all, Please send the pull requests for the following issues. https://wso2.org/jira/browse/CARBON-14891 https://wso2.org/jira/browse/CARBON-14850 https://wso2.org/jira/browse/CARBON-14718 https://wso2.org/jira/browse/CARBON-14894 Please update above mentioned public jira tickets with relevant pull requests. Regards, Aruna -- *Aruna Sujith Karunarathna* | Software Engineer WSO2, Inc | lean. enterprise. middleware. #20, Palm Grove, Colombo 03, Sri Lanka Mobile: +94 71 9040362 | Work: +94 112145345 Email: ar...@wso2.com | Web: www.wso2.com ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [Dev] Web Session Clustering / Session Replication using Hazelcast
On Mon, Sep 22, 2014 at 11:03 AM, Afkham Azeez az...@wso2.com wrote: Can you simply get this working using a Tomcat valve rather than a filter? Call into the Hazelcast APIs the filter calls. Take that code and make it a valve. Hazelcast enterprise version has native web session clustering build in to Apache Tomcat. I presume they are talking about Tomcat Valves. I'll look in to what you have suggested as well. Yep, It will be a solid implementation if we use Tomcat Valves rather than filters. Thanks for the feedback Azeez -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
[Dev] Exceptions Handling In Carbon
Hi folks, I'm in a process of implementing a fix for the CarbonContext.java https://github.com/wso2-dev/carbon4-kernel/blob/master/core/org.wso2.carbon.utils/src/main/java/org/wso2/carbon/context/CarbonContext.java [1] and I found several concerns. Observations as follows, - Empty Catch blocks if (tenantId != MultitenantConstants.INVALID_TENANT_ID) { try { registry = dataHolder.getRegistryService().getConfigUserRegistry(getUsername(), tenantId); return registry; } catch (Exception e) { // If we can't obtain an instance of the registry, we'll simply return null. The // errors that lead to this situation will be logged by the Registry Kernel. } return null; } - Ignoring of documenting of potential exceptions thrown by methods try { return CarbonContextDataHolder.getDiscoveryServiceProvider().probe(null, scopes, null, getCarbonContextDataHolder().getTenantId()); } catch (Exception ignored) { // If an exception occurs, simply return no endpoints. The discovery component will // be responsible of reporting any errors. return new String[0]; } What we normally tend to do is, either log, or throw. Catching the exception just to log it doesn't make much sense. If we can gather some additional context, create a new exception with new info and wrap the cause, and throw it. Also, if we log, and throw, and then the client catches it, logs, rethrows, and so on,what will happen is we will get the stack trace with the same exception multiple times. Please advice as to how I should go about handling this. Thanks - Pubudu [1] https://github.com/wso2-dev/carbon4-kernel/blob/master/core/org.wso2.carbon.utils/src/main/java/org/wso2/carbon/context/CarbonContext.java -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
[Dev] Web Session Clustering / Session Replication using Hazelcast
Hi Folks, I'm in the process of implementing 'Tomcat session replication using Caching https://redmine.wso2.com/issues/2816' [1]. But I've found a very interesting approach to achieve it out of the box using Hazelcast. Hazelcast WM allows us to cluster user http sessions automatically. Followings are required for enabling Hazelcast Session Clustering http://hazelcast.com/use-cases/web-session-clustering/ [2][3] - Target application or web server should support Java 1.5+ - Target application or web server should support Servlet 2.4+ spec - Session objects that needs to be clustered have to be Serializable Purpose of web session clustering is to replicate web session state across a distributed application servers. Benefits, allow us to scale out but also avoid any single point of failure and allow us to dynamically handle node failure within the application tier. performance of this web session clustering is high according to VP Hazelcast https://www.youtube.com/watch?v=8a0LrlOIXq0. Using Hazelcast session replication can be achieved in two different ways. Observations as follows. - *Hazelcast Enterprise* has native web session clustering build in to Apache Tomcat. - *Opensource Hazelcast* has provide a web session clustering as an external filter, basically Hazelcast filter has to be placed before all of other filters and that will enable us to provide the web session clustering in opensource. In this use case it doesn't required changes to application itself. Example as follows, *web.xml edit*, Make sure Hazelcast filter is placed before all the other filters if any filter filter-namehazelcast-filter/filter-name filter-classcom.hazelcast.web.WebFilter/filter-class !– Name of the distributed map storing your web session objects – init-param param-namemap-name/param-name param-valuemy-sessions/param-value /init-param !– How is your load-balancer configured? stick-session means all requests of a session is routed to the node where the session is first created. This is excellent for performance. If sticky-session is set to false, when a session is updated on a node, entry for this session on all other nodes is invalidated. You have to know how your load-balancer is configured before setting this parameter. Default is true. – init-param param-namesticky-session/param-name param-valuetrue/param-value /init-param !– Are you debugging? Default is false. – init-param param-namedebug/param-name param-valuetrue/param-value /init-param /filter filter-mapping filter-namehazelcast-filter/filter-name url-pattern/*/url-pattern dispatcherFORWARD/dispatcher dispatcherINCLUDE/dispatcher dispatcherREQUEST/dispatcher /filter-mapping listener listener-classcom.hazelcast.web.SessionListener/listener-class /listener All http requests will go through Hazelcast Web Filter and it will put the session objects into Hazelcast distributed map if needed. So WDYT? Please advice as to how I should go about handling this. [1] https://redmine.wso2.com/issues/2816 [2] http://hazelcast.com/use-cases/web-session-clustering/ [3] http://hazelcast.org/docs/latest/manual/html/httpsessionclustering.html [4] https://www.youtube.com/watch?v=8a0LrlOIXq0 -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [Dev] Carbon component deployment halts due to third party libraries used.
Hi Supun, Please make sure that third party jar is in 'resolve' state. Be aware that importing a package doesn't import its sub-packages and there is no relationship among nested packages. You have to specifically mention Import-Package: org.apache.commons.math3.stat.descriptive; version=[3.3.0,4.0.0) Please attach your pom file as well. Thanks -Pubudu On Wed, Sep 10, 2014 at 1:04 PM, Supun Sethunga sup...@wso2.com wrote: Correction : *CARBON_HOME/repository/components/lib folder* On Wed, Sep 10, 2014 at 1:00 PM, Supun Sethunga sup...@wso2.com wrote: Hi, The imported library *org.apache.commons.math3 *is being not identified. (gets the following output in the osgi console) *reference:file:../dropins/org.wso2.carbon.ml.dataset-0.1.0.jar [340]* * Direct constraints which are unresolved:* *Missing imported package org.apache.commons.math3.stat.descriptive_[3.3.0,4.0.0)* Tried putting the relevant third-party jar file to the CARBON_HOME/repository/components/plugins folder, and deploy. But still not resolved. Thanks, Supun On Wed, Sep 10, 2014 at 11:49 AM, Danushka Fernando danush...@wso2.com wrote: I think best way to figure out this is to start the server with osgi console and find out the unsatisfied items. Thanks Regards Danushka Fernando Software Engineer WSO2 inc. http://wso2.com/ Mobile : +94716332729 On Wed, Sep 10, 2014 at 10:45 AM, Supun Sethunga sup...@wso2.com wrote: Hi Sameera / Carbon team, Im trying to expose some Machine Learning services as a carbon component. The component I wrote builds successfully. But when I try to deploy this component (tried deploying in both BAM and ESB), the deployment process halts, saying the following. *[2014-09-10 10:32:04,915] INFO {org.apache.cassandra.thrift.ThriftServer} - Listening for thrift clients...[2014-09-10 10:33:05,754] WARN {org.wso2.carbon.core.init.CarbonServerManager} - Carbon initialization is delayed due to the following unsatisfied items:[2014-09-10 10:33:05,755] WARN {org.wso2.carbon.core.init.CarbonServerManager} - Waiting for required OSGiAxis2Service: org.wso2.carbon.ml.dataset-4.2.0* Found out that the reason for this was the logger log4j (when I replace log4j with commons-logger, the component got deployed) and a class in a third party library org.apache.commons.math3.stat.descriptive.DescriptiveStatistics. Any idea what causes this issue? Thanks, Supun -- *Supun Sethunga* Software Engineer WSO2, Inc. lean | enterprise | middleware Mobile : +94 716546324 ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- *Supun Sethunga* Software Engineer WSO2, Inc. lean | enterprise | middleware Mobile : +94 716546324 -- *Supun Sethunga* Software Engineer WSO2, Inc. lean | enterprise | middleware Mobile : +94 716546324 ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [Dev] WSO2 Committers += Rajith Vitharana
mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- *Dumidu Handakumbura* Software Engineer - QA WSO2 Inc; http://www.wso2.com/. Mobile; *+9406740 %2B9406740 * ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- Suhan Dharmasuriya Software Engineer - Test Automation *WSO2, Inc. * lean . enterprise . middleware Tel: +94 112 145345 Mob: +94 779 869138 Blog: http://suhancoold.blogspot.com/ ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- Thanks Best Regards, *Praneesha Chandrasiri* *Technical Writer* *WSO2 Inc. * *Mobile: +(94) 718156888 %2B%2894%29%20718156888* *E-mail: pranee...@wso2.com pranee...@wso2.com* ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- Thushara Kasun Ranawaka Software Engineer WSO2 Inc.; http://www.wso2.com lean.enterprise.middleware Mobile : *+94 (0) 773438949 %2B94%20%280%29%20773438949* *thusha...@wso2.com thusha...@wso2.com* ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [Dev] WSO2 Committers += Kavith Lokuhewage
Engineer | Platform TG WSO2, Inc. | http://wso2.com lean. enterprise. middleware Mobile : +94718314517 Blog : gayashan-a.blogspot.com ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- Tishan Dahanayakage Software Engineer WSO2, Inc. Mobile:+94 716481328 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, re-transmit, 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. ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [Dev] [Announce] WSO2 Committers += Jayanga Dissanayake
Congratulations !! On Tue, Aug 5, 2014 at 11:18 AM, Gayashan Amarasinghe gayas...@wso2.com wrote: Congratulations Jayanga!!! On Tue, Aug 5, 2014 at 11:14 AM, Kalpa Welivitigoda kal...@wso2.com wrote: Congratulations Jayanga ! On Tue, Aug 5, 2014 at 11:13 AM, Malintha Adikari malin...@wso2.com wrote: Congratulations On Tue, Aug 5, 2014 at 11:10 AM, Sameera Jayasoma same...@wso2.com wrote: Hello Folks, In recognition of his contributions to WSO2 Carbon as well as to WSO2 in various forms, we are pleased to announce the WSO2 committership of Jayanga Dissanayake. Jayanga has contributed in many areas, including Development Governance Project for C5, Operation Center. We look forward to his valuable involvement as a WSO2 committer. Jayanga, welcome to WSO2 Committer's club. Please join us in congratulating him. Thanks, Sameera. -- Sameera Jayasoma, Software Architect, WSO2, Inc. (http://wso2.com) email: same...@wso2.com blog: http://sameera.adahas.org twitter: https://twitter.com/sameerajayasoma flickr: http://www.flickr.com/photos/sameera-jayasoma/collections Mobile: 0094776364456 Lean . Enterprise . Middleware ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- *Malintha Adikari* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mobile: +94 71 2312958 Blog:http://malinthas.blogspot.com Page: http://about.me/malintha ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- Best Regards, Kalpa Welivitigoda Software Engineer, WSO2 Inc. http://wso2.com Email: kal...@wso2.com Mobile: +94776509215 ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- *Gayashan Amarasinghe* Software Engineer | Platform TG WSO2, Inc. | http://wso2.com lean. enterprise. middleware Mobile : +94718314517 Blog : gayashan-a.blogspot.com ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
[Dev] How to upload a file using Apache HttpClient library ?
Hi Folks, I wrote a Java application that will upload a file to the WSO2 API Manager via request. The Java code uses Apache HttpClient library version 4.3.2 I was tried to invoke upload document API call [1 https://docs.wso2.com/display/AM170/Publisher+APIs#PublisherAPIs-Add/UpdateanAPIDocument] , it seems it won't executing as I expected. *Source * import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.mime.MultipartEntity; import org.apache.http.entity.mime.content.ContentBody; import org.apache.http.entity.mime.content.FileBody; import org.apache.http.entity.mime.content.StringBody; import org.wso2.sample.doc.authentication.AuthenticationAdminServiceClient; import org.wso2.sample.doc.constants.APIConstantValues; import org.wso2.sample.doc.singleton.HttpClientSingleton; public class UploadDocument { public static final String ADD_DOC_API_CALL = https://; + APIConstantValues.HOST_NAME + : + APIConstantValues.HTTPS_PORT + /publisher/site/blocks/documentation/ajax/docs.jag?action=addDocumentationmode='-' + provider=subscriber1apiName=TestDocAPIversion=1.0.0docName=attachment + docType=how+tosourceType=filedocUrl='-'summary=testing; public static final String LOGIN_API_CALL = https://; + APIConstantValues.HOST_NAME + : + APIConstantValues.HTTPS_PORT + /publisher/site/blocks/user/login/ajax/login.jag?action=loginusername= + APIConstantValues.USER_NAME + password= + APIConstantValues.PASSWORD; public static final String FILE_PATH = /home/pubudu/Desktop/t; public static void main(String[] args) { AuthenticationAdminServiceClient .setSystemProperties(APIConstantValues.CLIENT_TRUST_STORE_PATH, APIConstantValues.KEY_STORE_TYPE, APIConstantValues.KEY_STORE_PASSWORD); HttpClient httpClient = HttpClientSingleton.getHttpClientInstance(); HttpPost request = new HttpPost(LOGIN_API_CALL); HttpPost docRequest = new HttpPost(ADD_DOC_API_CALL); HttpResponse response = httpClient.execute(request); System.out.println(Http Status Code := + response.getStatusLine()); for (Header header : response.getAllHeaders()) { if (header.getName().equals(Set-Cookie)) { docRequest.setHeader(Cookie, header.getValue().split(;, 2)[0]); System.out.println(header.getValue().split(;, 2)[0]); } System.out.println(header); } System.out.println(); File document = new File(FILE_PATH); MultipartEntity multipartEntity = new MultipartEntity(); System.out.println(document.getAbsolutePath()); System.out.println(); multipartEntity.addPart(docLocation, new StringBody(document.getAbsolutePath())); ContentBody fileBody = new FileBody(document, text/plain); multipartEntity.addPart(attachment, fileBody); docRequest.setEntity(multipartEntity); for (Header header : docRequest.getAllHeaders()) { System.out.println(header); } System.out.println(); System.out.println(executing request + docRequest.getRequestLine()); HttpResponse docResponse = httpClient.execute(docRequest); System.out.println(Http Status Code := + docResponse.getStatusLine()); for (Header header : docResponse.getAllHeaders()) { System.out.println(header); } System.out.println(); } } *Constants * public class APIConstantValues { public static final String CLIENT_TRUST_STORE_PATH = /home/pubudu/Development/Workspace/Support/Sample/DocumentAPI/src/main/resources/security/client-truststore.jks; public static final String HOST_NAME = localhost; public static final String HTTPS_PORT = 9453; public static final String USER_NAME = admin; public static final String PASSWORD = admin; public static final String KEY_STORE_PASSWORD = wso2carbon; public static final String KEY_STORE_TYPE = jks; } *Response headers* Http Status Code := HTTP/1.1 200 OK JSESSIONID=C912CF9F73C6DC1C04F8BA1C877C6D4D Set-Cookie: JSESSIONID=C912CF9F73C6DC1C04F8BA1C877C6D4D; Path=/publisher/; Secure; HttpOnly Content-Type: application/json;charset=UTF-8 Content-Length: 17 Date: Mon, 04 Aug 2014 05:28:54 GMT Server: WSO2 Carbon Server /home/pubudu/Desktop/t Cookie: JSESSIONID=C912CF9F73C6DC1C04F8BA1C877C6D4D executing request POST https://localhost:9453/publisher/site/blocks/documentation/ajax/docs.jag?action=addDocumentationmode='-'provider=subscriber1apiName=TestDocAPIversion=1.0.0docName=attachmentdocType=how+tosourceType=filedocUrl='-'summary=testing HTTP/1.1 Http Status Code := HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8 Content-Length: 53 Date: Mon, 04 Aug 2014 05:28:54 GMT Server: WSO2 Carbon Server Please advice as to how I should go about handling this. [1] https://docs.wso2.com/display/AM170/Publisher+APIs#PublisherAPIs-Add/UpdateanAPIDocument -Pubudu -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com
Re: [Dev] WSO2 Committers += Waruna Perera
Congratulations !! On Fri, Aug 1, 2014 at 2:29 PM, Sohani Weerasinghe soh...@wso2.com wrote: Congratulations Regards, Sohani Sohani Weerasinghe Software Engineer WSO2, Inc: http://wso2.com Mobile : +94 716439774 Blog :http://christinetechtips.blogspot.com/ Twitter : https://twitter.com/sohanichristine On Fri, Aug 1, 2014 at 2:26 PM, Dakshika Jayathilaka daksh...@wso2.com wrote: Congratulations Waruna !! *Dakshika Jayathilaka* Software Engineer WSO2, Inc. lean.enterprise.middleware 0771100911 On Fri, Aug 1, 2014 at 8:47 AM, Uvindra Dias Jayasinha uvin...@wso2.com wrote: Congratz Waruna On 1 August 2014 13:57, Shazni Nazeer sha...@wso2.com wrote: Congratz Waruna!!! Shazni Nazeer Senior Software Engineer Mob : +94 37331 LinkedIn : http://lk.linkedin.com/in/shazninazeer Blog : http://shazninazeer.blogspot.com On Fri, Aug 1, 2014 at 1:45 PM, Malintha Adikari malin...@wso2.com wrote: Congratulations Waruna!! On Fri, Aug 1, 2014 at 1:31 PM, Asanka Dissanayake asan...@wso2.com wrote: Congratz Waruna !! On Fri, Aug 1, 2014 at 1:22 PM, Krishantha Samaraweera krishan...@wso2.com wrote: Hi all, It's my distinct pleasure to welcome Waruna Perera as a WSO2 Committer. He has been a valuable contributor for test automation and WSO2 product platform. In acknowledgement of his contributions, he's been voted as a WSO2 Committer. Welcome aboard and keep up the good work! Thanks, Krishantha. -- Krishantha Samaraweera Senior Technical Lead - Test Automation Mobile: +94 77 7759918 WSO2, Inc.; http://wso2.com/ lean . enterprise . middlewear. ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- *Asanka DissanayakeSoftware Engineer* *WSO2 Inc. - lean . enterprise . middleware | wso2.com http://wso2.com/* *email: asan...@wso2.com ruch...@wso2.com, blog: cyberwaadiya.blogspot.com http://cyberwaadiya.blogspot.com, asankastechtalks.wordpress.com http://asankastechtalks.wordpress.com mobile: +94 71 8373821* ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- *Malintha Adikari* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mobile: +94 71 2312958 Blog:http://malinthas.blogspot.com Page: http://about.me/malintha ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- Regards, Uvindra Mobile: 33962 ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mob: + 94 775 503 304 Blog: http://geekdetected.wordpress.com/ Linkedin: *http://lk.linkedin.com/in/pubududissanayake* http://lk.linkedin.com/in/pubududissanayake Flickr : https://www.flickr.com/photos/pubudufx/ Twitter: https://twitter.com/GeekInAction ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [Dev] [dev] BLOCKER https://wso2.org/jira/browse/CARBON-14842
Will do the needful On Thu, Jul 3, 2014 at 2:24 PM, Dushan Abeyruwan dus...@wso2.com wrote: Tested in recent ESB pack built seems like this has been resolved, anyway better recheck On Thu, Jul 3, 2014 at 2:04 PM, Kishanthan Thangarajah kishant...@wso2.com wrote: @Pubudu, please have a look at this issue. On Fri, Jun 27, 2014 at 8:27 PM, Dushan Abeyruwan dus...@wso2.com wrote: Hi Kishanthan, Will you able to looking to this as this due to Carbon changes On Thu, Jun 26, 2014 at 5:07 PM, Dushan Abeyruwan dus...@wso2.com wrote: HI We hit with blocker (binding invalid ports when ESB starts windows) ,this should be due to carbon changers. https://wso2.org/jira/browse/CARBON-14842 Cheers, Dushan Abeyruwan | Associate Tech Lead Integration Technologies Team PMC Member Apache Synpase WSO2 Inc. http://wso2.com/ Blog:http://dushansview.blogspot.com/ Mobile:(0094)713942042 -- Dushan Abeyruwan | Associate Tech Lead Integration Technologies Team PMC Member Apache Synpase WSO2 Inc. http://wso2.com/ Blog:http://dushansview.blogspot.com/ Mobile:(0094)713942042 -- *Kishanthan Thangarajah* Senior Software Engineer, Platform Technologies Team, WSO2, Inc. lean.enterprise.middleware Mobile - +94773426635 Blog - *http://kishanthan.wordpress.com http://kishanthan.wordpress.com* Twitter - *http://twitter.com/kishanthan http://twitter.com/kishanthan* -- Dushan Abeyruwan | Associate Tech Lead Integration Technologies Team PMC Member Apache Synpase WSO2 Inc. http://wso2.com/ Blog:http://dushansview.blogspot.com/ Mobile:(0094)713942042 -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mobile: 0775503304 ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
[Architecture] [Carbon 5] Next-gen Command Line Interface for Carbon. - Meeting minutes 29/05/2104
Hi folks, For Carbon 5.0, we are planning to improve our existing CLI tool. Please find below notes from the meeting held regarding Carbon CLI on 29th May 2014. *Participants: *Azeez, SammeraJ, Manoj, Aruna, Jayanga and myself . Points discussed as follows - *What we learned from our Carbon 4.x.x CLI (Equinox OSGI console http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fconsole_shell.htm)* - Carbon 4.2.0 OSGI Console is based on equinox console. Therefore Eclipse equinox console has following dependencies - org.eclipse.equinox.console - org.apache.felix.gogo.command - org.apache.felix.gogo.runtime - org.apache.felix.gogo.shell - Due to apache felix dependency, equinox will inherit some of the gogo commands ( you will be able to see those under scope:gogo) and custom commands were written using equinox *CommandProvider* http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fconsole_shell.htm interface. - *What we lack *? - UX is not straightforward and it has to be improved - NO tab completion nor history support - No in-line editing - NO UNIX command support - No extendability of the console nor custom commands - *Next-gen Carbon 5 CLI * - Carbon 5 runs on top of Eclipse equinox OSGI runtime and equinox console as command line interface. But it is the previous ( Carbon 4.2.0 ) CLI which is needed an upgrade.Our main concern is to upgrade it to provide more flexibility and rich user experience to end users and developers. Following requirements are considered as must to have - *Requirements* - Tab Completions - History support - In-line editing - Descriptive help - Extendability of Shell - Solutions - Annotation based commands, arguments and options support ( e.g. introducing @Command @Argument and @Option ) - On going PoC - JLine https://github.com/jline/jline2/wiki/JLine-2.x-Wiki 2.x based CLI approach - PoC done. - Milestone one will be based on two part - Extendable Framework - Basic OSGI Commands and custom command support Please let us know about your thoughts on our new development, WDYT ? Thanks - Pubudu Dissanayake -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mobile: 0775503304 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Dev] WSO2 Committers += Lali Devamanthri
Congratulations ! On Fri, May 30, 2014 at 11:16 AM, Aruna Karunarathna ar...@wso2.com wrote: Congratulations..!!! On Fri, May 30, 2014 at 11:10 AM, Sohani Weerasinghe soh...@wso2.com wrote: Congratulations Sohani Weerasinghe Software Engineer WSO2, Inc: http://wso2.com Mobile : +94 716439774 Blog :http://christinetechtips.blogspot.com/ Twitter : https://twitter.com/sohanichristine On Fri, May 30, 2014 at 11:08 AM, Jasintha Dasanayake jasin...@wso2.com wrote: Hi All, It's my distinct pleasure to welcome Lali as a WSO2 Committer. Lali has been a valuable contributor for WSO2 Developer Studio since he joined WSO2. In recognition of his contributions to WSO2, he has been voted as a WSO2 Committer. Lali, Congratulations and Keep up the good work! Thanks and Regards, /Jasintha -- *Jasintha Dasanayake * *Senior Software EngineerWSO2 Inc. | http://wso2.com http://wso2.com/ lean . enterprise . middleware* *mobile :- 0711368118 0711368118 * ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- * Aruna Sujith Karunarathna* | Software Engineer WSO2, Inc | lean. enterprise. middleware. #20, Palm Grove, Colombo 03, Sri Lanka Mobile: +94 71 9040362 | Work: +94 112145345 Email: ar...@wso2.com | Web: www.wso2.com ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mobile: 0775503304 ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [Dev] Building a Carbon Component from an existing Axis2 service
Hi, Follow these articles [1] http://wso2.com/library/tutorials/2014/03/understanding-the-carbon-component-architecture/ [2] http://wso2.com/library/tutorials/2014/03/how-to-write-a-wso2-carbon-component/ [3] http://wso2.com/library/tutorials/2014/03/how-to-create-a-feature-from-wso2-carbon-component/ Thanks, Pubudu On Tue, May 6, 2014 at 4:28 PM, Amalka Subasinghe ama...@wso2.com wrote: This will help https://docs.wso2.org/display/Carbon420/C-App+Deployment+Process On Tue, May 6, 2014 at 4:10 PM, Supun Sethunga sup...@wso2.com wrote: Hi, Is there any way of creating a carbon Component using an existing Axis2 service (which includes both client and server classes) as a library? If so, is there any tutorial/article that I can refer to? The only method available for reference is [1], but it creates the carbon component from the scratch. Reference: [1] http://wso2.com/library/tutorials/2014/03/how-to-write-a-wso2-carbon-component/ Thanks, -- *Supun Sethunga* Software Engineer WSO2, Inc. lean | enterprise | middleware Mobile : +94 716546324 ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- Amalka Subasinghe Senior Software Engineer, WSO2 Inc. Mobile: +94 77 9401267 ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mobile: 0775503304 ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [Architecture] Future of Carbon UI Framework - Feedbacks needed !
Please refer my in-line comment On Sun, Apr 27, 2014 at 7:37 AM, Joseph Fonseka jos...@wso2.com wrote: Hi Didn't find tenant management on the list has it been handled separately ? It is listed under WSO2 IS configure related UI components. +1 for moving the UI out of the Kernal but what are the benefits we are targeting from this ? Thanks Jo -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mobile: 0775503304 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] EMM - UI Design
Please refer my in-line comment. On Sun, May 4, 2014 at 9:29 AM, Chanaka Jayasena chan...@wso2.com wrote: I agree that we need to unify the look and feel of these UIs. When working with WSO2 Cloud the importance of unified look and feel is more visible. Considering the top and left menus usability wise both have pros and cons. Generally it's good to have a left side menu when there are growing number of options for it. In the Cloud UI it's better to have the menu at the top, since we have to inject the same menu to the App Factory UI and API Store/Publisher UIs. @Dilshan, API Store, API Publisher, and App Factory is done with an older version of Caramel. This is why there is a significant difference in the coding pattern. I don't think Caramel existed when the API Store/Manger applications were started developing. The latest version of Caremel we use for Stratos Web Console is way better than the older versions. It pushes front end developers to write clean code without messing with complex jQuery Dom manipulation to present data to the UI. We have handlebars.js with Caramel. Even though handebars.js ( Template Engine) and AngularJS ( HTML Compiler and data binder ) is completely different things, using them together doesn't make sense IMO. Chthura please do a research and find out that his need for AngularJS is filled by handebars.js or not. To have a consistent look and feel in Carbon products, the way Carbon UI initially developed helped. If we can have a similar patten where there is a core component with default styles, layout and let each product override these styles with there own, it will drive every product to have a common look and feel. Indeed, Having unified UI framework is a must and let products to build their own UI is a bad idea. We should come up with a proper structure ( previous carbon releases has this component.xml based approach ) therefore we can build on top of it (hence can re-use it for future carbon UI framework) . IMO consistency has to be there. thanks, Chanaka -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mobile: 0775503304 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] How we should improve our next gen Carbon UI framework - thoughts/opinions needed
On Mon, Apr 28, 2014 at 2:30 PM, Pubudu Dissanayake pubu...@wso2.comwrote: Hi Folks, The idea behind this email is to gather requirements to improve our next gen carbon UI framework. Please let us know what we lack in our current Carbon 4.x.x versions and What you guys prefer to have in new C5 UI framework. Please let us know your thoughts/opinions, Thank you, Pubudu. -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mobile: 0775503304 -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mobile: 0775503304 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] How we should improve our next gen Carbon UI framework - thoughts/opinions needed
Please refer my in-line comment On Mon, Apr 28, 2014 at 4:50 PM, Senaka Fernando sen...@wso2.com wrote: Hi Pubudu, How about having a brainstorming meeting to get some initial ideas and then follow it up on the mailing list? By doing so we can avoid having a lengthy discussion thread. Yes It is a good idea and feel free to post your thoughts/opinions here so we can address those in the brainstorming session. Thanks, Senaka. -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mobile: 0775503304 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] Future of Carbon UI Framework - Feedbacks needed !
Please see my In-line comment. On Sun, Apr 27, 2014 at 7:23 AM, Chan duli...@wso2.com wrote: +1 for building a light weight modern UI framework on top of carbon. Actually for EMM 1.1.0 release we are in the process of using jaggery-fiber [1] which aims to build a component sharing framework. I was thinking of building a feature's layer on top of the jaggery-fiber where we have the ability to dynamically drop a UI feature bundle. One of the flaws in building a unified framework is the user experience element. One of the things Carbon UI has got right is the uniformed UI. [1] - https://github.com/splinter/jaggery-fiber Excellent, Yes this address most of our concerns. Thanks for the resource I'll look in to this and get back to you. -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mobile: 0775503304 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] Future of Carbon UI Framework - Feedbacks needed !
copied to Architecture mailing list On Fri, Apr 25, 2014 at 6:08 PM, Samisa Abeysinghe sam...@wso2.com wrote: Why is this thread private? Thanks, Samisa... Samisa Abeysinghe Vice President Delivery WSO2 Inc. http://wso2.com On Fri, Apr 25, 2014 at 5:30 PM, Pubudu Dissanayake pubu...@wso2.comwrote: Hi folks, The idea behind this email is to describe Pros/Cons of Carbon UI framework if we decide not to make this part of kernel. based on the previous discussion regarding C5 UI framework, Internal research has been conducted regarding usage of management console UI of each product. Mgt Console UI usage - https://docs.google.com/a/wso2.com/document/d/1o73UcdmiGgTURnpasVuJ6ekslQGlttXdywKaJYh-Dz0/edit Following Pros/Cons were extracted according to the research results. Here are some facts , Pros - Light weight kernel ( without UI framework ) Cons - At the moment ( Carbon 4.2.0 ) following functionalities shipped with admin UI - Deploying an artifact ( Development stuffs are removed from admin UI) - Seeing the statistics ( Service stats and system stats) - User, role , permission management - Registry UI related components - WSO2 MB is heavily coupled with admin UI It would be better if we can discuss these things and finalize decision whether we need the management console (and hence framework), WDYT ? -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mobile: 0775503304 -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mobile: 0775503304 ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Dev] WSO2 Committers += Amal Gunatilake
Congratulation Amal ! On Mon, Apr 21, 2014 at 10:31 AM, Chathurika Mahaarachchi chathur...@wso2.com wrote: Congratulations Amal ! On Mon, Apr 21, 2014 at 10:26 AM, Aruna Karunarathna ar...@wso2.comwrote: Congratulations Amal...!!! On Mon, Apr 21, 2014 at 10:20 AM, Pamod Sylvester pa...@wso2.com wrote: Congratulations Amal !! On Mon, Apr 21, 2014 at 10:00 AM, Harshan Liyanage hars...@wso2.comwrote: Congradz Amal! Best Regards, Lakshitha Harshan Software Engineer Mobile: *+94724423048* Email: hars...@wso2.com Blog : http://harshanliyanage.blogspot.com/ *WSO2, Inc. :** wso2.com http://wso2.com/* lean.enterprise.middleware. On Sat, Apr 19, 2014 at 10:43 PM, Gayan Yalpathwala gay...@wso2.comwrote: Congratulations on your achievement Amal !! On Sat, Apr 19, 2014 at 10:08 PM, Manoj Kumara ma...@wso2.com wrote: Congratulation Amal !!! *Manoj Kumara* Software Engineer WSO2 Inc. http://wso2.com/ *lean.enterprise.middleware* Mobile: +94713448188 On Sat, Apr 19, 2014 at 8:27 AM, Nandika Jayawardana nand...@wso2.com wrote: Hi All, It's my pleasure to announce Amal Gunatilake as a WSO2 Committer. Amal has been a valuable contributor for WSO2 BPS product and in recognition of his contributions to WSO2, he has been voted as a WSO2 Committer. Amal, Congratulations and Keep up the good work! Thanks and Regards, Nandika -- Nandika Jayawardana Senior Technical Lead WSO2 Inc ; http://wso2.com lean.enterprise.middleware ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- *Gayan Kaushalya Yalpathwala* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware mobile: +94 71 8682704 http://asia14.wso2con.com/ http://asia14.wso2con.com/ ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- *Pamod Sylvester * * Software Engineer * Integration Technologies Team, WSO2 Inc.; http://wso2.com email: pa...@wso2.com cell: +94 77 7779495 ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- * Aruna Sujith Karunarathna* | Software Engineer WSO2, Inc | lean. enterprise. middleware. #20, Palm Grove, Colombo 03, Sri Lanka Mobile: +94 71 9040362 | Work: +94 112145345 Email: ar...@wso2.com | Web: www.wso2.com ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- *Chathurika Mahaarachchi* Software Engineer, QA. WSO2 Inc.: http://wso2.com/ lean.enterprise.middleware Mobile: +94718223950 ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- *Pubudu Dissanayake* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mobile: 0775503304 ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [jira] [Updated] (PHOTARK-77) Developing a Photark metadata model to manage photos.
Hi Suho I have few clarifications ,Is this idea (updated version) similar to the https://issues.apache.org/jira/browse/PHOTARK-76 according to the suggested proposal your feature will be included that means { E.g show all pictures taken within Jan/2010 to Dec/2010, show all pictures where Mr.Jone is present }. it can fetch data according to the time scale (please correct me if i'm wrong) Are we going to implement the same feature on the web application as well ? feature is much more convenient if we can implement it on the web server as well because it will produce more social interaction to the users :) On Mon, Apr 2, 2012 at 2:30 AM, Sriskandarajah Suhothayan (Updated) (JIRA) j...@apache.org wrote: [ https://issues.apache.org/jira/browse/PHOTARK-77?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel] Sriskandarajah Suhothayan updated PHOTARK-77: - Description: As Photark means Photo Archive, it needs a proper way to manage photos by structurally maintaining the meta information of the photos (in xml or Json). This can be achieved by storing various meta informations such as description of the photo (in different locals), info on when and where the photo was taken, people in the photo, tags, etc. This meta info should not only be collected per photos but also in per album basis where by containing information regarding albums With all these information we can identify various correlations among photos and that can be used to develop more attractive and useful applications. In this project the expectation of the student is to build a meta-data model, a proper UI to manually enter the informations that cannot be automatically gathered by the phone, and implement a gallery UI to show different pictures according to user selections. E.g show all pictures taken within Jan/2010 to Dec/2010, show all pictures where Mr.Jone is present. was: As Photark means Photo Archive, it needs a proper way to manage photos by structurally maintaining the meta information of the photos, such as when and where the photo was taken, people in the photo and the x,y coordination of there positions, tags, description (in different locals), etc. This meta info should not only be collected per photos but also for album collections, and correlations among photos. I believe by building a metadata model that capture all these information, we will be able to develop attractive applications. Labels: android gsoc2012 (was: gsoc2012) Developing a Photark metadata model to manage photos. -- Key: PHOTARK-77 URL: https://issues.apache.org/jira/browse/PHOTARK-77 Project: PhotArk Issue Type: New Feature Reporter: Sriskandarajah Suhothayan Labels: android, gsoc2012 As Photark means Photo Archive, it needs a proper way to manage photos by structurally maintaining the meta information of the photos (in xml or Json). This can be achieved by storing various meta informations such as description of the photo (in different locals), info on when and where the photo was taken, people in the photo, tags, etc. This meta info should not only be collected per photos but also in per album basis where by containing information regarding albums With all these information we can identify various correlations among photos and that can be used to develop more attractive and useful applications. In this project the expectation of the student is to build a meta-data model, a proper UI to manually enter the informations that cannot be automatically gathered by the phone, and implement a gallery UI to show different pictures according to user selections. E.g show all pictures taken within Jan/2010 to Dec/2010, show all pictures where Mr.Jone is present. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira -- Best Regards, Pubudu Dissanayake, LinkedIn - http://www.linkedin.com/in/pubududissanayake Photostream -http://www.flickr.com/photos/pubudufx/ Blog - http://pubudu08.blogspot.com/ Twitter - https://twitter.com/#!/GeekInAction ~~~Whatever past has gone ,Best is always yet to come~~~
Re: [jira] [Created] (PHOTARK-77) Developing a Photark metadata model to manage photos.
Hi Suho Seems like this an interesting idea.Building a meta data model for the existing photo library is a very important and more flexible as well. I have few questions regarding about your suggestions 1. As i understood you are referring to the EXIF information of the photo is that correct ?? 2. following data tags can be retrieve form a single image itself * Embed image information include Exif tags, Tiff tags and Gps tags. 3. x,y coordination of there positions what did u mean by that ?? (GPS Tags) ?? if u can collateralize more on this idea that would be really helpful :) On Sun, Mar 25, 2012 at 11:53 PM, Sriskandarajah Suhothayan (Created) (JIRA) j...@apache.org wrote: Developing a Photark metadata model to manage photos. -- Key: PHOTARK-77 URL: https://issues.apache.org/jira/browse/PHOTARK-77 Project: PhotArk Issue Type: New Feature Reporter: Sriskandarajah Suhothayan As Photark means Photo Archive, it needs a proper way to manage photos by structurally maintaining the meta information of the photos, such as when and where the photo was taken, people in the photo and the x,y coordination of there positions, tags, description (in different locals), etc. This meta info should not only be collected per photos but also for album collections, and correlations among photos. I believe by building a metadata model that capture all these information, we will be able to develop attractive applications. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira -- Best Regards, Pubudu Dissanayake, LinkedIn - http://www.linkedin.com/in/pubududissanayake Photostream -http://www.flickr.com/photos/pubudufx/ Twitter - https://twitter.com/#!/GeekInAction ~~~Whatever past has gone ,Best is always yet to come~~~
Re: GSOC 2012 project ideas
Hi Suho Its being a great pleasure to be a part of the Open Source project . As a 3rd year undergraduate student i have gain lot of experiences in java related technologies. I will take that as an advantage for development on Apache Photark Project and contribute my self as a GSoC 2012 student to take this project to the next level. Looks like an interesting idea to start with :). I'm very interested on development using PhoneGap if u can please collaborate more on the hybrid development that would be really appreciate and i'm looking forward to GSoC 2012 as well :) I also have an idea of designing the UI mock-ups for the hybrid application because still mobile development not yet in progress we should have to have a clear scope about the development.I'm looking forward to go with this idea as my GSoC project and hoping to contribute more in advance :) On Sun, Mar 25, 2012 at 11:26 PM, Suhothayan Sriskandarajah suhotha...@gmail.com wrote: I found one idea for Photark by Luciano on Hybrid HTML5 Mobile Application using Apache Cordova (a.k.a PhoneGap) I also have an idea of developing a metadata model for photos. As Photark means Photo Archive it needs a proper way to manage photos by structurally maintaining the meta information of the photos, such as when and where the photo was taken, people in the photo and the x,y coordination of there positions, tags, description (in different locals), etc. This meta info should not only be collected per photos but also for album collections and correlations among photos I believe by building a metadata model that capture all these information we will be able to develop attractive applications Regards, Suho On 10 January 2012 01:26, Luciano Resende luckbr1...@gmail.com wrote: Hopefully you guys had a nice holidays and are ready to get hacking on PhotArk again. It would be good if we could start discussing what are some projects we could start doing for GSoC 2012, as students are already doing their research and looking around. Please respond to this thread with projects ideas Thanks -- Luciano Resende http://people.apache.org/~lresende http://twitter.com/lresende1975 http://lresende.blogspot.com/ -- Best Regards, Pubudu Dissanayake, LinkedIn - http://www.linkedin.com/in/pubududissanayake Photostream -http://www.flickr.com/photos/pubudufx/ Twitter - https://twitter.com/#!/GeekInAction ~~~Whatever past has gone ,Best is always yet to come~~~
[no subject]
___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: GSoC 2012
Hi Luciano Its being a great pleasure to be a part of the Open Source project . As a 3rd year undergraduate student i have gain lot of experiences in java related technologies. I will take that as an advantage for development on Apache Photark Project and contribute my self as a GSoC 2012 student to take this project to the next level. I'm very interested on how you're all going to change the project path (+1 ) and very interested on development using PhoneGap ,any updates ? Last i checked mobile trunk was empty , any progress on REST branch ? I'm very enthusiastic and happy continue contribute to the project in advance. On Mon, Mar 5, 2012 at 11:14 AM, Luciano Resende luckbr1...@gmail.comwrote: It's that time again for us to build a list of project ideas and start attracting students for GSoC. If you have specific ideas, please go ahead and create a JIRA with the appropriate tag. -- Forwarded message -- From: Ulrich Stärk u...@apache.org Date: Sun, Mar 4, 2012 at 9:01 AM Subject: Google Summer of Code 2012 upcoming To: p...@apache.org Cc: d...@community.apache.org Hello PMCs, Google Summer of Code is the ideal opportunity for you to attract new contributors to your projects. If you want to participate with your project you NOW need to - understand what it means to be a mentor [1] - propose your project ideas. Just label your issues with gsoc2012 in JIRA and they will show up at [2]. See also [1]. - subscribe to code-awa...@apache.org (restricted to potential mentors, meant to be used as a private list - general discussions on the public d...@community.apache.org list as much as possible please) The ASF will apply as a participating organization with GSoC, your project doesn't need to do that. See [3] for more information. Note that the ASF isn't accepted yet, nevertheless you *really* should start recording your ideas now. Last year we had 38 students completing GSoC successfully, some of which are now active contributors to the projects they worked on. Let's make this a success again this year! On behalf of the GSoC 2012 admins, Uli [1] http://community.apache.org/guide-to-being-a-mentor.html [2] http://s.apache.org/gsoc2012tasks [3] http://community.apache.org/gsoc.html -- Luciano Resende http://people.apache.org/~lresende http://twitter.com/lresende1975 http://lresende.blogspot.com/ -- Luciano Resende http://people.apache.org/~lresende http://twitter.com/lresende1975 http://lresende.blogspot.com/ -- Best Regards, Pubudu Dissanayake, LinkedIn - http://www.linkedin.com/in/pubududissanayake