Explore chapters and articles related to this topic
How Hard Can It Be?
Published in James Luke, David Porter, Padmanabhan Santhanam, Beyond Algorithms, 2022
James Luke, David Porter, Padmanabhan Santhanam
Despite the challenges of reuse, the software industry has progressed a great deal in recent years. Whereas systems developed in the late 1990s were largely bespoke, more modern applications are increasingly built using Consumer-Off-The-Shelf (COTS) products such as databases, application servers and message brokers. The advent of Cloud-based services encompasses a huge level of reuse based on publicly available application program interfaces (APIs). The growth of Open Source Software (OSS) has also introduced a new twist. Since the development of OSS is visible to the community, the utility and quality of the resulting software can be judged directly. There are numerous examples of successful OSS projects in the last two decades, Linux operating system, Mozilla Firefox Browser, Apache Tomcat Web server, to list a few. OSS licenses allow full-scale commercial use of software at low costs, and hence, they are very popular in the industry. The reuse of open-source components and libraries for specific purposes has also become very common.
Challenges in Designing Software Architectures for Web-Based Biomedical Signal Analysis
Published in Aboul Ella Hassanien, Nilanjan Dey, Surekha Borra, Medical Big Data and Internet of Medical Things, 2018
Alan Jovic, Kresimir Jozic, Davor Kukolja, Kresimir Friganovic, Mario Cifrek
However, supporting many users at the same time and performing complex analysis scenarios (as depicted in Figure 4.1) may require more resources for a general and expandable solution. A typical minimum solution would include a single computer, acting as a server for data analysis with fast multi-core processor capabilities (4 or more logical cores), as well as large hard drive and RAM capacities. The computer would need to have a web server installed to support the web application (e.g. Apache Tomcat), H2 or similar in-memory relational DBMS, and would need to provide software support for the whole web development technological stack in order to accommodate for potential software improvements. It would hence include (1) frontend technologies, such as HTML, CSS, Bootstrap, JavaScript/TypeScript, Angular or similar frontend development frameworks; and (2) backend technologies, such as Java 9, Spring Boot and JPA (or related backend Microsoft, PHP, or Python technologies). Additionally, permissive license libraries used to cover the various steps in biomedical signal analysis would be a welcome – but not a necessary – requirement for the construction of the web platform, as some of the required methods may be efficiently implemented from scratch.
Standardizing DEVS Simulation Middleware
Published in Gabriel A. Wainer, Pieter J. Mosterman, Discrete-Event Modeling and Simulation, 2018
Gabriel A. Wainer, Khaldoon Al-Zoubi, Olivier Dalle, Saurabh Mittal, José L. Risco Martín, Hessam Sarjoughian, Bernard P. Zeigler
On the server side, all the Coordinators and the Simulators must be placed in a directory accessible by the selected web server (Apache Tomcat and Axis2 to allow web service development, or MS Internet Information Server with .NET), as well as all the models to share by every particular server and their corresponding DEVS libraries to allow interoperability. For example, for a particular case where Apache Tomcat and Axis 2 are being used, the server side content comprises: TOMCAT_HOME/webapps/axis2/WEB-INF/services: Simulator.aar: Axis2 archived web service and stub of DEVS/SOA SimulatorCoordinator.aar: Axis2 archived web service and stub of DEVS/SOA CoordinatorTOMCAT_HOME/shared/lib: xdevs.jar: xDEVS M&S (modeling and simulation) APIdevsjava.jar: DESJAVA M&S APISeveral xDEVS and DEVSJAVA models
A diagnosis optimization system for grain processing based on multiple data analysis algorithms
Published in Systems Science & Control Engineering, 2019
Haocheng Fang, Kang Zhou, Yilin Zou, Weilin Deng, Xin He, Jiapeng Zhou
Apache Software Foundation projects are widely used in the basic functions of the system, such as servers, project management tools, batch import and export functions, security framework and so on. Apache Tomcat is a Servlet container developed by the Jakarta project of Apache Software Foundation. According to the technical specifications provided by Sun Microsystems, it supports Servlet and Java Server Page (JSP). Apache Maven, a project management tool, has high reusability of default construction rules, which greatly reduces the workload of developers and maintainers. Batch import and export functions provide APIs to Java programs to read and write Microsoft Office format files through Apache POI. Apache Shiro is a powerful and easy-to-use Java security framework that implements authentication, authorization, password and session management.
Semantic rules for capability matchmaking in the context of manufacturing system design and reconfiguration
Published in International Journal of Computer Integrated Manufacturing, 2023
Eeva Järvenpää, Niko Siltala, Otto Hylli, Hasse Nylund, Minna Lanz
The data model layer contains the ontology models discussed earlier, while the data layer represents the actual data, i.e. instances used during matchmaking. The web service layer provides a back-end application, Matchmaking Service, which can be called by other design and planning software through the RESTful Web Service interface. As RESTful API supports both XML and JSON, the interaction format for inputs and outputs can be selected based on the requirements of the client software. The data model for inputs and outputs has been optimized for XML-structure. The web service and associated software modules are deployed and hosted on an Apache Tomcat server.