Scalability of server, the number of clients which can handle with the limited resources, plays a crucial role for server performance and maintenance.
It is a widespread consensus that server components should be stateless to implement a scalable server. However, there is little systematic approaches to make a server stateless. Making stateless server still have been a tip implemented through expert experiences. Therefore, we suggest a refactoring method to transform a stateful server to a stateless server through refactoring. Refactorings are behavior-preserving program transformations which can aid in restructuring of legacy designs. Refactorings have very mature foundations and recently many refactoring researches have been performed, but mentioned techniques does not concern itself with how to use existing
refactoring rules to achieve specific non-functionality. Thus, our proposed refactoring method contains the systematic guidance of how to use refactorings to transform a stateless server to a stateful server.
We propose strategies to find stateful components and to apply refactoring rules to each component, then suggest an algorithm to refactoring a server with many components. We have conducted an empirical study with an example, simple banking system. As a result, we successively transformed a stateful server to a
stateless server.