Hi all,

In addition this decision will stabilise our Uploadable Artifact story.
Right now it is very shaky.

thanks,
dimuthu

On Wed, Oct 29, 2014 at 9:15 AM, Dimuthu Leelarathne <[email protected]>
wrote:

> Hi all,
>
> We hava a Redmine item for app type specific life cycles. But until that
> becomes a reality we can have two life cycles as suggested by the team.
>
> +1 for having a different lifecycle for upload able app types. But when
> implementing lets keep in mind the future.
>
> thanks,
> dimuthu
>
> On Wed, Oct 29, 2014 at 7:58 AM, Janaka Ranabahu <[email protected]> wrote:
>
>> Hi Gayan, Dimuthu,
>>
>> On Wed, Oct 29, 2014 at 6:29 PM, Gayan Dhanushka <[email protected]> wrote:
>>
>>> Hi Pirinthapan,
>>>
>>> AFAIU you are going to have a "onDeploymentSuccess" method in
>>> "ApplicationEventsHandler" class and write a handler to call
>>> "updateApplicationDeploymentSuccessStatus" from within the implementation
>>> of that method. I can see this as a possible solution. Still I have some
>>> doubts. I believe you have to check whether the application is an
>>> uploadable application from within the
>>> "updateApplicationDeploymentSuccessStatus" method. Otherwise every time we
>>> deploy an application (Even non uploadable applications), the application
>>> will be promoted into production.
>>>
>>> Further more I believe you can call the promoting logic from within the
>>> "updateApplicationDeploymentSuccessStatus" method rather than calling the
>>> bpel service once again.
>>>
>>> @Dimuthu
>>>
>>> Shouldn't this be ideally handled by having a seperate application
>>> lifecycle for uploadable artifacts ?
>>>
>> IMO, this is the correct way to address this issue. Currently what we are
>> trying, is to use the same lifecycle for all the app types in AppFactory.
>> This is wrong because all the app types does not have the same lifecycle.
>> Certain apps we create such as Java Web applications and Jax-rs/Jax-ws
>> applications have a lifecycle which goes from development to production
>> whereas uploadable applications are deployed directly into production. So
>> clearly there are 2 lifecycles for these 2 application categories.
>>
>> So I'm +1 for introducing a different lifecycle(which have only 2 stages,
>> which are 'production' and 'retired') for uploadable applications.
>>
>> WDYT?
>>
>> Thanks,
>> Janaka
>>
>>>
>>> Regards
>>> GayanD
>>>
>>> On Tue, Oct 28, 2014 at 8:47 PM, Pirinthapan Mahendran <
>>> [email protected]> wrote:
>>>
>>>> Hi all,
>>>>
>>>> In the above solution there is a problem.
>>>>
>>>> *Problem in the above solution*
>>>>
>>>> According to the above solution we are going to have a new event
>>>> handler for promoting uploadable apps. When an application is created the
>>>> "oncreate" method of all the event handlers will be called. And these event
>>>> handlers will be executed according to the priority order. In that case our
>>>> new handler will be executed at last because of its low priority.
>>>> During this, when the "JenkinsApplicationEventsListener" is executed,
>>>> it will create and start a job in jenkins. Once the job is started
>>>> "JenkinsApplicationEventsListener" will continue its execution. It won't
>>>> wait until the job is finished.
>>>>
>>>> So after "JenkinsApplicationEventsListener" finished its execution, all
>>>> the remaining event handlers (including our new event handler) will be
>>>> executed according to the priority order. So again the building process and
>>>> the promoting process is going to be happen parallel.
>>>>
>>>> *Improved Solution*
>>>>
>>>> In the above solution instead of calling the promoting process from
>>>> "oncreate" method we can introduce a new method called
>>>> "onDeploymentSuccess" to the abstract class "ApplicationEventsHandler" and
>>>> implement that method in our new event listener class. Within this method
>>>> we will call the promoting process. And we will publish the deployment
>>>> success event to the listeners from the method
>>>> "updateApplicationDeploymentSuccessStatus" in
>>>> "ApplicationManagementService".
>>>>
>>>> So whenever a deployment is success for uploadable applications in
>>>> development stage, we can execute the promoting process. After the
>>>> promotion is finished we will call the deployment process to deploy the
>>>> application in production stage.
>>>>
>>>> Kindly expect your feedbacks on the above solution.
>>>>
>>>> Thanks.
>>>>
>>>>
>>>>
>>>> Mahendran Pirinthapan
>>>> Software Engineer | WSO2 Inc.
>>>> Mobile +94772378732.
>>>>
>>>> On Tue, Oct 28, 2014 at 4:58 PM, Dimuthu Leelarathne <[email protected]
>>>> > wrote:
>>>>
>>>>>
>>>>>
>>>>> On Tue, Oct 28, 2014 at 1:17 AM, Pirinthapan Mahendran <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Hi Danushka and Gayan,
>>>>>>
>>>>>> As we discussed offline I'm going with the following solution.
>>>>>>
>>>>>> Remove the promoting code from jaggery layer and Create an Event
>>>>>> handler by extending the abstract class "ApplicationEventsHandler" for
>>>>>> promoting uploadable artifacts. And setting this event handler's priority
>>>>>> to low so that it will be executed at last. After the promotion process 
>>>>>> is
>>>>>> finished we will call the deployment process from this handler class to
>>>>>> deploy the application in production stage.
>>>>>>
>>>>>
>>>>> +1. Perfect solution guys! Good job in picking the correct solution.
>>>>>
>>>>> thanks,
>>>>> dimuthu
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>> Thanks.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Mahendran Pirinthapan
>>>>>> Software Engineer | WSO2 Inc.
>>>>>> Mobile +94772378732.
>>>>>>
>>>>>> On Mon, Oct 27, 2014 at 10:21 PM, Danushka Fernando <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> Gayan
>>>>>>> AFAIK there is a limitation in governance lifecycle which prevent us
>>>>>>> doing that. So I think better thing would be to fix current flow to be
>>>>>>> consistent.
>>>>>>>
>>>>>>> Thanks & Regards
>>>>>>> Danushka Fernando
>>>>>>> Software Engineer
>>>>>>> WSO2 inc. http://wso2.com/
>>>>>>> Mobile : +94716332729
>>>>>>>
>>>>>>> On Mon, Oct 27, 2014 at 9:48 PM, Gayan Dhanushka <[email protected]>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi Pirinthapan,
>>>>>>>>
>>>>>>>> As discussed the other day if we are going to change the current
>>>>>>>> implementation where we first deploy the artifact to Development and 
>>>>>>>> then
>>>>>>>> promote it up to Production, this will be a very straight forward fix. 
>>>>>>>> We
>>>>>>>> can just deploy the application into Production in one go. Then it 
>>>>>>>> will be
>>>>>>>> just like deploying an application in the Production stage.
>>>>>>>>
>>>>>>>> Regards
>>>>>>>> GayanD
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Sun, Oct 26, 2014 at 3:26 PM, Danushka Fernando <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> Hi
>>>>>>>>> @Pirinthapan : Great findings.
>>>>>>>>> IMO if we are sticking to the plan that we are going to promote
>>>>>>>>> uploadable applications to production, then we need to wait until
>>>>>>>>> application creation is over and then promote them to production. We 
>>>>>>>>> might
>>>>>>>>> be able to run Application Even Listener with ordered to run last to 
>>>>>>>>> do
>>>>>>>>> this task.
>>>>>>>>> @Dimuthu, Janaka : WDYT?
>>>>>>>>>
>>>>>>>>> Thanks & Regards
>>>>>>>>> Danushka Fernando
>>>>>>>>> Software Engineer
>>>>>>>>> WSO2 inc. http://wso2.com/
>>>>>>>>> Mobile : +94716332729
>>>>>>>>>
>>>>>>>>> On Sun, Oct 26, 2014 at 3:04 PM, Pirinthapan Mahendran <
>>>>>>>>> [email protected]> wrote:
>>>>>>>>>
>>>>>>>>>> Hi All,
>>>>>>>>>>
>>>>>>>>>> In AppFactory when we upload an existing artifact, it should be
>>>>>>>>>> directly deployed to production stage.
>>>>>>>>>> But in the current implementation sometimes it is getting
>>>>>>>>>> deployed to development stage and sometimes it is getting deployed to
>>>>>>>>>> production stage.
>>>>>>>>>>
>>>>>>>>>> According to my understanding the reason for this is, we are
>>>>>>>>>> creating and promoting the application within the single method 
>>>>>>>>>> "uploadExistingApplication"
>>>>>>>>>> in [1]. In this method first we are creating the application
>>>>>>>>>> using the uploaded artifact. Once the application is created build is
>>>>>>>>>> triggered automatically in a background thread. At the same time we 
>>>>>>>>>> are
>>>>>>>>>> calling the bpel service to promote the application. So building and
>>>>>>>>>> promoting are happening at the same time. This will give some 
>>>>>>>>>> unpredictable
>>>>>>>>>> results.
>>>>>>>>>>
>>>>>>>>>> To overcome this issue we need to wait until all the application
>>>>>>>>>> creation, initial build and initial deployment processes are 
>>>>>>>>>> finished.
>>>>>>>>>> After that we need to promote the application. Once the promotion 
>>>>>>>>>> process
>>>>>>>>>> is finished we need to deploy the application in the production 
>>>>>>>>>> stage.
>>>>>>>>>>
>>>>>>>>>> Kindly expect your ideas on this issue.
>>>>>>>>>>
>>>>>>>>>> 1. appmgt/src/site/blocks/application/add/ajax/add.jag
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Mahendran Pirinthapan
>>>>>>>>>> Software Engineer | WSO2 Inc.
>>>>>>>>>> Mobile +94772378732.
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Architecture mailing list
>>>>>>>>>> [email protected]
>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Architecture mailing list
>>>>>>>>> [email protected]
>>>>>>>>> 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
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Architecture mailing list
>>>>>>>> [email protected]
>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Architecture mailing list
>>>>>>> [email protected]
>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Architecture mailing list
>>>>>> [email protected]
>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Dimuthu Leelarathne
>>>>> Architect & Product Lead of App Factory
>>>>>
>>>>> WSO2, Inc. (http://wso2.com)
>>>>> email: [email protected]
>>>>> Mobile : 0773661935
>>>>>
>>>>> Lean . Enterprise . Middleware
>>>>>
>>>>> _______________________________________________
>>>>> Architecture mailing list
>>>>> [email protected]
>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> Architecture mailing list
>>>> [email protected]
>>>> 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
>>>
>>> _______________________________________________
>>> Architecture mailing list
>>> [email protected]
>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>
>>>
>>
>>
>> --
>> *Janaka Ranabahu*
>> Senior Software Engineer; WSO2 Inc.; http://wso2.com
>>
>>
>> *E-mail: [email protected] <http://wso2.com>**M: **+94 718370861
>> <%2B94%20718370861>*
>>
>> Lean . Enterprise . Middleware
>>
>> _______________________________________________
>> Architecture mailing list
>> [email protected]
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
>
> --
> Dimuthu Leelarathne
> Architect & Product Lead of App Factory
>
> WSO2, Inc. (http://wso2.com)
> email: [email protected]
> Mobile : 0773661935
>
> Lean . Enterprise . Middleware
>



-- 
Dimuthu Leelarathne
Architect & Product Lead of App Factory

WSO2, Inc. (http://wso2.com)
email: [email protected]
Mobile : 0773661935

Lean . Enterprise . Middleware
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to