Design Pattern Evaluation on A RESTful API Wrapper: A Case Study of Software Integration with An Internet Payment Gateway using Model-Driven Architecture
DOI:
https://doi.org/10.25126/jitecs.201943107Abstract
A proper use of design patterns has proven to be very useful in the development of robust applications over time. In this paper, the design patterns are introduced in the early stage of the software development where model-driven architecture is used as the engineering approach. A RESTful internet payment gateway API (Application Programming Interface) wrapper is selected as the case study. At the beginning, Platform Independent Model (PIM) is created as the domain model. After that, the PIM is transformed into the Platform Specific Model (PSM). Before converting the PSM into the source code, three design patterns such as builder, observer, and factory pattern are added into the model. To evaluate the impacts of implementation, static analysis is used to examine the generated code before and after adding the design patterns. The result shows that the design decision increases cohesion, complexity, coupling, inheritance, and size metrics of the source codes.References
M. Fowler, “Patterns [software patterns],†IEEE Softw., vol. 20, no. 2, pp. 56–57, 2003.
E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-oriented Software. Boston, MA, USA: Addison-Wesley Longman Publishing Co., Inc., 1995.
P. Hegedüs, D. Bán, R. Ferenc, and T. Gyimóthy, “Myth or Reality? Analyzing the Effect of Design Patterns on Software Maintainability,†in Communications in Computer and Information Science, 2012, vol. 340, pp. 138–145.
F. Khomh and Y.-G. Guéhéneuc, “Perception and Reality: What are Design Patterns Good For?,†2007.
L. P. Manik and Technische Universiteit Eindhoven (TUE). Stan Ackermans Instituut. Software Technology (ST), “Modular software architecture for a large complex codebase,†Technische Universiteit Eindhoven, 2015.
OBJECT MANAGEMENT GROUP, “MDA Guide rev.2.0,†no. June, pp. 1–15, 2014.
T. Černý and M. J. Donahoo, “On separation of platform-independent particles in user interfaces,†Cluster Comput., vol. 18, pp. 1–14, 2015.
S. Ellegaard Borch, J. Winther Jespersen, J. Linvald, and K. Østerbye, “A Model Driven Architecture for REA based systems,†2003.
J. Huang, “The Research of Model-Driven Architecture in the Embedded System,†in Advanced Development in Automation, Materials and Manufacturing, 2014, vol. 624, pp. 524–527.
R. Calinescu, S. Harris, J. Gibbons, J. Davies, I. Toujilov, and S. B. Nagl, “Model-driven architecture for cancer research,†in SEFM ’07: Proceedings of the Fifth IEEE International Conference on Software Engineering and Formal Methods, 2007, pp. 59–68.
A. di Bari, G. Vetere, and K. Tymoshenko, “Towards Model Driven Architectures for Human Language Technologies,†in Proceedings of the Workshop on Open Infrastructures and Analysis Frameworks for HLT, 2014, pp. 23–33.
B. Atanasovski et al., “On defining a model driven architecture for an enterprise e-health system,†Enterp. Inf. Syst., vol. 12, no. 8–9, pp. 915–941, Sep. 2018.
M. Hamlich, A. Mamouni, Y. Raki, A. Marzak, and A. Belangour, “{ZCM} (Zakat Calculation Model) Models Metamodelling Based on {MDA} (Model Driven Architecture) Concepts,†{SSRN} Electron. J., 2018.
R. Cloutier, “Model Driven Architecture for Systems Engineering,†Stevens Inst. Technol. Present. INCOSE Int. Work., 2008.
R. Ferenc, L. Langó, I. Siket, T. Gyimóthy, and T. Bakota, “Source Meter Sonar Qube Plug-in,†in 2014 IEEE 14th International Working Conference on Source Code Analysis and Manipulation, 2014, pp. 77–82.
Downloads
Published
How to Cite
Issue
Section
License
 Creative Common Attribution-ShareAlike 3.0 International (CC BY-SA 3.0)
Authors who publish with this journal agree to the following terms:
- Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.
- Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
- Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work (See The Effect of Open Access).