Cargando…
Hypermedia-based software architecture enables Test-Driven Development
OBJECTIVES: Using agile software development practices, develop and evaluate an architecture and implementation for reliable and user-friendly self-service management of bioinformatic data stored in the cloud. MATERIALS AND METHODS: Comprehensive Oncology Research Environment (CORE) Browser is a new...
Autores principales: | , , , , , , , , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
Oxford University Press
2023
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10582517/ https://www.ncbi.nlm.nih.gov/pubmed/37860604 http://dx.doi.org/10.1093/jamiaopen/ooad089 |
_version_ | 1785122349603880960 |
---|---|
author | Post, Andrew R Ho, Nancy Rasmussen, Erik Post, Ivan Cho, Aika Hofer, John Maness, Arthur T Parnell, Timothy Nix, David A |
author_facet | Post, Andrew R Ho, Nancy Rasmussen, Erik Post, Ivan Cho, Aika Hofer, John Maness, Arthur T Parnell, Timothy Nix, David A |
author_sort | Post, Andrew R |
collection | PubMed |
description | OBJECTIVES: Using agile software development practices, develop and evaluate an architecture and implementation for reliable and user-friendly self-service management of bioinformatic data stored in the cloud. MATERIALS AND METHODS: Comprehensive Oncology Research Environment (CORE) Browser is a new open-source web application for cancer researchers to manage sequencing data organized in a flexible format in Amazon Simple Storage Service (S3) buckets. It has a microservices- and hypermedia-based architecture, which we integrated with Test-Driven Development (TDD), the iterative writing of computable specifications for how software should work prior to development. Relying on repeating patterns found in hypermedia-based architectures, we hypothesized that hypermedia would permit developing test “templates” that can be parameterized and executed for each microservice, maximizing code coverage while minimizing effort. RESULTS: After one-and-a-half years of development, the CORE Browser backend had 121 test templates and 875 custom tests that were parameterized and executed 3031 times, providing 78% code coverage. DISCUSSION: Architecting to permit test reuse through a hypermedia approach was a key success factor for our testing efforts. CORE Browser’s application of hypermedia and TDD illustrates one way to integrate software engineering methods into data-intensive networked applications. Separating bioinformatic data management from analysis distinguishes this platform from others in bioinformatics and may provide stable data management while permitting analysis methods to advance more rapidly. CONCLUSION: Software engineering practices are underutilized in informatics. Similar informatics projects will more likely succeed through application of good architecture and automated testing. Our approach is broadly applicable to data management tools involving cloud data storage. |
format | Online Article Text |
id | pubmed-10582517 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2023 |
publisher | Oxford University Press |
record_format | MEDLINE/PubMed |
spelling | pubmed-105825172023-10-19 Hypermedia-based software architecture enables Test-Driven Development Post, Andrew R Ho, Nancy Rasmussen, Erik Post, Ivan Cho, Aika Hofer, John Maness, Arthur T Parnell, Timothy Nix, David A JAMIA Open Research and Applications OBJECTIVES: Using agile software development practices, develop and evaluate an architecture and implementation for reliable and user-friendly self-service management of bioinformatic data stored in the cloud. MATERIALS AND METHODS: Comprehensive Oncology Research Environment (CORE) Browser is a new open-source web application for cancer researchers to manage sequencing data organized in a flexible format in Amazon Simple Storage Service (S3) buckets. It has a microservices- and hypermedia-based architecture, which we integrated with Test-Driven Development (TDD), the iterative writing of computable specifications for how software should work prior to development. Relying on repeating patterns found in hypermedia-based architectures, we hypothesized that hypermedia would permit developing test “templates” that can be parameterized and executed for each microservice, maximizing code coverage while minimizing effort. RESULTS: After one-and-a-half years of development, the CORE Browser backend had 121 test templates and 875 custom tests that were parameterized and executed 3031 times, providing 78% code coverage. DISCUSSION: Architecting to permit test reuse through a hypermedia approach was a key success factor for our testing efforts. CORE Browser’s application of hypermedia and TDD illustrates one way to integrate software engineering methods into data-intensive networked applications. Separating bioinformatic data management from analysis distinguishes this platform from others in bioinformatics and may provide stable data management while permitting analysis methods to advance more rapidly. CONCLUSION: Software engineering practices are underutilized in informatics. Similar informatics projects will more likely succeed through application of good architecture and automated testing. Our approach is broadly applicable to data management tools involving cloud data storage. Oxford University Press 2023-10-17 /pmc/articles/PMC10582517/ /pubmed/37860604 http://dx.doi.org/10.1093/jamiaopen/ooad089 Text en © The Author(s) 2023. Published by Oxford University Press on behalf of the American Medical Informatics Association. https://creativecommons.org/licenses/by/4.0/This is an Open Access article distributed under the terms of the Creative Commons Attribution License (https://creativecommons.org/licenses/by/4.0/), which permits unrestricted reuse, distribution, and reproduction in any medium, provided the original work is properly cited. |
spellingShingle | Research and Applications Post, Andrew R Ho, Nancy Rasmussen, Erik Post, Ivan Cho, Aika Hofer, John Maness, Arthur T Parnell, Timothy Nix, David A Hypermedia-based software architecture enables Test-Driven Development |
title | Hypermedia-based software architecture enables Test-Driven Development |
title_full | Hypermedia-based software architecture enables Test-Driven Development |
title_fullStr | Hypermedia-based software architecture enables Test-Driven Development |
title_full_unstemmed | Hypermedia-based software architecture enables Test-Driven Development |
title_short | Hypermedia-based software architecture enables Test-Driven Development |
title_sort | hypermedia-based software architecture enables test-driven development |
topic | Research and Applications |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10582517/ https://www.ncbi.nlm.nih.gov/pubmed/37860604 http://dx.doi.org/10.1093/jamiaopen/ooad089 |
work_keys_str_mv | AT postandrewr hypermediabasedsoftwarearchitectureenablestestdrivendevelopment AT honancy hypermediabasedsoftwarearchitectureenablestestdrivendevelopment AT rasmussenerik hypermediabasedsoftwarearchitectureenablestestdrivendevelopment AT postivan hypermediabasedsoftwarearchitectureenablestestdrivendevelopment AT choaika hypermediabasedsoftwarearchitectureenablestestdrivendevelopment AT hoferjohn hypermediabasedsoftwarearchitectureenablestestdrivendevelopment AT manessarthurt hypermediabasedsoftwarearchitectureenablestestdrivendevelopment AT parnelltimothy hypermediabasedsoftwarearchitectureenablestestdrivendevelopment AT nixdavida hypermediabasedsoftwarearchitectureenablestestdrivendevelopment |