- Research Team Leader, Research & Innovation Division at Softeco Sismat
- Obtained Bachelor of Biomedical Engineering from the University of Genoa in 2002
- 10 years experience in EC-funded/national/regional research & innovation projects
- Projects are mainly semantic-based knowledge and content management in advanced Java-based technology web applications (J2EE, JSP/Servlet, JSF, Ajax RIA)
Q: Firstly, please tell us a little more about what you do?
In nearly 10 years of experience at Softeco Sismat, I was actively involved in over 10 research projects in very different contexts, from health digital libraries to power network smart grids, and gained experience in user requirements analysis, system architecture design and software development, with particular emphasis on complementary activities such as market analysis and business model planning, dissemination and exploitation, corporate image definition and support of project coordination. I am currently the Research Team Leader in the Research & Innovation division and I carry out technical project management activities in several different ICT research contexts.
Q: How many years have you been using ZK? How you encountered ZK? Why did you choose ZK?
We have been using ZK for around 1 and a half year now. When we chose ZK, we were searching for a Java-based RIA framework, and come colleagues who tested a previous version pointed me to ZK. I gave it a try and implemented an impressive UI mock-up in minutes. A tour in the demos section made the rest. Impressive – got it. As you probably know, native binding capabilities are lovely, and the possibility to arrange component in any possible way is really powerful – with ZK is really easy to set up working mock-ups for customers and get a valuable feedback in minutes.
Q: In what kind of projects are you using ZK? What was the greatest challenge of the project and how did ZK help?
We adopted ZK for a research project called GLIMS – Genetic Laboratory Information Management System, which started in June 2010. The laboratory we collaborated followed some very strict procedures for the registration and validation of biological samples but was using simple spreadsheets and text files to track all related activities. We needed a web desktop-like solution to enable the creation of projects, the registration of samples, the validation of materials, the quality check, the reporting activity etc., with a strong emphasis on advanced dynamic interaction and data visualization.
Initially, we started developing a prototype using J2EE plus some third parties’ and tag libraries to enrich the UI. Due to the requirements, we actually spent a LOT of efforts to develop advanced dynamic interactions from scratch, with a fragmentation of the UI in hundreds of JSPs and a poor logical model.
When we had to change a large part of the system due to an update of the requirements, we investigated the possibility to adopt a Java RIA framework to cut the efforts on UI prototyping and development and better concentrate on model and process. This is where ZK helped: we dramatically reduced the number of files handling UI and refined the model, following a more event driven approach. ZK’s native data binding and data wiring techniques definitively helped here, although a bit hard to implement at the very beginning as the system had to include e.g. rather complex CRUD forms, with nested popup forms populating nested elements. However, in the end, we completely replaced the old UI with a fraction of the initial effort, adding interaction modalities we would have never otherwise obtained. It may seem strange but I have to admit our development was sometimes ZK-drive, i.e. we made several tours on the ZK demo page to get inspiration on how to render items, show information, manage UI etc.
We are currently also evaluating to adopt ZK for the implementation of the presentation layer in a couple of research projects focused on power electric grid monitoring in the Smart Grid context (transmission and distribution systems) – here, ZK’s native server push mechanism could help a lot.
Screen Caps of the project
Q: What of ZK do you like the best? What do you see as the most important value of ZK?
ZK helped us a lot in moving from a web-oriented programming style (request/response based, mainly flow-driven) to a truly object-oriented one. Decoupling view/UI and model – an enabling seamless native communication – ZK helped us to develop different ways to approach the problem, i.e. model and solve the problem and visualize it rather than “moving through steps/pages”. This was our first project requiring such a complex interaction and rich component library as well as databinding. Adding all this together is a very concrete value of ZK.
What would you suggest to a new ZK comer who is starting to learn ZK?
As I always stated in the forum – and this is something I apply in other contexts as well – “take your time and read it all”. The documentation is rich and complete – ZK is very dynamic, so here and there some updates might be necessary, but the community is active and I nearly always get an answer when necessary
(by the way, if you ask something in the forum but find a solution in the meantime, please answer yourself – it might help other newbies in the future!).
Reading the whole documentation might seem too much in the beginning but
1. You can get a complete overview of what you need and what you don’t (but might need sooner or later)
2. Avoid the “quick-and-dirty- copied-and-pasted-and-tested” fixes that works fine today but not tomorrow
For those who come from “primitive” technologies such as JSP or Servlet, I might suggest you to pay attention as ZK gently wraps a lot of native functionalities (session management, for example), and try to adhere as much as possible to the given paradigm.
I also translated a couple of tutorial in Italian and would like to give something back to the community – I have some draft slides, I hope to find the time to fix and post them.