[Oslc-Automation] Implementation issues when Automation type is not known

David N Brauneis brauneis at us.ibm.com
Tue Jul 3 11:18:25 EDT 2012


I'm sorry but I have to disagree - most AutomationProviders will be 
supporting more than a single type of automation (often in a single 
AutomationPlan) and I do not think that many of the AutomationProviders 
are planning to provide multiple server instances. Most of the 
AutomationProviders that I can think of are more generic than this very 
explicit use case - things like Build Forge, Hudson/Jenkins, and even 
Rational Team Concert. Unless we are going to change all of the products 
to require a user to set this field when creating AutomationPlans (for 
which there will be a huge migration effort for existing products with all 
previously defined AutomationPlans before the OSLC Automation 
Specification).

This can be solved by using an optional parameter that is set as a part of 
your explicit provider implementation (since you will understand in your 
implementation which "type" these AutomationPlans are for...).

Regards,
David
____________________________________________________
David Brauneis
STSM, Rational Software Delivery Automation Chief Architect
email: brauneis at us.ibm.com | phone: 720-395-5659 | mobile: 919-656-0874



From:   Jing Qian/New Haven/IBM
To:     David N Brauneis/Raleigh/IBM at IBMUS, 
Cc:     oslc-automation at open-services.net, 
oslc-automation-bounces at open-services.net
Date:   07/03/2012 09:45 AM
Subject:        Re: [Oslc-Automation] Implementation issues when 
Automation type is not  known


Hi David,

Thanks for your reply. 

I agree this is only an issue when a given server instance provides more 
than one type of Automation. 
But this may not be unique to only RQM, I think there could be other 
product sharing the same issues, i.e. In theory, Build Forge could be an 
automation provider for build as well as an automation provider for 
provisioning.

So from consumer side, it would be nice if we have some kind of standard 
way to deal with such situation. 
One way would be to check for the optional AutomationType attribute if it 
is set. And it is the provider's responsibility to set such this attribute 
if they are providing more than one type of automation.   This attribute 
does not need to be an enumeration field, it could be just a String field, 
servers for "label" purpose. 

Jing J. Qian

Development, Rational Quality Manager
Rational Software
IBM Software Group
4205 S. Miami Blvd.
Durham, NC 27703

Tel: 919-254-9455 T/L: 444-9455





From:
David N Brauneis/Raleigh/IBM
To:
Jing Qian/New Haven/IBM at IBMUS, 
Cc:
oslc-automation at open-services.net, 
oslc-automation-bounces at open-services.net
Date:
07/02/2012 05:38 PM
Subject:
Re: [Oslc-Automation] Implementation issues when Automation type is not 
known


In my opinion this appears to be a problem of your own creation - you have 
defined two different Automation Providers for different purposes in your 
own product and now you are having a problem in presenting this to end 
users.

But most of the Automation Providers are not defining themselves as an 
Automation Provider multiple times in a single runtime instance... Are you 
suggesting that we should define AutomationType as an enumeration for 
AutomationPlan (since it would need to be an enumeration with predefined 
well-known values it would have to be required). I have many concerns 
about this since we would essentially be forcing every other product to 
make changes and require end users to "type" their AutomationPlans in 
order to simplify your usage scenario... And would would be defining the 
AutomationTypes??? Most product could support numerous AutomationPlans 
that might be in support of different (or multiple) types of activities.

This appears to be a unique RQM issue and not something that needs to be 
added to the specification.

Regards,
David
____________________________________________________
David Brauneis
STSM, Rational Software Delivery Automation Chief Architect
email: brauneis at us.ibm.com | phone: 720-395-5659 | mobile: 919-656-0874




From:   Jing Qian/New Haven/IBM at IBMUS
To:     oslc-automation at open-services.net, 
Date:   07/02/2012 05:17 PM
Subject:        [Oslc-Automation] Implementation issues when Automation 
type is not     known
Sent by:        oslc-automation-bounces at open-services.net



Hi,

In a previous discussion, Pramod has proposed to a 
oslc_auto:automationType attribute, but there is some objection to it, 

see the thread here - 
http://open-services.net/pipermail/oslc-automation_open-services.net/2012-June/000182.html

see the thread here - 
http://open-services.net/pipermail/oslc-automation_open-services.net/2012-June/000182.html
Automation plan: We don't have oslc_auto:automationType attribute. Without 

this we can't distinguish whether Automation is for build, test, 
deployment, cloud etc.. I think this needs to be typed. 

<dnb>I actually do not agree with an approach that types the automation, 
there are some 
automation plans that might perform one or more of those different types 
as a part of the workflow (think a continuous integration or continuous 
delivery product - i.e., DevOps)... How would you characterize those? 
Also, some automation providers will exist that can support more than one 
type of automation and do not need them to be separated. What do we gain 
by forcing this?
</dnb>

<pchandor>I think when a AutomationPlan represents a group of Automations 
(like TestSuite in RQM, workflow in DevOps), it might make sense to call 
them "complex" type. Consider a scenario like user is defining a workflow 
in RTC, that when a build automation is completed, wants to run a Test 
Automation. When user will query automation from the automation provider 
(RQM), It would definitely like automation plan of 'test' type be listed 
to choose from. Do we think this should be defined in service providers 
name space?. I think having a type in spec will provide client hint about 
what type of  Automation plan it is.</pchandor> 

<dnb>I really think this is unnecessary, it is by choosing the  automation 
plans from the provider 
where this "hint" of what the automation plan might do. I think that the 
type would like end up being close to unique per automation provider which 

kind of defeats the purpose. What about automation providers that can do 
some generic automation work, would it then be up to the Automation 
Provider to change and require the end user to define the type of 
automation it is from a list of categories. I do not see what the gain for 

the consumer is here... If I ask RQM and it returns test, if I ask RTC and 

it returns build, and if I ask RAF and it returns deployment (always in 
each of these cases) what is the purpose?</dnb>

I'm bringing this discussion up again, because from end user story point 
of view, we have an issue not knowing the type of automation.

Consider this user scenario:
As a RTC user, I want to set the test(automation) result inside my build 
result so that I can view the test result directly from RTC. 

When user configures the cross server communication in RTC, the steps are 
usually the following 

Step1 -  Set up server friend relationship 

Step2 - Set up the project areas associations
If the friend server is an automation provider that provides several types 
of automation (build, test, provision, deployment...etc.), it could be 
confusing for the user which one is for which.

Here is an example, RQM is an automation service provider for both test 
and provisioning, this could be in its rootservice.xml

  <jd:oslcCatalogs>
<oslc:ServiceProviderCatalog rdf:about="
https://myserver1.ibm.com:9443/qm/auto/test/catalog">
<oslc:domain rdf:resource="http://open-services.net/ns/auto#"/>
    </oslc:ServiceProviderCatalog>
<oslc:ServiceProviderCatalog rdf:about="
https://myserver1.ibm.com:9443/qm/auto/provision/catalog">
 <oslc:domain rdf:resource="http://open-services.net/ns/auto#"/>
</oslc:ServiceProviderCatalog>
  </jd:oslcCatalogs>

As you can see, <oslc:domain> for these 2 service providers are the same, 
however, they just have different rdf:about URL, one is for test 
automation, the other is for provision automation.

But to the end user, when they have to choose the project area 
association, all they see are 2 "Uses - Automation" choices, they don't 
know which one is for which.

 

The association would show 2 
"Uses - Automation" options, with no additional information to show which 
one is for test, which one is for provisioning

Step3 - Using a picker to choose an Automation result
When programming this picker, it will need to be in the context of some 
integration points, but if we don't know what type is the automation 
association, how can we make sure we display the right content? 
e.g.  we need to bring up the UI picker to choose an automation (test) 
result, but it could show a list of the automation result for provisioning 
rather than for test. 


Jing J. Qian

Development, Rational Quality Manager
Rational Software
IBM Software Group
4205 S. Miami Blvd.
Durham, NC 27703

Tel: 919-254-9455 T/L: 444-9455
_______________________________________________
Oslc-Automation mailing list
Oslc-Automation at open-services.net
http://open-services.net/mailman/listinfo/oslc-automation_open-services.net



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://open-services.net/pipermail/oslc-automation_open-services.net/attachments/20120703/6d6303ba/attachment-0003.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 105 bytes
Desc: not available
URL: <http://open-services.net/pipermail/oslc-automation_open-services.net/attachments/20120703/6d6303ba/attachment.gif>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 38328 bytes
Desc: not available
URL: <http://open-services.net/pipermail/oslc-automation_open-services.net/attachments/20120703/6d6303ba/attachment.jpe>


More information about the Oslc-Automation mailing list