Annualmeeting:2017 CSDMS meeting-116
A Service-Oriented Architecture for Coupling Web Service Models Using the Basic Model Interfaces (BMI)
[[Image:|300px|right|link=File:]]Coupling models from different domains (e.g., ecology, hydrology, geology, etc.) is usually difficult because of the heterogeneity in operating system requirements, programming languages, variable names, units and tempo-spatial properties. Among multiple solutions to address the issue of integrating heterogeneous models, a loosely-coupled, serviced-oriented approach is gradually gaining momentum. By leveraging the World Wide Web, the service-oriented approach lowers the interoperability barrier of coupling models due to its innate capability of allowing the independence of programming languages and operating system requirements. While the service-oriented paradigm has been applied to integrate models wrapped with some standard interfaces, this paper considers the Basic Model Interface (BMI) as the model interface. Compared with most modeling interfaces, BMI is able to (1) enrich the semantic information of variable names by mapping the models’ internal variables with a set of standard names, and (2) be easily adopted in other modeling frameworks due to its framework-agnostic property. We developed a set of JSON-based endpoints to expose the BMI-enabled models as web services, through storing variable values in the network common data form file during the communication between web services to reduce network latency. Then, a smart modeling framework, the Experimental Modeling Environment for Linking and Interoperability (EMELI), was enhanced into a web application (i.e., EMELI-Web) to integrate the BMI-enabled web service models in a user-friendly web platform. The whole orchestration was then implemented in coupling TopoFlow components, a set of spatially distributed hydrologic models, as a case study. We demonstrate that BMI helps connect web service models by reducing the heterogeneity of variable names, and EMELI-Web makes it convenient to couple BMI-enabled web service models.