Use of introspective interfaces in application layer protocols - Шемсединов, Тимур Гафарович; Маленко, Николай Васильевич; Мороз, Алексей Игоревич; Карасюк, Павел Валериевич (Technology audit and production reserves, 2014)
Technologies and architectures of applied software systems have significant achievements in the field of creating monolithic and new solutions, which are expressed in well designed and thought out software development methodologies, programming paradigms, platforms and libraries, but the task of integrating disparate information systems (IS) is still poorly elaborated. Movement towards uniform and centralized solutions cannot fully eliminate the integration problem until all the software in the world will become an integral software package with a common architecture, cross-cutting standards and continuous synchronous update process. Under the conditions of heterogeneous distributed IS, the relevance of integration tasks increases. Summarizing the theoretical and practical experience of binding application web-service type IS, the authors propose an approach to solving the problem of dynamic binding of application programming interfaces (API) in distributed information systems, using the methods of metaprogramming and its various techniques, such as introspection, dynamic modification of the structure and functions of the software modules, use of metadata and dynamic interpretation of metamodels. At interaction of two or more systems through network interfaces with introspection and interpretation of the metamodel, there is dynamical binding of their interfaces, allowing to modify the functionality of applied information systems without specialized adaptation of calls and change in the code, and also to bind the systems, interaction of which was not originally intended. This method increases the IS flexibility and allows significantly improve the code reuse and IS development and operating efficiency in general.