Software architecture of distributed client/server library circulation system. - Milosavljevic B; Tesendic D (Electronic Library, 2010)
Purpose -- The purpose of this paper is to model and implement software architecture for transparent communication of client and server sides of library circulation system in order to enable system operation in different network configurations. Design/methodology/approach -- Object-oriented methodology and design patterns are used for modeling system architecture. Modeling is carried out in the CASE tool that supports the Unified Modeling Language (UML 2.0) by means of class and sequence diagrams. The implementation is carried out in the Java programming language using open source components. Findings -- The result is a software package for transparent communication of client and server side of library circulation system. Database operations are executed through this package. The package can execute the operations under different protocols, which enables the work of the library circulation system in the intranet and internet environments. Research limitation/implications -- The proposed software architecture and implementation are integrated into the circulation subsystem of the BISIS library information system and rely on the Hibernate package for object/relational mapping. For integration into other systems where operations would not be related to the database or would use some other ORM technologies, it would be necessary to make corresponding changes in the implementation. Practical implications -- The package is integrated, together with the library circulation system, into the fourth version of the BISIS system. Testing and verifying were carried out in public and special libraries. Originality/value -- Originality of the paper is to be found in the proposed software architecture that is network-agnostic and facilitates transparent communication of client and server sides of the circulation system while not imposing a single communication technology or protocol. Besides, the architecture does not depend on the functionality of the circulation system and can be used for different purposes, and not only for communication with the database as presented in the paper. Adding new functionalities is simple and does not require changes in the existing program code.