Interoperability of web-based modeling tools
While doing some research on web-based tool, I recently found this excellent article by the team at EclipseSource. I like the way they present the differences between web and desktop-based tools focusing on the following axes:
- Installability
- Portability
- Performance and responsiveness
- Usability
- Cost
I recently started studying these web-based tools to implement some personal projects and I found that there is another dimension worth mentioning: interoperability. As they note, both technologies have their pros and cons in each axis, but in the axis of interoperability, web technology are just on a league of their own.
What Do We Mean By Interoperability
“Interoperability is about the degree to which two or more systems can usefully exchange meaningful information via interfaces in a particular context”, according to Lens et al. 1. We use this definition in the context of tooling to refer to the ability of web-based tools to be used in different environment sharing the same back-end.
Benefits of Interoperability
The main benefits are that you can choose the back-ends that best suits your application. You need to use Eclipse? You can. You need a full web application accessible from a URL? You can. You only need to write the UI code once and it can be shared by all of your platforms by providing the right glue code.
Web-based tools are more complex from an architectural point of view. However, they are usually based on well defined standards like the Graphic Language Server Protocol, Language Server Protocol, HTML, CSS and JavaScript. Using this technologies opens the door to inter-operate with a wide variety of systems. Indeed, most UI frameworks, offer some kind of web view that allows to target them with minimum effort on the client side. Having this possibility enables a true decoupling of the graphical interface from the back-end, and thus allowing it to inter-operate potentially with UI frameworks that support web views.
Shortcomings of Interoperability
As with everything, there are some prices to pay for interoperability and using standards. Grace Lewis et al. presents several shortcomings of standards in her paper “Why Standards Are Not Enough to Guarantee Interoperability”2. In particular, she mentions lack of flexibility in standards. In think that this might be a problem when we decide to adopt all of these standards at once for our tool. Indeed, when working within the limits of a standard certain things are very easy to do, and certain other things can be impossible or extremely difficult.
Conclusion
Although interoperability of web-based tools can have some shortcomings and limitations, I think that the benefits that these web-based technologies and their applications bring to the tooling ecosystem outweighs the problems. Having these technologies at hand allow us to develop tools that truly integrate with the existing tool-chains.
-
Bass, Len; Clements, Paul; Kazman, Rick. Software Architecture in Practice (SEI Series in Software Engineering) . Pearson Education. Kindle Edition. ↩︎
-
Lewis, Grace & Morris, Edwin & Simanta, Soumya & Wrage, Lutz. (2008). Why Standards Are Not Enough To Guarantee End-to-End Interoperability. Proceedings - 7th International Conference on Composition-Based Software Systems, ICCBSS 2008. 164-173. 10.1109/ICCBSS.2008.25. ↩︎