Abstract

1 IntroductionThe software systems currently face a multitude of challenges resulting from different factors such as high complexity, changing technology and the need for interoperability of heterogeneous data. All these factors have led to the emergence of various architectural models that have tried to address these challenges. Chronologically speaking, we believe that the most important steps are those focused on architectures and service oriented architectures. We estimate that the new wave will have in the forefront the micro-services based architectures in response to the challenges of interoperability. For example, in the last 10 years the market of the solutions dedicated to the interoperability [1] has grown from $3.4 billion (2004) to $11 billion (2008) and over $20 billion in 2015. The architectures focused on a traditional approach; although some authors consider them outdated, many current systems are designed in this style. Their integration is achieved mostly through SOA, but SOA limitations and challenges have prompted the emergence of a new vision: micro-services. In this paper we will try to make a comparison of these approaches and highlight their specific in the academic field.2 Monolithic ArchitectureWhen referring to architecture, the literature in this field avoids defining the term. According to Aoyama [2] this type of architecture is considered to be conventional and belongs to the older styles adopted during the development of new software. Having as starting point the idea promoted by Aoyama, Lake [3] considers that the name refers to the organizing of the fundamental application elements together in a single component or unit. In other words, the approach can be viewed as an integrated architecture design in comparison to a modular one. In general, the expression monolithic is used for lack of a better term, to indicate that all different types of the foundational architectural elements of the application can be used together in one block.In fact, the subject has been approached by the researchers especially when referring to other categories of architecture. Arguing the importance of the codebase architecture in the development of an open source program, Baldwin & Clark [4] underline the differences between and modular architectures. While in the first case the participants have no access to other co-workers codes, in the second case the developers can join their efforts when writing the code. A similar idea has been stated by Carbonell et al. [5] when discussing the solving capabilities of PRODIGY architecture, which is modular. As a result, in comparison with SOAR (a architecture), the authors consider that PRODIGY is superior in terms of engineering principles.Starting from some relevant articles concerning architecture, we notice that this concept is considered to be obsolete, the need of architectural restructuration being suggested by other researchers of the field. As an example, Mens et al. [6] propose the architectural restructuration of a model into a client-server or a three-tiered one, through which the user interface, business logic, and data layer can be clearly separated. Using a architecture, the user interface elements can be mixed with the business logic, and the data management code. It doesn't mean that all elements will always be present in all software classes of the code, but the design allows them to be mixed together into one unit. The positive aspect of a approach regards a lower complexity of interaction between parts when multiple components or modules can be gathered into a single unit. Another positive is the ease of seeing a whole process in one place. For example, the user interface code can be seen along with the processing of data from the interface and the persisting of it to a database in a single class and file. …

Highlights

  • Has been stated by Carbonell et al [5] when discussing the solving capabilities of PRODIGY architecture, which is modular

  • In comparison with SOAR, the authors consider that PRODIGY is superior in terms of engineering principles

  • Starting from some relevant articles concerning monolithic architecture, we notice that this concept is considered to be obsolete, the need of architectural restructuration being suggested by other researchers of the field

Read more

Summary

Problems when processing large data

The performance is the first feature evoked by specialists when referring to this type of architecture. The second biggest concern refers to the impossibility of processing a large amount of data, which could led to increase the time amount required to load data into memory or to increase virtual memory amount used Solutions to this kind of problems could consider sequential or selective access can be granted into the application. Fowler define micro-service architectural style as “an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery.”. Messaging style Smart, but dependency-laden ESB Dumb, fast messaging (Apache Kafka)

Large relational databases
Yes latency
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.