The GATE systems has been engineered to a high standard in order to be suitable for deployment in commercial applications software, and is based on components, mobile code and internet-based distribution. The system is written in Java and has advanced support for XML, HTML and other formats.
It is always difficult to develop industrial-strength software in an academic environment, but in the case of GATE a serious effort has been made to achieve a very high level of quality. Partly this has been possible because we have been lucky enough to build a second version of the system and learn from the mistakes we made first time around; partly because we have taken practical software engineering very seriously. We have a large regression test suite that runs on our continuous integration system (test code makes up 10% of the system), we manage all system change via a version control system, and we use advanced programming tools for all development. The system has also benefitted from the involvement of our commercial collaborators, such as Ontotext.