Re: Request for Comments: multi-vendor vs single-vendor

2011-11-10 Thread LJ LongWing
John,

I think the question is less about if the tools you use come from one vendor
or not, but how those/that vendor handles the separate products.  If as you
say that the 'suite' is only released as a suite, and if one portion of that
suite is 'hung up' for some reason, they don't release the suite.that can
cause issues.

 

But tell me this.when was the last time MS released Word before it released
Excel of the same version?  To my knowledge it hasn't happened.MS chooses to
sell its Office Suite as a suite, and as such, you must wait for all
components to be ready before you get the next version.

 

This discussion goes back a bit to last week's discussion regarding
interfaces between modules within the same suite.

 

I think it's awesome that there are competitors to BMC in some spaces of the
Service Desk arena, but I can't honestly fault BMC for delaying a suite
install because some components needing additional tweaking J

 

From: Action Request System discussion list(ARSList)
[mailto:arslist@ARSLIST.ORG] On Behalf Of John Sundberg
Sent: Wednesday, November 09, 2011 10:23 AM
To: arslist@ARSLIST.ORG
Subject: Request for Comments: multi-vendor vs single-vendor

 

** 

 

What are the thoughts around multi-vendor vs single-vendor?

 

Michael Poole - from our company recently wrote a good blog post on the
subject:

http://blog.kineticdata.com/vendor-strategy/are-we-living-in-a-one-horse-tow
n/

 

 

My observations are in-line with the blog post. A single-vendor approach
puts companies on the path of the vision of that vendor -- and quite frankly
not on their own company path - which should be business agenda driven.

 

 

I find it IMPOSSIBLE for a single-vendor approach to be able to fit the
REALITY of today's larger organizations. As witnessed by the size of
projects and the length of projects to deploy the single vision. (And then -
to address the updates - when they come out)

 

 

Weird stuff happens:

 

- Forced pricing changes, leverage is to the vendor - and these are against
your suite typically - and therefore -- all products at one time

- Dropped product RFEs - dropped because it is slowing down all the other
products (Next release is 2 years)

- Release slowdowns - since everything is tied together - you have to wait
for unrelated items to get fixed before the release is out

(So - you might care about Incident -- but the next release of Incident is
not coming out until Change gets fixed (which is behind schedule) etc...)

 

 

From a business perspective -- BAD PLAN - IMHO.

 

 

Do others feel different?

 

 

Is the Big Suite - a vendor benefit - or a customer benefit?

 

 

I look forward to the comments.

 

 

-John

 

 

--

John Sundberg

Save the Date! First Annual KEG - Kinetic Enthusiasts Group

Feb. 29th - Mar. 2nd 2012 in Denver CO

 

For more information click here - KEG
http://www.kineticdata.com/Events/KEG.html 


Kinetic Data, Inc.
Building a Better Service Experience
Recipient of:

 

WWRUG10 Best Customer Service/Support Award

WWRUG09 Innovator of the Year Award

john.sundb...@kineticdata.com
651.556.0930  I   http://www.kineticdata.com/ www.kineticdata.com

 

 

 

 

 

 

 

 

 

_attend WWRUG12 www.wwrug.com ARSlist: Where the Answers Are_ 


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: Where the Answers Are


Re: Request for Comments: multi-vendor vs single-vendor

2011-11-10 Thread Misi Mladoniczky
Hi,

To take this one step further, any Out-Of-The-Box application will control
the customer, but a home-grown application will be all based on customer
requirements...

If you rely on a platform, like Remedy, you need to adapt your
requirements to the limitations of the platform.

A. If you have a single vendor with a suite, you will have to adapt more,
and wait for the suite to be released.

B. If you have multi-vendor OOB applications, you will have to deal with
the integrations.

C. If you build everything in C, you can get anything, but it will
probably take some time and money until you are done...

I for one hope that the pendulum will move back toward home grown
applications. Maybe not for everything, but at least for some tasks.

Best Regards - Misi, RRR AB, http://www.rrr.se (ARSList MVP 2011)

Products from RRR Scandinavia (Best R.O.I. Award at WWRUG10/11):
* RRR|License - Not enough Remedy licenses? Save money by optimizing.
* RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
Find these products, and many free tools and utilities, at http://rrr.se.

 John,

 I think the question is less about if the tools you use come from one
 vendor
 or not, but how those/that vendor handles the separate products.  If as
 you
 say that the 'suite' is only released as a suite, and if one portion of
 that
 suite is 'hung up' for some reason, they don't release the suite.that can
 cause issues.



 But tell me this.when was the last time MS released Word before it
 released
 Excel of the same version?  To my knowledge it hasn't happened.MS chooses
 to
 sell its Office Suite as a suite, and as such, you must wait for all
 components to be ready before you get the next version.



 This discussion goes back a bit to last week's discussion regarding
 interfaces between modules within the same suite.



 I think it's awesome that there are competitors to BMC in some spaces of
 the
 Service Desk arena, but I can't honestly fault BMC for delaying a suite
 install because some components needing additional tweaking J



 From: Action Request System discussion list(ARSList)
 [mailto:arslist@ARSLIST.ORG] On Behalf Of John Sundberg
 Sent: Wednesday, November 09, 2011 10:23 AM
 To: arslist@ARSLIST.ORG
 Subject: Request for Comments: multi-vendor vs single-vendor



 **



 What are the thoughts around multi-vendor vs single-vendor?



 Michael Poole - from our company recently wrote a good blog post on the
 subject:

 http://blog.kineticdata.com/vendor-strategy/are-we-living-in-a-one-horse-tow
 n/





 My observations are in-line with the blog post. A single-vendor approach
 puts companies on the path of the vision of that vendor -- and quite
 frankly
 not on their own company path - which should be business agenda driven.





 I find it IMPOSSIBLE for a single-vendor approach to be able to fit the
 REALITY of today's larger organizations. As witnessed by the size of
 projects and the length of projects to deploy the single vision. (And then
 -
 to address the updates - when they come out)





 Weird stuff happens:



 - Forced pricing changes, leverage is to the vendor - and these are
 against
 your suite typically - and therefore -- all products at one time

 - Dropped product RFEs - dropped because it is slowing down all the other
 products (Next release is 2 years)

 - Release slowdowns - since everything is tied together - you have to wait
 for unrelated items to get fixed before the release is out

 (So - you might care about Incident -- but the next release of Incident is
 not coming out until Change gets fixed (which is behind schedule) etc...)





From a business perspective -- BAD PLAN - IMHO.





 Do others feel different?





 Is the Big Suite - a vendor benefit - or a customer benefit?





 I look forward to the comments.





 -John





 --

 John Sundberg

 Save the Date! First Annual KEG - Kinetic Enthusiasts Group

 Feb. 29th - Mar. 2nd 2012 in Denver CO



 For more information click here - KEG
 http://www.kineticdata.com/Events/KEG.html


 Kinetic Data, Inc.
 Building a Better Service Experience
 Recipient of:



 WWRUG10 Best Customer Service/Support Award

 WWRUG09 Innovator of the Year Award

 john.sundb...@kineticdata.com
 651.556.0930  I   http://www.kineticdata.com/ www.kineticdata.com



















 _attend WWRUG12 www.wwrug.com ARSlist: Where the Answers Are_


 ___
 UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
 attend wwrug12 www.wwrug12.com ARSList: Where the Answers Are


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: Where the Answers Are


Re: Request for Comments

2011-11-04 Thread Elry
This interface discussion is interesting and all , but I do not think
that the ITSM application will readily conform to this approach. I
think we are forgetting that ITSM is meant to be ITIL compliant.  For
those who have worked on the process side of ITIL - I am certain that
you will be aware of how tightly coupled the ITIL proceses are...

Keep in mind that the ITIL process is a blueprint for how things
should work and not necessarily the cookie cutter approach for all
organizations.  This is why many of us find work customizing the
ITSM application.  I use the term customize loosely, since this could
mean adding a few fields to revamping large portions of the process
model.  Now, if you put fixed structures in place and standardize the
interactions between processes - you are effectively making a flexible
model rigid.

I think that if we keep in mind that this is a process driven
application; therefore, it must remain as flexible as possible - then
we would have to conclude that the current architecture - offers the
greatest degree of flexibility.

BMC has done an excellent job giving us some base structures and
processes as well as amazing integration tools (by BMC and third party
vendors).  I believe that Overlays are a great concept - that once
refined will be a formidable tool for our customization tool set.

To me (keeping in mind that this is an ITIL tool set) - the only
missing component for ITSM is a tool that would enable the BMC
Engineer to modify the ITSM process on the fly.  We have the
technology, and the people (all you arlisters), now all we need for
our tool belt is something that could effectively change a process on
the fly, or build/re-engineer a process on the fly.

Imagine if you would that there is a tool that would:

1.  Allow you to design your process in Visio.
2.  Link your process to the underlying ITSM structures.
3.  Link your process to the underlying categorization structure, and
product catalog.
4.  Enable customization to be defined through process definitions.
5.  These processes that are graphically designed can then be called
from the ITSM application and executed based on the underlying ITSM
structures and workflow.

This would mean that:

1. You utilize the underlying ITSM application to hold your data and
basic workflow.
2. Overlays are utilized to make structural changes that or
Organizationally dependent.
3. Workflow is designed and executed through process diagrams that are
written in a Visio like environment.
4. API integration would focus on integration between enterprise
applications.
5. BMC could and will continue to focus on plugins for the purpose
of integration.

Process, process, process...

This is my take on this...






On Nov 2, 3:55 pm, Richard Baird richard_ba...@sympatico.ca wrote:
 That works for me Axton. If they wanted to get even fancier, they could
 implement it via the Interface Form model I described, and have the saving
 of the form (along with it's attached/embedded XML legal operations,
 exceptions, etc...) automatically create and publish the web service.

 That way every integration method/mechanism would have the same behaviour,
 because it would be based on the same source (the Interface Form for the
 specific interface)

 Cheers!

 Subject: Re: Request for Comments
 From: Axton axton.gr...@gmail.com
 Reply-To: arsl...@arslist.org
 Date: Wed, 2 Nov 2011 14:45:38 -0500

 ** I envisioned the interfaces implemented as web services, not as an API.
 A web service layer makes plugging into other things easier.  One of the
 drivers for me starting this conversation is what I see many of the cloud
 providers offering and leveraging as their interfaces into and out of their
 applications.  I have some exposure to the service oriented architecture as
 well, which plays into this paradigm nicely.

 If, within Remedy, all the interfaces were exposed as web services and
 Remedy had a native way to consumer those web service based interfaces, it
 opens the door nicely for other things to operate at that level.  Web
 services seem to be a common method of integration in the cloud space.  SOA
 infrastructure deployments seem to be in their infancy, but I see them
 gaining traction, as long as they are capable of delivering on their value
 proposition.http://www.zapthink.com/2005/01/27/the-roi-of-soa/

 The lifecycle around services is pretty well defined in this space as 
 well.http://www.soablueprint.com/whitepapers/SOAPGPart3.pdf

 Axton Grams

 On Wed, Nov 2, 2011 at 2:20 PM, Richard Baird richard_ba...@sympatico.ca
 wrote:

 LJ,

 Having done lots of OO stuff as well as ARS over the years, I fully grasp
 the concepts you're putting forward, however, I think the goal should be
 Interfaces, not necessarily API Interfaces. For most apps built using
 java or .net (or some other OO platform) as a base, I agree that tightly
 defined api interfaces are the way to go. But ARS is somewhat different in
 that the integration tools already in existence

Re: Request for Comments

2011-11-04 Thread Cecil, Ken
I would think that any interface designed would be agnostic to processes and 
just be concerned with providing the services agreed upon in the contract. No 
matter what happens behind the scene, the interface would handle the request 
the same whether it be for interactive users, service consumers, other ITSM 
apps, or other integrated apps/processes. The interface should be somewhat 
abstracted from the underlying forms, processes, and customizations. The 
interface contract should be generic and flexible enough to handle/anticipate 
customizations and schema changes (similar to xml).

Elry,  I believe Abydos Designer already does most of what you were referring 
to about diagramming and creating workflow via a visio type diagram.

Ken Cecil

-Original Message-
From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORG] On Behalf Of Elry
Sent: Friday, November 04, 2011 9:26 AM
To: arslist@ARSLIST.ORG
Subject: Re: Request for Comments

This interface discussion is interesting and all , but I do not think
that the ITSM application will readily conform to this approach. I
think we are forgetting that ITSM is meant to be ITIL compliant.  For
those who have worked on the process side of ITIL - I am certain that
you will be aware of how tightly coupled the ITIL proceses are...

Keep in mind that the ITIL process is a blueprint for how things
should work and not necessarily the cookie cutter approach for all
organizations.  This is why many of us find work customizing the
ITSM application.  I use the term customize loosely, since this could
mean adding a few fields to revamping large portions of the process
model.  Now, if you put fixed structures in place and standardize the
interactions between processes - you are effectively making a flexible
model rigid.

I think that if we keep in mind that this is a process driven
application; therefore, it must remain as flexible as possible - then
we would have to conclude that the current architecture - offers the
greatest degree of flexibility.

BMC has done an excellent job giving us some base structures and
processes as well as amazing integration tools (by BMC and third party
vendors).  I believe that Overlays are a great concept - that once
refined will be a formidable tool for our customization tool set.

To me (keeping in mind that this is an ITIL tool set) - the only
missing component for ITSM is a tool that would enable the BMC
Engineer to modify the ITSM process on the fly.  We have the
technology, and the people (all you arlisters), now all we need for
our tool belt is something that could effectively change a process on
the fly, or build/re-engineer a process on the fly.

Imagine if you would that there is a tool that would:

1.  Allow you to design your process in Visio.
2.  Link your process to the underlying ITSM structures.
3.  Link your process to the underlying categorization structure, and
product catalog.
4.  Enable customization to be defined through process definitions.
5.  These processes that are graphically designed can then be called
from the ITSM application and executed based on the underlying ITSM
structures and workflow.

This would mean that:

1. You utilize the underlying ITSM application to hold your data and
basic workflow.
2. Overlays are utilized to make structural changes that or
Organizationally dependent.
3. Workflow is designed and executed through process diagrams that are
written in a Visio like environment.
4. API integration would focus on integration between enterprise
applications.
5. BMC could and will continue to focus on plugins for the purpose
of integration.

Process, process, process...

This is my take on this...






On Nov 2, 3:55 pm, Richard Baird richard_ba...@sympatico.ca wrote:
 That works for me Axton. If they wanted to get even fancier, they could
 implement it via the Interface Form model I described, and have the saving
 of the form (along with it's attached/embedded XML legal operations,
 exceptions, etc...) automatically create and publish the web service.

 That way every integration method/mechanism would have the same behaviour,
 because it would be based on the same source (the Interface Form for the
 specific interface)

 Cheers!

 Subject: Re: Request for Comments
 From: Axton axton.gr...@gmail.com
 Reply-To: arsl...@arslist.org
 Date: Wed, 2 Nov 2011 14:45:38 -0500

 ** I envisioned the interfaces implemented as web services, not as an API.
 A web service layer makes plugging into other things easier.  One of the
 drivers for me starting this conversation is what I see many of the cloud
 providers offering and leveraging as their interfaces into and out of their
 applications.  I have some exposure to the service oriented architecture as
 well, which plays into this paradigm nicely.

 If, within Remedy, all the interfaces were exposed as web services and
 Remedy had a native way to consumer those web service based interfaces, it
 opens the door nicely for other

Re: Request for Comments

2011-11-04 Thread Elry
Hey Ken...

I guess what I am trying to say is that - I don't think you could
build such a generic interface. Maybe some approximation thereof, but
not completely. Once you have this API, then what - build a new suite
of toolsets to leverage the API?

We are currently using Abydos - I am extrapolating from this concept -
to suggest that process definition/engineering should supersede API
augmentation if we are looking at a way to make ITSM more efficient.



On Nov 4, 9:58 am, Cecil, Ken kce...@hubbell.com wrote:
 I would think that any interface designed would be agnostic to processes and 
 just be concerned with providing the services agreed upon in the contract. No 
 matter what happens behind the scene, the interface would handle the request 
 the same whether it be for interactive users, service consumers, other ITSM 
 apps, or other integrated apps/processes. The interface should be somewhat 
 abstracted from the underlying forms, processes, and customizations. The 
 interface contract should be generic and flexible enough to handle/anticipate 
 customizations and schema changes (similar to xml).

 Elry,  I believe Abydos Designer already does most of what you were referring 
 to about diagramming and creating workflow via a visio type diagram.

 Ken Cecil







 -Original Message-
 From: Action Request System discussion list(ARSList) 
 [mailto:arsl...@arslist.org] On Behalf Of Elry
 Sent: Friday, November 04, 2011 9:26 AM
 To: arsl...@arslist.org
 Subject: Re: Request for Comments

 This interface discussion is interesting and all , but I do not think
 that the ITSM application will readily conform to this approach. I
 think we are forgetting that ITSM is meant to be ITIL compliant.  For
 those who have worked on the process side of ITIL - I am certain that
 you will be aware of how tightly coupled the ITIL proceses are...

 Keep in mind that the ITIL process is a blueprint for how things
 should work and not necessarily the cookie cutter approach for all
 organizations.  This is why many of us find work customizing the
 ITSM application.  I use the term customize loosely, since this could
 mean adding a few fields to revamping large portions of the process
 model.  Now, if you put fixed structures in place and standardize the
 interactions between processes - you are effectively making a flexible
 model rigid.

 I think that if we keep in mind that this is a process driven
 application; therefore, it must remain as flexible as possible - then
 we would have to conclude that the current architecture - offers the
 greatest degree of flexibility.

 BMC has done an excellent job giving us some base structures and
 processes as well as amazing integration tools (by BMC and third party
 vendors).  I believe that Overlays are a great concept - that once
 refined will be a formidable tool for our customization tool set.

 To me (keeping in mind that this is an ITIL tool set) - the only
 missing component for ITSM is a tool that would enable the BMC
 Engineer to modify the ITSM process on the fly.  We have the
 technology, and the people (all you arlisters), now all we need for
 our tool belt is something that could effectively change a process on
 the fly, or build/re-engineer a process on the fly.

 Imagine if you would that there is a tool that would:

 1.  Allow you to design your process in Visio.
 2.  Link your process to the underlying ITSM structures.
 3.  Link your process to the underlying categorization structure, and
 product catalog.
 4.  Enable customization to be defined through process definitions.
 5.  These processes that are graphically designed can then be called
 from the ITSM application and executed based on the underlying ITSM
 structures and workflow.

 This would mean that:

 1. You utilize the underlying ITSM application to hold your data and
 basic workflow.
 2. Overlays are utilized to make structural changes that or
 Organizationally dependent.
 3. Workflow is designed and executed through process diagrams that are
 written in a Visio like environment.
 4. API integration would focus on integration between enterprise
 applications.
 5. BMC could and will continue to focus on plugins for the purpose
 of integration.

 Process, process, process...

 This is my take on this...

 On Nov 2, 3:55 pm, Richard Baird richard_ba...@sympatico.ca wrote:
  That works for me Axton. If they wanted to get even fancier, they could
  implement it via the Interface Form model I described, and have the saving
  of the form (along with it's attached/embedded XML legal operations,
  exceptions, etc...) automatically create and publish the web service.

  That way every integration method/mechanism would have the same behaviour,
  because it would be based on the same source (the Interface Form for the
  specific interface)

  Cheers!

  Subject: Re: Request for Comments
  From: Axton axton.gr...@gmail.com
  Reply-To: arsl...@arslist.org
  Date: Wed, 2 Nov 2011 14:45:38 -0500

  ** I

Re: Request for Comments

2011-11-04 Thread Jiri Pospisil
I believe that standardised services (or APIs) would bring a great value if 
they were adopted and implemented by many/all vendors.
The services would follow ITIL processes, so there would be Incident Management 
Service, Event Management Service etc.
Each service would have a set of mandatory operations with mandatory 
attributes, but allowing the model to be extended, so that each vendor can 
leverage their specific features and offer them to outside world (or other 
products of their own).
Any product that would claim support of this standardised service set would 
have to implement all mandatory operations for the process(es) supported by the 
product.

It should then be easy to switch between products as in theory, if I decided to 
switch from BEM to HP Open View the interface on Incident management side is 
there, well defined and ready to be used, so the cost of switching should be 
minimal (from the point of view of integrating with incident management).

But it is all perhaps a bit of a fantasy anyway ...

Regards
Jiri Pospisil

-Original Message-
From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORG] On Behalf Of Cecil, Ken
Sent: 04 November 2011 13:58
To: arslist@ARSLIST.ORG
Subject: Re: Request for Comments

I would think that any interface designed would be agnostic to processes and 
just be concerned with providing the services agreed upon in the contract. No 
matter what happens behind the scene, the interface would handle the request 
the same whether it be for interactive users, service consumers, other ITSM 
apps, or other integrated apps/processes. The interface should be somewhat 
abstracted from the underlying forms, processes, and customizations. The 
interface contract should be generic and flexible enough to handle/anticipate 
customizations and schema changes (similar to xml).

Elry,  I believe Abydos Designer already does most of what you were referring 
to about diagramming and creating workflow via a visio type diagram.

Ken Cecil

-Original Message-
From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORG] On Behalf Of Elry
Sent: Friday, November 04, 2011 9:26 AM
To: arslist@ARSLIST.ORG
Subject: Re: Request for Comments

This interface discussion is interesting and all , but I do not think
that the ITSM application will readily conform to this approach. I
think we are forgetting that ITSM is meant to be ITIL compliant.  For
those who have worked on the process side of ITIL - I am certain that
you will be aware of how tightly coupled the ITIL proceses are...

Keep in mind that the ITIL process is a blueprint for how things
should work and not necessarily the cookie cutter approach for all
organizations.  This is why many of us find work customizing the
ITSM application.  I use the term customize loosely, since this could
mean adding a few fields to revamping large portions of the process
model.  Now, if you put fixed structures in place and standardize the
interactions between processes - you are effectively making a flexible
model rigid.

I think that if we keep in mind that this is a process driven
application; therefore, it must remain as flexible as possible - then
we would have to conclude that the current architecture - offers the
greatest degree of flexibility.

BMC has done an excellent job giving us some base structures and
processes as well as amazing integration tools (by BMC and third party
vendors).  I believe that Overlays are a great concept - that once
refined will be a formidable tool for our customization tool set.

To me (keeping in mind that this is an ITIL tool set) - the only
missing component for ITSM is a tool that would enable the BMC
Engineer to modify the ITSM process on the fly.  We have the
technology, and the people (all you arlisters), now all we need for
our tool belt is something that could effectively change a process on
the fly, or build/re-engineer a process on the fly.

Imagine if you would that there is a tool that would:

1.  Allow you to design your process in Visio.
2.  Link your process to the underlying ITSM structures.
3.  Link your process to the underlying categorization structure, and
product catalog.
4.  Enable customization to be defined through process definitions.
5.  These processes that are graphically designed can then be called
from the ITSM application and executed based on the underlying ITSM
structures and workflow.

This would mean that:

1. You utilize the underlying ITSM application to hold your data and
basic workflow.
2. Overlays are utilized to make structural changes that or
Organizationally dependent.
3. Workflow is designed and executed through process diagrams that are
written in a Visio like environment.
4. API integration would focus on integration between enterprise
applications.
5. BMC could and will continue to focus on plugins for the purpose
of integration.

Process, process, process...

This is my take on this...






On Nov 2, 3:55

Re: Request for Comments

2011-11-04 Thread Axton
It is a fantasy, call me a dreamer; however, I think it's important to
have these discussions.  The idea was not to change the products (I am
not in a position to do this nor do I think any single person is),
unless there merit in doing it, but to have a candid discussion about
what the products could be so that the idea is out there.

Axton Grams

On Fri, Nov 4, 2011 at 1:17 PM, Jiri Pospisil
jiri.pospi...@lchclearnet.com wrote:
 I believe that standardised services (or APIs) would bring a great value if 
 they were adopted and implemented by many/all vendors.
 The services would follow ITIL processes, so there would be Incident 
 Management Service, Event Management Service etc.
 Each service would have a set of mandatory operations with mandatory 
 attributes, but allowing the model to be extended, so that each vendor can 
 leverage their specific features and offer them to outside world (or other 
 products of their own).
 Any product that would claim support of this standardised service set would 
 have to implement all mandatory operations for the process(es) supported by 
 the product.

 It should then be easy to switch between products as in theory, if I decided 
 to switch from BEM to HP Open View the interface on Incident management side 
 is there, well defined and ready to be used, so the cost of switching should 
 be minimal (from the point of view of integrating with incident management).

 But it is all perhaps a bit of a fantasy anyway ...

 Regards
 Jiri Pospisil

 -Original Message-
 From: Action Request System discussion list(ARSList) 
 [mailto:arslist@ARSLIST.ORG] On Behalf Of Cecil, Ken
 Sent: 04 November 2011 13:58
 To: arslist@ARSLIST.ORG
 Subject: Re: Request for Comments

 I would think that any interface designed would be agnostic to processes and 
 just be concerned with providing the services agreed upon in the contract. No 
 matter what happens behind the scene, the interface would handle the request 
 the same whether it be for interactive users, service consumers, other ITSM 
 apps, or other integrated apps/processes. The interface should be somewhat 
 abstracted from the underlying forms, processes, and customizations. The 
 interface contract should be generic and flexible enough to handle/anticipate 
 customizations and schema changes (similar to xml).

 Elry,  I believe Abydos Designer already does most of what you were referring 
 to about diagramming and creating workflow via a visio type diagram.

 Ken Cecil

 -Original Message-
 From: Action Request System discussion list(ARSList) 
 [mailto:arslist@ARSLIST.ORG] On Behalf Of Elry
 Sent: Friday, November 04, 2011 9:26 AM
 To: arslist@ARSLIST.ORG
 Subject: Re: Request for Comments

 This interface discussion is interesting and all , but I do not think
 that the ITSM application will readily conform to this approach. I
 think we are forgetting that ITSM is meant to be ITIL compliant.  For
 those who have worked on the process side of ITIL - I am certain that
 you will be aware of how tightly coupled the ITIL proceses are...

 Keep in mind that the ITIL process is a blueprint for how things
 should work and not necessarily the cookie cutter approach for all
 organizations.  This is why many of us find work customizing the
 ITSM application.  I use the term customize loosely, since this could
 mean adding a few fields to revamping large portions of the process
 model.  Now, if you put fixed structures in place and standardize the
 interactions between processes - you are effectively making a flexible
 model rigid.

 I think that if we keep in mind that this is a process driven
 application; therefore, it must remain as flexible as possible - then
 we would have to conclude that the current architecture - offers the
 greatest degree of flexibility.

 BMC has done an excellent job giving us some base structures and
 processes as well as amazing integration tools (by BMC and third party
 vendors).  I believe that Overlays are a great concept - that once
 refined will be a formidable tool for our customization tool set.

 To me (keeping in mind that this is an ITIL tool set) - the only
 missing component for ITSM is a tool that would enable the BMC
 Engineer to modify the ITSM process on the fly.  We have the
 technology, and the people (all you arlisters), now all we need for
 our tool belt is something that could effectively change a process on
 the fly, or build/re-engineer a process on the fly.

 Imagine if you would that there is a tool that would:

 1.  Allow you to design your process in Visio.
 2.  Link your process to the underlying ITSM structures.
 3.  Link your process to the underlying categorization structure, and
 product catalog.
 4.  Enable customization to be defined through process definitions.
 5.  These processes that are graphically designed can then be called
 from the ITSM application and executed based on the underlying ITSM
 structures and workflow.

 This would mean that:

 1. You

Re: Request for Comments

2011-11-03 Thread LJ LongWing
Completely agree, Remedy would need enhancements to handle the complex
nature of Web Service calls internally.but I agree with Richard that we
don't want to be making WS calls internally..the overhead of that would be
huge to have apps on the same server communicating with each other through
MidTier..

 

From: Action Request System discussion list(ARSList)
[mailto:arslist@ARSLIST.ORG] On Behalf Of Axton
Sent: Wednesday, November 02, 2011 2:11 PM
To: arslist@ARSLIST.ORG
Subject: Re: Request for Comments

 

** I see limitations to the form approach that could be counter productive
and/or limiting.  xml (encapsulated in a web service) provides a richer set
of capabilities to describe, store, and validate data.  For instance, if one
of the services to get a list of things, be it incidents, changes, tasks,
etc., a single response could be returned as an xml document.  Part of the
request could be what to query on, the other part of the request could be
what to return.  The same for a service like create an incident, it could
handle any number of tasks, work info records, related items, etc. that are
desired at create time.  I don't see an easy or good way to achieve similar
results using a form.  Again, I would expect this to all be native within
AR, a new type of workflow action, if apps are to consume services from one
another.  Some type of interface where, within the workflow, you could
browse the available services (and why stop at just Remedy services) and
select the appropriate one and view the definition of the service.  This is
not so far from the current web service implementation, but a richer set of
capabilities would be required.

 

Axton Grams

On Wed, Nov 2, 2011 at 2:55 PM, Richard Baird richard_ba...@sympatico.ca
wrote:

That works for me Axton. If they wanted to get even fancier, they could
implement it via the Interface Form model I described, and have the saving
of the form (along with it's attached/embedded XML legal operations,
exceptions, etc...) automatically create and publish the web service.

That way every integration method/mechanism would have the same behaviour,
because it would be based on the same source (the Interface Form for the
specific interface)


Cheers!

Subject: Re: Request for Comments

From: Axton axton.gr...@gmail.com
Reply-To: arslist@ARSLIST.ORG
Date: Wed, 2 Nov 2011 14:45:38 -0500

** I envisioned the interfaces implemented as web services, not as an API.

A web service layer makes plugging into other things easier.  One of the
drivers for me starting this conversation is what I see many of the cloud
providers offering and leveraging as their interfaces into and out of their
applications.  I have some exposure to the service oriented architecture as
well, which plays into this paradigm nicely.


If, within Remedy, all the interfaces were exposed as web services and
Remedy had a native way to consumer those web service based interfaces, it
opens the door nicely for other things to operate at that level.  Web
services seem to be a common method of integration in the cloud space.  SOA
infrastructure deployments seem to be in their infancy, but I see them
gaining traction, as long as they are capable of delivering on their value
proposition.
http://www.zapthink.com/2005/01/27/the-roi-of-soa/


The lifecycle around services is pretty well defined in this space as well.
http://www.soablueprint.com/whitepapers/SOAPGPart3.pdf


Axton Grams


On Wed, Nov 2, 2011 at 2:20 PM, Richard Baird richard_ba...@sympatico.ca
wrote:

LJ,

Having done lots of OO stuff as well as ARS over the years, I fully grasp
the concepts you're putting forward, however, I think the goal should be
Interfaces, not necessarily API Interfaces. For most apps built using
java or .net (or some other OO platform) as a base, I agree that tightly
defined api interfaces are the way to go. But ARS is somewhat different in
that the integration tools already in existence are widely used both within
the ITSM as well as many other third party or custom apps and they afford
great flexibility, which is one of the reasons ARS became so popular to
begin with.

I don't see any reason that the capabilities we're talking about can't be
implemented via a special Interface Form type or layering versioning on
top of existing technology rather than requiring a call to a new C/java/.net
api. Not everyone uses the api to do integration and for integration between
apps both running on ARS platform (like the ITSM stuff), whether they are
BMC or someone else's, most will do it via workflow.

If the special form approach is used (and fully documented), then an
integration using the interface would behave exactly the same if it is done
via workflow, C API, Java API, .net api, Perl, etc... Nothing to stop BMC
from doing full error checking, implementing exceptions, etc... for activity
in the special form, and all the code would be visible so folks could easily
understand what is happening when they touch the form (or encounter

Re: Request for Comments

2011-11-02 Thread Elry
Excellent Points...

Now how do we do that - that is the million dollar question.

They would probably have to rebuild the application from the ground
up!

I do a lot of RD in this space and we are working on a prototype
with

similar capabilities that would allow the client to do plug and play

with the different modules (Change, Incident, etc.).  Not only that,
but

it would have auto-archiving built in...

The ITSM 7 product could be rebuilt and re-engineered to do what

you are suggesting, but we may have to wait for version 10.



On Nov 1, 7:59 pm, Axton axton.gr...@gmail.com wrote:
 This is more a high level discussion and is concept/design oriented.
  Please feel free to chime in with your thoughts.  I look forward to the
 collective wisdom of this list.  I is my hope that a a constructive
 discussion can happen around this subject and the powers that be can gain
 insight gleaned from the discussion.

 First, a little background.  I was in the Help Desk/ITSM space, left that
 arena for a few years, and have since returned.  After working with the
 ITSM application for a few short months I am realizing how
 tightly ingrained these applications are with one another (incident,
 problem, asset, change, cmdb, etc.).  The tightly coupled integrations make
 certain tasks exceedingly difficult, for example:
 - using an outside system for change management (or any other process, for
 that matter)
 - upgrading a single application in the stack (e.g., change management)
 - integrating outside applications with the ITSM applications

 Non-remedy or custom remedy applications are unable to easily or
 effectively communicate with the ITSM applications in the same way that the
 ITSM applications communicate with one another.  Even different versions of
 the applications are unable to effectively communicate.

 Consider that each application facilitates a well defined process.  Each
 process has inputs, outputs, and actions.  The ITSM applications could have
 (and leverage, internally) interfaces to communicate their inputs and
 inputs, outputs, and actions.  Java Interfaces are an implementation of
 this design pattern that are a prime example of the flexibilities that this
 can afford.

 *Interfaces form a contract between the class and the outside world...*
 *-- *http://download.oracle.com/javase/tutorial/java/concepts/interface.html

 Interfaces can be versioned (e.g., 'Create Incident' interface version 1
 supports a field ,Priority; 'Create Incident' interface version 2 supports
 a new field, Urgency, etc.).  By creating an interface (i.e., a contract)
 and back-end instrumentation to implement the interface, applications could
 be upgraded independent of one another; all the communicating components
 need to know is the version of the interface and that dictates the
 capabilities of said interface.  With this idea, I am borrowing from the
 approach that many of the SOA stacks are implementing:

 *One the most popular approaches for dealing with changes is versioning.
 Versioning assumes simultaneous existence of multiple (different)
 implementations of the same thing, with every implementation
 distinguishable and individually addressable. In the case of SOA, service
 versioning equates to coexistence of multiple versions of the same service,
 which allows each consumer to use the version that it is designed and
 tested for (see Figure 1). In this case, a new version of a service is
 created based on the requirements of one or more consumers, which can start
 using this new version immediately. The other consumers of this service do
 not need to switch to using the latest version immediately, but can
 continue to use the versions of the service they were designed for and
 tested with. They can switch to the latest version of service, based on
 their own development and testing schedule. Multiple coexisting versions of
 the same service in the system allows for the independent life cycles of
 services and their consumers and minimizes the overall impact of the
 introduction of changes. Although the necessity of such versioning
 mechanism may be obvious to anyone who has ever dealt with services, this
 topic still has not penetrated the mainstream of SOA publications and
 implementations. *
 --http://msdn.microsoft.com/en-us/library/bb491124.aspx#jour11version_t...

 A few key concepts here:
 - Interfaces and versioning
   - Well defined interfaces
   - Interface life-cycle (e.g., the last 3 major versions of the interfaces
 will remain supported, after which, they are deprecated)
 - Loosely coupled applications (to the extent that the applications could
 run on different physical servers/databases) that leverage only the
 interfaces the applications provide as a means of communication

 Such a change to the current paradigm would open the doors to a lot of
 things that are simply not feasible at this time, all of which start with
 better interoperability.  This is something that is important in the cloud
 

Re: Request for Comments

2011-11-02 Thread Axton
How? is not a question I am in a position to answer.  It's an idea, and I
like to think it's a good idea; that's why I threw it out here, to see what
others think.  If it's good enough idea it will stick and be adopted in
varying degrees.  It may not be adopted within the ITSM arena, but there
are plenty of other application vendors, Remedy and non-Remedy alike, that
may consider the merits of such an approach.  I imagine it's more than a
million dollar question, and probably more than a million dollar answer ;)
 One thing I hope to answer with this discussion, is what components are
missing from the AR stack to make this a possibility.

Thanks for the feedback.

Axton

On Wed, Nov 2, 2011 at 8:28 AM, Elry elryal...@gmail.com wrote:

 Excellent Points...

 Now how do we do that - that is the million dollar question.

 They would probably have to rebuild the application from the ground
 up!

 I do a lot of RD in this space and we are working on a prototype
 with

 similar capabilities that would allow the client to do plug and play

 with the different modules (Change, Incident, etc.).  Not only that,
 but

 it would have auto-archiving built in...

 The ITSM 7 product could be rebuilt and re-engineered to do what

 you are suggesting, but we may have to wait for version 10.



 On Nov 1, 7:59 pm, Axton axton.gr...@gmail.com wrote:
  This is more a high level discussion and is concept/design oriented.
   Please feel free to chime in with your thoughts.  I look forward to the
  collective wisdom of this list.  I is my hope that a a constructive
  discussion can happen around this subject and the powers that be can gain
  insight gleaned from the discussion.
 
  First, a little background.  I was in the Help Desk/ITSM space, left that
  arena for a few years, and have since returned.  After working with the
  ITSM application for a few short months I am realizing how
  tightly ingrained these applications are with one another (incident,
  problem, asset, change, cmdb, etc.).  The tightly coupled integrations
 make
  certain tasks exceedingly difficult, for example:
  - using an outside system for change management (or any other process,
 for
  that matter)
  - upgrading a single application in the stack (e.g., change management)
  - integrating outside applications with the ITSM applications
 
  Non-remedy or custom remedy applications are unable to easily or
  effectively communicate with the ITSM applications in the same way that
 the
  ITSM applications communicate with one another.  Even different versions
 of
  the applications are unable to effectively communicate.
 
  Consider that each application facilitates a well defined process.  Each
  process has inputs, outputs, and actions.  The ITSM applications could
 have
  (and leverage, internally) interfaces to communicate their inputs and
  inputs, outputs, and actions.  Java Interfaces are an implementation of
  this design pattern that are a prime example of the flexibilities that
 this
  can afford.
 
  *Interfaces form a contract between the class and the outside world...*
  *-- *
 http://download.oracle.com/javase/tutorial/java/concepts/interface.html
 
  Interfaces can be versioned (e.g., 'Create Incident' interface version 1
  supports a field ,Priority; 'Create Incident' interface version 2
 supports
  a new field, Urgency, etc.).  By creating an interface (i.e., a contract)
  and back-end instrumentation to implement the interface, applications
 could
  be upgraded independent of one another; all the communicating components
  need to know is the version of the interface and that dictates the
  capabilities of said interface.  With this idea, I am borrowing from the
  approach that many of the SOA stacks are implementing:
 
  *One the most popular approaches for dealing with changes is versioning.
  Versioning assumes simultaneous existence of multiple (different)
  implementations of the same thing, with every implementation
  distinguishable and individually addressable. In the case of SOA, service
  versioning equates to coexistence of multiple versions of the same
 service,
  which allows each consumer to use the version that it is designed and
  tested for (see Figure 1). In this case, a new version of a service is
  created based on the requirements of one or more consumers, which can
 start
  using this new version immediately. The other consumers of this service
 do
  not need to switch to using the latest version immediately, but can
  continue to use the versions of the service they were designed for and
  tested with. They can switch to the latest version of service, based on
  their own development and testing schedule. Multiple coexisting versions
 of
  the same service in the system allows for the independent life cycles of
  services and their consumers and minimizes the overall impact of the
  introduction of changes. Although the necessity of such versioning
  mechanism may be obvious to anyone who has ever dealt with 

Re: Request for Comments

2011-11-02 Thread Richard Baird
Hey Axton,
 
I agree completely that what you are describing is a better technical
design. I guess the big question in terms of BMC's ITSM apps is, is that
kind of design in BMC's interest as much as it is in a customer's interest?
 
I'm not crapping on BMC specifically for this, but the goal of all large
software companies that create integrated apps is to sell those apps. Thus,
they don't want to make it too easy to mix and match with other vendors
tools, but rather want to pass muster on the purchasing checklist that says
it can be done.  The larger a software company becomes, the more true this
is.
 
From an ARS platform perspective, Remedy/BMC have done an excellent job,
better then most, at making the tools available to integrate any way you
want. When it comes to the apps themselves, it is a different story, at
least so far. I suspect in the battle for development funds, making it
easier to integrate some other vendor's app as a replacement for one of the
ITSM suite apps will always come second to new features/apps, better
performance, etc... The only way that will change is if the market demands
it or some other internal BMC driver forces it as a way to sell something
new. That is just a business reality.
 
But from a technical design perspective, I think your RFC dart is in the
bullseye!
 
Cheers! 
 
 

  _  

From: Axton [mailto:axton.gr...@gmail.com] 
Sent: November 1, 2011 7:59 PM
Subject: Request for Comments


** 
This is more a high level discussion and is concept/design oriented.  Please
feel free to chime in with your thoughts.  I look forward to the collective
wisdom of this list.  I is my hope that a a constructive discussion can
happen around this subject and the powers that be can gain insight gleaned
from the discussion.  

First, a little background.  I was in the Help Desk/ITSM space, left that
arena for a few years, and have since returned.  After working with the ITSM
application for a few short months I am realizing how tightly ingrained
these applications are with one another (incident, problem, asset, change,
cmdb, etc.).  The tightly coupled integrations make certain tasks
exceedingly difficult, for example:
- using an outside system for change management (or any other process, for
that matter)
- upgrading a single application in the stack (e.g., change management)

- integrating outside applications with the ITSM applications

Non-remedy or custom remedy applications are unable to easily or effectively
communicate with the ITSM applications in the same way that the ITSM
applications communicate with one another.  Even different versions of the
applications are unable to effectively communicate.

Consider that each application facilitates a well defined process.  Each
process has inputs, outputs, and actions.  The ITSM applications could have
(and leverage, internally) interfaces to communicate their inputs and
inputs, outputs, and actions.  Java Interfaces are an implementation of this
design pattern that are a prime example of the flexibilities that this can
afford.


Interfaces form a contract between the class and the outside world...
-- http://download.oracle.com/javase/tutorial/java/concepts/interface.html

Interfaces can be versioned (e.g., 'Create Incident' interface version 1
supports a field ,Priority; 'Create Incident' interface version 2 supports a
new field, Urgency, etc.).  By creating an interface (i.e., a contract) and
back-end instrumentation to implement the interface, applications could be
upgraded independent of one another; all the communicating components need
to know is the version of the interface and that dictates the capabilities
of said interface.  With this idea, I am borrowing from the approach that
many of the SOA stacks are implementing:

One the most popular approaches for dealing with changes is versioning.
Versioning assumes simultaneous existence of multiple (different)
implementations of the same thing, with every implementation distinguishable
and individually addressable. In the case of SOA, service versioning equates
to coexistence of multiple versions of the same service, which allows each
consumer to use the version that it is designed and tested for (see Figure
1). In this case, a new version of a service is created based on the
requirements of one or more consumers, which can start using this new
version immediately. The other consumers of this service do not need to
switch to using the latest version immediately, but can continue to use the
versions of the service they were designed for and tested with. They can
switch to the latest version of service, based on their own development and
testing schedule. Multiple coexisting versions of the same service in the
system allows for the independent life cycles of services and their
consumers and minimizes the overall impact of the introduction of changes.
Although the necessity of such versioning mechanism may be obvious to anyone
who has ever dealt with services, this topic still has 

Re: Request for Comments

2011-11-02 Thread John Sundberg
Yes - you have hit on one of the missing features of ARS - a lack of an API
for apps.

ITSM is using the natural way to use ARS.

ARS has no concept of an API - everything is open - everything is a global
variable (there is NO public/private API concept) all fields are fair game.

As a result - if your form has 10 fields -- you effectively have
10*9*8*7... ways to communicate to your form.
Then -- take a look at ITSM Incident with 150+ fields -- and now you have
150! (aka - more ways to communicate with it than there are protons in the
universe)

Which is a long term problem when it comes to changing your system...

If you want to make a change -- you have (in theory) 10*9*8*7 ... possible
tests to run.

vs...

If you created an API -- and only exposed 3 or 4 ways to talk to your
form -- you could actually potentially test them...
(And possibly document them)


This API concept would create a more standardized technique of
communication and therefore more stable applications.


In addition -- since you would have an API -- you could in theory have
multiple versions of processes in existence at the same time

etc


So - yes ITSM is a bit of a bowl of jello -- you touch it here - it wiggles
here, here, here, here and here and here too. In order to get rid of these
cross-dependencies and highly-coupled nature -- the concept of an API needs
to exist and be enforced. (AKA ARS 10.0 or so)



The decoupling of the systems - and creating well defined interfaces - now
gives the customer choice -- is this function good for us? Is that
function good for us? and if not -- they can do something about it. Where
the current architecture -- you get the whole thing - and nothing but.
(which - by the way - sells more licenses -- pure genius from a
marketing/sales perspective)


Not sure if you saw my last Friday funny comment about Best of Suite ???


-John




On Tue, Nov 1, 2011 at 6:59 PM, Axton axton.gr...@gmail.com wrote:

 **
 This is more a high level discussion and is concept/design oriented.
  Please feel free to chime in with your thoughts.  I look forward to the
 collective wisdom of this list.  I is my hope that a a constructive
 discussion can happen around this subject and the powers that be can gain
 insight gleaned from the discussion.

 First, a little background.  I was in the Help Desk/ITSM space, left that
 arena for a few years, and have since returned.  After working with the
 ITSM application for a few short months I am realizing how
 tightly ingrained these applications are with one another (incident,
 problem, asset, change, cmdb, etc.).  The tightly coupled integrations make
 certain tasks exceedingly difficult, for example:
 - using an outside system for change management (or any other process, for
 that matter)
 - upgrading a single application in the stack (e.g., change management)
 - integrating outside applications with the ITSM applications

 Non-remedy or custom remedy applications are unable to easily or
 effectively communicate with the ITSM applications in the same way that the
 ITSM applications communicate with one another.  Even different versions of
 the applications are unable to effectively communicate.

 Consider that each application facilitates a well defined process.  Each
 process has inputs, outputs, and actions.  The ITSM applications could have
 (and leverage, internally) interfaces to communicate their inputs and
 inputs, outputs, and actions.  Java Interfaces are an implementation of
 this design pattern that are a prime example of the flexibilities that this
 can afford.

 *Interfaces form a contract between the class and the outside world...*
 *-- *
 http://download.oracle.com/javase/tutorial/java/concepts/interface.html

 Interfaces can be versioned (e.g., 'Create Incident' interface version 1
 supports a field ,Priority; 'Create Incident' interface version 2 supports
 a new field, Urgency, etc.).  By creating an interface (i.e., a contract)
 and back-end instrumentation to implement the interface, applications could
 be upgraded independent of one another; all the communicating components
 need to know is the version of the interface and that dictates the
 capabilities of said interface.  With this idea, I am borrowing from the
 approach that many of the SOA stacks are implementing:

 *One the most popular approaches for dealing with changes is versioning.
 Versioning assumes simultaneous existence of multiple (different)
 implementations of the same thing, with every implementation
 distinguishable and individually addressable. In the case of SOA, service
 versioning equates to coexistence of multiple versions of the same service,
 which allows each consumer to use the version that it is designed and
 tested for (see Figure 1). In this case, a new version of a service is
 created based on the requirements of one or more consumers, which can start
 using this new version immediately. The other consumers of this service do
 not need to switch to using the 

Re: Request for Comments

2011-11-02 Thread LJ LongWing
Axton,

I agree with a few of the other comments on this subject.  I agree that it
would be better for the customer for the reasons that you point out that you
could 'mix and match' solutions as you saw fit.  This type of approach could
have eased the SRM discussion the other day because the user in that
situation considered ITSM 'THE' solution.and while BMC I'm sure strives to
make that the perception, we that pay attention know there are alternatives
to the BMC ITSM Suite, and alternatives to specific modules where others see
fit to produce those alternatives.

 

So.while it may benefit the customer.I don't think it benefits BMC for
exactly the same reason it benefits the customer.  Because of this, I doubt
that BMC is likely to move in this direction.

 

From: Action Request System discussion list(ARSList)
[mailto:arslist@ARSLIST.ORG] On Behalf Of Axton
Sent: Tuesday, November 01, 2011 5:59 PM
To: arslist@ARSLIST.ORG
Subject: Request for Comments

 

** 

This is more a high level discussion and is concept/design oriented.  Please
feel free to chime in with your thoughts.  I look forward to the collective
wisdom of this list.  I is my hope that a a constructive discussion can
happen around this subject and the powers that be can gain insight gleaned
from the discussion.  

 

First, a little background.  I was in the Help Desk/ITSM space, left that
arena for a few years, and have since returned.  After working with the ITSM
application for a few short months I am realizing how tightly ingrained
these applications are with one another (incident, problem, asset, change,
cmdb, etc.).  The tightly coupled integrations make certain tasks
exceedingly difficult, for example:

- using an outside system for change management (or any other process, for
that matter)

- upgrading a single application in the stack (e.g., change management)

- integrating outside applications with the ITSM applications

 

Non-remedy or custom remedy applications are unable to easily or effectively
communicate with the ITSM applications in the same way that the ITSM
applications communicate with one another.  Even different versions of the
applications are unable to effectively communicate.

 

Consider that each application facilitates a well defined process.  Each
process has inputs, outputs, and actions.  The ITSM applications could have
(and leverage, internally) interfaces to communicate their inputs and
inputs, outputs, and actions.  Java Interfaces are an implementation of this
design pattern that are a prime example of the flexibilities that this can
afford.

 

Interfaces form a contract between the class and the outside world...

-- http://download.oracle.com/javase/tutorial/java/concepts/interface.html

 

Interfaces can be versioned (e.g., 'Create Incident' interface version 1
supports a field ,Priority; 'Create Incident' interface version 2 supports a
new field, Urgency, etc.).  By creating an interface (i.e., a contract) and
back-end instrumentation to implement the interface, applications could be
upgraded independent of one another; all the communicating components need
to know is the version of the interface and that dictates the capabilities
of said interface.  With this idea, I am borrowing from the approach that
many of the SOA stacks are implementing:

 

One the most popular approaches for dealing with changes is versioning.
Versioning assumes simultaneous existence of multiple (different)
implementations of the same thing, with every implementation distinguishable
and individually addressable. In the case of SOA, service versioning equates
to coexistence of multiple versions of the same service, which allows each
consumer to use the version that it is designed and tested for (see Figure
1). In this case, a new version of a service is created based on the
requirements of one or more consumers, which can start using this new
version immediately. The other consumers of this service do not need to
switch to using the latest version immediately, but can continue to use the
versions of the service they were designed for and tested with. They can
switch to the latest version of service, based on their own development and
testing schedule. Multiple coexisting versions of the same service in the
system allows for the independent life cycles of services and their
consumers and minimizes the overall impact of the introduction of changes.
Although the necessity of such versioning mechanism may be obvious to anyone
who has ever dealt with services, this topic still has not penetrated the
mainstream of SOA publications and implementations. 

--
http://msdn.microsoft.com/en-us/library/bb491124.aspx#jour11version_topic3

 

A few key concepts here:

- Interfaces and versioning

  - Well defined interfaces

  - Interface life-cycle (e.g., the last 3 major versions of the interfaces
will remain supported, after which, they are deprecated)

- Loosely coupled applications (to the extent that the applications could
run on 

Re: Request for Comments

2011-11-02 Thread Axton
I think the cloud landscape is changing that.  Playing in the cloud means
working with other cloud based applications or SOA infrastructure.  Being a
silo in the cloud is going to be a tougher sell than being an easily
integrated application in the cloud, at least this is my projection based
on what I've observed.

http://en.wikipedia.org/wiki/Service-oriented_architecture
http://www.salesforce.com/company/news-press/press-releases/2007/05/070521-1.jsp
http://blog.programmableweb.com/2007/05/21/salesforcecom-soa-and-web-apis/

If incorporated into the ITSM stack, another benefit is the ability to
upgrade components independently of one another instead of having to
upgrade an entire stack of applications all at once.

On Wed, Nov 2, 2011 at 9:39 AM, LJ LongWing lj.longw...@gmail.com wrote:

 **

 Axton,

 I agree with a few of the other comments on this subject.  I agree that it
 would be better for the customer for the reasons that you point out that
 you could ‘mix and match’ solutions as you saw fit.  This type of approach
 could have eased the SRM discussion the other day because the user in that
 situation considered ITSM ‘THE’ solution…and while BMC I’m sure strives to
 make that the perception, we that pay attention know there are alternatives
 to the BMC ITSM Suite, and alternatives to specific modules where others
 see fit to produce those alternatives…

 ** **

 So…while it may benefit the customer…I don’t think it benefits BMC for
 exactly the same reason it benefits the customer.  Because of this, I doubt
 that BMC is likely to move in this direction.

 ** **

 *From:* Action Request System discussion list(ARSList) [mailto:
 arslist@ARSLIST.ORG] *On Behalf Of *Axton
 *Sent:* Tuesday, November 01, 2011 5:59 PM
 *To:* arslist@ARSLIST.ORG
 *Subject:* Request for Comments

 ** **

 ** 

 This is more a high level discussion and is concept/design oriented.
  Please feel free to chime in with your thoughts.  I look forward to the
 collective wisdom of this list.  I is my hope that a a constructive
 discussion can happen around this subject and the powers that be can gain
 insight gleaned from the discussion.  

 ** **

 First, a little background.  I was in the Help Desk/ITSM space, left that
 arena for a few years, and have since returned.  After working with the
 ITSM application for a few short months I am realizing how
 tightly ingrained these applications are with one another (incident,
 problem, asset, change, cmdb, etc.).  The tightly coupled integrations make
 certain tasks exceedingly difficult, for example:

 - using an outside system for change management (or any other process, for
 that matter)

 - upgrading a single application in the stack (e.g., change management)***
 *

 - integrating outside applications with the ITSM applications

 ** **

 Non-remedy or custom remedy applications are unable to easily or
 effectively communicate with the ITSM applications in the same way that the
 ITSM applications communicate with one another.  Even different versions of
 the applications are unable to effectively communicate.

 ** **

 Consider that each application facilitates a well defined process.  Each
 process has inputs, outputs, and actions.  The ITSM applications could have
 (and leverage, internally) interfaces to communicate their inputs and
 inputs, outputs, and actions.  Java Interfaces are an implementation of
 this design pattern that are a prime example of the flexibilities that this
 can afford.

 ** **

 *Interfaces form a contract between the class and the outside world...
 *

 *-- *
 http://download.oracle.com/javase/tutorial/java/concepts/interface.html***
 *

 ** **

 Interfaces can be versioned (e.g., 'Create Incident' interface version 1
 supports a field ,Priority; 'Create Incident' interface version 2 supports
 a new field, Urgency, etc.).  By creating an interface (i.e., a contract)
 and back-end instrumentation to implement the interface, applications could
 be upgraded independent of one another; all the communicating components
 need to know is the version of the interface and that dictates the
 capabilities of said interface.  With this idea, I am borrowing from the
 approach that many of the SOA stacks are implementing:

 ** **

 *One the most popular approaches for dealing with changes is versioning.
 Versioning assumes simultaneous existence of multiple (different)
 implementations of the same thing, with every implementation
 distinguishable and individually addressable. In the case of SOA, service
 versioning equates to coexistence of multiple versions of the same service,
 which allows each consumer to use the version that it is designed and
 tested for (see Figure 1). In this case, a new version of a service is
 created based on the requirements of one or more consumers, which can start
 using this new version immediately. The other consumers of this service do
 not need to switch to using the latest version 

Re: Request for Comments

2011-11-02 Thread Easter, David
Just a quick comment - later versions of ITSM applications do have interface 
forms that are expected to be used to interact with the applications.  These 
are used mainly by web service queries, but would be appropriate for any 
external communication into the application.   Those forms are the recommended 
interaction point for external applications and insulate such programs from the 
version-to-version changes in the underlying forms.

Please do continue the discussion - the ideas being expressed can certainly 
enhance and improve upon the architecture - but wanted to make sure folks know 
that the apps are already headed in this direction.

-David J. Easter
Manager of Product Management, Remedy Platform
BMC Software, Inc.

The opinions, statements, and/or suggested courses of action expressed in this 
E-mail do not necessarily reflect those of BMC Software, Inc.  My voluntary 
participation in this forum is not intended to convey a role as a spokesperson, 
liaison or public relations representative for BMC Software, Inc.

From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORG] On Behalf Of LJ LongWing
Sent: Wednesday, November 02, 2011 7:40 AM
To: arslist@ARSLIST.ORG
Subject: Re: Request for Comments

**
Axton,
I agree with a few of the other comments on this subject.  I agree that it 
would be better for the customer for the reasons that you point out that you 
could 'mix and match' solutions as you saw fit.  This type of approach could 
have eased the SRM discussion the other day because the user in that situation 
considered ITSM 'THE' solution...and while BMC I'm sure strives to make that 
the perception, we that pay attention know there are alternatives to the BMC 
ITSM Suite, and alternatives to specific modules where others see fit to 
produce those alternatives...

So...while it may benefit the customer...I don't think it benefits BMC for 
exactly the same reason it benefits the customer.  Because of this, I doubt 
that BMC is likely to move in this direction.

From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORG] On Behalf Of Axton
Sent: Tuesday, November 01, 2011 5:59 PM
To: arslist@ARSLIST.ORG
Subject: Request for Comments

**
This is more a high level discussion and is concept/design oriented.  Please 
feel free to chime in with your thoughts.  I look forward to the collective 
wisdom of this list.  I is my hope that a a constructive discussion can happen 
around this subject and the powers that be can gain insight gleaned from the 
discussion.

First, a little background.  I was in the Help Desk/ITSM space, left that arena 
for a few years, and have since returned.  After working with the ITSM 
application for a few short months I am realizing how tightly ingrained these 
applications are with one another (incident, problem, asset, change, cmdb, 
etc.).  The tightly coupled integrations make certain tasks exceedingly 
difficult, for example:
- using an outside system for change management (or any other process, for that 
matter)
- upgrading a single application in the stack (e.g., change management)
- integrating outside applications with the ITSM applications

Non-remedy or custom remedy applications are unable to easily or effectively 
communicate with the ITSM applications in the same way that the ITSM 
applications communicate with one another.  Even different versions of the 
applications are unable to effectively communicate.

Consider that each application facilitates a well defined process.  Each 
process has inputs, outputs, and actions.  The ITSM applications could have 
(and leverage, internally) interfaces to communicate their inputs and inputs, 
outputs, and actions.  Java Interfaces are an implementation of this design 
pattern that are a prime example of the flexibilities that this can afford.

Interfaces form a contract between the class and the outside world...
-- http://download.oracle.com/javase/tutorial/java/concepts/interface.html

Interfaces can be versioned (e.g., 'Create Incident' interface version 1 
supports a field ,Priority; 'Create Incident' interface version 2 supports a 
new field, Urgency, etc.).  By creating an interface (i.e., a contract) and 
back-end instrumentation to implement the interface, applications could be 
upgraded independent of one another; all the communicating components need to 
know is the version of the interface and that dictates the capabilities of said 
interface.  With this idea, I am borrowing from the approach that many of the 
SOA stacks are implementing:

One the most popular approaches for dealing with changes is versioning. 
Versioning assumes simultaneous existence of multiple (different) 
implementations of the same thing, with every implementation distinguishable 
and individually addressable. In the case of SOA, service versioning equates to 
coexistence of multiple versions of the same service, which allows each 
consumer to use the version that it is designed

Re: Request for Comments

2011-11-02 Thread John Sundberg

Start of a solution: (suggestion)

Problem:
Push fields -- is wide open
Get fields (set field external) -- is wide open

Create 3 new form actions:
1) API Set fields (create)
2) API Update fields (modify)
3) API Get fields (read)



1) API Set fields...
Would be a list of create APIs for all the different forms (each form - could 
have multiple APIs)... You select the API you want -- it then presents a list 
of required and optional fields.


2) API Update fields...
Would be a list of update APIs for all the different forms (each form - could 
have multiple APIs)... You select the API you want -- it then presents a list 
of required and optional fields.
(Obviously - a key field of some sort would need to exist to represent the 
record to be updated)


3) API Get fields
This function would take parameters -- and return a result, multi results, 
etc...
This w(c)ould eliminate inefficient queries spread all over the system. 
So - instead of the developer whipping up any old query they want -- they do 
not even have that choice -- they can only select from the existing getter 
type functions.



Now - once those exist:

The next effort is to rapidly go through ITSM / CMDB etc... and get rid of push 
fields and set fields functions...


I realize there are many holes etc... this is just a start.




So then --- if you find that SRM does not meet your need -- you can take the 20 
or so API and override them.


etc...




-John





On Nov 1, 2011, at 6:59 PM, Axton wrote:

**
This is more a high level discussion and is concept/design oriented.  Please 
feel free to chime in with your thoughts.  I look forward to the collective 
wisdom of this list.  I is my hope that a a constructive discussion can happen 
around this subject and the powers that be can gain insight gleaned from the 
discussion.  

First, a little background.  I was in the Help Desk/ITSM space, left that arena 
for a few years, and have since returned.  After working with the ITSM 
application for a few short months I am realizing how tightly ingrained these 
applications are with one another (incident, problem, asset, change, cmdb, 
etc.).  The tightly coupled integrations make certain tasks exceedingly 
difficult, for example:
- using an outside system for change management (or any other process, for that 
matter)
- upgrading a single application in the stack (e.g., change management)
- integrating outside applications with the ITSM applications

Non-remedy or custom remedy applications are unable to easily or effectively 
communicate with the ITSM applications in the same way that the ITSM 
applications communicate with one another.  Even different versions of the 
applications are unable to effectively communicate.

Consider that each application facilitates a well defined process.  Each 
process has inputs, outputs, and actions.  The ITSM applications could have 
(and leverage, internally) interfaces to communicate their inputs and inputs, 
outputs, and actions.  Java Interfaces are an implementation of this design 
pattern that are a prime example of the flexibilities that this can afford.

Interfaces form a contract between the class and the outside world...
-- http://download.oracle.com/javase/tutorial/java/concepts/interface.html

Interfaces can be versioned (e.g., 'Create Incident' interface version 1 
supports a field ,Priority; 'Create Incident' interface version 2 supports a 
new field, Urgency, etc.).  By creating an interface (i.e., a contract) and 
back-end instrumentation to implement the interface, applications could be 
upgraded independent of one another; all the communicating components need to 
know is the version of the interface and that dictates the capabilities of said 
interface.  With this idea, I am borrowing from the approach that many of the 
SOA stacks are implementing:

One the most popular approaches for dealing with changes is versioning. 
Versioning assumes simultaneous existence of multiple (different) 
implementations of the same thing, with every implementation distinguishable 
and individually addressable. In the case of SOA, service versioning equates to 
coexistence of multiple versions of the same service, which allows each 
consumer to use the version that it is designed and tested for (see Figure 1). 
In this case, a new version of a service is created based on the requirements 
of one or more consumers, which can start using this new version immediately. 
The other consumers of this service do not need to switch to using the latest 
version immediately, but can continue to use the versions of the service they 
were designed for and tested with. They can switch to the latest version of 
service, based on their own development and testing schedule. Multiple 
coexisting versions of the same service in the system allows for the 
independent life cycles of services and their consumers and minimizes the 
overall impact of the introduction of changes. Although the necessity of such 
versioning mechanism 

Re: Request for Comments

2011-11-02 Thread Richard Baird
Good to hear David!

Here is a suggestion off the top of my head. Perhaps to help with one of
Axton's (and my) beefs, the concept of versioned interfaces, you could add a
reserved field for forms used as interfaces to implement versioning. Then
add checking of this field into the workflow objects such that, workflow
only fires if the versions match, or something to that effect. Perhaps a
combination of fields, one to hold the version number and another to
indicate if it is specific to the version or applicable to lower versions as
well or the lowest version number supported, etc?

That would allow you to share workflow between interface versions where
appropriate, and even perhaps have workflow with the same name, but
different version and also to have workflow specific to a particular
version, thereby implementing something with similar results to Inheritance.

I'm not sure that additional API calls would need to be defined as that
could result in reduced flexibility, however the interfaces would need to be
tightly documented.

Cheers!

Subject: Re: Request for Comments
From: Easter, David david_eas...@bmc.com
Date: Wed, 2 Nov 2011 10:00:02 -0500
 
** 
Just a quick comment - later versions of ITSM applications do have interface
forms that are expected to be used to interact with the applications.  These
are used mainly by web service queries, but would be appropriate for any
external communication into the application.   Those forms are the
recommended interaction point for external applications and insulate such
programs from the version-to-version changes in the underlying forms.

 

Please do continue the discussion - the ideas being expressed can certainly
enhance and improve upon the architecture - but wanted to make sure folks
know that the apps are already headed in this direction.

 

-David J. Easter

Manager of Product Management, Remedy Platform

BMC Software, Inc.

 

The opinions, statements, and/or suggested courses of action expressed in
this E-mail do not necessarily reflect those of BMC Software, Inc.  My
voluntary participation in this forum is not intended to convey a role as a
spokesperson, liaison or public relations representative for BMC Software,
Inc.

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: Where the Answers Are


Re: Request for Comments

2011-11-02 Thread LJ LongWing
David,

Having dealt with quite a bit of this in my own custom application, the
problem with interface forms in general is that the application itself
doesn't use them.   Interface forms are a great thing, but when the
application doesn't use those interfaces itself.you basically must maintain
two branches of the code.the one that interacts directly with the incident
form.and then the ones that interact with the incident interface form.  I
think the discussion is around the fact that if ALL interaction with
Incident went through Interfaces, then ALL communication with Incident would
be standardized, and other applications would then be able to interact in
the same way that say.Change does.but Change doesn't use the interface form
to create incidents.so it's not a standardized API.

 

It's really a divergence from the Remedy way of thinking..as said by a
separate poster, when you want the data you just do a setfield with whatever
qual you feel is right to get the fields you want.but if there was an API to
'get' that information, then the API would define what fields were required
to get the information, and define what information is returned.  This
mentality would simplify the query structure, would make it so that indexes
could be ensured to be used because you define which fields will be provided
to get this data, and that's the only way to get it.

 

From: Action Request System discussion list(ARSList)
[mailto:arslist@ARSLIST.ORG] On Behalf Of Easter, David
Sent: Wednesday, November 02, 2011 9:00 AM
To: arslist@ARSLIST.ORG
Subject: Re: Request for Comments

 

** 

Just a quick comment - later versions of ITSM applications do have interface
forms that are expected to be used to interact with the applications.  These
are used mainly by web service queries, but would be appropriate for any
external communication into the application.   Those forms are the
recommended interaction point for external applications and insulate such
programs from the version-to-version changes in the underlying forms.

 

Please do continue the discussion - the ideas being expressed can certainly
enhance and improve upon the architecture - but wanted to make sure folks
know that the apps are already headed in this direction.

 

-David J. Easter

Manager of Product Management, Remedy Platform

BMC Software, Inc.

 

The opinions, statements, and/or suggested courses of action expressed in
this E-mail do not necessarily reflect those of BMC Software, Inc.  My
voluntary participation in this forum is not intended to convey a role as a
spokesperson, liaison or public relations representative for BMC Software,
Inc.

 

From: Action Request System discussion list(ARSList)
[mailto:arslist@ARSLIST.ORG] On Behalf Of LJ LongWing
Sent: Wednesday, November 02, 2011 7:40 AM
To: arslist@ARSLIST.ORG
Subject: Re: Request for Comments

 

** 

Axton,

I agree with a few of the other comments on this subject.  I agree that it
would be better for the customer for the reasons that you point out that you
could 'mix and match' solutions as you saw fit.  This type of approach could
have eased the SRM discussion the other day because the user in that
situation considered ITSM 'THE' solution.and while BMC I'm sure strives to
make that the perception, we that pay attention know there are alternatives
to the BMC ITSM Suite, and alternatives to specific modules where others see
fit to produce those alternatives.

 

So.while it may benefit the customer.I don't think it benefits BMC for
exactly the same reason it benefits the customer.  Because of this, I doubt
that BMC is likely to move in this direction.

 

From: Action Request System discussion list(ARSList)
[mailto:arslist@ARSLIST.ORG] On Behalf Of Axton
Sent: Tuesday, November 01, 2011 5:59 PM
To: arslist@ARSLIST.ORG
Subject: Request for Comments

 

** 

This is more a high level discussion and is concept/design oriented.  Please
feel free to chime in with your thoughts.  I look forward to the collective
wisdom of this list.  I is my hope that a a constructive discussion can
happen around this subject and the powers that be can gain insight gleaned
from the discussion.  

 

First, a little background.  I was in the Help Desk/ITSM space, left that
arena for a few years, and have since returned.  After working with the ITSM
application for a few short months I am realizing how tightly ingrained
these applications are with one another (incident, problem, asset, change,
cmdb, etc.).  The tightly coupled integrations make certain tasks
exceedingly difficult, for example:

- using an outside system for change management (or any other process, for
that matter)

- upgrading a single application in the stack (e.g., change management)

- integrating outside applications with the ITSM applications

 

Non-remedy or custom remedy applications are unable to easily or effectively
communicate with the ITSM applications in the same way that the ITSM
applications communicate with one another.  Even different

Re: Request for Comments

2011-11-02 Thread LJ LongWing
Richard,
The point of API interfaces is actually reduced flexibilitynot really
the point, but a byproduct.  That reduced flexibility is actually a 'good'
thing though.  Remedy, in the way that it works now has absolutely no
enforced structure.  That lack of enforced structure allows you to literally
'do what you want'...which is extremely flexible, but extremely hard to
support and optimize.  When you setup API interfaces to a system, you harden
them and make them less flexible, but because of the defined contract
between the publisher and consumer you have extremely reliable results.
Because of this reliability you can guarantee results and ideally
scalability, and because of this contract you increase interoperability.

Additionally, when you add to this contract, versions of the API...it in
theory allows you to upgrade from ITSM 10 to 11, but you aren't required to
upgrade your integrated app, because your integrated app can continue to
communicate with your ITSM Suite on the 10 version of the API and will
continue to function EXACTLY the same as it did when you were actually
running that version.

That's the theory at least :D

-Original Message-
From: Action Request System discussion list(ARSList)
[mailto:arslist@ARSLIST.ORG] On Behalf Of Richard Baird
Sent: Wednesday, November 02, 2011 9:46 AM
To: arslist@ARSLIST.ORG
Subject: Re: Request for Comments

Good to hear David!

Here is a suggestion off the top of my head. Perhaps to help with one of
Axton's (and my) beefs, the concept of versioned interfaces, you could add a
reserved field for forms used as interfaces to implement versioning. Then
add checking of this field into the workflow objects such that, workflow
only fires if the versions match, or something to that effect. Perhaps a
combination of fields, one to hold the version number and another to
indicate if it is specific to the version or applicable to lower versions as
well or the lowest version number supported, etc?

That would allow you to share workflow between interface versions where
appropriate, and even perhaps have workflow with the same name, but
different version and also to have workflow specific to a particular
version, thereby implementing something with similar results to Inheritance.

I'm not sure that additional API calls would need to be defined as that
could result in reduced flexibility, however the interfaces would need to be
tightly documented.

Cheers!

Subject: Re: Request for Comments
From: Easter, David david_eas...@bmc.com
Date: Wed, 2 Nov 2011 10:00:02 -0500
 
** 
Just a quick comment - later versions of ITSM applications do have interface
forms that are expected to be used to interact with the applications.  These
are used mainly by web service queries, but would be appropriate for any
external communication into the application.   Those forms are the
recommended interaction point for external applications and insulate such
programs from the version-to-version changes in the underlying forms.

 

Please do continue the discussion - the ideas being expressed can certainly
enhance and improve upon the architecture - but wanted to make sure folks
know that the apps are already headed in this direction.

 

-David J. Easter

Manager of Product Management, Remedy Platform

BMC Software, Inc.

 

The opinions, statements, and/or suggested courses of action expressed in
this E-mail do not necessarily reflect those of BMC Software, Inc.  My
voluntary participation in this forum is not intended to convey a role as a
spokesperson, liaison or public relations representative for BMC Software,
Inc.


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: Where the Answers Are

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: Where the Answers Are


Re: Request for Comments

2011-11-02 Thread Lyle Taylor
I agree with the idea of making the applications more loosely coupled.  
However, I don't know about the idea of versioned interfaces in this context, 
especially when those are in support of an application that supports a business 
process.  If you have a Change Management process, and you make changes to the 
process (i.e., go from version 1 of the process to version 2 of the process), 
you generally do NOT want to support the old version of the process.  You 
generally only want one version of a business process going on at a time, 
except perhaps for during a transition period.  I suppose that might  
contradict my statements above somewhat...

In general, though, I would think that if we move to version 2 of our Change 
process, we would expect all systems integrating with the Change module to be 
updated to support the new process rather than calling an older version of the 
interface that didn't support the new process.

Lyle

From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORG] On Behalf Of Axton
Sent: Tuesday, November 01, 2011 5:59 PM
To: arslist@ARSLIST.ORG
Subject: Request for Comments

**
This is more a high level discussion and is concept/design oriented.  Please 
feel free to chime in with your thoughts.  I look forward to the collective 
wisdom of this list.  I is my hope that a a constructive discussion can happen 
around this subject and the powers that be can gain insight gleaned from the 
discussion.

First, a little background.  I was in the Help Desk/ITSM space, left that arena 
for a few years, and have since returned.  After working with the ITSM 
application for a few short months I am realizing how tightly ingrained these 
applications are with one another (incident, problem, asset, change, cmdb, 
etc.).  The tightly coupled integrations make certain tasks exceedingly 
difficult, for example:
- using an outside system for change management (or any other process, for that 
matter)
- upgrading a single application in the stack (e.g., change management)
- integrating outside applications with the ITSM applications

Non-remedy or custom remedy applications are unable to easily or effectively 
communicate with the ITSM applications in the same way that the ITSM 
applications communicate with one another.  Even different versions of the 
applications are unable to effectively communicate.

Consider that each application facilitates a well defined process.  Each 
process has inputs, outputs, and actions.  The ITSM applications could have 
(and leverage, internally) interfaces to communicate their inputs and inputs, 
outputs, and actions.  Java Interfaces are an implementation of this design 
pattern that are a prime example of the flexibilities that this can afford.

Interfaces form a contract between the class and the outside world...
-- http://download.oracle.com/javase/tutorial/java/concepts/interface.html

Interfaces can be versioned (e.g., 'Create Incident' interface version 1 
supports a field ,Priority; 'Create Incident' interface version 2 supports a 
new field, Urgency, etc.).  By creating an interface (i.e., a contract) and 
back-end instrumentation to implement the interface, applications could be 
upgraded independent of one another; all the communicating components need to 
know is the version of the interface and that dictates the capabilities of said 
interface.  With this idea, I am borrowing from the approach that many of the 
SOA stacks are implementing:

One the most popular approaches for dealing with changes is versioning. 
Versioning assumes simultaneous existence of multiple (different) 
implementations of the same thing, with every implementation distinguishable 
and individually addressable. In the case of SOA, service versioning equates to 
coexistence of multiple versions of the same service, which allows each 
consumer to use the version that it is designed and tested for (see Figure 1). 
In this case, a new version of a service is created based on the requirements 
of one or more consumers, which can start using this new version immediately. 
The other consumers of this service do not need to switch to using the latest 
version immediately, but can continue to use the versions of the service they 
were designed for and tested with. They can switch to the latest version of 
service, based on their own development and testing schedule. Multiple 
coexisting versions of the same service in the system allows for the 
independent life cycles of services and their consumers and minimizes the 
overall impact of the introduction of changes. Although the necessity of such 
versioning mechanism may be obvious to anyone who has ever dealt with services, 
this topic still has not penetrated the mainstream of SOA publications and 
implementations.
-- http://msdn.microsoft.com/en-us/library/bb491124.aspx#jour11version_topic3

A few key concepts here:
- Interfaces and versioning
  - Well defined interfaces
  - Interface life-cycle (e.g., the 

Re: Request for Comments

2011-11-02 Thread Axton
To put some context around these interfaces, incident would have these
types of interfaces (limited listing):
- Open Incident
- Get Incident Details
- Relate to Incident (could be a CI, a problem, a change, etc., that the
interface would define)
- Close incident
- Add worklog entry

The interfaces would be operations common to incident.  The same with
Problem:
- Open Problem
- Get Problem Details
- Update Problem
- Relate to Problem
- Close Problem
- Add worklog entry

The idea being that incident does X, and outside applications or events
trigger Y within incident, nothing more, nothing less.  The intrinsic
benefits may include:
- application/version independence (anything can talk to incident to use it
to do what incident does)
- loosely coupled integration points that are well defined and easily
understood
- a method by which the interfaces to an application can be expanded or
re-defined in a way that does not break interoperability
- open and well defined interfaces that are available for widespread
consumption

These things translate into more tangible benefits, such as:
- eased upgrade path (no more upgrade the entire stack, just one part at a
time)
- eased integration methods (any event can consume the services that an app
provides to leverage that app)
- reduction in customization to the apps to develop integration points
- increased interoperability with other applications/service providers
- less breakage/integration redesign as a result of changes or
upgrades/updates to the applications

With this said, incident is still incident, and when you work with the
application directly, all the capabilities inherent to incident are
available to you, but as soon as something moves outside incident into
incident or moves from inside incident into another app (e.g., problem), it
uses the bridge that is the interface to perform that operation.  This
results in more defined integration points, which may reduce flexibility,
but it has a number of benefits at the same time.  The interfaces, over
time, would mature to meet the needs of outside consumers.  A good starting
point for defining those interfaces are the ways in which the applications
interact today.  If an interface was defined that implemented all the
capabilities required for the entire ITSM stack to work together, chances
are it will cover most of the things that anything outside the ITSM stack
would require.

Axton Grams

On Wed, Nov 2, 2011 at 11:00 AM, LJ LongWing lj.longw...@gmail.com wrote:

 **

 David,

 Having dealt with quite a bit of this in my own custom application, the
 problem with interface forms in general is that the application itself
 doesn’t use them.   Interface forms are a great thing, but when the
 application doesn’t use those interfaces itself…you basically must maintain
 two branches of the code…the one that interacts directly with the incident
 form…and then the ones that interact with the incident interface form.  I
 think the discussion is around the fact that if ALL interaction with
 Incident went through Interfaces, then ALL communication with Incident
 would be standardized, and other applications would then be able to
 interact in the same way that say…Change does…but Change doesn’t use the
 interface form to create incidents…so it’s not a standardized API.

 ** **

 It’s really a divergence from the Remedy way of thinking….as said by a
 separate poster, when you want the data you just do a setfield with
 whatever qual you feel is right to get the fields you want…but if there was
 an API to ‘get’ that information, then the API would define what fields
 were required to get the information, and define what information is
 returned.  This mentality would simplify the query structure, would make it
 so that indexes could be ensured to be used because you define which fields
 will be provided to get this data, and that’s the only way to get it.

 ** **

 *From:* Action Request System discussion list(ARSList) [mailto:
 arslist@ARSLIST.ORG] *On Behalf Of *Easter, David
 *Sent:* Wednesday, November 02, 2011 9:00 AM

 *To:* arslist@ARSLIST.ORG
 *Subject:* Re: Request for Comments

 ** **

 ** 

 Just a quick comment – later versions of ITSM applications do have
 interface forms that are expected to be used to interact with the
 applications.  These are used mainly by web service queries, but would be
 appropriate for any external communication into the application.   Those
 forms are the recommended interaction point for external applications and
 insulate such programs from the version-to-version changes in the
 underlying forms.

 ** **

 Please do continue the discussion – the ideas being expressed can
 certainly enhance and improve upon the architecture – but wanted to make
 sure folks know that the apps are already headed in this direction.

 ** **

 -David J. Easter

 Manager of Product Management, Remedy Platform

 BMC Software, Inc.

  

 The opinions, statements

Re: Request for Comments

2011-11-02 Thread John Sundberg



In addition -- if BMC were to do this -- then they could have multiple versions 
of their apps. 

Example:

Incident-lite
Incident-normal
Incident-ServiceProvider

Change-lite
etc...


Then -- they could charge different amounts etc... for them.


As - right now - the whole sales pitch is to layout a Nirvana of some sort -- 
and then have ALL COMPANIES in the world chasing after what BMC thinks is the 
end-goal...

This is a CRAZY APPROACH for a ServiceProvider -- it is unwise to put your 
future direction in the hands of best practices -- you want your practices 
etc...

This is a CRAZY APPROACH for a small company -- it is unwise to put your 
company into a system designed for ServiceProviders...

(I feel one size fits nobody)


So - BMC could provide differentiated versions of the processes -- and guide 
companies via assessment -- where they should go. This would actually be a 
consultative sale -- and the customer would feel that what they got is right 
for them. I suspect that would be a far better feeling than how they feel now 
(based on my many conversations).




-John



On Nov 2, 2011, at 11:00 AM, LJ LongWing wrote:

**
David,
Having dealt with quite a bit of this in my own custom application, the problem 
with interface forms in general is that the application itself doesn’t use 
them.   Interface forms are a great thing, but when the application doesn’t use 
those interfaces itself…you basically must maintain two branches of the 
code…the one that interacts directly with the incident form…and then the ones 
that interact with the incident interface form.  I think the discussion is 
around the fact that if ALL interaction with Incident went through Interfaces, 
then ALL communication with Incident would be standardized, and other 
applications would then be able to interact in the same way that say…Change 
does…but Change doesn’t use the interface form to create incidents…so it’s not 
a standardized API.
 
It’s really a divergence from the Remedy way of thinking….as said by a separate 
poster, when you want the data you just do a setfield with whatever qual you 
feel is right to get the fields you want…but if there was an API to ‘get’ that 
information, then the API would define what fields were required to get the 
information, and define what information is returned.  This mentality would 
simplify the query structure, would make it so that indexes could be ensured to 
be used because you define which fields will be provided to get this data, and 
that’s the only way to get it.
 
From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORG] On Behalf Of Easter, David
Sent: Wednesday, November 02, 2011 9:00 AM
To: arslist@ARSLIST.ORG
Subject: Re: Request for Comments
 
**
Just a quick comment – later versions of ITSM applications do have interface 
forms that are expected to be used to interact with the applications.  These 
are used mainly by web service queries, but would be appropriate for any 
external communication into the application.   Those forms are the recommended 
interaction point for external applications and insulate such programs from the 
version-to-version changes in the underlying forms.
 
Please do continue the discussion – the ideas being expressed can certainly 
enhance and improve upon the architecture – but wanted to make sure folks know 
that the apps are already headed in this direction.
 
-David J. Easter
Manager of Product Management, Remedy Platform
BMC Software, Inc.
 
The opinions, statements, and/or suggested courses of action expressed in this 
E-mail do not necessarily reflect those of BMC Software, Inc.  My voluntary 
participation in this forum is not intended to convey a role as a spokesperson, 
liaison or public relations representative for BMC Software, Inc.
 
From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORG] On Behalf Of LJ LongWing
Sent: Wednesday, November 02, 2011 7:40 AM
To: arslist@ARSLIST.ORG
Subject: Re: Request for Comments
 
**
Axton,
I agree with a few of the other comments on this subject.  I agree that it 
would be better for the customer for the reasons that you point out that you 
could ‘mix and match’ solutions as you saw fit.  This type of approach could 
have eased the SRM discussion the other day because the user in that situation 
considered ITSM ‘THE’ solution…and while BMC I’m sure strives to make that the 
perception, we that pay attention know there are alternatives to the BMC ITSM 
Suite, and alternatives to specific modules where others see fit to produce 
those alternatives…
 
So…while it may benefit the customer…I don’t think it benefits BMC for exactly 
the same reason it benefits the customer.  Because of this, I doubt that BMC is 
likely to move in this direction.
 
From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORG] On Behalf Of Axton
Sent: Tuesday, November 01, 2011 5:59 PM
To: arslist@ARSLIST.ORG
Subject: Request for Comments

Re: Request for Comments

2011-11-02 Thread Axton
I don't envision version 2 of a process, just of an interface.  Using
Change as an example, interfaces could include things like:
- Create a Change Request
- Resolve a Change Request
- Get Change Request details
- Relate something to a Change Request

Version 1 may support some set of attributes for Create a Change Request,
whereas version 2 would accommodate some new attributes or it may deprecate
some attributes.  The change process may change over time in such a way
that new interfaces are required, so an interface could be introduced in
version X of the application that was not available in previous versions of
the application.  There is a lifecycle around the management of these
interfaces that would have to be defined and adhered to for this to be a
reliable approach.

Axton Grams

On Wed, Nov 2, 2011 at 11:21 AM, Lyle Taylor tayl...@ldschurch.org wrote:

 **

 I agree with the idea of making the applications more loosely coupled.
 However, I don’t know about the idea of versioned interfaces in this
 context, especially when those are in support of an application that
 supports a business process.  If you have a Change Management process, and
 you make changes to the process (i.e., go from version 1 of the process to
 version 2 of the process), you generally do NOT want to support the old
 version of the process.  You generally only want one version of a business
 process going on at a time, except perhaps for during a transition period.
 I suppose that might  contradict my statements above somewhat…

 ** **

 In general, though, I would think that if we move to version 2 of our
 Change process, we would expect all systems integrating with the Change
 module to be updated to support the new process rather than calling an
 older version of the interface that didn’t support the new process.

 ** **

 Lyle

 ** **

 *From:* Action Request System discussion list(ARSList) [mailto:
 arslist@ARSLIST.ORG] *On Behalf Of *Axton
 *Sent:* Tuesday, November 01, 2011 5:59 PM
 *To:* arslist@ARSLIST.ORG
 *Subject:* Request for Comments

 ** **

 ** 

 This is more a high level discussion and is concept/design oriented.
  Please feel free to chime in with your thoughts.  I look forward to the
 collective wisdom of this list.  I is my hope that a a constructive
 discussion can happen around this subject and the powers that be can gain
 insight gleaned from the discussion.  

 ** **

 First, a little background.  I was in the Help Desk/ITSM space, left that
 arena for a few years, and have since returned.  After working with the
 ITSM application for a few short months I am realizing how
 tightly ingrained these applications are with one another (incident,
 problem, asset, change, cmdb, etc.).  The tightly coupled integrations make
 certain tasks exceedingly difficult, for example:

 - using an outside system for change management (or any other process, for
 that matter)

 - upgrading a single application in the stack (e.g., change management)***
 *

 - integrating outside applications with the ITSM applications

 ** **

 Non-remedy or custom remedy applications are unable to easily or
 effectively communicate with the ITSM applications in the same way that the
 ITSM applications communicate with one another.  Even different versions of
 the applications are unable to effectively communicate.

 ** **

 Consider that each application facilitates a well defined process.  Each
 process has inputs, outputs, and actions.  The ITSM applications could have
 (and leverage, internally) interfaces to communicate their inputs and
 inputs, outputs, and actions.  Java Interfaces are an implementation of
 this design pattern that are a prime example of the flexibilities that this
 can afford.

 ** **

 *Interfaces form a contract between the class and the outside world...
 *

 *-- *
 http://download.oracle.com/javase/tutorial/java/concepts/interface.html***
 *

 ** **

 Interfaces can be versioned (e.g., 'Create Incident' interface version 1
 supports a field ,Priority; 'Create Incident' interface version 2 supports
 a new field, Urgency, etc.).  By creating an interface (i.e., a contract)
 and back-end instrumentation to implement the interface, applications could
 be upgraded independent of one another; all the communicating components
 need to know is the version of the interface and that dictates the
 capabilities of said interface.  With this idea, I am borrowing from the
 approach that many of the SOA stacks are implementing:

 ** **

 *One the most popular approaches for dealing with changes is versioning.
 Versioning assumes simultaneous existence of multiple (different)
 implementations of the same thing, with every implementation
 distinguishable and individually addressable. In the case of SOA, service
 versioning equates to coexistence of multiple versions of the same service,
 which allows each consumer to use the version that it is designed and
 tested for (see 

Re: Request for Comments

2011-11-02 Thread John Sundberg

Lyle,

I have found the opposite to be the case. You desperately want multiple 
versions to run at the same time (not forever - most likely) but yes for a 
transitionary time.


It radically reduces change mgmt headaches. For one -- you can test the new 
process with a subset of your change world. That alone has huge benefits.

If it does not work -- you can roll back easily.

Right now -- we have no option but these massive cutovers -- which are risky, 
timely, expensive and problematic.


Unfortunately -- these big cutovers are the norm - so they are accepted.

But -- thinking differently -- they really are an optional approach.



Multi-version live processes are the 'cats meow'.



-John






On Nov 2, 2011, at 11:21 AM, Lyle Taylor wrote:

**
I agree with the idea of making the applications more loosely coupled.  
However, I don’t know about the idea of versioned interfaces in this context, 
especially when those are in support of an application that supports a business 
process.  If you have a Change Management process, and you make changes to the 
process (i.e., go from version 1 of the process to version 2 of the process), 
you generally do NOT want to support the old version of the process.  You 
generally only want one version of a business process going on at a time, 
except perhaps for during a transition period.  I suppose that might  
contradict my statements above somewhat…
 
In general, though, I would think that if we move to version 2 of our Change 
process, we would expect all systems integrating with the Change module to be 
updated to support the new process rather than calling an older version of the 
interface that didn’t support the new process.
 
Lyle
 
From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORG] On Behalf Of Axton
Sent: Tuesday, November 01, 2011 5:59 PM
To: arslist@ARSLIST.ORG
Subject: Request for Comments
 
**
This is more a high level discussion and is concept/design oriented.  Please 
feel free to chime in with your thoughts.  I look forward to the collective 
wisdom of this list.  I is my hope that a a constructive discussion can happen 
around this subject and the powers that be can gain insight gleaned from the 
discussion.  
 
First, a little background.  I was in the Help Desk/ITSM space, left that arena 
for a few years, and have since returned.  After working with the ITSM 
application for a few short months I am realizing how tightly ingrained these 
applications are with one another (incident, problem, asset, change, cmdb, 
etc.).  The tightly coupled integrations make certain tasks exceedingly 
difficult, for example:
- using an outside system for change management (or any other process, for that 
matter)
- upgrading a single application in the stack (e.g., change management)
- integrating outside applications with the ITSM applications
 
Non-remedy or custom remedy applications are unable to easily or effectively 
communicate with the ITSM applications in the same way that the ITSM 
applications communicate with one another.  Even different versions of the 
applications are unable to effectively communicate.
 
Consider that each application facilitates a well defined process.  Each 
process has inputs, outputs, and actions.  The ITSM applications could have 
(and leverage, internally) interfaces to communicate their inputs and inputs, 
outputs, and actions.  Java Interfaces are an implementation of this design 
pattern that are a prime example of the flexibilities that this can afford.
 
Interfaces form a contract between the class and the outside world...
-- http://download.oracle.com/javase/tutorial/java/concepts/interface.html
 
Interfaces can be versioned (e.g., 'Create Incident' interface version 1 
supports a field ,Priority; 'Create Incident' interface version 2 supports a 
new field, Urgency, etc.).  By creating an interface (i.e., a contract) and 
back-end instrumentation to implement the interface, applications could be 
upgraded independent of one another; all the communicating components need to 
know is the version of the interface and that dictates the capabilities of said 
interface.  With this idea, I am borrowing from the approach that many of the 
SOA stacks are implementing:
 
One the most popular approaches for dealing with changes is versioning. 
Versioning assumes simultaneous existence of multiple (different) 
implementations of the same thing, with every implementation distinguishable 
and individually addressable. In the case of SOA, service versioning equates to 
coexistence of multiple versions of the same service, which allows each 
consumer to use the version that it is designed and tested for (see Figure 1). 
In this case, a new version of a service is created based on the requirements 
of one or more consumers, which can start using this new version immediately. 
The other consumers of this service do not need to switch to using the latest 
version immediately, but can continue to use the 

Re: Request for Comments

2011-11-02 Thread Jiri Pospisil
I believe that if you truly want to encapsulate all the functionality into API 
calls to allow loose coupling, the API would have to implement all actions that 
users can perform within the application (and there is many!).

If I take Incident as an example.
There should be at least two variations of API call for submitting Incidents. 
One using template (possibly needing API for searching and defining templates) 
and the other without template (and potentially more).
Then there should be API for assigning Incident to a group or an individual 
after it was created (with different variations depending on whether you want 
to use IDs or names etc.).
Another type of calls should allow the Incident status to be progressed to in 
progress, pending, resolved, assigned, cancelled (all with relevant attributes).
Then there are work log records to add, get, update. Same applies to 
relationship records.
Various attributes of Incident can be updated, so there should be API to update 
them, i.e. Impact, Urgency, Priority, various categorisations.
Then there should be various searches defined, i.e. by Assignee Group, by 
Status, by Create Date, by ID etc.
Finally, there should be an API allowing service targets to be hooked to 
incidents.
And perhaps many more.

Same then would need to be available for all other modules including the shared 
components such as company, people, assignment, approval modules etc.

To me it looks like a massive piece of work with the questionable benefit at 
the end.
Just my 2 cents.

Jiri Pospisil
LCH Clearnet



From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORG] On Behalf Of Axton
Sent: 02 November 2011 14:53
To: arslist@ARSLIST.ORG
Subject: Re: Request for Comments

** I think the cloud landscape is changing that.  Playing in the cloud means 
working with other cloud based applications or SOA infrastructure.  Being a 
silo in the cloud is going to be a tougher sell than being an easily integrated 
application in the cloud, at least this is my projection based on what I've 
observed.

http://en.wikipedia.org/wiki/Service-oriented_architecture
http://www.salesforce.com/company/news-press/press-releases/2007/05/070521-1.jsp
http://blog.programmableweb.com/2007/05/21/salesforcecom-soa-and-web-apis/

If incorporated into the ITSM stack, another benefit is the ability to upgrade 
components independently of one another instead of having to upgrade an entire 
stack of applications all at once.
On Wed, Nov 2, 2011 at 9:39 AM, LJ LongWing 
lj.longw...@gmail.commailto:lj.longw...@gmail.com wrote:
**
Axton,
I agree with a few of the other comments on this subject.  I agree that it 
would be better for the customer for the reasons that you point out that you 
could 'mix and match' solutions as you saw fit.  This type of approach could 
have eased the SRM discussion the other day because the user in that situation 
considered ITSM 'THE' solution...and while BMC I'm sure strives to make that 
the perception, we that pay attention know there are alternatives to the BMC 
ITSM Suite, and alternatives to specific modules where others see fit to 
produce those alternatives...

So...while it may benefit the customer...I don't think it benefits BMC for 
exactly the same reason it benefits the customer.  Because of this, I doubt 
that BMC is likely to move in this direction.

From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORGmailto:arslist@ARSLIST.ORG] On Behalf Of Axton
Sent: Tuesday, November 01, 2011 5:59 PM
To: arslist@ARSLIST.ORGmailto:arslist@ARSLIST.ORG
Subject: Request for Comments

**
This is more a high level discussion and is concept/design oriented.  Please 
feel free to chime in with your thoughts.  I look forward to the collective 
wisdom of this list.  I is my hope that a a constructive discussion can happen 
around this subject and the powers that be can gain insight gleaned from the 
discussion.

First, a little background.  I was in the Help Desk/ITSM space, left that arena 
for a few years, and have since returned.  After working with the ITSM 
application for a few short months I am realizing how tightly ingrained these 
applications are with one another (incident, problem, asset, change, cmdb, 
etc.).  The tightly coupled integrations make certain tasks exceedingly 
difficult, for example:
- using an outside system for change management (or any other process, for that 
matter)
- upgrading a single application in the stack (e.g., change management)
- integrating outside applications with the ITSM applications

Non-remedy or custom remedy applications are unable to easily or effectively 
communicate with the ITSM applications in the same way that the ITSM 
applications communicate with one another.  Even different versions of the 
applications are unable to effectively communicate.

Consider that each application facilitates a well defined process.  Each 
process has inputs, outputs, and actions.  The ITSM applications could

Re: Request for Comments

2011-11-02 Thread Axton
A single interface for creating incidents could be defined that optionally
allows the use of a template.  Use the structure of an XML document as a
guide.  XML documents have elements and attributes.  Elements can be
defined as having one, zero or more, etc.  The same is true of attributes;
they can be optional or required.  The interface, if defined as an XML DTD,
could have a number of optional elements and attributes.

incident
  group=Support Group1
  prority=Urgent
tasks
task
  sequence=1
group=Support Group2
/task
tasks
/incident

The elements and attributes that the interface defines could be defined as
required, optional, etc. as a DTD allows.  This allows 1 interface to
create an incident with the information that is available, as long as the
prerequisites are met.

I do not know that it is necessary to encapsulate all capabilities in the
interfaces, just those that need to be exposed to allow other applications
to interact with the application in the ways that things need to interact
with the application.

A single service could be designed to accept either a group name or group
id for creating an incident.  It would still be a single service.

Similarly, a search incident interface would need to be defined, but that
could allow 1 or more fields to be searched.  You could expose all the
fields to search against, that is fine, they do not all have to be
required.  You use the ones you want when talking to the interface and it
parses your request and processes and returns as it should.

It would be a massive effort indeed, and it may go nowhere.  This is an
exploration of how things could be, not where they are or where they are
going.  Many times, discussing the possibilities is the first step in
making a change.  Discuss the ideal scenario and take away from it what you
can.  Will the takeaway be 100% of the ideal scenario, doubtful.

Axton Grams

On Wed, Nov 2, 2011 at 12:00 PM, Jiri Pospisil 
jiri.pospi...@lchclearnet.com wrote:

 **

 I believe that if you truly want to encapsulate all the functionality into
 API calls to allow loose coupling, the API would have to implement all
 actions that users can perform within the application (and there is many!).
 

 ** **

 If I take Incident as an example.

 There should be at least two variations of API call for submitting
 Incidents. One using template (possibly needing API for searching and
 defining templates) and the other without template (and potentially more).
 

 Then there should be API for assigning Incident to a group or an
 individual after it was created (with different variations depending on
 whether you want to use IDs or names etc.).

 Another type of calls should allow the Incident status to be progressed to
 in progress, pending, resolved, assigned, cancelled (all with relevant
 attributes).

 Then there are work log records to add, get, update. Same applies to
 relationship records.

 Various attributes of Incident can be updated, so there should be API to
 update them, i.e. Impact, Urgency, Priority, various categorisations.

 Then there should be various searches defined, i.e. by Assignee Group, by
 Status, by Create Date, by ID etc.

 Finally, there should be an API allowing service targets to be hooked to
 incidents.

 And perhaps many more.

 ** **

 Same then would need to be available for all other modules including the
 shared components such as company, people, assignment, approval modules etc.
 

 ** **

 To me it looks like a massive piece of work with the questionable benefit
 at the end. 

 Just my 2 cents.

 ** **

 Jiri Pospisil

 LCH Clearnet

 ** **

 ** **

 ** **

 *From:* Action Request System discussion list(ARSList) [mailto:
 arslist@ARSLIST.ORG] *On Behalf Of *Axton
 *Sent:* 02 November 2011 14:53

 *To:* arslist@ARSLIST.ORG
 *Subject:* Re: Request for Comments

 ** **

 ** I think the cloud landscape is changing that.  Playing in the cloud
 means working with other cloud based applications or SOA infrastructure.
  Being a silo in the cloud is going to be a tougher sell than being an
 easily integrated application in the cloud, at least this is my projection
 based on what I've observed.

 ** **

 http://en.wikipedia.org/wiki/Service-oriented_architecture


 http://www.salesforce.com/company/news-press/press-releases/2007/05/070521-1.jsp
 

 http://blog.programmableweb.com/2007/05/21/salesforcecom-soa-and-web-apis/
 


 If incorporated into the ITSM stack, another benefit is the ability to
 upgrade components independently of one another instead of having to
 upgrade an entire stack of applications all at once.

 On Wed, Nov 2, 2011 at 9:39 AM, LJ LongWing lj.longw...@gmail.com wrote:
 

 ** 

 Axton,

 I agree with a few of the other comments on this subject.  I agree that it
 would be better for the customer for the reasons that you point out that
 you could ‘mix

Re: Request for Comments

2011-11-02 Thread Lyle Taylor
Yes, I can see that.  I see the benefit in testing new processes with a 
subgroup, and that would mean you've got multiple versions of the process (and 
likely interface) in use for a limited period.  I suppose so long as you keep 
it well controlled and defined (lifecycle), as Axton stated in his response to 
my post, you may be OK.

I think that would likely complicate things at a system level, as the system is 
usually designed to support a process.  For example, we have decided that these 
fields are now required whereas they weren't in the previous version of the 
process.  That might necessitate a change in the interface.  If you wanted to 
be able to use both the new and the old interface, the system needs to be able 
to accommodate the transition in process (fields being required or not) and not 
just the current process (which seems to be usually the case).  That makes 
building/configuring the system more complicated.  However, to your point, big 
bang switchovers are complicated and risky as well.  For large processes, the 
extra effort spent in the system to support the smooth/incremental transition 
may mean less overall risk, time and cost in the process transition.

Lyle

From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORG] On Behalf Of John Sundberg
Sent: Wednesday, November 02, 2011 10:38 AM
To: arslist@ARSLIST.ORG
Subject: Re: Request for Comments

**

Lyle,

I have found the opposite to be the case. You desperately want multiple 
versions to run at the same time (not forever - most likely) but yes for a 
transitionary time.


It radically reduces change mgmt headaches. For one -- you can test the new 
process with a subset of your change world. That alone has huge benefits.

If it does not work -- you can roll back easily.

Right now -- we have no option but these massive cutovers -- which are risky, 
timely, expensive and problematic.


Unfortunately -- these big cutovers are the norm - so they are accepted.

But -- thinking differently -- they really are an optional approach.



Multi-version live processes are the 'cats meow'.



-John






On Nov 2, 2011, at 11:21 AM, Lyle Taylor wrote:

**
I agree with the idea of making the applications more loosely coupled.  
However, I don't know about the idea of versioned interfaces in this context, 
especially when those are in support of an application that supports a business 
process.  If you have a Change Management process, and you make changes to the 
process (i.e., go from version 1 of the process to version 2 of the process), 
you generally do NOT want to support the old version of the process.  You 
generally only want one version of a business process going on at a time, 
except perhaps for during a transition period.  I suppose that might  
contradict my statements above somewhat...

In general, though, I would think that if we move to version 2 of our Change 
process, we would expect all systems integrating with the Change module to be 
updated to support the new process rather than calling an older version of the 
interface that didn't support the new process.

Lyle

From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORG]mailto:[mailto:arslist@ARSLIST.ORG] On Behalf Of 
Axton
Sent: Tuesday, November 01, 2011 5:59 PM
To: arslist@ARSLIST.ORGmailto:arslist@ARSLIST.ORG
Subject: Request for Comments

**
This is more a high level discussion and is concept/design oriented.  Please 
feel free to chime in with your thoughts.  I look forward to the collective 
wisdom of this list.  I is my hope that a a constructive discussion can happen 
around this subject and the powers that be can gain insight gleaned from the 
discussion.

First, a little background.  I was in the Help Desk/ITSM space, left that arena 
for a few years, and have since returned.  After working with the ITSM 
application for a few short months I am realizing how tightly ingrained these 
applications are with one another (incident, problem, asset, change, cmdb, 
etc.).  The tightly coupled integrations make certain tasks exceedingly 
difficult, for example:
- using an outside system for change management (or any other process, for that 
matter)
- upgrading a single application in the stack (e.g., change management)
- integrating outside applications with the ITSM applications

Non-remedy or custom remedy applications are unable to easily or effectively 
communicate with the ITSM applications in the same way that the ITSM 
applications communicate with one another.  Even different versions of the 
applications are unable to effectively communicate.

Consider that each application facilitates a well defined process.  Each 
process has inputs, outputs, and actions.  The ITSM applications could have 
(and leverage, internally) interfaces to communicate their inputs and inputs, 
outputs, and actions.  Java Interfaces are an implementation of this design 
pattern that are a prime example of the flexibilities

Re: Request for Comments

2011-11-02 Thread Lyle Taylor
I guess my thought was that the interface and process will be closely related 
for some things, and that the interface generally needs to match (or be 
compatible with) the process in use.  If a change in process necessitates a 
change in the interface, then, by definition, the old interface is no longer 
compatible with the new process, so it wouldn't be valid to call the old 
interface as you moved into the new process.

However, if we take an incremental (not big bang) transition approach as 
suggested by John, then that would work with the lifecycle management of the 
interfaces to transition applications to the new interface over a period of 
time.  I would expect that you would not want to support the last X interface 
versions, though, since you ultimately would want the interfaces to stayed 
synched up with the process.  That would mean that you would generally only 
support one version of the interface except during transition periods, where 
you support 2 versions, but only during the transition period.

In some cases, it may be possible to leave the old interface in place while 
trying to account for the differences between the old and the new one behind 
the scenes in the system.  For example, if you've added new fields, perhaps 
there are reasonable defaults that could be applied if the old interface was 
called instead of the new one.  Where that is possible, you could then have 
multiple interfaces for an extended period of time.  However, certain process 
changes may require that only the current version of the interface be used 
after the transition period.

Lyle

From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORG] On Behalf Of Axton
Sent: Wednesday, November 02, 2011 10:28 AM
To: arslist@ARSLIST.ORG
Subject: Re: Request for Comments

** I don't envision version 2 of a process, just of an interface.  Using Change 
as an example, interfaces could include things like:
- Create a Change Request
- Resolve a Change Request
- Get Change Request details
- Relate something to a Change Request

Version 1 may support some set of attributes for Create a Change Request, 
whereas version 2 would accommodate some new attributes or it may deprecate 
some attributes.  The change process may change over time in such a way that 
new interfaces are required, so an interface could be introduced in version X 
of the application that was not available in previous versions of the 
application.  There is a lifecycle around the management of these interfaces 
that would have to be defined and adhered to for this to be a reliable approach.

Axton Grams

On Wed, Nov 2, 2011 at 11:21 AM, Lyle Taylor 
tayl...@ldschurch.orgmailto:tayl...@ldschurch.org wrote:
**
I agree with the idea of making the applications more loosely coupled.  
However, I don't know about the idea of versioned interfaces in this context, 
especially when those are in support of an application that supports a business 
process.  If you have a Change Management process, and you make changes to the 
process (i.e., go from version 1 of the process to version 2 of the process), 
you generally do NOT want to support the old version of the process.  You 
generally only want one version of a business process going on at a time, 
except perhaps for during a transition period.  I suppose that might  
contradict my statements above somewhat...

In general, though, I would think that if we move to version 2 of our Change 
process, we would expect all systems integrating with the Change module to be 
updated to support the new process rather than calling an older version of the 
interface that didn't support the new process.

Lyle

From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORGmailto:arslist@ARSLIST.ORG] On Behalf Of Axton
Sent: Tuesday, November 01, 2011 5:59 PM
To: arslist@ARSLIST.ORGmailto:arslist@ARSLIST.ORG
Subject: Request for Comments

**
This is more a high level discussion and is concept/design oriented.  Please 
feel free to chime in with your thoughts.  I look forward to the collective 
wisdom of this list.  I is my hope that a a constructive discussion can happen 
around this subject and the powers that be can gain insight gleaned from the 
discussion.

First, a little background.  I was in the Help Desk/ITSM space, left that arena 
for a few years, and have since returned.  After working with the ITSM 
application for a few short months I am realizing how tightly ingrained these 
applications are with one another (incident, problem, asset, change, cmdb, 
etc.).  The tightly coupled integrations make certain tasks exceedingly 
difficult, for example:
- using an outside system for change management (or any other process, for that 
matter)
- upgrading a single application in the stack (e.g., change management)
- integrating outside applications with the ITSM applications

Non-remedy or custom remedy applications are unable to easily or effectively 
communicate with the ITSM

Re: Request for Comments

2011-11-02 Thread Jason Miller
With Overlays I am not sure it would be as big of a system issue as it
would have in the past.  Add the capability to have versioned Overlays
might help with process transitions.  If the interface API could specify
which Overlay version to use it would be possible to have different field
requirements as well as different workflow behaviors.  Now managing all of
the variations between versions may cause a whole new set
of manageability issues but I don't think it is too far from being possible.

Jason

On Wed, Nov 2, 2011 at 11:10 AM, Lyle Taylor tayl...@ldschurch.org wrote:

 **

 Yes, I can see that.  I see the benefit in testing new processes with a
 subgroup, and that would mean you’ve got multiple versions of the process
 (and likely interface) in use for a limited period.  I suppose so long as
 you keep it well controlled and defined (lifecycle), as Axton stated in his
 response to my post, you may be OK.  

 ** **

 I think that would likely complicate things at a system level, as the
 system is usually designed to support a process.  For example, we have
 decided that these fields are now required whereas they weren’t in the
 previous version of the process.  That might necessitate a change in the
 interface.  If you wanted to be able to use both the new and the old
 interface, the system needs to be able to accommodate the *transition* in
 process (fields being required or not) and not just the current process
 (which seems to be usually the case).  That makes building/configuring the
 system more complicated.  However, to your point, big bang switchovers are
 complicated and risky as well.  For large processes, the extra effort spent
 in the system to support the smooth/incremental transition may mean less
 overall risk, time and cost in the process transition.

 ** **

 Lyle

 ** **

 *From:* Action Request System discussion list(ARSList) [mailto:
 arslist@ARSLIST.ORG] *On Behalf Of *John Sundberg
 *Sent:* Wednesday, November 02, 2011 10:38 AM

 *To:* arslist@ARSLIST.ORG
 *Subject:* Re: Request for Comments

 ** **

 ** 

 ** **

 Lyle,

 ** **

 I have found the opposite to be the case. You desperately want multiple
 versions to run at the same time (not forever - most likely) but yes for a
 transitionary time.

 ** **

 ** **

 It radically reduces change mgmt headaches. For one -- you can test the
 new process with a subset of your change world. That alone has huge
 benefits.

 ** **

 If it does not work -- you can roll back easily.

 ** **

 Right now -- we have no option but these massive cutovers -- which are
 risky, timely, expensive and problematic.

 ** **

 ** **

 Unfortunately -- these big cutovers are the norm - so they are accepted.**
 **

 ** **

 But -- thinking differently -- they really are an optional approach.

 ** **

 ** **

 ** **

 Multi-version live processes are the 'cats meow'.

 ** **

 ** **

 ** **

 -John

 ** **

 ** **

 ** **

 ** **

 ** **

 ** **

 On Nov 2, 2011, at 11:21 AM, Lyle Taylor wrote:


 ** 

 I agree with the idea of making the applications more loosely coupled.
 However, I don’t know about the idea of versioned interfaces in this
 context, especially when those are in support of an application that
 supports a business process.  If you have a Change Management process, and
 you make changes to the process (i.e., go from version 1 of the process to
 version 2 of the process), you generally do NOT want to support the old
 version of the process.  You generally only want one version of a business
 process going on at a time, except perhaps for during a transition period.
 I suppose that might  contradict my statements above somewhat…

  

 In general, though, I would think that if we move to version 2 of our
 Change process, we would expect all systems integrating with the Change
 module to be updated to support the new process rather than calling an
 older version of the interface that didn’t support the new process.

  

 Lyle

  

 *From:* Action Request System discussion list(ARSList)
 [mailto:arslist@ARSLIST.ORG] * On Behalf Of *Axton
 *Sent:* Tuesday, November 01, 2011 5:59 PM
 *To:* arslist@ARSLIST.ORG
 *Subject:* Request for Comments

  

 ** 

 This is more a high level discussion and is concept/design oriented.
  Please feel free to chime in with your thoughts.  I look forward to the
 collective wisdom of this list.  I is my hope that a a constructive
 discussion can happen around this subject and the powers that be can gain
 insight gleaned from the discussion.  

  

 First, a little background.  I was in the Help Desk/ITSM space, left that
 arena for a few years, and have since returned.  After working with the
 ITSM application for a few short months I am realizing how
 tightly ingrained these applications are with one another (incident,
 problem, asset, change, cmdb, etc.).  The tightly coupled integrations make
 certain tasks

Re: Request for Comments

2011-11-02 Thread Richard Baird
LJ,

Having done lots of OO stuff as well as ARS over the years, I fully grasp
the concepts you're putting forward, however, I think the goal should be
Interfaces, not necessarily API Interfaces. For most apps built using
java or .net (or some other OO platform) as a base, I agree that tightly
defined api interfaces are the way to go. But ARS is somewhat different in
that the integration tools already in existence are widely used both within
the ITSM as well as many other third party or custom apps and they afford
great flexibility, which is one of the reasons ARS became so popular to
begin with.

I don't see any reason that the capabilities we're talking about can't be
implemented via a special Interface Form type or layering versioning on
top of existing technology rather than requiring a call to a new C/java/.net
api. Not everyone uses the api to do integration and for integration between
apps both running on ARS platform (like the ITSM stuff), whether they are
BMC or someone else's, most will do it via workflow.

If the special form approach is used (and fully documented), then an
integration using the interface would behave exactly the same if it is done
via workflow, C API, Java API, .net api, Perl, etc... Nothing to stop BMC
from doing full error checking, implementing exceptions, etc... for activity
in the special form, and all the code would be visible so folks could easily
understand what is happening when they touch the form (or encounter
problems), regardless of the mechanism used. They could even define the
legal operations, exceptions, etc... via xml so others could build their own
Interface Forms for their own apps in a  standard way. In addition, we'd be
able to see exactly how the ITSM apps do their integration between each
other without searching all over the place for the push/set field workflow,
since it would all (or at least the majority of the big/important
operations) be localized to the appropriate Interface Form.

A potential drawback I see with this approach is that visual
studio/netbeans/eclipse/(insert your IDE here) might not see a specific
interface defined (i.e. we might still use setentry/getentry, which means
we'd have to actually read the interface spec;). I suspect this is
exactly what some want, and again, there is nothing to stop BMC from adding
specific versioned interface api calls that interact with the appropriate
Interface Forms, but I think it would be a mistake to force the use of the
API, or any other particular mechanism when we don't have to do it to
achieve the goal, that being consistent, safe, published, versioned
interfaces between ITSM (or other) apps running on the ARS platform.

Cheers!


Subject: Re: Request for Comments 
From: LJ LongWing lj.longw...@gmail.com 
Reply-To: arslist@ARSLIST.ORG
Date: Wed, 2 Nov 2011 10:17:47 -0600

 
 
Richard,
The point of API interfaces is actually reduced flexibilitynot really
the point, but a byproduct.  That reduced flexibility is actually a 'good'
thing though.  Remedy, in the way that it works now has absolutely no
enforced structure.  That lack of enforced structure allows you to literally
'do what you want'...which is extremely flexible, but extremely hard to
support and optimize.  When you setup API interfaces to a system, you harden
them and make them less flexible, but because of the defined contract
between the publisher and consumer you have extremely reliable results.
Because of this reliability you can guarantee results and ideally
scalability, and because of this contract you increase interoperability.

Additionally, when you add to this contract, versions of the API...it in
theory allows you to upgrade from ITSM 10 to 11, but you aren't required to
upgrade your integrated app, because your integrated app can continue to
communicate with your ITSM Suite on the 10 version of the API and will
continue to function EXACTLY the same as it did when you were actually
running that version.

That's the theory at least :D

-Original Message-
From: Action Request System discussion list(ARSList)
[mailto:arslist@ARSLIST.ORG] On Behalf Of Richard Baird
Sent: Wednesday, November 02, 2011 9:46 AM
To: arslist@ARSLIST.ORG
Subject: Re: Request for Comments

Good to hear David!

Here is a suggestion off the top of my head. Perhaps to help with one of
Axton's (and my) beefs, the concept of versioned interfaces, you could add a
reserved field for forms used as interfaces to implement versioning. Then
add checking of this field into the workflow objects such that, workflow
only fires if the versions match, or something to that effect. Perhaps a
combination of fields, one to hold the version number and another to
indicate if it is specific to the version or applicable to lower versions as
well or the lowest version number supported, etc?

That would allow you to share workflow between interface versions where
appropriate, and even perhaps have workflow with the same name, but
different version and also to have

Re: Request for Comments

2011-11-02 Thread Axton
I envisioned the interfaces implemented as web services, not as an API.  A
web service layer makes plugging into other things easier.  One of the
drivers for me starting this conversation is what I see many of the cloud
providers offering and leveraging as their interfaces into and out of their
applications.  I have some exposure to the service oriented architecture as
well, which plays into this paradigm nicely.

If, within Remedy, all the interfaces were exposed as web services and
Remedy had a native way to consumer those web service based interfaces, it
opens the door nicely for other things to operate at that level.  Web
services seem to be a common method of integration in the cloud space.  SOA
infrastructure deployments seem to be in their infancy, but I see them
gaining traction, as long as they are capable of delivering on their value
proposition.
http://www.zapthink.com/2005/01/27/the-roi-of-soa/

The lifecycle around services is pretty well defined in this space as well.
http://www.soablueprint.com/whitepapers/SOAPGPart3.pdf

Axton Grams

On Wed, Nov 2, 2011 at 2:20 PM, Richard Baird richard_ba...@sympatico.cawrote:

 LJ,

 Having done lots of OO stuff as well as ARS over the years, I fully grasp
 the concepts you're putting forward, however, I think the goal should be
 Interfaces, not necessarily API Interfaces. For most apps built using
 java or .net (or some other OO platform) as a base, I agree that tightly
 defined api interfaces are the way to go. But ARS is somewhat different in
 that the integration tools already in existence are widely used both within
 the ITSM as well as many other third party or custom apps and they afford
 great flexibility, which is one of the reasons ARS became so popular to
 begin with.

 I don't see any reason that the capabilities we're talking about can't be
 implemented via a special Interface Form type or layering versioning on
 top of existing technology rather than requiring a call to a new
 C/java/.net
 api. Not everyone uses the api to do integration and for integration
 between
 apps both running on ARS platform (like the ITSM stuff), whether they are
 BMC or someone else's, most will do it via workflow.

 If the special form approach is used (and fully documented), then an
 integration using the interface would behave exactly the same if it is done
 via workflow, C API, Java API, .net api, Perl, etc... Nothing to stop BMC
 from doing full error checking, implementing exceptions, etc... for
 activity
 in the special form, and all the code would be visible so folks could
 easily
 understand what is happening when they touch the form (or encounter
 problems), regardless of the mechanism used. They could even define the
 legal operations, exceptions, etc... via xml so others could build their
 own
 Interface Forms for their own apps in a  standard way. In addition, we'd be
 able to see exactly how the ITSM apps do their integration between each
 other without searching all over the place for the push/set field workflow,
 since it would all (or at least the majority of the big/important
 operations) be localized to the appropriate Interface Form.

 A potential drawback I see with this approach is that visual
 studio/netbeans/eclipse/(insert your IDE here) might not see a specific
 interface defined (i.e. we might still use setentry/getentry, which means
 we'd have to actually read the interface spec;). I suspect this is
 exactly what some want, and again, there is nothing to stop BMC from adding
 specific versioned interface api calls that interact with the appropriate
 Interface Forms, but I think it would be a mistake to force the use of the
 API, or any other particular mechanism when we don't have to do it to
 achieve the goal, that being consistent, safe, published, versioned
 interfaces between ITSM (or other) apps running on the ARS platform.

 Cheers!


 Subject: Re: Request for Comments
 From: LJ LongWing lj.longw...@gmail.com
 Reply-To: arslist@ARSLIST.ORG
 Date: Wed, 2 Nov 2011 10:17:47 -0600



 Richard,
 The point of API interfaces is actually reduced flexibilitynot really
 the point, but a byproduct.  That reduced flexibility is actually a 'good'
 thing though.  Remedy, in the way that it works now has absolutely no
 enforced structure.  That lack of enforced structure allows you to
 literally
 'do what you want'...which is extremely flexible, but extremely hard to
 support and optimize.  When you setup API interfaces to a system, you
 harden
 them and make them less flexible, but because of the defined contract
 between the publisher and consumer you have extremely reliable results.
 Because of this reliability you can guarantee results and ideally
 scalability, and because of this contract you increase interoperability.

 Additionally, when you add to this contract, versions of the API...it in
 theory allows you to upgrade from ITSM 10 to 11, but you aren't required to
 upgrade your integrated app, because your integrated app can

Re: Request for Comments

2011-11-02 Thread Richard Baird
That works for me Axton. If they wanted to get even fancier, they could
implement it via the Interface Form model I described, and have the saving
of the form (along with it's attached/embedded XML legal operations,
exceptions, etc...) automatically create and publish the web service.

That way every integration method/mechanism would have the same behaviour,
because it would be based on the same source (the Interface Form for the
specific interface)

Cheers!

Subject: Re: Request for Comments
From: Axton axton.gr...@gmail.com
Reply-To: arslist@ARSLIST.ORG
Date: Wed, 2 Nov 2011 14:45:38 -0500
 
** I envisioned the interfaces implemented as web services, not as an API.
A web service layer makes plugging into other things easier.  One of the
drivers for me starting this conversation is what I see many of the cloud
providers offering and leveraging as their interfaces into and out of their
applications.  I have some exposure to the service oriented architecture as
well, which plays into this paradigm nicely.


If, within Remedy, all the interfaces were exposed as web services and
Remedy had a native way to consumer those web service based interfaces, it
opens the door nicely for other things to operate at that level.  Web
services seem to be a common method of integration in the cloud space.  SOA
infrastructure deployments seem to be in their infancy, but I see them
gaining traction, as long as they are capable of delivering on their value
proposition.
http://www.zapthink.com/2005/01/27/the-roi-of-soa/


The lifecycle around services is pretty well defined in this space as well.
http://www.soablueprint.com/whitepapers/SOAPGPart3.pdf


Axton Grams


On Wed, Nov 2, 2011 at 2:20 PM, Richard Baird richard_ba...@sympatico.ca
wrote:

LJ,

Having done lots of OO stuff as well as ARS over the years, I fully grasp
the concepts you're putting forward, however, I think the goal should be
Interfaces, not necessarily API Interfaces. For most apps built using
java or .net (or some other OO platform) as a base, I agree that tightly
defined api interfaces are the way to go. But ARS is somewhat different in
that the integration tools already in existence are widely used both within
the ITSM as well as many other third party or custom apps and they afford
great flexibility, which is one of the reasons ARS became so popular to
begin with.

I don't see any reason that the capabilities we're talking about can't be
implemented via a special Interface Form type or layering versioning on
top of existing technology rather than requiring a call to a new C/java/.net
api. Not everyone uses the api to do integration and for integration between
apps both running on ARS platform (like the ITSM stuff), whether they are
BMC or someone else's, most will do it via workflow.

If the special form approach is used (and fully documented), then an
integration using the interface would behave exactly the same if it is done
via workflow, C API, Java API, .net api, Perl, etc... Nothing to stop BMC
from doing full error checking, implementing exceptions, etc... for activity
in the special form, and all the code would be visible so folks could easily
understand what is happening when they touch the form (or encounter
problems), regardless of the mechanism used. They could even define the
legal operations, exceptions, etc... via xml so others could build their own
Interface Forms for their own apps in a  standard way. In addition, we'd be
able to see exactly how the ITSM apps do their integration between each
other without searching all over the place for the push/set field workflow,
since it would all (or at least the majority of the big/important
operations) be localized to the appropriate Interface Form.

A potential drawback I see with this approach is that visual
studio/netbeans/eclipse/(insert your IDE here) might not see a specific
interface defined (i.e. we might still use setentry/getentry, which means
we'd have to actually read the interface spec;). I suspect this is
exactly what some want, and again, there is nothing to stop BMC from adding
specific versioned interface api calls that interact with the appropriate
Interface Forms, but I think it would be a mistake to force the use of the
API, or any other particular mechanism when we don't have to do it to
achieve the goal, that being consistent, safe, published, versioned
interfaces between ITSM (or other) apps running on the ARS platform.

Cheers!



Subject: Re: Request for Comments

From: LJ LongWing lj.longw...@gmail.com
Reply-To: arslist@ARSLIST.ORG
Date: Wed, 2 Nov 2011 10:17:47 -0600




Richard,
The point of API interfaces is actually reduced flexibilitynot really
the point, but a byproduct.  That reduced flexibility is actually a 'good'
thing though.  Remedy, in the way that it works now has absolutely no
enforced structure.  That lack of enforced structure allows you to literally
'do what you want'...which is extremely flexible, but extremely hard to
support and optimize

Re: Request for Comments

2011-11-02 Thread Axton
I see limitations to the form approach that could be counter productive
and/or limiting.  xml (encapsulated in a web service) provides a richer set
of capabilities to describe, store, and validate data.  For instance, if
one of the services to get a list of things, be it incidents, changes,
tasks, etc., a single response could be returned as an xml document.  Part
of the request could be what to query on, the other part of the request
could be what to return.  The same for a service like create an incident,
it could handle any number of tasks, work info records, related items, etc.
that are desired at create time.  I don't see an easy or good way to
achieve similar results using a form.  Again, I would expect this to all be
native within AR, a new type of workflow action, if apps are to consume
services from one another.  Some type of interface where, within the
workflow, you could browse the available services (and why stop at just
Remedy services) and select the appropriate one and view the definition of
the service.  This is not so far from the current web service
implementation, but a richer set of capabilities would be required.

Axton Grams

On Wed, Nov 2, 2011 at 2:55 PM, Richard Baird richard_ba...@sympatico.cawrote:

 That works for me Axton. If they wanted to get even fancier, they could
 implement it via the Interface Form model I described, and have the
 saving
 of the form (along with it's attached/embedded XML legal operations,
 exceptions, etc...) automatically create and publish the web service.

 That way every integration method/mechanism would have the same behaviour,
 because it would be based on the same source (the Interface Form for the
 specific interface)

 Cheers!

 Subject: Re: Request for Comments
 From: Axton axton.gr...@gmail.com
 Reply-To: arslist@ARSLIST.ORG
 Date: Wed, 2 Nov 2011 14:45:38 -0500

 ** I envisioned the interfaces implemented as web services, not as an API.
 A web service layer makes plugging into other things easier.  One of the
 drivers for me starting this conversation is what I see many of the cloud
 providers offering and leveraging as their interfaces into and out of their
 applications.  I have some exposure to the service oriented architecture as
 well, which plays into this paradigm nicely.


 If, within Remedy, all the interfaces were exposed as web services and
 Remedy had a native way to consumer those web service based interfaces, it
 opens the door nicely for other things to operate at that level.  Web
 services seem to be a common method of integration in the cloud space.  SOA
 infrastructure deployments seem to be in their infancy, but I see them
 gaining traction, as long as they are capable of delivering on their value
 proposition.
 http://www.zapthink.com/2005/01/27/the-roi-of-soa/


 The lifecycle around services is pretty well defined in this space as well.
 http://www.soablueprint.com/whitepapers/SOAPGPart3.pdf


 Axton Grams


 On Wed, Nov 2, 2011 at 2:20 PM, Richard Baird richard_ba...@sympatico.ca
 wrote:

 LJ,

 Having done lots of OO stuff as well as ARS over the years, I fully grasp
 the concepts you're putting forward, however, I think the goal should be
 Interfaces, not necessarily API Interfaces. For most apps built using
 java or .net (or some other OO platform) as a base, I agree that tightly
 defined api interfaces are the way to go. But ARS is somewhat different in
 that the integration tools already in existence are widely used both within
 the ITSM as well as many other third party or custom apps and they afford
 great flexibility, which is one of the reasons ARS became so popular to
 begin with.

 I don't see any reason that the capabilities we're talking about can't be
 implemented via a special Interface Form type or layering versioning on
 top of existing technology rather than requiring a call to a new
 C/java/.net
 api. Not everyone uses the api to do integration and for integration
 between
 apps both running on ARS platform (like the ITSM stuff), whether they are
 BMC or someone else's, most will do it via workflow.

 If the special form approach is used (and fully documented), then an
 integration using the interface would behave exactly the same if it is done
 via workflow, C API, Java API, .net api, Perl, etc... Nothing to stop BMC
 from doing full error checking, implementing exceptions, etc... for
 activity
 in the special form, and all the code would be visible so folks could
 easily
 understand what is happening when they touch the form (or encounter
 problems), regardless of the mechanism used. They could even define the
 legal operations, exceptions, etc... via xml so others could build their
 own
 Interface Forms for their own apps in a  standard way. In addition, we'd be
 able to see exactly how the ITSM apps do their integration between each
 other without searching all over the place for the push/set field workflow,
 since it would all (or at least the majority of the big/important
 operations

Re: Request for Comments

2011-11-02 Thread LJ LongWing
Richard,
I'm sorry...I got hung up on the term...I completely agree with you...when I
was using API I wasn't specifically talking about C/Java/etc...I was
discussing exactly what you were just describingthat to interface with
application X, you do a 'call' to the Interfacebe that a Service action
or whatever...the point is that the interaction with the application be
through that interface, for both integration purposes as well as
communication inter-app, so change, SLA, etc and any other app you want to
integrate all communicate through that interfaceI think we are all
saying the same thing :)

-Original Message-
From: Action Request System discussion list(ARSList)
[mailto:arslist@ARSLIST.ORG] On Behalf Of Richard Baird
Sent: Wednesday, November 02, 2011 1:21 PM
To: arslist@ARSLIST.ORG
Subject: Re: Request for Comments

LJ,

Having done lots of OO stuff as well as ARS over the years, I fully grasp
the concepts you're putting forward, however, I think the goal should be
Interfaces, not necessarily API Interfaces. For most apps built using
java or .net (or some other OO platform) as a base, I agree that tightly
defined api interfaces are the way to go. But ARS is somewhat different in
that the integration tools already in existence are widely used both within
the ITSM as well as many other third party or custom apps and they afford
great flexibility, which is one of the reasons ARS became so popular to
begin with.

I don't see any reason that the capabilities we're talking about can't be
implemented via a special Interface Form type or layering versioning on
top of existing technology rather than requiring a call to a new C/java/.net
api. Not everyone uses the api to do integration and for integration between
apps both running on ARS platform (like the ITSM stuff), whether they are
BMC or someone else's, most will do it via workflow.

If the special form approach is used (and fully documented), then an
integration using the interface would behave exactly the same if it is done
via workflow, C API, Java API, .net api, Perl, etc... Nothing to stop BMC
from doing full error checking, implementing exceptions, etc... for activity
in the special form, and all the code would be visible so folks could easily
understand what is happening when they touch the form (or encounter
problems), regardless of the mechanism used. They could even define the
legal operations, exceptions, etc... via xml so others could build their own
Interface Forms for their own apps in a  standard way. In addition, we'd be
able to see exactly how the ITSM apps do their integration between each
other without searching all over the place for the push/set field workflow,
since it would all (or at least the majority of the big/important
operations) be localized to the appropriate Interface Form.

A potential drawback I see with this approach is that visual
studio/netbeans/eclipse/(insert your IDE here) might not see a specific
interface defined (i.e. we might still use setentry/getentry, which means
we'd have to actually read the interface spec;). I suspect this is
exactly what some want, and again, there is nothing to stop BMC from adding
specific versioned interface api calls that interact with the appropriate
Interface Forms, but I think it would be a mistake to force the use of the
API, or any other particular mechanism when we don't have to do it to
achieve the goal, that being consistent, safe, published, versioned
interfaces between ITSM (or other) apps running on the ARS platform.

Cheers!


Subject: Re: Request for Comments 
From: LJ LongWing lj.longw...@gmail.com 
Reply-To: arslist@ARSLIST.ORG
Date: Wed, 2 Nov 2011 10:17:47 -0600

 
 
Richard,
The point of API interfaces is actually reduced flexibilitynot really
the point, but a byproduct.  That reduced flexibility is actually a 'good'
thing though.  Remedy, in the way that it works now has absolutely no
enforced structure.  That lack of enforced structure allows you to literally
'do what you want'...which is extremely flexible, but extremely hard to
support and optimize.  When you setup API interfaces to a system, you harden
them and make them less flexible, but because of the defined contract
between the publisher and consumer you have extremely reliable results.
Because of this reliability you can guarantee results and ideally
scalability, and because of this contract you increase interoperability.

Additionally, when you add to this contract, versions of the API...it in
theory allows you to upgrade from ITSM 10 to 11, but you aren't required to
upgrade your integrated app, because your integrated app can continue to
communicate with your ITSM Suite on the 10 version of the API and will
continue to function EXACTLY the same as it did when you were actually
running that version.

That's the theory at least :D

-Original Message-
From: Action Request System discussion list(ARSList)
[mailto:arslist@ARSLIST.ORG] On Behalf Of Richard Baird
Sent

Re: Request for Comments

2011-11-02 Thread Richard Baird
Agreed LJ.

Axton, the reason I was leaning toward some kind of form solution is that
calls to Web Services are (relatively) expensive in performance terms,
particularly when the mid-tier is on another system, which it usually is.
Not that whatever is designed shouldn't include a Web Service access option,
but do we really want every create, lookup, or modify operation between apps
within ITSM itself to have that overhead? I would think it would be
particularly expensive to access the cmdb info only via web services as that
data is constantly being hit. Plus, this type of approach would allow third
party ARS based apps to adopt the same model, using the same tools.

I was thinking more in terms of some kind of special form definition or
perhaps it is a new object of type interface. That way you could publish it
for use in something like a Service action model locally and as a web
service remotely, but use the same definition to build both, thereby keeping
it consistent while avoiding the performance hit of accessing the mid-tier.

The Interface type could then connect to multiple back end forms via
mappings (similar to joins/web service definitions) to address your complex
transaction types, contain the rules and exceptions, etc...all in one place,
so the interface is defined once (or maybe once per interface version) and
from that single definition, the local (Interface object and associated
access method) and remote (Web Service) interfaces are generated. You might
even allow filter workflow to run on it when it is accessed.

Granted this may be a bit more ambitious, but it would give fast performance
locally between apps on the same server/group and consistent local and
remote interfaces.

Cheers! 

Subject: Re: Request for Comments
From: LJ LongWing lj.longw...@gmail.com
Reply-To: arslist@ARSLIST.ORG
Date: Wed, 2 Nov 2011 14:23:04 -0600
 

Richard,
I'm sorry...I got hung up on the term...I completely agree with you...when I
was using API I wasn't specifically talking about C/Java/etc...I was
discussing exactly what you were just describingthat to interface with
application X, you do a 'call' to the Interfacebe that a Service action
or whatever...the point is that the interaction with the application be
through that interface, for both integration purposes as well as
communication inter-app, so change, SLA, etc and any other app you want to
integrate all communicate through that interfaceI think we are all
saying the same thing :)


 
 

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: Where the Answers Are