- Manager of Tools & Integration, Potix Corporation.
- Formerly technical leader & special lecturer at Infinities Soft Inc & engineer at III.
- 11+ years experiences in Java/J2EE solutions
- 3+ years BPM/SOA system & Ajax/Web2.0 applications.
- He is also one of the original developers of ZK Spreadsheet, ZK Studio (an Eclipse-Plugin for ZK framework) & owner of Android application Daily-Money.
Q: Firstly, how do you feel about winning the IBM XPages Development Contest? Being one of the first winners of this contest?
A: I was absolutely delighted to hear the news, my hard work has paid off and most importantly is of course that it is a great opportunity to let more people know about ZK Spreadsheet.
Q: What was the driving force behind that made you to enter this contest?
A: The main reason is because I wanted to take hold of this opportunity to introduce ZK Spreadsheet to the wider Java Community as I am also one of its original developers. Being such a powerful component, I think it would be a shame if it is not shared and utilized around the Java community. With that in mind, when I knew about this contest by chance, I thought if I didn’t integrate ZK Spreadsheet into XPages, then developers using XPages wouldn’t really have the chance to come across this component and even if they did, they probably wouldn’t pay much attention to it either since they can’t embed it into their applications. So I might as well take this contest as a motivation to execute the implementation of the integration in the light of hoping to deliver the convenience of embedding a complex excel-like component into an application brought about by using ZK Spreadsheet to developers using XPages.
Q: How long did the integration process take you? What was the greatest challenge during the integrating process?
A: Around 3 to 4 weeks. As I have had experience in developing using JSF components and I am also an experienced developer of ZK, I didn’t have to spend extra time learning them so most of my time was spent on finding solutions regarding the actual integration of Domino Server, Designer and ZK. One of the greatest challenges of the project was finding out how to add ZK Servlet to the XPages environment because the way to add a servlet in XPages is different to that of J2EE where a servlet is added by using “web.xml”. After extensive research, I found out that in XPages, a customized servlet can be added by using “Plug-in Configuration” in which there are two methods available for users. However, one of them was not applicable to this project because it causes session incompatibility between ZK servlet and XPages. Therefore, I adopted the other method where “com.ibm.xsp.adapter.servletFactory” is used to provide a factory of servlets. This way, ZK Servlet can be seamlessly integrated into the XPages environment.
Another problem I encountered was how ZK’s Ajax can be enabled to go through XPages’ partial refresh mechanism in order to update the content of the browser on the client side. The key to this is that XPages is JSF1.1 based and consequently does not provide JSF 2.0’s standard partial refresh mechanism so I had to dig into the source code of XPages and eventually found out that XPages bestows a customizable API giving users the ability to achieve the same result provided by that of JSF 2.0’s partial refresh mechanism.
Q: What do you think is the greatest value of this integration?
A: This integration isn’t just purely an integration of ZK Spreadsheet into XPages. When I was designing the project, what I had in mind was to integrate the core of ZK into XPages’ environment, providing an architecture with great extensibility; easily integratable with any ZK components – which in turn makes this the greatest value coming out of this project. XPages users are now able to integrate any ZK component into their applications.
To ZK XPages Homepage
To ZK Spreadsheet for XPages @ OpenNTF.org