Greatfree: the JAVA Apis and Idioms to Program Large-Scale Distributed Systems
This paper introduces a series of APIs and idioms in Java SE (Java Standard Edition), GreatFree, to program large-scale distributed systems from scratch without adopting any third party frameworks. When programming with GreatFree, developers are required to take care of rather than be invisible to most of the implementation issues in a distributed system. It not only strengthens developers’ skills to polish a system but also provides them with the techniques to create brand new and creative systems. However, taking care of many such issues is a heavy load because of the low-level of Java SE. To alleviate the burden to program with Java SE directly, GreatFree provides numerous APIs and idioms in Java SE to help programmers resolve indispensable distributed problems, such as communication programming, serialization, asynchronous and synchronous programming, resource management, load balancing, caching, eventing, requesting/responding, multicasting, and so forth. Additionally, as an open source tool to program, developers are able to strengthen their systems through not only adjusting GreatFree parameters but also upgrading GreatFree APIs and idioms themselves. According to the current intensive experiments, it is convenient for developers to program an ordinary or a large-scale distributed system from scratch with GreatFree.