Crucial Service-Oriented Antipatterns
Jaroslav Kr · 2009
Service-oriented architecture is now the most popular software engineering concept. Software related antipatterns ‐ commonly used seemingly good but in fact wrong solutions ‐ can have adverse consequences of varying importance. It implies that the use of an antipattern can and should be viewed as a risky event. It follows that some principles of risk management can be used. We propose a method based on slightly simplified procedures of risk management and assessment. Using the procedures we give a short list of the most risky antipatterns, i.e., antipatterns occurring very often and having crucial consequences and present principles of antipattern refactoring. We discuss the following crucial antipatterns: No Legacy (development from scratch), Standardization Paralysis, Business Process for Ever (Full Automation), Sand Pile (too fine grained services), On-Line Only (No Batch Systems). The discussion of antipatterns is based on a long-term experience with service-oriented and service-oriented like (e.g., process control) systems and on the analysis of practice. Contributions of the paper: evaluation of antipatterns as risky events, specification the properties of service-oriented systems in small firms and in e-government, differences between object-oriented and service-oriented antipatterns, requirements on service interfaces, and the list of the serviceoriented antipatterns being the most important ones according to the evaluation.