[Architecture] [AppFactory] Enabling event notifications in AppFactory jaggery application.

2013-05-06 Thread Manjula Rathnayake
Hi all,

In AppFactory, there are load of events generated that are interested for
different users(App Owners, Developers, QA and DevOps). Currently these
events are not visible to end users. POC is implemented to try out a
scenario as in diagram and provide a better run time view to end users.[image:
Inline image 1]

Here, users access the jaggery application in browser, then web socket is
opened from jaggery server to browser. When any activity is going on AF,
BPS, Jenkins,etc, events are published to different topics. We have a JMS
listener subscribed to these events and notifications are received by JMS
subscribers. JMS subscribers push incoming messages into web socket so that
browser get updated with these messages.

Above scenario is tested and working without ELB. We need to figure out a
way how we can handle this use case in a clustered mode with ELB.

Based on incoming message formats, we need to render the message in
browser. And we need to identify/define hierarchical topics and message
formats based on interested events.

Thoughts are welcome before we integrate this with AF.

thank you.

-- 
Manjula Rathnayaka
Software Engineer
WSO2, Inc.
Mobile:+94 77 743 1987
AF_event_wall.jpg___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


[Architecture] [Appfactory] Managing permissions in Appfactory at different levels

2013-09-11 Thread Manjula Rathnayake
Hi all,

Can someone explain how we are going to manage AF level permissions bound
by roles like Developer, QA, DevOps and application level permissions
required to build the application?

For example, as the application developer, I need to manage set of
roles(GeneralUser, AdvancedUser) to control the access to my application.

And are we using a single LDAP to manage development and production users,
applications?

thank you.

-- 
Manjula Rathnayaka
Software Engineer
WSO2, Inc.
Mobile:+94 77 743 1987
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [Appfactory] Managing permissions in Appfactory at different levels

2013-09-12 Thread Manjula Rathnayake
Hi Shiro and Asanka,

I understood how developer, QA, DevOps roles work within appfactory. What I
try to understand is, as a developer, I want to provide authorization for
my web application. For that, I want to utilize carbon permission model so
that I can define different roles such as basicUser, advancedUser. For
example, based on these roles, web application will show different themes,
functionalities and so on. And how these roles basicUser, advancedUser
differ from Developer, QA when it comes to management of roles.

thank you.


On Thu, Sep 12, 2013 at 3:48 AM, Shiroshica Kulatilake sh...@wso2.comwrote:

 Hi,

 And from the dashboard side of things we will be having roles such as CXO,
 Admin and AppFactoryUser(everyone else not in CXO or Admin). The idea is to
 show different default dashboards to users who have these roles and also
 gadgets which can be added to their dashboards if they so require.

 What would an advanced user do more than a general user ?

 Not sure how the roles will be used within build and governance stories -
 an update on that would be good.

 We seem to have different roles for different purposes - we might have to
 list the requirements down and get a full list - and remove overlaps and
 have a common naming convention - e.g. based on user activities, user's
 level of proficiency etc..

 Thank you,
 Shiro


 On Thu, Sep 12, 2013 at 11:10 AM, Asanka Dissanayake asan...@wso2.comwrote:

 Hi,
 Now we don't have Application level roles.We have tenant level roles (for
 the WSO2 Con). So once a user is added as a developer of the tenant .He
 belongs to every application inside the tenant. So basically it's like this.
 Users can be imported to tenant using bulk import and at the moment they
 are added, only default user role is assigned.
 Developer,QA,Dev ops becomes tenant level roles.Tenant admin can invite
 users (from the added users to the tenant) for these roles.
 And the same permissions as previous will be allowed at the tenant level.





 On Wed, Sep 11, 2013 at 9:59 PM, Manjula Rathnayake manju...@wso2.comwrote:

 Hi all,

 Can someone explain how we are going to manage AF level permissions
 bound by roles like Developer, QA, DevOps and application level permissions
 required to build the application?

 For example, as the application developer, I need to manage set of
 roles(GeneralUser, AdvancedUser) to control the access to my application.

 And are we using a single LDAP to manage development and production
 users, applications?

 thank you.

 --
 Manjula Rathnayaka
 Software Engineer
 WSO2, Inc.
 Mobile:+94 77 743 1987

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




 --

 *Asanka Dissanayake
 Software Engineer*
 *WSO2 Inc. - lean . enterprise . middleware |  wso2.com*
 *
 email: asan...@wso2.com ruch...@wso2.com,   blog:
 cyberwaadiya.blogspot.com, asankastechtalks.wordpress.com  mobile: +94
 71 8373821*




 --
 Shiroshica Kulatilake

 Architect,
 WSO2, Inc. http://wso2.com/
 Phone: +94 776523867




-- 
Manjula Rathnayaka
Software Engineer
WSO2, Inc.
Mobile:+94 77 743 1987
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [Appfactory][Resources] Improve resource creation and Application Life cycle Management

2013-12-10 Thread Manjula Rathnayake
Hi Ushani,

See the comments inline,


On Wed, Dec 11, 2013 at 9:21 AM, Ushani Balasooriya ush...@wso2.com wrote:

 Hi Ramith,

 Just need small clarifications for the questions below.

 1) Is it the same when it comes to governance/life cycle management? As in
 if we promote an app version from Development to Testing, does it mean that
 app version will not be deployed in the proceeding environment? E.g.,
 Testing

Lify cycle change is same as before. application get promoted to next
stage. But application does not get auto deployed in Testing until
QA(authorized person in QA stage) login and click on 'configure and deploy'
button.
Currently there is not configuring option allowed to QA person, resources
are copied from Development stage. QA person can edit the values of
resources as it was before. However, based on user experience, we might
give a wizard like user interface to configure all the dependecies used by
this application.(This is not M10 feature)

 2) If so, user will have to build and deploy the app version in the new
 stage before they test?

No. In test stage, no build is triggered.

 3) therefore the Repo and Build page should be available for Test users
 and Dev Ops as well?

No.

 4) So when a test user promote an the app version to Production, it does
 not mean that it will be deployed in Production untill Dev Ops really do it
 and it will be just a stage change, Am I correct?

Yes.


 Regards,


 On Tue, Dec 10, 2013 at 8:57 PM, Harsha Thirimanna hars...@wso2.comwrote:

 As I remember there was another one point in the discussion,
 When we promoting the artifact , we can do the deployment, resource and
 database creation at the same time if the logged user has permission to the
 both stages. I am not sure we are doing it right now.

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




 --
 *Ushani Balasooriya*
 Software Engineer - QA;
 WSO2 Inc; http://www.wso2.com/.
 Mobile; +94772636796


 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


thank you.

-- 
Manjula Rathnayaka
Software Engineer
WSO2, Inc.
Mobile:+94 77 743 1987
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [Appfactory][Resources] Improve resource creation and Application Life cycle Management

2013-12-19 Thread Manjula Rathnayake
Hi Samisa,

Sorry for late reply.

On Thu, Dec 19, 2013 at 10:46 AM, Samisa Abeysinghe sam...@wso2.com wrote:


 On Wed, Dec 11, 2013 at 9:25 PM, Samisa Abeysinghe sam...@wso2.comwrote:

 So, no staging right? If yes, then where do we roll back to in CI?

 Yes, No staging, but we have the support of adding, removing stages by
configuring it that way.
Regarding roll back, if the application is in Production, DevOps can roll
back to Testing. Here, application will be undeployed from Production.
However, in Testing stage, QA can demote the application without
undeploying the application to continue testing.
@Ramith, please share any missed information.

thank you.


 PING, I never got a response for my query.

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




-- 
Manjula Rathnayaka
Software Engineer
WSO2, Inc.
Mobile:+94 77 743 1987
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [Appfactory][Resources] Improve resource creation and Application Life cycle Management

2013-12-19 Thread Manjula Rathnayake
Hi all,

Do we need to support v1.build1, v1.build2 like artifacts when we have a
version concept already such as v1, v2 ? It seems to me that, having
v1.build1, v1,build2 introduces another version concept based on build
version on top of v1(source version).

thank you.


On Thu, Dec 19, 2013 at 3:33 PM, Samisa Abeysinghe sam...@wso2.com wrote:

 I thought, if we had staging, we have a solution. Because, when v1.build2
 goes into production, and fails, there is an already running v1.build1 to
 which we can transition smoothly. And v1.build1 is guaranteed to work, as
 that was the version which was in production prior to v1.build2.

 This is why I asked the original question, if there is no staging, how do
 we revert in case of failure in build2.


 Thanks,
 Samisa...


 Samisa Abeysinghe

 Vice President Training

 WSO2 Inc.
 http://wso2.com



 On Thu, Dec 19, 2013 at 2:54 PM, Ramith Jayasinghe ram...@wso2.comwrote:

 Hi Samisa,

  Having application version v1 in production doesn't effect having v2
 also in production. since artifacts of V1 and V2 are two different
 artifacts ( e.g. myapp-v1.war, myapp-v2.war) that will end up in relevant
 run time (e.g production app server). In that sense, demoting V2 also
 doesn't affect V1.

  How ever, I suspect what's explained above doesn't answer your question.
 If I understood right, your concern is about how to address the scenario
 where:

  user have a one build of the application version V1 ( lets call it
 V1.build1) working in Production. and for some reason it was demoted all
 the way back to 'Development'. Then,

Developer makes some changes (V1.build2) - promotes to Testing - QA
 promotes to Production - now  Production have V1.build2 -  V1.build2
 doesn't work in production.

 We don't have a solution for this right now. A way to solve this would be
 :
  1. AF needs to have the ability to store multiple artifacts/builds of
 the same version in a storage. (and add notes, dates ,against these
 artifacts to so users can keep track)
  2. Users ( /devops) should be able to deploy one of  these artifacts in
 a Production ( we could allow similar functionality of other stages too)
 through UI.

 Thoughts?


  regards,
 Ramith




 On Thu, Dec 19, 2013 at 2:05 PM, Samisa Abeysinghe sam...@wso2.comwrote:

 So if we deploy an app into production, v1, then it works, then we
 deploy v2 into production and it does not work, how do we revert back to
 v1?


 Thanks,
 Samisa...


 Samisa Abeysinghe

 Vice President Training

 WSO2 Inc.
 http://wso2.com



 On Thu, Dec 19, 2013 at 1:50 PM, Manjula Rathnayake 
 manju...@wso2.comwrote:

 Hi Samisa,

 Sorry for late reply.

 On Thu, Dec 19, 2013 at 10:46 AM, Samisa Abeysinghe sam...@wso2.comwrote:


 On Wed, Dec 11, 2013 at 9:25 PM, Samisa Abeysinghe sam...@wso2.comwrote:

 So, no staging right? If yes, then where do we roll back to in CI?

 Yes, No staging, but we have the support of adding, removing stages by
 configuring it that way.
 Regarding roll back, if the application is in Production, DevOps can
 roll back to Testing. Here, application will be undeployed from Production.
 However, in Testing stage, QA can demote the application without
 undeploying the application to continue testing.
 @Ramith, please share any missed information.

 thank you.


 PING, I never got a response for my query.

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




 --
 Manjula Rathnayaka
 Software Engineer
 WSO2, Inc.
 Mobile:+94 77 743 1987

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture



 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




 --
 Ramith Jayasinghe
 Technical Lead
 WSO2 Inc., http://wso2.com
 lean.enterprise.middleware

 E: ram...@wso2.com
 P: +94 776715671



 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




-- 
Manjula Rathnayaka
Software Engineer
WSO2, Inc.
Mobile:+94 77 743 1987
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Resilient application creation process

2014-01-05 Thread Manjula Rathnayake
Hi Janaka,


On Mon, Jan 6, 2014 at 10:33 AM, Janaka Ranabahu jan...@wso2.com wrote:

 Hi Manjula,


 On Mon, Jan 6, 2014 at 10:24 AM, Manjula Rathnayake manju...@wso2.comwrote:

 Hi all,

 Another option is to retry to create the application even after failed.
 There we create the application again and again until it get created. If it
 fails, users should be able to role back. In this process, for example, if
 application rxt adding process succeeds but creating git repo fails, we
 should be able to create git repo and continue without trying to add the
 rxt.

 If I understood you correctly, then what we need to do is to retry the
 failed process/action a number of times. But that can not guarantee whether
 the app creation would complete successfully. Say that the git repo
 creation(or any other task) failed due to a network error or some other
 serious issue. Then retrying will not solve the issue. IMO, what we need in
 the first place is the rollback functionality and as an improvement we can
 do the retry logic.

Yes, correct. But if retrying fails means, something is wrong in the setup.
We need to fix that before creating apps again. However, yes, roll back
helps to get the appId back, so you can create the application with same
appId even after it failed. However retrying will help in case of
intermittent issues.

thank you.


 WDYT?

 Thanks,
 Janaka


 thank you.


 On Mon, Jan 6, 2014 at 10:06 AM, Ashansa Perera asha...@wso2.com wrote:

 Hi all,

 To make the application creation process resilient we discussed to
 implement a rollback mechanism so that if any resource/infrastructure
 creation failed while creating the application we can rollback the app
 creation. With this we would be able to reuse the same application key and
 utilize the resources.
 Another suggestion was to ping the external servers before starting
 application creation process, but since pinging servers cannot guarantee 
 anything
 as server can fail in between, we will be going ahead with the rollback
 application creation.

 --
 Thanks  Regards,

 Ashansa Perera
 Software Engineer
 WSO2, Inc

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




 --
 Manjula Rathnayaka
 Software Engineer
 WSO2, Inc.
 Mobile:+94 77 743 1987

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




 --
 *Janaka Ranabahu*
 Senior Software Engineer; WSO2 Inc.; http://wso2.com


 * E-mail: jan...@wso2.com http://wso2.com**M: **+94 718370861
 %2B94%20718370861*

 Lean . Enterprise . Middleware

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




-- 
Manjula Rathnayaka
Software Engineer
WSO2, Inc.
Mobile:+94 77 743 1987
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [AppFactory] Create AppFactory applications from already existing application binaries

2014-01-06 Thread Manjula Rathnayake
Hi all,


On Mon, Jan 6, 2014 at 6:48 PM, Ashansa Perera asha...@wso2.com wrote:

 As I feel creating an application pointing to an existing code base is
 different than allowing to upload an artifact and create an application,
 since this will not include any source code management. So we should
 consider those as two different use cases.
 IMO we can relate the use case that Janaka has mentioned to our main flow
 of application creation where we can provide the option of
- creating an application pointing to an existing source code ( so AF
 can clone that and create application)
- creating an application with default template

 +1, this feature is about uploading a war file and no source code is
involved.

thank you.



 On Mon, Jan 6, 2014 at 5:45 PM, Harsha Thirimanna hars...@wso2.comwrote:

 Hi Janaka,

 +1 for that.

 There will some work to do this. Because

 1. we should process the pom file of that external repository and change
 artifactId, groupId to our one.
 2. we have to have credentials to access external repository.

  thanks



 *Harsha Thirimanna*

 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 * http://www.apache.org/*
 * email: **hars...@wso2.com* az...@wso2.com* cell: +94 71 5186770*
 * twitter: **http://twitter.com/ http://twitter.com/afkham_azeez*
 *harshathirimann linked-in: **http:
 http://lk.linkedin.com/in/afkhamazeez**//www.linkedin.com/pub/harsha-thirimanna/10/ab8/122
 http://www.linkedin.com/pub/harsha-thirimanna/10/ab8/122*

  *Lean . Enterprise . Middleware*



 On Mon, Jan 6, 2014 at 5:28 PM, Janaka Ranabahu jan...@wso2.com wrote:

 Hi Shamika,


 On Mon, Jan 6, 2014 at 4:43 PM, Shamika Ariyawansa sham...@wso2.comwrote:

 Hi All,

 New feature that is going to be introduced to AppFactory is creating a
 new application by uploading exiting binary file of an application. e.g WAR

 *User Scenario*

 1. User logs on to the system, goes to the application creation page.
 2. In there user provides basic information related to the application,
 such as name, key, description then he/she would be able to create the
 application by choosing one of the following options,

  a. Create the application from the scratch by selecting the repository
 type and application type which maps with existing functionality. *OR*
  b. Create the application by uploading the binary file and selecting
 the binary file type. By doing so the application will be created as
 non build-able application.

 Can we improve this so that a user can create an application pointing to
 a existing source code so that AF can clone that instead of the default
 template?

 Thanks,
  Janaka


 3. In Repos and Builds page user will be able to see the
 uploaded application and he/she will be able to do following operations
 from there,
   a. Delete the existing application.
   b. Upload new version of the same application. - Provides a way to
 upload new binary file.
   c. Test the application by deploying to Dev cloud.

 Note that for applications created like this, source repository paths,
 build options and not shown to the users.

 4. From Life Cycle Management page user will be able to Promote and
 Demote the application through different life cycles.

 *Solution*

 So far in AppFactory we maintain two logical types of application
 flows. Buildable and non-Buildable. Buildabale applications
 are mainly handled and deployed by the buildserver (Jenkins) whereas
 non-Buildable are maintained and deployed by the AppFactory itself.
 uploading existing application functionality will
 be implemented considering Non-Buildable application flow as follows.

 [image: Inline image 2]

 Further App Creation, Build and Repos and other UIs will
 be changed accordingly.


 Regards,
 --
 Shamika Ariyawansa
 Senior Software Engineer
 WSO2, Inc.; http://wso2.com

 LK -  +94 7639629 Ext 5999
 US - +1 408 754 7388 Ext 51732
 Mob:+ 94 772929486

 *twitter: 
 **https://twitter.com/Amila_Shamika*https://twitter.com/Amila_Shamika
 * linked-in: *http://www.linkedin.com/pub/dir/Shamika/Ariyawansa

 *Lean . Enterprise . Middleware*

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




 --
 *Janaka Ranabahu*
 Senior Software Engineer; WSO2 Inc.; http://wso2.com


 * E-mail: jan...@wso2.com http://wso2.com**M: **+94 718370861
 %2B94%20718370861*


 Lean . Enterprise . Middleware


 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture



 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




 --
 Thanks  Regards,

 Ashansa Perera
 Software Engineer
 WSO2, Inc

 ___
 Architecture mailing list
 Architecture@wso2.org
 

Re: [Architecture] [AppFactory] Create AppFactory applications from already existing application binaries

2014-01-06 Thread Manjula Rathnayake
Hi Janaka,


On Tue, Jan 7, 2014 at 11:33 AM, Janaka Ranabahu jan...@wso2.com wrote:

 Hi Manjula,


 On Tue, Jan 7, 2014 at 11:05 AM, Manjula Rathnayake manju...@wso2.comwrote:

 Hi Janaka,


 On Tue, Jan 7, 2014 at 10:41 AM, Janaka Ranabahu jan...@wso2.com wrote:

 Hi Manjula,

 While I completely agree that this feature is something different from
 what I've stated, I'm trying to understand the usability of this feature.
 From what I've gathered so far from this discussion is that, we do not
 allow code modifications, versions and build for these kinds of
 applications. So basically this feature is only there to deploy, test and
 govern a pre-built artifact. But then, we loose many powerful development
 features that are provided by AppFactory.

 With this feature, the source code management, versioning and
 build(which are three important features of AF) is happening out of
 AppFactory and they have to manage them separately. But instead, what we
 need to do is to promote AppFactory for developers so that developers would
 be attracted to it. IMO, having a feature to create applications from an
 existing repo is more important in that context.

 I understand your point, but uploading a war file(or any deployable
 artifact) is the feature we implement here. There might be situations where
 users do not need to share their source code into our source repository.
 They just need to maintain binary artifacts within appfactory. But the
 feature you mentioned is a valid feature we can provide and can be
 implemented separately.


 Understood.

 I have few more points to clarify.

 Now when a user creates such application project do we allow him to upload
 the same binary to the same version of that application. Say that the user
 found a bug in the uploaded application. What is the procedure of fixing
 the bug and testing it using AF. Does he need to create a new version to
 upload the new artifact or can he simply replace the existing artifact in
 current version?

If it is development stage, it can be replaced with new binary file. But if
it is in other stages, it has to follow application life cycle. They can
use issue tracker to report bugs and demote on testing stage or even in
production stage. As per the diagram, initial development stage artifacts
are stored in gitblit.


 How can this help to enforce the governance best practices of an
 application? Eg:- when an application version in promoted to the production
 environment, how do we guarantee that there will be no commits and builds
 on that version? Even though that we can stop deployment from AF side,
 there is no guarantee that the original source is in the same state.

Yes, If someone manage their source code outside of AF, we can not do
anything on that. But still they can use application life cycle flow, issue
tracking, user management, log viewers like features.


 Do we rename the binary to AppFactory default format when creating these
 types of applications? Otherwise default applications in AF will have one
 format(applicaiton_key-version) where this would have something else. Also
 If not, how does features like log download(which needs to find the
 application name to download logs) will work?

This is a limitation in appfactory. However we have decided to enforce this
as artifact name matters in many places of appfactory(security, logs,
deployment,etc). So we have to rename the binary.


 Do we allow developers to be invited into these types of applications? If
 so what are the functionality available to them? Is it only deployment and
 developer testing or do we allow a developer to upload a new binary/new
 version of the artifact?

Application upload is done by app owners but we can allow developers as
well in any case if appfactory users need to do so, as it is configurable.

This is a feature to bring current existing applications into AppFactory
and manage application life cycle. When they need to bring the source code,
AF can provide a link to add source. In that case, we can commit the
initial code and change the application type to default source code based
application types. As you mentioned, some part of governance story is
missing due to the fact that source code control is not done via AppFactory.

thank you.


 Thanks,
 Janaka


 thank you.


 WDYT?

 On Mon, Jan 6, 2014 at 7:24 PM, Manjula Rathnayake manju...@wso2.comwrote:

 Hi all,


 On Mon, Jan 6, 2014 at 6:48 PM, Ashansa Perera asha...@wso2.comwrote:

 As I feel creating an application pointing to an existing code base is
 different than allowing to upload an artifact and create an application,
 since this will not include any source code management. So we should
 consider those as two different use cases.
 IMO we can relate the use case that Janaka has mentioned to our main
 flow of application creation where we can provide the option of
- creating an application pointing to an existing source code ( so
 AF can clone that and create application)
- creating

Re: [Architecture] Fwd: How can we patch Jaggery Apps?

2014-02-17 Thread Manjula Rathnayake
Hi Nuwan and all,

If there is a patch which has a dependency to jar file(say a hostobject or
any other carbon bundle changed) which will be used in jaggery application,
In that case, we have a dependency between jaggery patch and usual
patch(patch). How does the dependency resolution works if we maintain
jaggery patches separately? Or Did I miss anything here?

thank you.


On Tue, Feb 18, 2014 at 11:17 AM, Chan duli...@wso2.com wrote:

 Guys it would be awesome if you can describe how the patch directory in
 the app works (I mean in detail). Then everyone will be clear about it.

 Cheers~


 On Tue, Feb 18, 2014 at 10:12 AM, Madhuka Udantha madh...@wso2.comwrote:




 On Mon, Feb 17, 2014 at 8:56 PM, Nuwan Bandara nu...@wso2.com wrote:

 Guys whats the verdict on this discussion ? Having a patch directory
 within the app seems to be a fine idea, which does not effect the platform
 patching or raise depsyc complications.

 patch directory was most fine solution that we came across on this
 thread and also same discussion had in few email threads[1] did not have
 any conclusion for $subject. I too think $subject is essential for all
 products that depend on jaggery apps
 I am +1 for patch directory

 Shall we come to a conclusion and implement this. IMO this is vital to
 all the products that has jaggery applications.


 [1] Webapp Patching Strategy @ strategy-gr...@wso2.com on 4/5/13

 Regards,
 /Nuwan


 On Thu, Jan 30, 2014 at 12:19 AM, Chan duli...@wso2.com wrote:



 On Thursday, January 30, 2014, Tanya Madurapperuma ta...@wso2.com
 wrote:




 On Wed, Jan 29, 2014 at 10:49 AM, Chan duli...@wso2.com wrote:



 On Wed, Jan 29, 2014 at 10:43 AM, Chan duli...@wso2.com wrote:




 On Wed, Jan 29, 2014 at 10:25 AM, Madhuka Udantha madh...@wso2.comwrote:




 On Wed, Jan 29, 2014 at 3:27 AM, Nuwan Bandara nu...@wso2.com wrote:



 On Tue, Jan 28, 2014 at 1:19 PM, Afkham Azeez az...@wso2.com wrote:




 On Tue, Jan 28, 2014 at 11:06 PM, Nuwan Bandara nu...@wso2.comwrote:

 Hi All


 On Tue, Jan 28, 2014 at 11:33 AM, Manuranga Perera m...@wso2.comwrote:

 The problem ultimately boils down to this common scenario:

 a) A customer has a Jaggery app in their environment.
 b) Some UI (images, css, headers, ect.) is customized
 c) Now they find a bug and ask for a patch


 +1, the issue here is all others replied here against patching a
 jaggery app is because you think of a jaggery app as a hello world web
 app. But you should look at the jaggery code in products like APIM / 
 AppFac
 / UES / ES / MDM. In all these products Jaggery app is the place that has
 the major business logic. In these products Carbon is just the hosting
 environment. These are full fledge applications that does all kinds of
 things, generate meta data, has its own configurations etc, and when we
 find a minor issue we cannot ask people to replace the entire app and
 reconfigure every thing from the beginning.

 Just try the application developers shoes for a moment here and get
 out of the midleware developer mindset; Imagine we have developed an
 application and thats our main product. Now how do you fix problems in 
 this
 product ? will you be shipping new versions of the product always when you
 find an issue ? If that is the case we will be shipping new versions of AS
 every day ;)

 Also when there is a requirement we should not think about how it can
 be squeezed into the existing model with minimum headache. We should find 
 a
 comfortable solution for the users not something comfortable to implement.


 The requirement is to fix bugs in apps. The requirement is not,
 support patching of webapps. The solution is to update the app
 through patch file if the app is uses a textual scripting language,
 or redeploy changed or a new version, if the app is in a compiled/binary/
 bytecode form.


 +1, that should work, but we nee

 AFAIU this solution is not feasible as we have to maintain a separate
 git repo for each customer.

 As far as I know - we do maintain code bases for customers. Plus
 maintaining git repos for customers is realistically not a hard thing to do
 cause everything is scriptable in git.

 It will become an issue when the number of customers grow. And also
 customers with lesser developer knowledge will face issues in resolving
 conflicts in merging etc.

 If customers customize our jaggery apps which they will definitely do -
 they will version control it anyway and most probably they will use git.



 Patches approach is nice but thinking from an Application Developer
 stand point version controlling is the best way to handle this type of
 patches. Food for thought I guess.

 [1] - https://devcenter.heroku.com/articles/git



 On Tue, Jan 28, 2014 at 1:37 PM, Afkham Azeez az...@wso2.com wrote:

 Cluster-wide patch distribution will be handle by the Operations
 Center.

 Azeez


 On Tue, Jan 28, 2014 at 12:40 PM, Ruchira Wageesha 
 ruch...@wso2.comwrote:




 --
 Tanya Madurapperuma



 --
 Chan (Dulitha 

[Architecture] [AppFactory] Changing the artefact Id in pom.xml breaks the AF functionality

2014-02-20 Thread Manjula Rathnayake
Hi all,

$Subject happens in current released packs. We are addressing this issue in
M12(next milestone).

Current pom.xml as below. We have to make sure that below highlighted
entries are not changed by developers even by mistakes.
 modelVersion4.0.0/modelVersion
  groupIdorg.wso2.af/groupId
 * artifactIdbar/artifactId*
*  version1.0.0/version*
*  packagingwar/packaging*
  namebar/name
  descriptionbar/description

*Why AF functionality breaks if someone changed the above highlighted
entries?*
We set the applicationId as the artifact Id. This is the unique identifier
for applications developed  using AF. Currently this applicationId is being
used in many places in AF code base. Examples, to provision application in
source repository, issue tracker and in build tool, to isolate application
from another application in the context of resource isolation, security.
And version is used to identify correct branch, issues related to given
branch and so on. In future, application resource versioning too come into
the picture.
If we change the packaging type, it causes failures at deployment time
where we identify application type using packaging type.

This cause us to prevent users modifying above entries.  How to achieve
this?
1. We inform the user that these entries are non-modifiable by adding a
comment in pom.xml. But this won't handle mistakes by the developers.
2. We can implement a git pre-commit hook to validate if above entries are
changed and abort committing.
3. For non-buildable application types such as jaggery, php we remove the
entire pom.xml when generating the initial code.(currently pom.xml is
present in jaggery apps).

Another related issue where current AF functionality breaks is when
developers change the current application context by introducing it in
web.xml. However this is not supported by web app deployer. So we do not
need to consider this scenario.

And since we support uploading war files to AF and create an application,
we do the validation to make sure that war file name is matched with
applicationId. If that is different, we get the confirmation from user to
change the war file name or applicationId without moving forward.

This might cause usability issues such as not being able to get a friendly
name for their applications in case of single tenant contains lot of
applications. However, we are planning to provide URL mapping functionality
so application can be accessed with an end user friendly link.

Please share your thought on this.

thank you.

-- 
Manjula Rathnayaka
Software Engineer
WSO2, Inc.
Mobile:+94 77 743 1987
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] SSO IDP Proxy Application + SDK

2014-03-10 Thread Manjula Rathnayake
Hi all,

How do we store client secret and access tokens in mobile application? Have
we encrypted the client secret?
In case of mobile device is lost, how do we remove the mobile application
subscription from OAuth server without affecting to other mobile devices
which uses same application? Do we generate the applicationId together with
a unique mobile Id?
Is the mobile IDP app code signed by a trusted cert? How does the trust
relationship works with mobile IDP and WSO2IS?

thank you.


On Mon, Mar 10, 2014 at 4:37 PM, Gayan Gunawardana ga...@wso2.com wrote:

 Hi Nira,

 Reason to do that way is normally client secret does not share with any
 other party


 On Mon, Mar 10, 2014 at 4:24 PM, Niranjan Karunanandham niran...@wso2.com
  wrote:

 Hi Gayan,

 Here the IDP proxy app is only used to get the authorization code from
 the WSO2 IS and pass it to the SDK. After which the SDK is communicates
 directly with the WSO2 IS to get the access token and manage the access
 token and refresh token.
 Just a small clarification why we can't use the IDP proxy app to do this,
 .i.e, let the IDP proxy app manage the access token and refresh token for
 each app. Therefore cutting off the connection between the SDK and the WSO2
 IS. Here if the access token expires then the SDK will call the IDP proxy
 app to get the token refreshed.




 On Mon, Mar 10, 2014 at 3:58 PM, Gayan Gunawardana ga...@wso2.comwrote:

 Image attached


 On Mon, Mar 10, 2014 at 3:51 PM, Gayan Gunawardana ga...@wso2.comwrote:

 Hi All,

 Problem: Implement SSO for enterprise mobile apps

 The idea is to provide SDK for mobile apps developers within the
 organization, then they can integrate SDK inside the application and
 implement SSO across required applications.

 Provide (SDK + Mobile IDP proxy app)


 To achieve above purpose we plan to utilize oauth 2.0 with *Authorization
 code* grant type.



 Briefly Explaining message flow :

 Initially new application has to be registered in WSO2 IS under Oauth
 management and obtain client_key, client_secret, Access Token Url and
 Authorize Url

 1. SDK initiate the process by sending client_key, redirect_url and
 scope to mobile IDP proxy app

 2. IDP proxy app obtain Authorization code

 3. SDK (in side mobile app) receive Authorization code

 4. SDK send second request directly to WSO2 IS with Authorization code,
 client secret and redirect_url

 5. SDK obtain access token

 6. Mobile app pass access token to resource server

 7. Resource server contact IPD and validate access token

 This is much similar to Facebook approach where facebook
 application act as mobile IDP proxy app and they provide SDK to develop
 apps. All your suggestions are welcome.
 --
 Gayan Gunawardana
  Software Engineer; WSO2 Inc.; http://wso2.com/
 Email: ga...@wso2.com
 Mobile: +94 (71) 8020933
 Blog: http://gayanj2ee.blogspot.com/




 --
 Gayan Gunawardana
 Software Engineer; WSO2 Inc.; http://wso2.com/
 Email: ga...@wso2.com
 Mobile: +94 (71) 8020933
 Blog: http://gayanj2ee.blogspot.com/

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




 --

 *Niranjan Karunanandham*
 Senior Software Engineer - WSO2 Inc.
 WSO2 Inc.: http://www.wso2.com
 M: +94 777 749 661 http:///

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




 --
 Gayan Gunawardana
 Software Engineer; WSO2 Inc.; http://wso2.com/
 Email: ga...@wso2.com
 Mobile: +94 (71) 8020933
 Blog: http://gayanj2ee.blogspot.com/

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




-- 
Manjula Rathnayaka
Software Engineer
WSO2, Inc.
Mobile:+94 77 743 1987
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] WSO2 Products Tenant Creation Process calls the Reset Password

2014-03-10 Thread Manjula Rathnayake
Hi Danushka,

I can not recall why this is done. But we might need to consider other
tenant manager implementations as well not only the LDAP based one. AFAIR,
we create the tenant admin with a dummy password and then later reset it
after hashing the password with hashing algorithm defined in user-mgt.xml.
If you have tested this functionality, then we can remove password reset.

thank you.


On Tue, Mar 11, 2014 at 10:22 AM, Danushka Fernando danush...@wso2.comwrote:

 Any ideas on this?

 Thanks  Regards
 Danushka Fernando
 Software Engineer
 WSO2 inc. http://wso2.com/
 Mobile : +94716332729


 On Wed, Mar 5, 2014 at 7:38 PM, Danushka Fernando danush...@wso2.comwrote:

 Hi all
 I found that our tenant creation process is calling reset password call
 inside tenant creation process.
 When we call tenant creation it goes through *persistTenant* call in
 *TenantPersistor* class. And it calls *persistTenantInUserStore*. In the
 end of this call it calls for *updateTenantAdminPassword*.

 By the time Tenant Manager is created the tenant admin and have added the
 password to the LDAP.

 So is there a particular reason that we should do this?

 I cant see any reason that we call the update/reset password at this
 moment. So IMO we should remove this if no such reason. WDYT?


 Thanks  Regards
 Danushka Fernando
 Software Engineer
 WSO2 inc. http://wso2.com/
 Mobile : +94716332729





-- 
Manjula Rathnayaka
Software Engineer
WSO2, Inc.
Mobile:+94 77 743 1987
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Connector:AmazonSQS

2014-06-04 Thread Manjula Rathnayake
Hi all,

AFAIR, message deletion is based on message visibility timeout value. You
get a message from queue and then if you failed to delete that message
before visibility timeout period, message is not deleted and it is
available for other consumers to retrieve.  So we have to expose message
visibility timeout related methods too.

thank  you.


On Wed, Jun 4, 2014 at 12:54 PM, Rasika Hettige rasi...@gmail.com wrote:

 Thanks Sewwandi, will include *getQueueUrl* method if it has a business
 importance.




 --
 View this message in context:
 http://wso2-oxygen-tank.10903.n7.nabble.com/Connector-AmazonSQS-tp97657p97826.html
 Sent from the WSO2 Architecture mailing list archive at Nabble.com.
 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




-- 
Manjula Rathnayaka
Software Engineer
WSO2, Inc.
Mobile:+94 77 743 1987
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Unwanted application deployment notifications in AppFactory

2014-07-01 Thread Manjula Rathnayake
Hi Anuruddha,

How do we handle a scenario where developer1 click on deploy of 1.0.0
version and at the same time, developer2 click on deploy of 2.0.0 version
of same application? AFAIU, both developer1 and developer2 will notice that
1.0.0 and 2.0.0 both deployment messages in App wall. IMO this is OK
because both users must get information about application they are
developing.

thank you.


On Tue, Jul 1, 2014 at 5:48 PM, Anuruddha Premalal anurud...@wso2.com
wrote:

 Hi All,

 Following is the problem-solution description regards to jira APPFAC-2252
 https://wso2.org/jira/browse/APPFAC-2252

 *Problem :*

 AppServer tenant get unloaded when there is no activity for 30mins. When a
 user deploy an app to this unloaded tenant, it will load and deploy all
 previously deployed apps; current implementation use catalina
 LifecycleListner and it captures these redeployment events and triggers the
 notifications.

 *Solution :*

 Send the artifact md5sum with the notification to the Appfactory.
 Appfactory will validate the md5 and push the wall message accordingly.


 Regards,
 --
 *Anuruddha Premalal*
 Software Eng. | WSO2 Inc.
 Mobile : +94710461070
 Web site : www.regilandvalley.com

 Advances of technology should not leave behind the developing world

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




-- 
Manjula Rathnayaka
Software Engineer
WSO2, Inc.
Mobile:+94 77 743 1987
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [App Factory] Improvements to application wall

2014-08-12 Thread Manjula Rathnayake
Hi all,

Personalized app-wall can be achieved by the way we publish activities to
social component. In current implementation, we publish activities to two
contexts called 'foo-user' and 'bar-app' which is rendered in wall as 'foo
user wall' and 'bar app wall'. We can introduce another context for
personalized activities called 'bar_app-foo_user' which can be rendered in
'bar app wall' only for 'foo-user'.
In short, we define contexts for each user for getting a personalized
app-wall.

thank you.


On Tue, Aug 12, 2014 at 2:49 PM, Dmitry Sotnikov dmi...@wso2.com wrote:

 Gayan,

 Indeed, looks like Udara and I are thinking along the same lines. :) This
 is more than just a build. E.g. when I am creating an application, there
 are a lot of things that happen (borrowing from your list):

1. application creation started
2. initial git repo creation
3. jenkins space creation
4. issue tracker space creation
5. app authorization in cloud environments
6. application creation completed

 If I am creating an app - I'd like to see them all - because this takes
 the mystery out of the process and makes me more comfortable with the
 platform.

 If my team-member is creating an app - these 6 events and their progress
 are just noise. All I need to do is: Jane created a new Java app
 HelloWorld (if my role allows me to even know that this new app exists).

 Again, obviously this all can be phase two.

 Dmitry


 On Tue, Aug 12, 2014 at 1:07 PM, Gayan Dhanushka gay...@wso2.com wrote:

 Hi Dmitry,

 Thanks for pointing things out. IMO that would be phase two Dmitry. As
 soon as I complete publishing all the relevant events I will look to
 accommodate the noise-reduction filter as well. WDYT of the suggestion made
 by Udara in the above reply? I think that is a valid comment as well.

 Hi Udara,

 The point that you are making is valid I think. With the suggestion made
 by Dmitry in the above reply I think this will come into the picture.

 Thanks
 GayanD


 On Tue, Aug 12, 2014 at 2:27 PM, Udara Rathnayake uda...@wso2.com
 wrote:

 Hi Gayan,

 See my comment in-line.

 On Tue, Aug 12, 2014 at 1:54 PM, Gayan Dhanushka gay...@wso2.com
 wrote:

 Hi all,

 We have identified that the events in the doc attached herewith are the
 events which are triggered within each page. While some of them are already
 published, some of them needs to be published to the social component in
 order to enhance the user experience and collaboration. While doing this we
 have encountered some issues and some resolutions are proposed to overcome
 those issues.

 *Problem*: There is no way to track whether a certain build or a
 deployment instance triggered by someone is completed.(No association
 between start and finish events for a certain instance). There is no way to
 represent an ongoing process. (e.g. application creation in progress, build
 is in progress etc.)

 Here we have to think about the user experience.
 IMO the user who triggered the build only interested to see the progress
 of that particular build, others may be interested to see the start and the
 end but not the progress.

 WDYT?


 The same problem would be applied to any scenario where it takes some
 time for a certain event to finish and app factory needs to capture both
 start and completion events related to a particular instance.

 *Solution* : Use a UUID to track events which takes time to complete

 Publishing both start and complete events with the same UUID as a event
 property would solve the problem. Then by looking at the event content we
 are able to find whether there is a completion event for a certain start
 event. This would be a global thing so the notification wall logic can be
 written in such a manner that we need to have a look at only the UUID. If
 we use different mechanisms for tracking start and completion events of
 different events the notification wall logic would be more complex when
 filtering out the events

 Your thoughts are welcome.

 [1] https://redmine.wso2.com/issues/3065

 Thanks
 GayanD

 --
 Gayan Dhanuska
 Software Engineer
 http://wso2.com/
 Lean Enterprise Middleware

 Mobile
 071 666 2327

 Office
 Tel   : 94 11 214 5345
 Fax  : 94 11 214 5300

 Twitter : https://twitter.com/gayanlggd

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




 --
 *Udara Rathnayake*
 Software Engineer
 WSO2 Inc. : http://wso2.com

 Mobile : +94 772207239
 Twitter : http://twitter.com/udarakr
 Blog: http://udarakr.blogspot.com


 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




 --
 Gayan Dhanuska
 Software Engineer
 http://wso2.com/
 Lean Enterprise Middleware

 Mobile
 071 666 2327

 Office
 Tel   : 94 11 214 5345
 Fax  : 94 11 214 5300

 Twitter : https://twitter.com/gayanlggd

 

Re: [Architecture] [AF] Datasources for PHP application type

2014-08-21 Thread Manjula Rathnayake
Hi Madhawa,

We can keep these variables(string $dsn , string $user , string $password)
in registry and use registry rest API to get values at runtime. So when you
promote the application to Test and Production environments, application
will pick the environment specific values. This will not break PHP
developer experience as well.

thank you.


On Thu, Aug 21, 2014 at 7:00 PM, Madhawa Bandara madh...@wso2.com wrote:

 Any thoughts please?


 On Tue, Aug 19, 2014 at 8:14 PM, Madhawa Bandara madh...@wso2.com wrote:

 Hi,

 Appfactory supports data sources to be defined and be used in the Java
 applications.

 In the process of enabling the PHP app type support in Appfactory, we
 need to allow users(i.e.developers) to create data sources in Appfactory
 and use them directly inside their PHP applications.

 PHP applications use the odbc_connect ( string $dsn , string $user ,
 string $password [, int $cursor_type ] ) to connect to a database.

 There are third party libraries that enable Java inside PHP scripts [1].
 An example for JNDI look-up in inside PHP is in [2].

 In order to allow data sources to be called directly from the PHP apps
 what are the preferable options available?

 You ideas are welcome.


 [1] -  http://php-java-bridge.sourceforge.net/pjb/
 [2] -
 http://php-java-bridge.sourceforge.net/pjb/examples/source.php?source=documentClient.php




 --
 Regards,

 *Madhawa Bandara*
 Software Engineer
 WSO2, Inc.
 lean.enterprise.middleware

 Mobile - *+94777487726 %2B94777487726*
 Blog* - *classdeffound.blogspot.com




 --
 Regards,

 *Madhawa Bandara*
 Software Engineer
 WSO2, Inc.
 lean.enterprise.middleware

 Mobile - *+94777487726 %2B94777487726*
 Blog* - *classdeffound.blogspot.com

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




-- 
Manjula Rathnayaka
Software Engineer
WSO2, Inc.
Mobile:+94 77 743 1987
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [AF] Datasources for PHP application type

2014-08-21 Thread Manjula Rathnayake
Hi Ajanthan,

On Fri, Aug 22, 2014 at 10:08 AM, Ajanthan Balachandran ajant...@wso2.com
wrote:




 On Fri, Aug 22, 2014 at 9:53 AM, Manjula Rathnayake manju...@wso2.com
 wrote:

 Hi all,

 On Fri, Aug 22, 2014 at 8:41 AM, Dimuthu Leelarathne dimut...@wso2.com
 wrote:

 Hi Madhawa,

 Does PHP have native datasource support? For example[1]. I am -1 on
 doing it through Java. We must look at how PHP community does it. First
 thing is to see how PHP community uses databases in apps.

 If they do have a native datasource concept we have to use it. If that
 is not available second option is using variables and calling registry via
 REST APIs.

 +1, And AFAIK, web developers keep these variables in a configuration
 file. This is because they have externalized all the variables which needs
 to be replaced when they need to deploy in a new environment. If we provide
 a mechanism to upload a complete configuration instead of property by
 property, it will make the developer life easier.

 Here there are some concerns,
 how the user going to manage credential for calling the REST api? Are we
 recommending to use config file inside source tree with encrypted password?
 Then there is a problem in sharing the private key between user and the
 server. Mutual ssl also has some limitation.If the user happen to know the
 admin username he can set it in the header and do operation as admin.

Good point. We have to go with OAuth based solution, This is REST API
security. We can expose these REST API via API Manager too.

thank you.


 thank you.


 thanks,
 dimuthu

 [1] http://book.cakephp.org/2.0/en/models/datasources.html


 On Thu, Aug 21, 2014 at 7:17 PM, Manjula Rathnayake manju...@wso2.com
 wrote:

 Hi Madhawa,

 We can keep these variables(string $dsn , string $user , string
 $password) in registry and use registry rest API to get values at runtime.
 So when you promote the application to Test and Production environments,
 application will pick the environment specific values. This will not break
 PHP developer experience as well.

 thank you.


 On Thu, Aug 21, 2014 at 7:00 PM, Madhawa Bandara madh...@wso2.com
 wrote:

 Any thoughts please?


 On Tue, Aug 19, 2014 at 8:14 PM, Madhawa Bandara madh...@wso2.com
 wrote:

 Hi,

 Appfactory supports data sources to be defined and be used in the
 Java applications.

 In the process of enabling the PHP app type support in Appfactory, we
 need to allow users(i.e.developers) to create data sources in Appfactory
 and use them directly inside their PHP applications.

 PHP applications use the odbc_connect ( string $dsn , string $user ,
 string $password [, int $cursor_type ] ) to connect to a database.

 There are third party libraries that enable Java inside PHP scripts
 [1].
 An example for JNDI look-up in inside PHP is in [2].

 In order to allow data sources to be called directly from the PHP
 apps what are the preferable options available?

 You ideas are welcome.


 [1] -  http://php-java-bridge.sourceforge.net/pjb/
 [2] -
 http://php-java-bridge.sourceforge.net/pjb/examples/source.php?source=documentClient.php




 --
 Regards,

 *Madhawa Bandara*
 Software Engineer
 WSO2, Inc.
 lean.enterprise.middleware

 Mobile - *+94777487726 %2B94777487726*
 Blog* - *classdeffound.blogspot.com




 --
 Regards,

 *Madhawa Bandara*
 Software Engineer
 WSO2, Inc.
 lean.enterprise.middleware

 Mobile - *+94777487726 %2B94777487726*
 Blog* - *classdeffound.blogspot.com

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




 --
 Manjula Rathnayaka
 Software Engineer
 WSO2, Inc.
 Mobile:+94 77 743 1987

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




 --
 Dimuthu Leelarathne
 Architect  Product Lead of App Factory

 WSO2, Inc. (http://wso2.com)
 email: dimut...@wso2.com
 Mobile : 0773661935

 Lean . Enterprise . Middleware

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




 --
 Manjula Rathnayaka
 Software Engineer
 WSO2, Inc.
 Mobile:+94 77 743 1987

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




 --
 ajanthan
 --
 Ajanthan Balachandiran
 Senior Software Engineer;
 Solutions Technologies Team ;WSO2, Inc.;  http://wso2.com/

 email: ajanthan http://goog_595075977@wso2.com; cell: +94775581497
 blog: http://bkayts.blogspot.com/


 Lean . Enterprise . Middleware

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




-- 
Manjula Rathnayaka
Software Engineer
WSO2, Inc.
Mobile:+94 77 743 1987

Re: [Architecture] [AF] WSO2 Cloud Authenticator

2014-09-16 Thread Manjula Rathnayake
Hi Danushka,

How does the secret is shared among nodes? is it by a configuration file
that is set in all nodes?

thank  you.

On Fri, Sep 12, 2014 at 2:13 PM, Danushka Fernando danush...@wso2.com
wrote:

 Hi All
 In AF we are using mutual ssl authentcator which will login a provided
 user to the system. But since with AWS ELB we cannot use this
 authentication we are decided to implement $subject.
 Here client will send a username and encrypted secret in header.
 Server will validate the secret and if it's valid then will log the user
 to the system.

 As the first step I have implemented the authenticator without
 encryption/decryption and changing the AF implementation to use this new
 authenticator.


 Thanks  Regards
 Danushka Fernando
 Software Engineer
 WSO2 inc. http://wso2.com/
 Mobile : +94716332729

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




-- 
Manjula Rathnayaka
Software Engineer
WSO2, Inc.
Mobile:+94 77 743 1987
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] BAM Log monitoring for Cloud

2014-09-24 Thread Manjula Rathnayake
Hi Gimantha,

If we can correlate log event based on timestamp range from all
services(AS,BPS,AF,etc) that is really useful when identifying issues.
However there are workarounds as well, like opening multiple tabs for each
service and search for same timestamp range.

Apart from that, I think Dmitry mentioned all other features that is really
useful. I find it is very useful to see the part of the log when an error
log is identified. This is because, sometimes we need to see what are other
INFO, DEBUG logs around particular error log.

Filtering support based on regex is a must feature. Because we need to
prioritize the issues based on their frequency in addition to severity and
fix those issues first.

thank you.

On Thu, Sep 25, 2014 at 2:08 AM, Dmitry Sotnikov dmi...@wso2.com wrote:

 Gimantha,

 The important pieces of functionality from my perspective (also, including
 Amila, Dimuthu, and Majula - they are using current non-BAM workaround so
 might have a lot of feedback as well) are:

 1. Like you mentioned, ability to set time/date period with custom values
 and presets like last hour/day/week/month/year.
 2. Ability to set grouping interval (minute, hour, day, week, month, year),
 3. Be able to tag sources of data for grouping (WSO2 Cloud has many logs
 from many servers, these servers jointly form solutions like App Cloud,
 API Cloud) - we need to be able to specify that so we can see not just
 joint picture but split by solutions,
 4. Filter by any field for drill-down: severity
 (error/warning/informational), solution (see #3), server, component,
 message, tenant, user,
 5. For the currently selected time period and filters, see grouping/count
 by any of the fields: e.g.:

 App Cloud: 55% (110),
 API Cloud: 45% (90).

 OR

 Error: 7% (14),
 Warning: 3% (6),
 Informational: 90% (180).

 Etc.

 6. Preserve last view - so I can quickly get to the view of my favorite
 filters (ideally have ability to also have multiple shortcuts),

 7. Views encoded as URL parameters, so I can just forward the URL to a
 team mate,

 8. Be able to see all messages that fall under current filters, and drill
 into any of these to see full error trace, get the actual log file, etc.

 I also like your suggestion on supporting search and regex - would help
 troubleshooting!

 Hope this helps!
 Dmitry





 On Wed, Sep 24, 2014 at 10:48 AM, Sanjiva Weerawarana sanj...@wso2.com
 wrote:

 Yes we should use the same library everywhere .. no need to be different
 just to be different :-).

 On Wed, Sep 24, 2014 at 5:36 PM, Gimantha Bandara giman...@wso2.com
 wrote:

 Hi Dakshika,

 There is no specific reason. It seems like both jqplot and Flot have the
 same customization capabilities.
 It will not be hard to change the graph libraries, if it is needed.

 Thanks,

 On Wed, Sep 24, 2014 at 3:28 PM, Dakshika Jayathilaka daksh...@wso2.com
  wrote:

 Is there any specific reason for using jqplot?

 AFAIK platform wide, we are using flotchart lib[1] due to advance
 customization capabilities.

 1. http://www.flotcharts.org/

 *Dakshika Jayathilaka*
 Software Engineer
 WSO2, Inc.
 lean.enterprise.middleware
 0771100911

 On Wed, Sep 24, 2014 at 2:48 PM, Gimantha Bandara giman...@wso2.com
 wrote:

 Hi All,


 Currently I am working on the Front end. These were developed keeping
 Kibana as the reference. Currently the UI supports the following tasks.

1. Setting the refresh rate ( Refresh the logging graph and the
log table / Log view )*
2. Setting the Time range ( custom time range or in the format of
''Last 5 min, Last 10 mins...etc) *
3. Searchbox for searching ( Queries will be regex or Lucene )
4. Filters (For searching)
5. Log graph ( hits per time)
6. Filters for log table/view
7. Log table view (in progress)
8. Micro panel which is similar to Kibana micro panel (in progress)

 The graph is created using jqplot[1] library. So the graph support all
 the features jqplot offers.
 Other UIs are based on JQuery/JQueryUI[2]
 The Micro Panel will be developed using Bootstrap[3].

 Note that the theme used for the UI can be changed and the log table
 is still in progress.
 Currently the UI is integrated with ElasticSearch to view real log
 data.

 Here are some screenshots of the current UIs.
 ​
  Update-24.09.2014
 https://docs.google.com/a/wso2.com/folderview?id=0B7luxEF9AEBxSHc3aEI3YUxYRVkusp=drive_web
 ​

 [1] http://www.jqplot.com/
 [2] https://jquery.org/projects/
 [3] http://getbootstrap.com/javascript/

 --
 Gimantha Bandara
 Software Engineer
 WSO2. Inc : http://wso2.com
 Mobile : +94714961919

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture





 --
 Gimantha Bandara
 Software Engineer
 WSO2. Inc : http://wso2.com
 Mobile : +94714961919

 ___
 Architecture mailing list
 Architecture@wso2.org
 

Re: [Architecture] How to forcefully remove an entry from app factory registry path cache?

2014-12-01 Thread Manjula Rathnayake
Hi Shazni,

I checked the code for removeCache method and found that cacheKey is
calculated as below.

*String connectionId = (dataBaseConfiguration.getUserName() != null?
dataBaseConfiguration.getUserName().split(@)[0]:dataBaseConfiguration.getUserName())
+ @ + dataBaseConfiguration.getDbUrl(); cacheKey =
RegistryUtils.buildRegistryCacheKey(connectionId, tenantId, path);*

But in registry.xml we have below element too,
*cacheIdroot@jdbc:mysql://mysql1.appfactory.private.wso2.com:3306/dbGovernanceCloud
http://mysql1.appfactory.private.wso2.com:3306/dbGovernanceCloud/cacheId*

Shouldn't we read the cacheId element first and calculate as above if
cacheId element is not defined?  Or did I misunderstand the configuration?

thank you.

On Wed, Nov 12, 2014 at 2:23 PM, Shazni Nazeer sha...@wso2.com wrote:

 Hi,

 Given that we know the registry path of the resource of which cache to be
 deleted and have an instance of the registry we can manually delete the
 cache with a method like removeCache in the below file. However, it's not a
 clean or correct way of manipulating the registry cache.


 https://github.com/wso2-dev/carbon-governance/blob/master/components/governance/org.wso2.carbon.governance.custom.lifecycles.checklist/src/main/java/org/wso2/carbon/governance/custom/lifecycles/checklist/util/LifecycleBeanPopulator.java

 Shazni Nazeer

 Senior Software Engineer

 Mob : +94 37331
 LinkedIn : http://lk.linkedin.com/in/shazninazeer
 Blog : http://shazninazeer.blogspot.com

 On Wed, Nov 12, 2014 at 1:48 PM, Dimuthu Leelarathne dimut...@wso2.com
 wrote:

 Hi Pulasthi,

 So when we are doing global invalidation, what is the method we are going
 to use to invalidate the cache within the JVM? :) Or are you going to do it
 by magic?

 thanks,
 dimuthu

 On Wed, Nov 12, 2014 at 1:36 PM, Pulasthi Supun pulas...@wso2.com
 wrote:

 Hi Dimuthu,



 On Tue, Nov 11, 2014 at 4:17 PM, Dimuthu Leelarathne dimut...@wso2.com
 wrote:

 Hi,



 On Tue, Nov 11, 2014 at 3:43 PM, Pulasthi Supun pulas...@wso2.com
 wrote:

 Hi Dimuthu,

 On Tue, Nov 11, 2014 at 2:05 PM, Dimuthu Leelarathne 
 dimut...@wso2.com wrote:

 Hi Pulasthi,

 Yes. We do not need  global invalidation (although it would solve the
 problem), but the request is to sink AF Registry cache with the DB. We 
 are
 in the same JVM, and we need a method/way to tell registry remove this
 particular path from Registry path cache.


 Such a method would need to be accessed through something like the
 remote registry right?. The Registry api does not provide such a method to
 remove entries from the Registry cache.


 It should not be remote. An OSGi level method would be fine. Is there a
 way to patch the registry that we use?


 I talked with Azeez regarding this. He also agrees that providing such a
 method to manipulate the cache is wrong. We need to think of some other
 solution for this. I am not sure if the global cache invalidation has
 completed or can be backported into 4.2.0.
 @Amal is the work on that complete ?

 Regards,
 Pulasthi


 thanks,
 dimuthu



 Regards,
 Pulasthi


 thanks,
 dimuthu


 On Tue, Nov 11, 2014 at 12:16 PM, Pulasthi Supun pulas...@wso2.com
 wrote:

 Hi All,


 From what i understand the AF and SM are in different domains that
 is why distributed caching will not be able to handle this scenario 
 right?.
 global cluster cache invalidation has been done with the use of a pub 
 sub
 mechanism ( discussed in archi under Global cluster cache invalidation
 code review Notes ) but this will only be available in the next release
 AFAIK.

 Regards,
 Pulasthi

 On Tue, Nov 11, 2014 at 10:00 AM, Amalka Subasinghe ama...@wso2.com
  wrote:


 Hi,

 The scenario is, we have mounted SM's registry to the App Factory
 registry to remove the remote call for read the resources. but still 
 the
 write calls happens via SM. see the image below.


 ​

 The problem is, once we do a write call to the SM's registry, App
 Factory registry cache won't get updated, so old information will be 
 shown
 in App Factory pages.
 Is there a way to remove an entry from the App Factory registry
 cache when we do a write call to the SM's registry? then when we do a 
 read
 call, it will load the cache again and show the updated information.

 Thanks
 Amalka


 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




 --
 --
 Pulasthi Supun
 Software Engineer; WSO2 Inc.; http://wso2.com,
 Email: pulas...@wso2.com
 Mobile: +94 (71) 9258281
 Blog : http://pulasthisupun.blogspot.com/
 Git hub profile: https://github.com/pulasthi




 --
 Dimuthu Leelarathne
 Architect  Product Lead of App Factory

 WSO2, Inc. (http://wso2.com)
 email: dimut...@wso2.com
 Mobile : 0773661935

 Lean . Enterprise . Middleware




 --
 --
 Pulasthi Supun
 Software Engineer; WSO2 Inc.; http://wso2.com,
 Email: pulas...@wso2.com
 Mobile: +94 (71) 9258281
 Blog : 

Re: [Architecture] How to forcefully remove an entry from app factory registry path cache?

2014-12-02 Thread Manjula Rathnayake
Hi Shazni and Pirinthapan,

thanks for the clarification.

On Tue, Dec 2, 2014 at 1:28 PM, Shazni Nazeer sha...@wso2.com wrote:

 Hi Manjula,

 Yes. The cacheId that you specify is not the the '*connectionId*' that we
 create in the method. When a resource is added to the cache we take the '
 *connectionId*' the way it is implemented to create the cache key.
 Therefore while retrieving the cache we should use the same way.

 Shazni Nazeer

 Senior Software Engineer

 Mob : +94 37331
 LinkedIn : http://lk.linkedin.com/in/shazninazeer
 Blog : http://shazninazeer.blogspot.com

 On Tue, Dec 2, 2014 at 12:20 PM, Pirinthapan Mahendran 
 pirintha...@wso2.com wrote:

 Hi Manjula,

 As my understanding cacheKey is a RegistryCacheKey object, which is
 different from the cacheId. So we don't need to read the cacheId.

 Thanks.



 Mahendran Pirinthapan
 Software Engineer | WSO2 Inc.
 Mobile +94772378732.

 On Tue, Dec 2, 2014 at 12:01 PM, Manjula Rathnayake manju...@wso2.com
 wrote:

 Hi Shazni,

 I checked the code for removeCache method and found that cacheKey is
 calculated as below.

 *String connectionId = (dataBaseConfiguration.getUserName() != null?
 dataBaseConfiguration.getUserName().split(@)[0]:dataBaseConfiguration.getUserName())
 + @ + dataBaseConfiguration.getDbUrl(); cacheKey =
 RegistryUtils.buildRegistryCacheKey(connectionId, tenantId, path);*

 But in registry.xml we have below element too,
 *cacheIdroot@jdbc:mysql://mysql1.appfactory.private.wso2.com:3306/dbGovernanceCloud
 http://mysql1.appfactory.private.wso2.com:3306/dbGovernanceCloud/cacheId*

 Shouldn't we read the cacheId element first and calculate as above if
 cacheId element is not defined?  Or did I misunderstand the configuration?

 thank you.

 On Wed, Nov 12, 2014 at 2:23 PM, Shazni Nazeer sha...@wso2.com wrote:

 Hi,

 Given that we know the registry path of the resource of which cache to
 be deleted and have an instance of the registry we can manually delete the
 cache with a method like removeCache in the below file. However, it's not a
 clean or correct way of manipulating the registry cache.


 https://github.com/wso2-dev/carbon-governance/blob/master/components/governance/org.wso2.carbon.governance.custom.lifecycles.checklist/src/main/java/org/wso2/carbon/governance/custom/lifecycles/checklist/util/LifecycleBeanPopulator.java

 Shazni Nazeer

 Senior Software Engineer

 Mob : +94 37331
 LinkedIn : http://lk.linkedin.com/in/shazninazeer
 Blog : http://shazninazeer.blogspot.com

 On Wed, Nov 12, 2014 at 1:48 PM, Dimuthu Leelarathne dimut...@wso2.com
  wrote:

 Hi Pulasthi,

 So when we are doing global invalidation, what is the method we are
 going to use to invalidate the cache within the JVM? :) Or are you going 
 to
 do it by magic?

 thanks,
 dimuthu

 On Wed, Nov 12, 2014 at 1:36 PM, Pulasthi Supun pulas...@wso2.com
 wrote:

 Hi Dimuthu,



 On Tue, Nov 11, 2014 at 4:17 PM, Dimuthu Leelarathne 
 dimut...@wso2.com wrote:

 Hi,



 On Tue, Nov 11, 2014 at 3:43 PM, Pulasthi Supun pulas...@wso2.com
 wrote:

 Hi Dimuthu,

 On Tue, Nov 11, 2014 at 2:05 PM, Dimuthu Leelarathne 
 dimut...@wso2.com wrote:

 Hi Pulasthi,

 Yes. We do not need  global invalidation (although it would solve
 the problem), but the request is to sink AF Registry cache with the 
 DB. We
 are in the same JVM, and we need a method/way to tell registry remove 
 this
 particular path from Registry path cache.


 Such a method would need to be accessed through something like the
 remote registry right?. The Registry api does not provide such a 
 method to
 remove entries from the Registry cache.


 It should not be remote. An OSGi level method would be fine. Is
 there a way to patch the registry that we use?


 I talked with Azeez regarding this. He also agrees that providing
 such a method to manipulate the cache is wrong. We need to think of some
 other solution for this. I am not sure if the global cache invalidation 
 has
 completed or can be backported into 4.2.0.
 @Amal is the work on that complete ?

 Regards,
 Pulasthi


 thanks,
 dimuthu



 Regards,
 Pulasthi


 thanks,
 dimuthu


 On Tue, Nov 11, 2014 at 12:16 PM, Pulasthi Supun 
 pulas...@wso2.com wrote:

 Hi All,


 From what i understand the AF and SM are in different domains
 that is why distributed caching will not be able to handle this 
 scenario
 right?. global cluster cache invalidation has been done with the use 
 of a
 pub sub mechanism ( discussed in archi under Global cluster cache
 invalidation code review Notes ) but this will only be available in 
 the
 next release AFAIK.

 Regards,
 Pulasthi

 On Tue, Nov 11, 2014 at 10:00 AM, Amalka Subasinghe 
 ama...@wso2.com wrote:


 Hi,

 The scenario is, we have mounted SM's registry to the App
 Factory registry to remove the remote call for read the resources. 
 but
 still the write calls happens via SM. see the image below.


 ​

 The problem is, once we do a write call to the SM's registry,
 App Factory registry cache won't get

Re: [Architecture] [AF] [MB] Make Appfactory tenant subscription to stratos environments fault tolerant

2014-12-17 Thread Manjula Rathnayake
Hi Mahesh,

+1 for the current design. I assume you have multiple instances of durable
subscribers for each subscription made to Stratos cartridges. For example,
if we have multiple tenant aware cartridges(App Server, UES Server, BPS
Server etc), the durable subscriber should be able to instantiate based on
subscription details for each cartridges in all the environments.

Further we can consider unsubscribing from cartridges etc. Based on the
message received by the topic subscribers, topic subscriber can decide the
action plan(subscribe to cartridge, unsubscribe,etc).

In case of failure, lets assume subscription to production app server
cartridges is failed. Are we going to stop further actions in that
particular tenant such as avoiding promoting to production? IMO, notifying
to the tenant administrator and system administrators would be sufficient
via notification mechanisms(wall,email).

thank you.


On Wed, Dec 17, 2014 at 3:16 PM, Mahesh Chinthaka mahe...@wso2.com wrote:

 Hi Harsha,
 I see your point.
 If you follow tenant creation bpel you may see initializeBuildManager and 
 initializeRepositoryManager
 happens one after the other in a row. If it got failed in any step the
 process won't continue.
 But in last step of bpel you can see that initializeCloudManager is called
 for all 3 environments at the same time.
 In order to consider tenant creation as successfull we need to have all
 3 subscriptions successful. I think thats why this fault tolerance
 mechanism is more important in this step than others.
 Anyway I will discuss more with the team and will update this thread.

 On Wed, Dec 17, 2014 at 2:45 PM, Harsha Thirimanna hars...@wso2.com
 wrote:

 Hi Mahesh,

 What about the other failure situation within BPEL, like
 initializeBuildManager and initializeRepositoryManager. Can we do that also
 consuming this topics ? Because that also mandatory for the tenant creation
 flow. WDYT ?

 thanks



 *Harsha Thirimanna*
 Senior Software Engineer; WSO2, Inc.; http://wso2.com
 * http://www.apache.org/*
 *email: **hars...@wso2.com* az...@wso2.com* cell: +94 71 5186770  ,
 +94 *
 *774617784twitter: **http://twitter.com/
 http://twitter.com/afkham_azeez*
 *harshathirimannlinked-in: **http:
 http://lk.linkedin.com/in/afkhamazeez**//www.linkedin.com/pub/harsha-thirimanna/10/ab8/122
 http://www.linkedin.com/pub/harsha-thirimanna/10/ab8/122*

 *Lean . Enterprise . Middleware*


 On Wed, Dec 17, 2014 at 1:31 PM, Mahesh Chinthaka mahe...@wso2.com
 wrote:

 Hi all,

 Im working on Making the tenants subscription to stratos environments
 fault tolerant [1]

 This has been discussed in mail thread with subject  - [Architecture]
 [AF] Tenant subscribing to stratos environments - making it fault tolerant

 *Issue*

 **

 There are some possible failure points in AF, hence in App Cloud. One
 such critical point is making the tenants subscribed to the dev, test and
 prod stratos environments. Due to any reason, if this step fails, then,
 thats the end of story for that tenant.


 Actually in appfactory tenant creation,

 When a tenant creation request is made, appfactory sends  REST calls to
 stratos environments (dev,prod,test) to create tenants. At the moment there
 is no way to overcome a situation where tenant creation fails in one or
 more stratos environments.

 *Proposal*

 *===*

 Here what I'm going to do is, integrate WSO2 Message Broker to take
 tenant creation requests to a durable topic and manipulate the process
 in a fault tolerant manner. The durable topic will keep messages around
 persistently for any suitable consumer to consume them.


 Appfactory will have a publisher who publishes messages in the topic
 inside MB when a tenant creation is requested.


 There will be a subscriber for each stratos environment who is
 listening to above topic(create_teanant). If subscription is
 successfull then subscriber will acknowledge to MB and MB will not send
 that particular request to same subscriber again. If subscription got
 failed subscriber will not ack. and MB will take care of sending that
 request until it becomes successful.


 At the moment we have 3 stratos environments therefore we will have 3
 subscribers listening to that particular topic(create_teanant) in MB. In a
 case of AF having more stratos environments in future, it is possible to
 add more subscribers. Durable topic subscribers[2] will be used here since
 it will persist the subscription on behalf of the client subscription when
 client is not online.


 This step is not synchronous therefore  above changes will not effect
 the tenant creation flow.


 *Architectural diagram *

 *=*

 Architectural diagram can be found in [3]



 ​


 [1] - https://wso2.org/jira/browse/APPFAC-2436

 [2] -
 https://docs.wso2.com/display/MB220/Creating+a+Durable+Topic+Subscription

 [3] -
 https://docs.google.com/a/wso2.com/drawings/d/15CmM3rCTwjUUu4V6lp2WX32nRzufraDXawALNYIoTek/edit

 --
 *Mahesh Chinthaka Vidanagama* | 

Re: [Architecture] [App Fac] Performance Improvements - Issues in enabling GReg resource Indexing in App Factory

2015-03-24 Thread Manjula Rathnayake
Hi all,

If we are to make use of indexing, we need to check the feasibility to
index existing data as well because size of data in cloud setup is huge.
However this is a one time task that we can find a solution such as copy
the indexed data into server after running indexes offline for dump of live
data.

It seems that we need to come up with a aggregated solution of indexed data
and non-indexed data(new additions) then removing duplicates etc. We can
not depend on retries because we can not assume the time taken to index etc.

thank you.


On Wed, Mar 25, 2015 at 9:57 AM, Punnadi Gunarathna punn...@wso2.com
wrote:

 Hi Dimuthu,

 So shall I go-ahead with indexing?

 On Tue, Mar 24, 2015 at 10:22 PM, Dimuthu Leelarathne dimut...@wso2.com
 wrote:

 Hi Chandana,

 Could we get fixes from Registry side for this?

 thanks,
 dimuthu


 On Tue, Mar 24, 2015 at 7:29 PM, Punnadi Gunarathna punn...@wso2.com
 wrote:

 Hi All,

 While fixing a cloud bug which is AF code tries to retrieve information
 of irrelevant apps when inside an app [1] , I found that passing a Map
 object rather than GenericArtifactFilter object to GenericArtifactManager
 would solve the problem [2].
 When I changed the GenericArtifactFilter object to a Map object [3], it
 threw some exceptions. With the help of Greg team it was found out that the
 App Factory resources weren't indexed which result those exceptions. So I
 indexed the resource [5].

 But after applying indexing I'm facing more problems as follows:

 1. When an application is created, the 'trunk' created via
 'appversion.rxt' will not be returned from getAppVersionRXTFromRegistry
 method in RxtManager.java until for few seconds (such as 10s), So it
 requires to implement retry attempts until it returns the version 'trunk'
 to proceed further in app creation process.
 2. When an app version is created, newly created verson will not be
 returned by the same method mentioned in 1, due to the same reason and it
 will require some code changes to fix the exceptions introduced later in
 execution path.

 Moreover this might be a significant issue in Cloud as well.

 Please advice whether to keep the old implementation or to godhead with
 indexing and sort the remaining issues.

 [1] https://wso2.org/jira/browse/APPFAC-3009
 [2][Dev] [Greg] What is the difference between overloaded
 findGenericArtifacts method in GenericArtifactManager - mail
 [3]
 https://github.com/punnadih/product-af/commit/dff7920619d25a134daef8f0134744908ae1e402
 [4][Dev][App Fac] Registry resources Indexing issue fixed - mail

 --
 Thanks and Regards,

 Punnadi Gunarathna
 Senior Software Engineer,
 WSO2, Inc.; http://wso2.com http://wso2
 Blog: http://hi-my-world.blogspot.com/
 Tel : 94 11 214 5345
 Fax :94 11 2145300



  http://lalajisureshika.blogspot.com/




 --
 Dimuthu Leelarathne
 Architect  Product Lead of App Factory

 WSO2, Inc. (http://wso2.com)
 email: dimut...@wso2.com
 Mobile : 0773661935

 Lean . Enterprise . Middleware




 --
 Thanks and Regards,

 Punnadi Gunarathna
 Senior Software Engineer,
 WSO2, Inc.; http://wso2.com http://wso2
 Blog: http://hi-my-world.blogspot.com/
 Tel : 94 11 214 5345
 Fax :94 11 2145300



  http://lalajisureshika.blogspot.com/

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




-- 
Manjula Rathnayaka
Software Engineer
WSO2, Inc.
Mobile:+94 77 743 1987
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [AppFactory] - Show a progress bar while uploading artifacts

2015-03-25 Thread Manjula Rathnayake
Hi Rajeevan,

+1 for option 4.
It is more visible and get the attention of the user to wait until upload
is completed. And user can not move into other controls too.

One drawback is, user can not upload the image at the same time.

thank you.


On Wed, Mar 25, 2015 at 1:01 PM, Aiyadurai Rajeevan rajeev...@wso2.com
wrote:

 Hi All,

 I Have been working on Jira [1] https://wso2.org/jira/browse/APPFAC-2497 
 [2] https://wso2.org/jira/browse/APPFAC-3064 where we need to show a
 progress bar in the up-loadable artifact flow while upload in progress.

 Have had few discussions with  Dhanuka  Dashika and have come up with
 below suggestions, screenshot attached in [3].

 1) Change the choose file functionality in the upload form to upload files
 to temp directory and move from temp to deploy location once user submits
 the form. Hence, Place the progress bar against the choose file button,
 Noted Option 1 as in the attachment [3].

 2) Keep the existing upload form functionality as it is and place the
 progress bar just above to the Upload Application button, Noted as Option 2.

 3) Place the progress bar on top of the button and disable the button once
 upload button clicked, Noted as Option 3

 4) As of now we use an overlay and a spinner while the upload in-progress.
 Replace spinner by progress bar from upload application work flow,
 Screenshot attached [4]

 Appreciate your views here please.

 [1]:https://wso2.org/jira/browse/APPFAC-2497
 [2]: https://wso2.org/jira/browse/APPFAC-3064
 [3]: ProgressBarOptions.png
 [4]: ProgressOnOverlay.png

 Thanks  Regards,
 S.A.Rajeevan
 Software Engineer WSO2 Inc
 E-Mail: rajeev...@wso2.com | Mobile : +94776411636

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




-- 
Manjula Rathnayaka
Software Engineer
WSO2, Inc.
Mobile:+94 77 743 1987
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [App Factory] Jira Integration for WSO2 App Factory

2015-04-02 Thread Manjula Rathnayake
Hi all,

This is regarding using a single JIRA instance for all apps in all tenants.
1. Using the role based access control, we can restrict users seeing other
tenant applications.
ex: foo tenant users are assigned to foo_role in jira.
@Dilhasha, Please have a look at jira role mapping to jira projects.

2. Regarding the login issue, we can use a predefined system user in jira
to create projects, assign users on behalf of other users.

thank you.


On Fri, Apr 3, 2015 at 12:50 AM, Fathima Dilhasha dilha...@wso2.com wrote:

 Hi,

 I have specified a flow chart and my suggestions regarding the scenarios
 in [1].
 https://docs.google.com/document/d/1qDRObBh4CLnO755TgyINWAey9c1X3W1BFI-hgkh9rlQ/edit?usp=sharing

 Please comment and point out any mistakes and suggest any other options we
 can consider.

 [1]
 https://docs.google.com/document/d/1qDRObBh4CLnO755TgyINWAey9c1X3W1BFI-hgkh9rlQ/edit?usp=sharing

 Thanks.
 Regards,
 Dilhasha

 *M.N.F. Dilhasha*
 Software Engineering Intern | *WSO2 Inc.*

 email   :
 *dilha...@wso2.com dilha...@wso2.com*mobile : +94 77 8449321

 On Wed, Apr 1, 2015 at 10:38 PM, Anuruddha Premalal anurud...@wso2.com
 wrote:

 Hi Punnadi,

 We cannot store credentials in a configuration file since this is a per
 application configuration.

 Regards,
 Anuruddha.

 On Wed, Apr 1, 2015 at 9:43 AM, Punnadi Gunarathna punn...@wso2.com
 wrote:

 Hi Fathima,

 Can't we store the credentials in a configuration file, which are
 required  to create the JIRA instance?
 If that is possible, We can make use of Secure Vault to secure the plain
 text password.
 WDYT?
 On Apr 1, 2015 8:04 PM, Fathima Dilhasha dilha...@wso2.com wrote:

 Hi,

 Okay, now I understand your first question. AFAIK, there is no way to
 customize authentication behavior, in a way that we can allow to have
 similar project names for different tenants. We can have groups of users
 and manage visibility of each project on a single JIRA instance, among
 users in that instance as specified in [1]
 https://confluence.atlassian.com/display/Cloud/Managing+project+visibility
 .

 What you are suggesting is to map a user in JIRA to a particular tenant
 in App Factory, is it?

 [1]
 https://confluence.atlassian.com/display/Cloud/Managing+project+visibility

 Thanks.
 Regards,
 Dilhasha

 *M.N.F. Dilhasha*
 Software Engineering Intern | *WSO2 Inc.*

 email   :
 *dilha...@wso2.com dilha...@wso2.com*mobile : +94 77 8449321

 On Wed, Apr 1, 2015 at 7:56 PM, danush...@wso2.com wrote:

  /s/pretty/pre

 Thanks  Regards
 Danushka Fernando
 Software Engineer
 WSO2 inc. http://wso2.com/
 Mobile : +94716332729

 *From:* Danushka Fernando danush...@wso2.com
 *Sent:* Wednesday, April 1, 2015 7:30 PM
 *To:* architecture architecture@wso2.org

 I understand that fact. What I was asking is can we customize the
 authentication behavior. Are there extension points. Any way if there are
 not you can have a pretty defined user for each tenant same as we do for
 jenkins.

 Thanks  Regards
 Danushka Fernando
 Software Engineer
 WSO2 inc. http://wso2.com/
 Mobile : +94716332729


 On Apr 1, 2015 7:14 PM, Fathima Dilhasha dilha...@wso2.com wrote:

 Hi danushka,

 The issue is with how the SOAP API for JIRA works. It requires admin
 username and password to establish a SOAP session, to create a project 
 via
 the SOAP API.
 If we are to create a project on a user specified JIRA instance, the
 username and password  (For that particular JIRA instance) are required.

 Thanks.
 Regards,
 Dilhasha


 *M.N.F. Dilhasha*
 Software Engineering Intern | *WSO2 Inc.*

 email   :
 *dilha...@wso2.com dilha...@wso2.com*mobile : +94 77 8449321

 On Wed, Apr 1, 2015 at 6:07 PM, Danushka Fernando danush...@wso2.com
  wrote:

 Hi
 Are there extension points in jira where we can extend
 authentication mechanism. BTW password is something we don't have. We 
 have
 only username.

 Thanks  Regards
 Danushka Fernando
 Software Engineer
 WSO2 inc. http://wso2.com/
 Mobile : +94716332729


 On Apr 1, 2015 4:25 PM, Fathima Dilhasha dilha...@wso2.com
 wrote:

 Hi,

 I need few other clarifications as well.

 So far,
 I have been successful in creating a JIRA project via SOAP only.
 This SOAP client requires username and password for the Jira instance.
 So, if we want to allow users to create projects in their JIRA
 instance, we will have to request for username and password for JIRA
 instance.

 Is that okay?
 We will not store any username or password, but we'll need it to
 create a SOAP session.

 WDYT?

 Thanks.
 Regards,
 Dilhasha

 *M.N.F. Dilhasha*
 Software Engineering Intern | *WSO2 Inc.*

 email   :
 *dilha...@wso2.com dilha...@wso2.com*mobile : +94 77 8449321

 On Wed, Apr 1, 2015 at 2:34 PM, Fathima Dilhasha dilha...@wso2.com
  wrote:

 The prices for cloud and server instances of JIRA are the same as
 mentioned in [1]
 https://www.atlassian.com/software/jira/pricing/?tab=cloud.

 [1]https://www.atlassian.com/software/jira/pricing/?tab=cloud

 Thanks.

 *M.N.F. Dilhasha*
 

Re: [Architecture] [App Factory] Jira Integration for WSO2 App Factory

2015-04-05 Thread Manjula Rathnayake
Hi Fathima,

Regarding project names, I can see below options based on your document.
1. If the project name is already taken, let user to come up with another
project name.
2. Treat applications as jira project components.
3. Append the tenant domain to the project name.

If we need to multi tenant the jira, as mentioned in option 3 in document,
we can start up new jira cartridge per tenant.
If jira instance is provided, and it needs to store multiple tenant
projects, we need to choose from above options.

thank you.


On Fri, Apr 3, 2015 at 10:27 AM, Fathima Dilhasha dilha...@wso2.com wrote:

 Hi Manjula,

 Thanks for the feedback.

 Regarding 1. I agree with you that we can use role based mapping to
 restrict accessibility to each project.
 But we will be using the admin user to create apps in the JIRA instance.
 Given that, I can't still find a way to solve the problem of having similar
 named projects for two or more tenants.

 Regarding 2. Are u referring to scenario 3 in the diagram? That is for
 creating a project in an App Factory defined instance ? If so +1, an admin
 user can be maintained to do that.

 Thanks.
 Regards,
 Dilhasha

 *M.N.F. Dilhasha*
 Software Engineering Intern | *WSO2 Inc.*

 email   :
 *dilha...@wso2.com dilha...@wso2.com*mobile : +94 77 8449321

 On Fri, Apr 3, 2015 at 9:44 AM, Manjula Rathnayake manju...@wso2.com
 wrote:

 Hi all,

 This is regarding using a single JIRA instance for all apps in all
 tenants.
 1. Using the role based access control, we can restrict users seeing
 other tenant applications.
 ex: foo tenant users are assigned to foo_role in jira.
 @Dilhasha, Please have a look at jira role mapping to jira projects.

 2. Regarding the login issue, we can use a predefined system user in jira
 to create projects, assign users on behalf of other users.

 thank you.


 On Fri, Apr 3, 2015 at 12:50 AM, Fathima Dilhasha dilha...@wso2.com
 wrote:

 Hi,

 I have specified a flow chart and my suggestions regarding the scenarios
 in [1].
 https://docs.google.com/document/d/1qDRObBh4CLnO755TgyINWAey9c1X3W1BFI-hgkh9rlQ/edit?usp=sharing

 Please comment and point out any mistakes and suggest any other options
 we can consider.

 [1]
 https://docs.google.com/document/d/1qDRObBh4CLnO755TgyINWAey9c1X3W1BFI-hgkh9rlQ/edit?usp=sharing

 Thanks.
 Regards,
 Dilhasha

 *M.N.F. Dilhasha*
 Software Engineering Intern | *WSO2 Inc.*

 email   :
 *dilha...@wso2.com dilha...@wso2.com*mobile : +94 77 8449321

 On Wed, Apr 1, 2015 at 10:38 PM, Anuruddha Premalal anurud...@wso2.com
 wrote:

 Hi Punnadi,

 We cannot store credentials in a configuration file since this is a per
 application configuration.

 Regards,
 Anuruddha.

 On Wed, Apr 1, 2015 at 9:43 AM, Punnadi Gunarathna punn...@wso2.com
 wrote:

 Hi Fathima,

 Can't we store the credentials in a configuration file, which are
 required  to create the JIRA instance?
 If that is possible, We can make use of Secure Vault to secure the
 plain text password.
 WDYT?
 On Apr 1, 2015 8:04 PM, Fathima Dilhasha dilha...@wso2.com wrote:

 Hi,

 Okay, now I understand your first question. AFAIK, there is no way to
 customize authentication behavior, in a way that we can allow to have
 similar project names for different tenants. We can have groups of users
 and manage visibility of each project on a single JIRA instance, among
 users in that instance as specified in [1]
 https://confluence.atlassian.com/display/Cloud/Managing+project+visibility
 .

 What you are suggesting is to map a user in JIRA to a particular
 tenant in App Factory, is it?

 [1]
 https://confluence.atlassian.com/display/Cloud/Managing+project+visibility

 Thanks.
 Regards,
 Dilhasha

 *M.N.F. Dilhasha*
 Software Engineering Intern | *WSO2 Inc.*

 email   :
 *dilha...@wso2.com dilha...@wso2.com*mobile : +94 77 8449321

 On Wed, Apr 1, 2015 at 7:56 PM, danush...@wso2.com wrote:

  /s/pretty/pre

 Thanks  Regards
 Danushka Fernando
 Software Engineer
 WSO2 inc. http://wso2.com/
 Mobile : +94716332729

 *From:* Danushka Fernando danush...@wso2.com
 *Sent:* Wednesday, April 1, 2015 7:30 PM
 *To:* architecture architecture@wso2.org

 I understand that fact. What I was asking is can we customize the
 authentication behavior. Are there extension points. Any way if there 
 are
 not you can have a pretty defined user for each tenant same as we do for
 jenkins.

 Thanks  Regards
 Danushka Fernando
 Software Engineer
 WSO2 inc. http://wso2.com/
 Mobile : +94716332729


 On Apr 1, 2015 7:14 PM, Fathima Dilhasha dilha...@wso2.com
 wrote:

 Hi danushka,

 The issue is with how the SOAP API for JIRA works. It requires
 admin username and password to establish a SOAP session, to create a
 project via the SOAP API.
 If we are to create a project on a user specified JIRA instance,
 the username and password  (For that particular JIRA instance) are 
 required.

 Thanks.
 Regards,
 Dilhasha


 *M.N.F. Dilhasha*
 Software Engineering Intern | *WSO2 Inc.*

 email   :
 *dilha...@wso2.com dilha

Re: [Architecture] Configurable Lifecycle Stages for AppFactory

2015-06-21 Thread Manjula Rathnayake
Hi Bimali,

Regarding the attached flow,
Instead of adding more stages while creating the application, can we enable
a page to define life cycle configurations. Then at the time of application
creation, user can select one of those life cycle configurations. The
advantage over what you have suggested is that we can reuse life cycle
configurations for multiple apps and we can govern who can define life
cycle configurations.

thank you.


On Fri, Jun 19, 2015 at 8:29 PM, Bimali Dayananda bim...@wso2.com wrote:

 Hi,

 Currently in the AppFactory there are three stages called Development,
 Testing and Production for a life cycle.

 Problem:
 The users who create applications can use only the predefined stages.

 Solution:
 Let the user to decide life cycle stages in  each application or else they
 can use the default life cycle.

 Below attachments are the rough sketches of flow diagram and the interface
 design I have planned for the task.

 Your comments and suggestions are highly valued.

 Thank you.

 --
 Bimali Dayananda
 Intern-Software Engineering
 Mobile : +94(77) 571 6618
 bim...@wso2.com

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




-- 
Manjula Rathnayaka
Software Engineer
WSO2, Inc.
Mobile:+94 77 743 1987
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [AF] ESB Apptype Resources section

2015-08-03 Thread Manjula Rathnayake
Hi all,

The registry resources may contain sensitive data that we do not need to
expose to anyone who is having a download link or access to source code.
Can we further list down set of resources we are concerned here? IMO, we
need to securely transfer the car file from jenkins and provide a temporary
download link only for the authenticated users. In this case, we will not
show a download button directly in resources page, rather upon requesting
for a download, we will generate the car file and show the download link.
WDYT?

thank you.

On Mon, Aug 3, 2015 at 6:40 PM, Danushka Fernando danush...@wso2.com
wrote:

 Hi All

 Currently in AF we have four kind of resources/runtime configs.

1.

Databases
2.

Data Sources
3.

APIs
4.

Registry Resources


 But for ESB Apptype only Registry Resources will be valid. So in the UI we
 need to show only registry resources for the application. This is planned
 to handle by adding some configurations to the AppType configuration.
 AppType configuration will contain a new configuration as
 Supported_Resources_Types which could contain values such as datasources,
 databases, apis and registry_resources in comma separated way. In UI it
 will show only supported resources types and users can manage those types
 of resources via AppFactory for the particular AppType. In this case it
 will only be registry_resources.

 First problem to solve is what to show in this page for view purposes.
 Since no edit part is there and only will be a place to upload the new CAR
 file for the stage it will only be matter of showing the resources of the
 ESB application. There are few things that we can show here.


1.

We can show the CAR file for the stage and add a download link. But
the problem is from where to get this built artifact from to let the user
download the artifact. Options we have are like below.
1.

   Download from Jenkins -  We need to construct an url for jenkins
   built artifact. But again this url contains  groupIds of the artifact 
 which
   is difficult to construct.
   2.

   Download from S2 Git - We can get this artifact from s2 git
   location to a temp location in AF and let the user download it. Here 
 again
   we need to clone whole repo for the simple download.
   3.

   Build it from source code on the fly - Will take processing power
   and will be slow also.
   4.

   Store the CAR in some apache server so later we can provide the
   users the link to download
   2.

We can read the artifacts.xml from the source code and show it in the
UI just for view purposes.
3.

Show registry resources from the registry itself.
4.

Provide the git repo url and show the CAR file name. No download
option provided.


 Next problem is to match these things with the existing UI. For ESB
 apptype we need to give upload option instead of edit option. To solve this
 we can do following


1.

We can do a complex configuration in apptype to say which apptype
allows uploading car files and not and which apptype allows just the car
file uploading and which allows adding from ui and which allows both and so
on.
2.

We can introduce a new runtime config type as CAR Resources and we can
have upload option there which will be cleaner IMO.


 But still the we need to solve first problem in a clean way to provide a
 complete solution. IMO #5 is OK and simple. But having a download option is
 always nicer and better. Any Ideas would be appreciated.


 [1] [Architecture] [AF] Adding CAR application type to App Factory

 Thanks  Regards
 Danushka Fernando
 Senior Software Engineer
 WSO2 inc. http://wso2.com/
 Mobile : +94716332729

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




-- 
Manjula Rathnayaka
Associate Technical Lead
WSO2, Inc.
Mobile:+94 77 743 1987
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] App Factory Tier Implementation

2015-12-15 Thread Manjula Rathnayake
Hi Dakshika,

On Mon, Dec 14, 2015 at 11:52 AM, Dakshika Jayathilaka 
wrote:

> Hi,
>
> I have few questions on above user stories,
>
> 1. How* "setup Eng"* define base currency for this? (USD, LKR)
>
 Billing should be handled by a different application and we need to remove
cost per hour field from above tables.

> 2. Do we have any plan on specifying regions?
>
+1.

> 3. Are we planning to provide any REST APIs for this? (AFAIK we are not
> planning to have any payment modules in AF side. so probably we need to
> have API for integrate with another app (ex: cloud Mgt App)  )
>
Yes, REST API will be provided for billing and subscription plan
applications.

+1 for adding description, display name fields too.

thank you.

>
> Thank you,.
>
> Regards,
>
> *Dakshika Jayathilaka*
> PMC Member & Committer of Apache Stratos
> Senior Software Engineer
> WSO2, Inc.
> lean.enterprise.middleware
> 0771100911
>
> On Mon, Dec 14, 2015 at 9:37 AM, Nadeeshani Pathirennehelage <
> nadeesha...@wso2.com> wrote:
>
>> Hi All,
>> We are hoping to implement the tier implementation for the AppFactory.
>> Tier is the subscription plan which is selected by the organization admin
>> for the organization.
>>
>>1.
>>
>>AF Set Up Engineer should be able to define Tiers (free/paid v1/ paid
>>v2).
>>2.
>>
>>AF Set Up Engineer should be able to define Container Specs.
>>(t2.small/ t2.medium/ m2.small )
>>3. System should display each Subscription Plans ( Free / Paid v1 /
>>paid v2) to the Organization Admin(Tenant) to choose a suitable plan for
>>the organization.
>>4.
>>
>>Organization Admin(Tenant) should be able to upgrade the subscription
>>plan for the organization.
>>5. System should display the each Container Specs Type(
>>Small/medium/large) with its features such as CPU, memory, storage to all
>>tenants.
>>6.
>>
>>Organization Admin(Tenant) should be able to choose new Container
>>Specs ( small , large , medium ) to the existing subscription plan.
>>Organization members should use those Container Spec.
>>7.
>>
>>Organization Admin(Tenant) should be able to remove Container Specs (
>>small , large , medium ) from the existing subscription plan.
>>8. System should be able to view the details such as Plan Type, list
>>of Container Specs which is running and information of each Container 
>> Spec,
>>of a given Organization.
>>
>>
>> Table structure is given below.
>>
>>
>> ​
>>
>> *These tables are filled with just reference values.*
>> The above plan table can be expanded with more columns.
>>
>> ​The above table structure will be useful for the administration to
>> develop applications for configuring the tiers. Moreover it will be useful
>> to render the subscription plan to the end users through UI.
>>
>> Would appreciate it if you could give your suggestions and comments on
>> this.
>> Thanks,
>> Nadeeshani
>>
>> --
>> Pathirennehelage Nadeeshani
>> Software Engineering Intern : WSO2 Inc
>> Mobile : +94 (0) 716 545223
>> nadeesha...@wso2.com
>>
>> ___
>> Architecture mailing list
>> Architecture@wso2.org
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>


-- 
Manjula Rathnayaka
Associate Technical Lead
WSO2, Inc.
Mobile:+94 77 743 1987
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [Dev] Provide Support to run Jaggery apps in Tomcat Server

2016-07-04 Thread Manjula Rathnayake
Hi Nisala and Kasun,

Great. This will help us to include AS6 as a jaggery runtime in AppCloud.

thank you.

On Mon, Jul 4, 2016 at 3:04 PM, KasunG Gajasinghe <kas...@wso2.com> wrote:

>
>
> On Mon, Jul 4, 2016 at 1:48 PM, Nisala Nanayakkara <nis...@wso2.com>
> wrote:
>
>> Hi Manjula,
>>
>> Yes.Jaggery support will be inbuilt into the server with the release of
>> AS-6.0.0 next milestone. This email and documentation is provided to inform
>> the procedure of running jaggery apps in a pure tomcat server, not in the
>> AS-6.0.0. I will update the finalized documentation and configuration
>> details for AS-6.0.0 in a separate mail thread, once we finished the
>> fine-tuning process.
>>
>> Thanks,
>> Nisala
>>
>> On Mon, Jul 4, 2016 at 1:39 PM, Manjula Rathnayake <manju...@wso2.com>
>> wrote:
>>
>>> Hi all,
>>>
>>> IIUC, when we release the next AS-6.0.0 milestone, jaggery support is
>>> inbuilt into the server. And users do not need to follow above instructions
>>> to copy jars etc. Please correct If it is not.
>>>
>>
> Yes, that's the case. So, we need separate documentation on how to deploy
> Jaggery apps in AS6 as well.
>
>
>>
>>> thank you.
>>>
>>> On Mon, Jul 4, 2016 at 12:42 PM, Sinthuja Ragendran <sinth...@wso2.com>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> Anyhow ultimately when all the carbon products move to AS 6.0 based
>>>> platform, we can merge all those into one.
>>>>
>>>> Thanks,
>>>> Sinthuja.
>>>>
>>>> On Mon, Jul 4, 2016 at 12:38 PM, Nisala Nanayakkara <nis...@wso2.com>
>>>> wrote:
>>>>
>>>>> Hi Kasun,
>>>>>
>>>>> Yes.We can do a performance round. Currently we manage the Tomcat
>>>>> Jaggery/ AS6 support code base under a new branch [1] in our jaggery
>>>>> repository. Current jaggery is based on tomcat version 7 and Tomcat 
>>>>> Jaggery
>>>>> implementation is based on tomcat version 8. So there are some api changes
>>>>> in the jaggery level. So it is difficult to manage these codebases in same
>>>>> place.
>>>>>
>>>>> Thanks,
>>>>> Nisala
>>>>>
>>>>> On Sun, Jul 3, 2016 at 9:01 AM, KasunG Gajasinghe <kas...@wso2.com>
>>>>> wrote:
>>>>>
>>>>>>
>>>>>> Good work Nisala.
>>>>>>
>>>>>> Can we also do a performance round to see whether there are any perf
>>>>>> gains when running Jaggery apps in vanilla Tomcat/AS6?
>>>>>>
>>>>>> How are you going to manage the codebase for Carbon vs Tomcat Jaggery
>>>>>> support? Better if we can maintain it in the same place.
>>>>>>
>>>>>> On Sat, Jul 2, 2016 at 12:51 PM, Nisala Nanayakkara <nis...@wso2.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi all,
>>>>>>>
>>>>>>> This is an update regarding the feature 'Provide Support to run
>>>>>>> Jaggery apps in Tomcat Server'.
>>>>>>>
>>>>>>> At present Jaggery scripts can only be executed in a jaggery server.
>>>>>>> Because Jaggery Server which is powered by WSO2 carbon OSGi Runtime, is 
>>>>>>> the
>>>>>>> Runtime Environment that hosts Jaggery applications. The goal of this
>>>>>>> feature is to provide support to run jaggery apps in a pure tomcat 
>>>>>>> server
>>>>>>> without any modifications to the jaggery apps.This will enable 
>>>>>>> developers
>>>>>>> to write Jaggery scripts and directly deploy them in apache tomcat 
>>>>>>> server.
>>>>>>> So this will improve the flexibility of the jaggery apps.
>>>>>>>
>>>>>>> This is an extension for the Apache tomcat 8 to run the jaggery app
>>>>>>> without modifying it. Although this is implemented as a requirement of 
>>>>>>> WSO2
>>>>>>> Application Server 6, Users who want to run jaggery apps without jaggery
>>>>>>> server, can use this feature to run their jaggery apps in Apache tomcat
>>>>>>> server.
>>>>>>>
>>>>>>>

Re: [Architecture] [architecture ] [IS-5.3.0] Admin forces password reset for user

2016-10-03 Thread Manjula Rathnayake
Hi Ayesha,

On Fri, Sep 30, 2016 at 3:17 PM, Ayesha Dissanayaka  wrote:

> Hi all,
>
> Based on the discussions with Johann, Darshana, Isura and myself, we
> identified following use cases and design concerns.
>
> There are three cases of Admin Forced Password Reset action,
>
>- Admin Forced Password Reset Off-line
>- Admin knows the password and give it to user offline(ex: via phone)
>   - Admin Forced Password Reset via OTP
>   - OTP is sent to user as a notifications(email/sms). Admin may not
>   able see the OTP
>   - Admin Forced Password Reset via Recovery Email
>   - Email with a link which directs to password recovery portal is
>   sent to user
>
> For each case above, Admin Forced Password Reset action trigger is
> identifies as a claim update.
>
> When a special claim "http://wso2.org/claims/identity/
> adminForcedPasswordReset" is updated, an EventHandler will handle the
> update to this particular claim.
>
Do we know claims/attritubes used in LDAP schemas for similar purposes? I
assume, we ask the user to map above claim to any LDAP attribute.

> New governance Connector will be implemented and above three cases can be
> enable/disable based on system requirements.
>
Is there any document, code which discuss about governance connector?

thank you.

> Within the EventHandler, a RecoveryScenario is set to identify the admin
> forced password reset activity. And user account will be locked until
> password reset by user.
>
> At the login, inside Login Authenticator it will look at RecoveryScenario
> along with OTP provided in order to prompt password reset option to the
> user. Once the password is reset by user, account will be unlocked and 
> RecoveryScenario
> entry will be cleaned-up.
>
> For the MVP1, I am implementing handling *Admin Forced Password Reset*
> trigger with claim update and Handler to send an email with password reset
> link to user.
>
> Thanks!
> -Ayesha
>
>
> On Wed, Sep 28, 2016 at 12:19 PM, Ayesha Dissanayaka 
> wrote:
>
>> Hi Ishara,
>>
>> Thank you for the input. Having similar discussion with Darshana and
>> Isura, I have started extending askPassword implementation with email
>> verification flow in order trigger a password reset by capturing "update
>> credential" event. Still, we need a mechanism to distinguish admin password
>> reset vs. user password reset.
>>
>> Thanks!
>> -Ayesha
>>
>>
>> On Wed, Sep 28, 2016 at 12:06 PM, Ishara Karunarathna 
>> wrote:
>>
>>> Hi Ayesha,
>>>
>>> On Tue, Sep 27, 2016 at 11:00 AM, Isura Karunaratne 
>>> wrote:
>>>
 Hi Ayesha,

 We can extend Ask Password feature we developed in IS 5.3.0 to support
 this feature. So, we can send a confirmation email rather than an OTP.

>>> There can be different user cases.
>>> If we think about a call center scenario then customer will call to
>>> support center and asked to reset the password and will communicate that to
>>> the client that time, then use can login and 1st attempt he need to reset
>>> the password.
>>> Then we can set an additional flag to user attribute that indicate that
>>> this password reset by admin.
>>> And then this can be checked in Password Policy Authenticator.
>>>
>>> And secured way to handle this extending Ask password implementation and
>>> send a email and rest the password. or send a OTP to customer and enforce
>>> to rest in 1st login.
>>> I think better to implement the 1st scenario and extent to these cases.
>>>
>>> Thanks,
>>> Ishara
>>>

 Thanks
 Isura


 *Isura Dilhara Karunaratne*
 Senior Software Engineer | WSO2
 Email: is...@wso2.com
 Mob : +94 772 254 810
 Blog : http://isurad.blogspot.com/




 On Mon, Sep 26, 2016 at 10:03 PM, Ayesha Dissanayaka 
 wrote:

> Hi,
>
> I have created public jira IDENTITY-5166
>  to track this
> implementation.
>
> Thanks!
> -Ayesha
>
>
>
> On Mon, Sep 26, 2016 at 5:14 PM, Ayesha Dissanayaka 
> wrote:
>
>> Hi,
>>
>> I have started working on [1], which forces password reset for a user
>> after a administrative password recovery action.
>>
>> Based on the off-line discussion with Darshana, this flow can be as
>> follows.
>>
>>1. User, '*Bob*' forgets password and request administrative
>>person for a password reset action
>>2. Admin person reset the password and provide a new password to
>>*Bob* off-line
>>3. This can be performed using management console
>>4. When *Bob* tries to log-in with newly provided password, login
>>page should prompt password reset UI to *Bob*
>>5. And without changing the password Bob cannot login to the
>>system
>>6. There should be a way to distinguish *user password 

Re: [Architecture] [architecture ] [IS-5.3.0] Admin forces password reset for user

2016-10-03 Thread Manjula Rathnayake
Hi all,

It is not clear to me how password reset operation is valid for
read-only user stores. is it a valid use case?

thank you.

On Tue, Oct 4, 2016 at 10:54 AM, Dimuthu Leelarathne <dimut...@wso2.com>
wrote:

> Hi Johann,
>
> Lets take the read-only case. Our current or future (C5) architecture does
> not support claims coming from two user stores. And that is ok. But ... we
> have this habbit of adding a claim whenever we want to do a new feature, is
> it a good idea to store system claim values in the internal DB? That would
> make things much simpler. Thinking aloud, we can make it generic and enable
> half the stuff to come from internal store, but I think it is a over
> engineering task. IMO, if we can implement such that system claim values
> are coming from internal DB that would be great.
>
> thanks,
> Dimuthu
>
>
> On Mon, Oct 3, 2016 at 10:51 PM, Johann Nallathamby <joh...@wso2.com>
> wrote:
>
>>
>>
>> On Mon, Oct 3, 2016 at 1:00 PM, Manjula Rathnayake <manju...@wso2.com>
>> wrote:
>>
>>> Hi Ayesha,
>>>
>>> On Fri, Sep 30, 2016 at 3:17 PM, Ayesha Dissanayaka <aye...@wso2.com>
>>> wrote:
>>>
>>>> Hi all,
>>>>
>>>> Based on the discussions with Johann, Darshana, Isura and myself, we
>>>> identified following use cases and design concerns.
>>>>
>>>> There are three cases of Admin Forced Password Reset action,
>>>>
>>>>- Admin Forced Password Reset Off-line
>>>>- Admin knows the password and give it to user offline(ex: via
>>>>   phone)
>>>>   - Admin Forced Password Reset via OTP
>>>>   - OTP is sent to user as a notifications(email/sms). Admin may
>>>>   not able see the OTP
>>>>   - Admin Forced Password Reset via Recovery Email
>>>>   - Email with a link which directs to password recovery portal is
>>>>   sent to user
>>>>
>>>> For each case above, Admin Forced Password Reset action trigger is
>>>> identifies as a claim update.
>>>>
>>>> When a special claim "http://wso2.org/claims/identi
>>>> ty/adminForcedPasswordReset" is updated, an EventHandler will handle
>>>> the update to this particular claim.
>>>>
>>> Do we know claims/attritubes used in LDAP schemas for similar purposes?
>>> I assume, we ask the user to map above claim to any LDAP attribute.
>>>
>>
>> We make it a point to use existing attributes wherever possible. I think
>> there is a attribute in AD called "ChangePasswordAtLogon" for this purpose.
>> However we didn't plan to use this attribute to store this value as a claim
>> because its a temporary value for a particular user. Also all LDAPs may not
>> support this attribute. Plus we need to support it when the user store is
>> connected in read-only mode also. However we will reconsider this.
>>
>>> New governance Connector will be implemented and above three cases can
>>>> be enable/disable based on system requirements.
>>>>
>>> Is there any document, code which discuss about governance connector?
>>>
>>> thank you.
>>>
>>>> Within the EventHandler, a RecoveryScenario is set to identify the
>>>> admin forced password reset activity. And user account will be locked until
>>>> password reset by user.
>>>>
>>>> At the login, inside Login Authenticator it will look at RecoveryScenario
>>>> along with OTP provided in order to prompt password reset option to the
>>>> user. Once the password is reset by user, account will be unlocked and 
>>>> RecoveryScenario
>>>> entry will be cleaned-up.
>>>>
>>>> For the MVP1, I am implementing handling *Admin Forced Password Reset*
>>>> trigger with claim update and Handler to send an email with password reset
>>>> link to user.
>>>>
>>>> Thanks!
>>>> -Ayesha
>>>>
>>>>
>>>> On Wed, Sep 28, 2016 at 12:19 PM, Ayesha Dissanayaka <aye...@wso2.com>
>>>> wrote:
>>>>
>>>>> Hi Ishara,
>>>>>
>>>>> Thank you for the input. Having similar discussion with Darshana and
>>>>> Isura, I have started extending askPassword implementation with email
>>>>> verification flow in order trigger a password reset by capturing "update
>>>>> credential" event. Still, we need a mechani

Re: [Architecture] Speedup traffic serving process in scalable/ containerized deployment

2016-10-10 Thread Manjula Rathnayake
Hi Sanjeewa,

Are you suggesting an API manager deployment pattern using containers?
Container per tenant and per gateway, key manager etc?

thank you.

On Mon, Oct 10, 2016 at 9:06 PM, Malaka Silva  wrote:

> Hi Sanjeewa,
>
> My understanding is gateway pool is not tenant specific and will not be
> returned but rather terminated?
>
> On Mon, Oct 10, 2016 at 8:01 PM, Sanjeewa Malalgoda 
> wrote:
>
>> Hi All,
>> Starting this mail thread to continue discussion on "speedup instance
>> activate time when we move ahead with container based deployments". As of
>> now all of us are working on speedup server start time and deploy instances
>> on demand with the help of load balancer. Please note that this is not
>> alternative/replacement to effort on starting server faster(2 secs or
>> less). This is about make request serving more faster even with small
>> server startup time.
>>
>> When we do container based deployment standard approach we discussed so
>> far was,
>>
>>- At the first request check the tenant and service from URL and do
>>lookup for running instances.
>>- If matching instance available route traffic to that.
>>- Else spawn new instance using template(or image).  When we spawn
>>this new instance we need to let it know what is the current tenant and
>>data sources, configurations it should use.
>>- Then route requests to new node.
>>- After some idle time this instance may terminate.
>>
>> *Suggestion*
>> If we maintain hot pool(started and ready to serve requests) of servers
>> for each server type(API Gateway, Identity Server etc) then we can cutoff
>> server startup time + IaaS level spawn time from above process. Then when
>> requests comes to wso2.com tenants API Gateway we can pick instance from
>> gateway instance pool and set wso2.com tenant context and data source
>> using service call(assuming setting context and configurations is much
>> faster).
>>
>> *Implementation*
>> For this we need to implement some plug-in to instance spawn process.
>> Then instead of spawning new instance it will pick one instance from the
>> pool and configure it to behave as specific tenant.
>> For this each instance running in pool can open up port, so load balancer
>> or scaling component can call it and tell what is the tenant and
>> configurations.
>> Once it configured server close that configuration port and start traffic
>> serving.
>> After some idle time this instance may terminate.
>>
>> This approach will help us if we met following condition.
>> (Instance loading time + Server startup time + Server Lookup) *>*
>> (Server Lookup + Loading configuration and tenant of running server from
>> external call)
>>
>> Any thoughts on this?
>>
>> Thanks,
>> sanjeewa.
>> --
>>
>> *Sanjeewa Malalgoda*
>> WSO2 Inc.
>> Mobile : +94713068779
>>
>> blog
>> :http://sanjeewamalalgoda.blogspot.com/
>> 
>>
>>
>>
>> ___
>> Architecture mailing list
>> Architecture@wso2.org
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
>
> --
>
> Best Regards,
>
> Malaka Silva
> Senior Technical Lead
> M: +94 777 219 791
> Tel : 94 11 214 5345
> Fax :94 11 2145300
> Skype : malaka.sampath.silva
> LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77
> Blog : http://mrmalakasilva.blogspot.com/
>
> WSO2, Inc.
> lean . enterprise . middleware
> https://wso2.com/signature
> http://www.wso2.com/about/team/malaka-silva/
> 
> https://store.wso2.com/store/
>
> Don't make Trees rare, we should keep them with care
>
> ___
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
Manjula Rathnayaka
Technical Lead
WSO2, Inc.
Mobile:+94 77 743 1987
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Speedup traffic serving process in scalable/ containerized deployment

2016-10-11 Thread Manjula Rathnayake
Hi Lakmal,

On Tue, Oct 11, 2016 at 2:44 PM, Lakmal Warusawithana 
wrote:

> Further thinking on implementation for k8s, we need to improve in 3 places.
>
> 1.) Need to introduce min=0 for autoscaling policies
>  kubectl autoscale rc foo --min=0 --max=5 --inflight-request-count=80
>
> 2.) Have to config auto scaler for use load balancing factor
> (inflight-request-count) - K8S have extension in Auto scaler
>

> 3.) Improve load balancer for hold first request (until service running)
>
Do you mean load balancers like nginx, haproxy? Or can we get this done
with gateway itself without worrying about load balancers being used?

thank you.


>
> On Tue, Oct 11, 2016 at 2:24 PM, Imesh Gunaratne  wrote:
>
>> On Mon, Oct 10, 2016 at 8:01 PM, Sanjeewa Malalgoda 
>> wrote:
>>
>>>
>>> When we do container based deployment standard approach we discussed so
>>> far was,
>>>
>>>- At the first request check the tenant and service from URL and do
>>>lookup for running instances.
>>>- If matching instance available route traffic to that.
>>>- Else spawn new instance using template(or image).  When we spawn
>>>this new instance we need to let it know what is the current tenant and
>>>data sources, configurations it should use.
>>>- Then route requests to new node.
>>>- After some idle time this instance may terminate.
>>>
>>> ​If we were to do this with a container cluster manager, I think we
>> would need to implement a custom scheduler (an entity similar to HPA in
>> K8S) to handle the orchestration process properly. Otherwise it would be
>> difficult to use the built-in orchestration features such as auto-healing
>> and autoscaling with this feature.
>>
>> By saying that this might be a feature which should be implemented at the
>> container cluster manager.
>>
>> *Suggestion*
>>> If we maintain hot pool(started and ready to serve requests) of servers
>>> for each server type(API Gateway, Identity Server etc) then we can cutoff
>>> server startup time + IaaS level spawn time from above process. Then when
>>> requests comes to wso2.com tenants API Gateway we can pick instance
>>> from gateway instance pool and set wso2.com tenant context and data
>>> source using service call(assuming setting context and configurations is
>>> much faster).
>>>
>>
>> ​I think with this approach tenant isolation will become a problem. It
>> would be ideal to use tenancy features at the container cluster manager
>> level. For an example namespaces in K8S.
>>
>> Thanks
>>
>>>
>>> *Implementation*
>>> For this we need to implement some plug-in to instance spawn process.
>>> Then instead of spawning new instance it will pick one instance from the
>>> pool and configure it to behave as specific tenant.
>>> For this each instance running in pool can open up port, so load
>>> balancer or scaling component can call it and tell what is the tenant and
>>> configurations.
>>> Once it configured server close that configuration port and start
>>> traffic serving.
>>> After some idle time this instance may terminate.
>>>
>>> This approach will help us if we met following condition.
>>> (Instance loading time + Server startup time + Server Lookup) *>*
>>> (Server Lookup + Loading configuration and tenant of running server from
>>> external call)
>>>
>>> Any thoughts on this?
>>>
>>> Thanks,
>>> sanjeewa.
>>> --
>>>
>>> *Sanjeewa Malalgoda*
>>> WSO2 Inc.
>>> Mobile : +94713068779
>>>
>>> blog
>>> :http://sanjeewamalalgoda.blogspot.com/
>>> 
>>>
>>>
>>>
>>
>>
>> --
>> *Imesh Gunaratne*
>> Software Architect
>> WSO2 Inc: http://wso2.com
>> T: +94 11 214 5345 M: +94 77 374 2057
>> W: https://medium.com/@imesh TW: @imesh
>> lean. enterprise. middleware
>>
>>
>
>
> --
> Lakmal Warusawithana
> Director - Cloud Architecture; WSO2 Inc.
> Mobile : +94714289692
> Blog : http://lakmalsview.blogspot.com/
>
>
> ___
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
Manjula Rathnayaka
Technical Lead
WSO2, Inc.
Mobile:+94 77 743 1987
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] ESB connector smaple scenario - Integrate Salesforce SOAP with Google Spreadsheet and Gmail

2017-07-27 Thread Manjula Rathnayake
Hi Hariprasath,

Looks good. I can see below improvements so that we can make this sample
personalized for anyone and get some customers around similar use cases.
1. Steps taken to configure Gmail, Salesforce and Google Sheets. This helps
anyone to use their own account and configure.
2. Externalize credentials, URLs into environment variables. Then it is a
matter of setting the correct values for those envs.
3. Document the steps to invoke and verify the results.
4. Steps to deploy this sample in Cloud and locally.
5. Steps to extend this sample such as commit this sample to a git repo,
steps to build it and deploy in Cloud back.
6. Support channel to ask questions on this sample and motivate to
contribute back to our sample repo.
7. Health check for this sample to verify that individual connector APIs
are not updated(otherwise after some time, this sample will not work and we
will get to know only when customers report issues)

If we can get above items done for this sample, then we can generalize it
as a template and enforce for all samples.

thank you.

On Thu, Jul 27, 2017 at 1:20 PM, Malaka Silva  wrote:

> Hi Hariprasath,
>
> Looks good. I guess we have to think in a way this can be reused on
> premise and in our integration cloud.
>
> On Thu, Jul 27, 2017 at 10:57 AM, Hariprasath Thanarajah <
> haripras...@wso2.com> wrote:
>
>> Hi All,
>>
>> I am working on to create a sample scenario with ESB connectors
>> Salesforce SOAP, Google Spreadsheet and Gmail. For that, I used create
>> method of Sf SOAP connector to create the Lead and from the response of
>> that method we can able to get the Id of that record and using that Id we
>> can able to retrieve the information about that Lead creation using
>> retrieve method. After that, we need to insert the needed information of
>> that record to a spreadsheet using Google Spreadsheet connector using
>> addRowsData method and from getCellData method, we can able to retrieve the
>> information about the record. And finally, we can build the message
>> body with the above information and send an alert to the manager about the
>> Lead creation using Gmail Connector.
>>
>> Please find the above use case explanation in [1] and sample proxy can be
>> found in the attached file.
>>
>> [1] -
>> [image: Inline image 1]
>>
>> --
>>
>>
>> *Thank you and Regards,**Hariprasath Thanarajah*
>> Software Engineer | WSO2
>> E: haripras...@wso2.com
>> M: +94 75 2806528 <075%20280%206528>, +94 77 7216903 <077%20721%206903>
>> Blog: hariwso2.blogspot.com
>>
>> Skype : hariss636
>> LinkedIn : https://www.linkedin.com/in/hariprasath-thanarajah-5234b660
>>
>> WSO2, Inc.
>> lean . enterprise . middleware
>>
>> https://wso2.com/signature
>> http://wso2.com/about/team/hariprashath-thanarajah/
>>
>
>
>
> --
>
> Best Regards,
>
> Malaka Silva
> Associate Director / Architect
> M: +94 777 219 791 <+94%2077%20721%209791>
> Tel : 94 11 214 5345
> Fax :94 11 2145300
> Skype : malaka.sampath.silva
> LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77
> Blog : http://mrmalakasilva.blogspot.com/
>
> WSO2, Inc.
> lean . enterprise . middleware
> https://wso2.com/signature
> http://www.wso2.com/about/team/malaka-silva/
> 
> https://store.wso2.com/store/
>
> Don't make Trees rare, we should keep them with care
>



-- 
Manjula Rathnayaka
Technical Lead
WSO2, Inc.
Mobile:+94 77 743 1987
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] ESB connector smaple scenario - Integrate Salesforce SOAP with Google Spreadsheet and Gmail

2017-07-27 Thread Manjula Rathnayake
Hi Hariprasath,

This is great. Have you tried deploying this sample in Integration Cloud?

Extending is usually needed. For example, every time we find a sample that
just covers the part of the story we are interested in. It might not be the
exact use case customers are looking for. If we share the source code too,
they can edit some parts of it and try deploying back to the runtime and
see how it works. This involves set of document links to guide the new
users to get familiar with dev studio, connectors, and cloud.

thank you.

On Thu, Jul 27, 2017 at 7:09 PM, Hariprasath Thanarajah <
haripras...@wso2.com> wrote:

> Hi Manjula,
>
> On Thu, Jul 27, 2017 at 1:46 PM, Manjula Rathnayake <manju...@wso2.com>
> wrote:
>
>> Hi Hariprasath,
>>
>> Looks good. I can see below improvements so that we can make this sample
>> personalized for anyone and get some customers around similar use cases.
>> 1. Steps taken to configure Gmail, Salesforce and Google Sheets. This
>> helps anyone to use their own account and configure.
>> 2. Externalize credentials, URLs into environment variables. Then it is a
>> matter of setting the correct values for those envs.
>> 3. Document the steps to invoke and verify the results.
>> 4. Steps to deploy this sample in Cloud and locally.
>>
> I have done this and you can find the documentation in[X]
>
>> 5. Steps to extend this sample such as commit this sample to a git repo,
>> steps to build it and deploy in Cloud back.
>>
> Why do we need to extend this? Because we can set the needed values in the
> environmetal variables and all the other parts are handled within the
> proxy. I will attached the proxy as well to explain this scenario.
>
>> 6. Support channel to ask questions on this sample and motivate to
>> contribute back to our sample repo.
>>
> +1
>
>> 7. Health check for this sample to verify that individual connector APIs
>> are not updated(otherwise after some time, this sample will not work and we
>> will get to know only when customers report issues)
>>
>> If we can get above items done for this sample, then we can generalize it
>> as a template and enforce for all samples.
>>
> [X] -  https://docs.google.com/a/wso2.com/document/d/1x9Jgcjt6cBG4
> _Vfd7110D1vNkaoXCpL_SlKBbwO8xIU/edit?usp=sharing
>
>>
>>
>> thank you.
>>
>> On Thu, Jul 27, 2017 at 1:20 PM, Malaka Silva <mal...@wso2.com> wrote:
>>
>>> Hi Hariprasath,
>>>
>>> Looks good. I guess we have to think in a way this can be reused on
>>> premise and in our integration cloud.
>>>
>>> On Thu, Jul 27, 2017 at 10:57 AM, Hariprasath Thanarajah <
>>> haripras...@wso2.com> wrote:
>>>
>>>> Hi All,
>>>>
>>>> I am working on to create a sample scenario with ESB connectors
>>>> Salesforce SOAP, Google Spreadsheet and Gmail. For that, I used create
>>>> method of Sf SOAP connector to create the Lead and from the response of
>>>> that method we can able to get the Id of that record and using that Id we
>>>> can able to retrieve the information about that Lead creation using
>>>> retrieve method. After that, we need to insert the needed information of
>>>> that record to a spreadsheet using Google Spreadsheet connector using
>>>> addRowsData method and from getCellData method, we can able to retrieve the
>>>> information about the record. And finally, we can build the message
>>>> body with the above information and send an alert to the manager about the
>>>> Lead creation using Gmail Connector.
>>>>
>>>> Please find the above use case explanation in [1] and sample proxy can
>>>> be found in the attached file.
>>>>
>>>> [1] -
>>>> [image: Inline image 1]
>>>>
>>>> --
>>>>
>>>>
>>>> *Thank you and Regards,**Hariprasath Thanarajah*
>>>> Software Engineer | WSO2
>>>> E: haripras...@wso2.com
>>>> M: +94 75 2806528 <075%20280%206528>, +94 77 7216903 <077%20721%206903>
>>>> Blog: hariwso2.blogspot.com
>>>>
>>>> Skype : hariss636
>>>> LinkedIn : https://www.linkedin.com/in/hariprasath-thanarajah-5234b660
>>>>
>>>> WSO2, Inc.
>>>> lean . enterprise . middleware
>>>>
>>>> https://wso2.com/signature
>>>> http://wso2.com/about/team/hariprashath-thanarajah/
>>>>
>>>
>>>
>>>
>>> --
>>>
>>> Best Regards,
>>>

Re: [Architecture] ESB connector smaple scenario - Integrate Salesforce SOAP with Google Spreadsheet and Gmail

2017-07-27 Thread Manjula Rathnayake
Hi Hariprasath,

On Thu, Jul 27, 2017 at 7:42 PM, Hariprasath Thanarajah <
haripras...@wso2.com> wrote:

> Hi Manjula,
>
> On Thu, Jul 27, 2017 at 7:30 PM, Manjula Rathnayake <manju...@wso2.com>
> wrote:
>
>> Hi Hariprasath,
>>
>> This is great. Have you tried deploying this sample in Integration Cloud?
>>
> Yes, I have tried this and got succeed. But one concern in the cloud is if
> we need to add more than one environmental valiables then we need to add
> those one by one. Is there any way to offer a text area to put all the key
> and values in single add?
>
Great. You can add all the environment variables into a json file and use
that file in environment variable adding section.


>
>> Extending is usually needed. For example, every time we find a sample
>> that just covers the part of the story we are interested in. It might not
>> be the exact use case customers are looking for. If we share the source
>> code too, they can edit some parts of it and try deploying back to the
>> runtime and see how it works. This involves set of document links to guide
>> the new users to get familiar with dev studio, connectors, and cloud.
>>
> So we can give them a step by step guide to create the same usecase using
> dev studio and from that they can able to develop their usecases. Am I
> right? If so I can add those details as well in the doc that shared with
> this mail.
>
IMO, providing a high level steps would be sufficient pointing to the
existing documents.

thank you.


>
>> thank you.
>>
>> On Thu, Jul 27, 2017 at 7:09 PM, Hariprasath Thanarajah <
>> haripras...@wso2.com> wrote:
>>
>>> Hi Manjula,
>>>
>>> On Thu, Jul 27, 2017 at 1:46 PM, Manjula Rathnayake <manju...@wso2.com>
>>> wrote:
>>>
>>>> Hi Hariprasath,
>>>>
>>>> Looks good. I can see below improvements so that we can make this
>>>> sample personalized for anyone and get some customers around similar use
>>>> cases.
>>>> 1. Steps taken to configure Gmail, Salesforce and Google Sheets. This
>>>> helps anyone to use their own account and configure.
>>>> 2. Externalize credentials, URLs into environment variables. Then it is
>>>> a matter of setting the correct values for those envs.
>>>> 3. Document the steps to invoke and verify the results.
>>>> 4. Steps to deploy this sample in Cloud and locally.
>>>>
>>> I have done this and you can find the documentation in[X]
>>>
>>>> 5. Steps to extend this sample such as commit this sample to a git
>>>> repo, steps to build it and deploy in Cloud back.
>>>>
>>> Why do we need to extend this? Because we can set the needed values in
>>> the environmetal variables and all the other parts are handled within the
>>> proxy. I will attached the proxy as well to explain this scenario.
>>>
>>>> 6. Support channel to ask questions on this sample and motivate to
>>>> contribute back to our sample repo.
>>>>
>>> +1
>>>
>>>> 7. Health check for this sample to verify that individual connector
>>>> APIs are not updated(otherwise after some time, this sample will not work
>>>> and we will get to know only when customers report issues)
>>>>
>>>> If we can get above items done for this sample, then we can generalize
>>>> it as a template and enforce for all samples.
>>>>
>>> [X] -  https://docs.google.com/a/wso2.com/document/d/1x9Jgcjt6cBG4
>>> _Vfd7110D1vNkaoXCpL_SlKBbwO8xIU/edit?usp=sharing
>>>
>>>>
>>>>
>>>> thank you.
>>>>
>>>> On Thu, Jul 27, 2017 at 1:20 PM, Malaka Silva <mal...@wso2.com> wrote:
>>>>
>>>>> Hi Hariprasath,
>>>>>
>>>>> Looks good. I guess we have to think in a way this can be reused on
>>>>> premise and in our integration cloud.
>>>>>
>>>>> On Thu, Jul 27, 2017 at 10:57 AM, Hariprasath Thanarajah <
>>>>> haripras...@wso2.com> wrote:
>>>>>
>>>>>> Hi All,
>>>>>>
>>>>>> I am working on to create a sample scenario with ESB connectors
>>>>>> Salesforce SOAP, Google Spreadsheet and Gmail. For that, I used create
>>>>>> method of Sf SOAP connector to create the Lead and from the response of
>>>>>> that method we can able to get the Id of that record and using that Id we
>>>>>> can able to

Re: [Architecture] ESB connector smaple scenario - Integrate Salesforce REST with Microsoft dynamics CRM (Account/Contact)

2017-08-22 Thread Manjula Rathnayake
Hi Kanapriya,

On Tue, Aug 22, 2017 at 2:26 PM, Kanapriya Kuleswararajan <
kanapr...@wso2.com> wrote:

> Hi All,
>
> We have done this scenario and now we are in the processing of testing it
> in integration cloud.
> While we test it on integration cloud , we may encounter the transport
> issue [1] (E.g Anonymous endpoint). In that case, we loss data in Microsoft
> dynamics CRM Which is created in Salesforce.
>

> To overcome this issue we planned to try the following:
>
>- Have the last processed timestamp in database (say
>lastProcessedTimestamp). It will be updated in each success iteration.
>- Get  all records (Account details) in  each trigger by using the
>query "SELECT id, name, CreatedDate FROM Account WHERE CreatedDate >
>lastProcessedTimestamp ". So that we can process the fail records in the
>next trigger.
>
> +1. In Integration use cases, it is common to get transport level issues
where these services are not avaialbe, kill existing docker containers and
start new one etc. Above explained path is about error handling in such
situatioins. Can we retry if such error occurred?
And if we can send an email if the program could not sync the data, that
will be useful for the users to manually sync data or take any corrective
action.

thank you.

> Correct me If I'm wrong on this.
>
> [1] [Dev] Getting error in Integration Cloud
>
> Thanks
>
> Kanapriya Kuleswararajan
> Software Engineer | WSO2
> Mobile : - 0774894438
> Mail : - kanapr...@wso2.com
> LinkedIn : - https://www.linkedin.com/in/kanapriya-kules-94712685/
> 
>
> On Thu, Aug 3, 2017 at 3:03 PM, Kanapriya Kuleswararajan <
> kanapr...@wso2.com> wrote:
>
>> Hi All,
>>
>> We are planning to implement the following use case using  Salesforce
>> REST  and Microsoft Dynamic CRM connectors.
>>
>>
>> ​
>>
>> Here, newly created records(accounts) will be periodically retrieved
>> from  Salesforce and inserted into Microsoft Dynamic CRM.
>>
>> Operations:
>> Salesforce - Query
>> Dynamics CRm - createEntity
>>
>> Please let us know if you have any concerns.
>>
>> Thanks
>> Kanapriya Kuleswararajan
>> Software Engineer | WSO2
>> Mobile : - 0774894438
>> Mail : - kanapr...@wso2.com
>> LinkedIn : - https://www.linkedin.com/in/kanapriya-kules-94712685/
>> 
>>
>
>


-- 
Manjula Rathnayaka
Technical Lead
WSO2, Inc.
Mobile:+94 77 743 1987
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [Dev] [DEV] [VOTE] Release WSO2 API Microgateway 3.0.1 RC3

2019-06-11 Thread Manjula Rathnayake
Hi all,

I have tested the RC3 with API Cloud on the following features.
1. Importing the APIs to the project using label feature
2. Invoking APIs with OAuth2 token
3. Publishing API usage data
4. Gateway start extension

No blockers found.
[+] Stable - Go ahead and release

Thank you.

On Mon, Jun 10, 2019 at 7:12 PM Viraj Gamage  wrote:

> Tested the following scenarios.
>
> - disabling security in resource level and API level
> - override "x-wso2-disable-security"
> - resource level endpoints (HTTP, load-balance, and failover)
>
> No blockers found.
> *[+] Stable - Go ahead and release*
>
> Regards,
> Viraj
>
> On Mon, Jun 10, 2019 at 6:32 PM Hasunie Adikari  wrote:
>
>> Tested the following scenarios.
>>
>> - etcd support
>> - API level/resource level throttling for open API based API
>> - Application level throttling for imported APIs
>> - Override endpoint URLs
>> - Mutual SSL
>>
>> No blockers found.
>> *[+] Stable - Go ahead and release*
>>
>> Regards,
>> Hasunie
>>
>>
>> On Mon, Jun 10, 2019 at 5:57 PM Malintha Amarasinghe 
>> wrote:
>>
>>> Tested:
>>> - Importing APIs with scopes
>>> - basic CORS support
>>>
>>> No blockers found.
>>> *[+] Stable - Go ahead and release.*
>>>
>>>
>>> On Mon, Jun 10, 2019 at 5:51 PM Menaka Jayawardena 
>>> wrote:
>>>
 Tested following.
 - Basic flow with JWT token
 - Resource level throttling
 - Request/ Response intercepting.

 No blockers found.
 *[+] Stable - Go ahead and release*

 On Mon, Jun 10, 2019 at 4:26 PM Praminda Jayawardana 
 wrote:

> Tested followings,
>
>- Basic flow with import APIs
>- Basic Auth
>- Analytics file writing/ uploading/ APIM Dashboard visibility
>
> No blockers found.
> *[+] Stable - Go ahead and release*
>
> Thanks,
> Praminda
>
> On Mon, Jun 10, 2019 at 2:01 PM Rajith Roshan 
> wrote:
>
>> Tested the following scenarios.
>>
>>
>>- Basic throttling
>>- Custom application throttling for open API based api and
>>imported APIs
>>- Custom subscription throttling for imported APIs
>>- Global throttling
>>- Basic flow in dev first approach
>>- Load balance and fail over endpoints
>>
>> No blockers found.
>> *[+] Stable - Go ahead and release*
>>
>> Thanks!
>> Rajith
>>
>> On Sun, Jun 9, 2019 at 10:25 AM Praminda Jayawardana <
>> prami...@wso2.com> wrote:
>>
>>> Hi All,
>>>
>>> WSO2 Api Manager team is pleased to announce the third release
>>> candidate of WSO2 API Microgateway 3.0.1.
>>>
>>> The WSO2 API Microgateway is a lightweight, gateway distribution
>>> which can be used with single or multiple APIs.
>>>
>>> Please find the improvements and fixes related to this release in Fixed
>>> issues
>>> 
>>>
>>> Download the product from here
>>> 
>>>
>>> The Tag to be voted upon is
>>> https://github.com/wso2/product-microgateway/releases/tag/v3.0.1-rc3
>>>
>>> Please download, test the product and vote.
>>>
>>> *[+] Stable - Go ahead and release*
>>>
>>> *[-] Broken - Do not release *(explain why)
>>>
>>>
>>> Documentation: https://docs.wso2.com/display/MG301/
>>>
>>> Best Regards,
>>> WSO2 API Manager Team
>>>
>>
>>
>> --
>> *Rajith Roshan* | Associate Technical Lead | WSO2 Inc.
>> (m) +94-717-064-214 |  (e) raji...@wso2.com 
>>
>> 
>>
>
>
> --
>
> *Praminda Jayawardana* | Senior Software Engineer | WSO2 Inc.
> (m) +94 (0) 716 590918 | (e) prami...@wso2.com
> GET INTEGRATION AGILE
> Integration Agility for Digitally Driven Business
> ___
> Dev mailing list
> d...@wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>


 --

 *Menaka Jayawardena*
 Senior Software Engineer | WSO2 Inc.
 +94 71 350 5470 | +94 76 717 2511 | men...@wso2.com

 

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

>>>
>>>
>>> --
>>> Malintha Amarasinghe
>>> *WSO2, Inc. - lean | enterprise | middleware*
>>> http://wso2.com/
>>>
>>> Mobile : +94 712383306
>>> ___
>>> Dev mailing list
>>> d...@wso2.org
>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>
>>
>>
>> --
>> *Hasunie Adikari*
>> Associate Technical Lead
>> WSO2 Inc.; http://wso2.com
>> lean.enterprise.middleware
>> blog http://hasuniea.blogspot.com | https://medium.com/@Hasunie/
>> 

Re: [Architecture] Making self-contained access tokens the default in APIM 3.0

2019-08-21 Thread Manjula Rathnayake
Hi Nuwan,

Can the same API gateway handle both self-contained and opaque tokens?

How does the API consumption work? Does the application need to invoke both
the KM and gateway endpoints to refresh/revoke and invoke the APIs?

Thank you.

On Wed, Aug 21, 2019 at 1:21 PM Asela Pathberiya  wrote:

>
>
> On Tue, Aug 20, 2019 at 2:37 PM Nuwan Dias  wrote:
>
>> Hi,
>>
>> With the introduction of the Microgateway self-contained access tokens
>> were supported in the API Manager since version 2.5. Self-contained access
>> tokens however were only supported in the Microgateway so far. The regular
>> gateway was unable to process and validate a self-contained access token.
>> With API Manager 3.0 we are bringing this support to the regular gateway as
>> well. With this we hope to make self-contained tokens the default token
>> type of applications. Opaque tokens will still be supported as before.
>> There are several benefits of using self-contained access tokens. These are,
>>
>> 1) The gateway no longer connects to the Key Manager when processing API
>> requests. This makes the deployment simpler and reduces configuration
>> points a bit.
>> 2) We no longer have to scale the Key Manager when we need the Gateway to
>> be scaled. This bring a significant reduction to the cost of using the
>> product in larger deployments.
>> 3) The gateway becomes regionally resilient. A token issued from one
>> region can be validated by a gateway in another region even if the data is
>> not synced.
>> 4) Back-end JWTs will be included in as part of the access token itself
>> (self-contained). This eliminates the need of creating back-end JWTs while
>> the API request is being processed. Which in turn makes APIs calls much
>> faster.
>>
>> One pending items that's left to handle is the revocation of
>> self-contained access tokens. Since the gateway does not connect to the Key
>> Manager for validating self-contained tokens, the gateway will not know
>> when a particular token has been revoked. Using shorter expiry times for
>> access token addresses this solution to a certain extent. We hope to
>> implement the same solution we implemented for the Microgateway to address
>> this. The Key Manager will be notifying the gateway cluster through a
>> broker when a token has been revoked. And the gateway will no longer be
>> treating the particular token as valid upon receiving the notification.
>>
>> Appreciate your thoughts and suggestions on this.
>>
>
> So we are making it as default to increase the usage of it ?
>
> Is this would be same for developer token in store (application tokens)?
> What are the default user details which are adding to self-contains access
> token ?
>
> Thanks,
> Asela.
>
>
>>
>> Thanks,
>> NuwanD.
>> --
>> *Nuwan Dias* | Director | WSO2 Inc.
>> (m) +94 777 775 729 | (e) nuw...@wso2.com
>> [image: Signature.jpg]
>> ___
>> Architecture mailing list
>> Architecture@wso2.org
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>
>
> --
> Thanks & Regards,
> Asela
>
> Mobile : +94 777 625 933
>
> http://soasecurity.org/
> http://xacmlinfo.org/
> ___
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>


-- 
*Manjula Rathnayaka* | Senior Technical Lead | WSO2 Inc.
(m) +94 77 743 1987 | (w) +94 11 214 5345 | (e) manju...@wso2.com
GET INTEGRATION AGILE
Integration Agility for Digitally Driven Business
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture