ThoughtWorks Programmer Zheng Ye recently received the 2013 China Duke’s Choice Award for his work on the MOCO framework for Java apps. The Duke's Choice Award recognizes outstanding individuals and projects based on Java technology.
MOCO aims to tackle the integration problem troubling Java enterprise-level development by simplifying test server set-up, and focusing on testing and integration. MOCO users hail from around the world and have many different uses for the tool.
I recently spoke with Zheng about MOCO, the culture of technology innovation at ThoughtWorks, and his plans for the future. Read an excerpt below.
Q: How did ThoughtWorks’ culture of innovation help you with MOCO?
A: ThoughtWorks encourages me to find and fix any inefficient points in our daily work all the time. MOCO is the result of that. Integration had troubled me for a long time, and I finally found a reasonable way to solve this problem.
Q: What has happened to MOCO since winning the Duke Award?
A: Since winning the Duke Award, MOCO has received more and more attention. Of course, I've also received all kinds of feedback and feature requests. I've been working on these new features and the latest version was recently released on Nov. 1, 2013.
The new features include:
Verify functionality to make it possible to verify request has been sent to server.
Added event to MOCO, which allows us to do something after the request has been handled. We can implement OAuth callback feature with it.
MOCO can pick up an available port if no port is provided, which allows us to run tests in parallel using different ports..
MOCO definitely has changed a lot and is becoming more powerful. However, there are still a lot of new features on my to-do list, including tool integration.
Q: What else are you working on?
A: Besides MOCO, I'm working on a book titled “The Updated Java Working Knowledge.” It will explore how to apply “new” thinking into the “old” Java word.
In my day-to-day work, both in development and consulting, there are a lot of new ideas for Java. For example, functional programming and micro service architecture. However, many Java developers still use the approach I was using 10 years ago. So I think it is worth collecting these new ideas. I've also written several blogs and presented at sessions in our office on this topic.
Of course, MOCO has benefited a lot from the ideas I’ve gathered. For instance, MOCO uses function composition, rather than traditional Java API style.