Sam,
It’s been years since we did the analysis and report, and my memory is failing me, but it basically boiled down to VistALink not being able to do what we needed it to do to support features of CPRS…
Um, off the top of my head: it targeted WebLogic instead of being portable - the dependency on JCA made it difficult to use outside of heavyweight JEE containers - there were a lack of RPC logging/debugging tools on the VistA side - we couldn’t change verify codes when they expired - we couldn’t implement CCOW integration to get single sign-on with CPRS - the use of the station number as a unique identifier for a VistA instance caused confusion and configuration difficulties between test and production environments - and the use of the new listener port similarly created lots of configuration confusion for IRM staff used to the broker listeners - maintenance of the connector credentials for a nationally deployed application like EDIS (that’s ~120 VistA instances or something) was a combinatorial explosion and a diffusion of responsibility problem amongst support staff for repairing failing connectors when access/verify codes expired, etc etc.
I guess some of these are practical limitations rather than technical ones, but our experience has generally been that the field “gets” the broker configuration stuff a lot more than the VistALink stuff and so implementation is significantly smoother because the broker listeners are already up and running due to CPRS using them. These things would be possible to address, of course, if VistALink development hadn’t effectively stopped.
My dream for the future would be to move away from RPCs altogether and have web services (RESTful or otherwise) be the primary communication channel with VistA (assuming its not Intersystems dependent)… VistA as a first class player in web service land would open up a lot of system integration possibilities, IMHO. I believe WorldVistA has done some work in this area, yes? ;)
Anyhoo, cheers, Happy New Year,
Solomon