{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,8,9]],"date-time":"2024-08-09T19:55:23Z","timestamp":1723233323881},"reference-count":13,"publisher":"World Scientific Pub Co Pte Lt","issue":"09n10","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Int. J. Soft. Eng. Knowl. Eng."],"published-print":{"date-parts":[[2015,11]]},"abstract":"<jats:p> Service-oriented computing has emerged as an effective approach for integrating business (and systems) that might spread throughout different organizations. A service is a unit of logic modularization that hides implementation details using well-defined contracts. However, existing languages for contract specification in this domain present several limitations. For instance, both WSDL and Swagger use language-independent data formats (XML and JSON) that are not suitable for specifying contracts and often lead to heavyweight specifications. Interface description languages, such as CORBA IDL and Apache Thrift, solve this issue by providing specific languages for contract specifications. Nevertheless, these languages do not target to the REST architectural style and lack support for language extensibility. In this paper we present the design and implementation of NeoIDL, an extensible domain specific language and program generator for writing REST based contracts that are further translated into service\u2019s implementations. In addition, we also present a systematic evaluation of our approach from different perspectives, which involved the implementation of different services using NeoIDL from the domain of Command &amp; Control. In particular, we found initial evidences that shows that NeoIDL can contribute: (i) to bring return on investment with respect to the design and development of NeoIDL, after the implementation of 4 to 7 services; and (ii) to reduce significantly the number of lines of specification when compared to an existing service specification language such as Swagger. <\/jats:p>","DOI":"10.1142\/s0218194015400379","type":"journal-article","created":{"date-parts":[[2016,3,16]],"date-time":"2016-03-16T23:02:09Z","timestamp":1458169329000},"page":"1653-1675","source":"Crossref","is-referenced-by-count":1,"title":["NeoIDL: A Domain Specific Language for Specifying REST Contracts Detailed Design and Extended Evaluation"],"prefix":"10.1142","volume":"25","author":[{"given":"Lucas","family":"Lima","sequence":"first","affiliation":[{"name":"University of Bras\u00edlia, Bras\u00edlia, Brazil"}]},{"given":"Rodrigo","family":"Bonif\u00e1cio","sequence":"additional","affiliation":[{"name":"University of Bras\u00edlia, Bras\u00edlia, Brazil"}]},{"given":"Edna","family":"Canedo","sequence":"additional","affiliation":[{"name":"University of Bras\u00edlia, Bras\u00edlia, Brazil"}]},{"given":"Thiago Mael","family":"de Castro","sequence":"additional","affiliation":[{"name":"Center for Development Systems of the Brazilian Army, Bras\u00edlia, Brazil"}]},{"given":"Ricardo","family":"Fernandes","sequence":"additional","affiliation":[{"name":"Center for Development Systems of the Brazilian Army, Bras\u00edlia, Brazil"}]},{"given":"Alisson","family":"Palmeira","sequence":"additional","affiliation":[{"name":"Center for Development Systems of the Brazilian Army, Bras\u00edlia, Brazil"}]},{"given":"Uir\u00e1","family":"Kulesza","sequence":"additional","affiliation":[{"name":"Federal University of Rio Grande do Norte, Natal, Brazil"}]}],"member":"219","published-online":{"date-parts":[[2016,3,16]]},"reference":[{"key":"S0218194015400379BIB001","series-title":"DoD Command and Control Research Program","volume-title":"Understanding Command and Control","author":"Alberts David S.","year":"2006","edition":"1"},{"key":"S0218194015400379BIB004","volume-title":"Generative Programming: Methods, Tools, and Applications","author":"Czarnecki Krzysztof","year":"2000"},{"key":"S0218194015400379BIB005","volume-title":"SOA with REST: Principles, Patterns & Constraints for Building Enterprise Solutions with REST","author":"Erl T.","year":"2012"},{"key":"S0218194015400379BIB006","volume-title":"Service-Oriented Architecture: Concepts, Technology, and Design","author":"Erl Thomas","year":"2005"},{"key":"S0218194015400379BIB007","volume-title":"Twisted Network Programming Essentials","author":"Fettig Abe","year":"2005"},{"key":"S0218194015400379BIB008","doi-asserted-by":"publisher","DOI":"10.1145\/514183.514185"},{"key":"S0218194015400379BIB011","doi-asserted-by":"publisher","DOI":"10.1145\/242224.242477"},{"key":"S0218194015400379BIB012","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-59451-5_4"},{"key":"S0218194015400379BIB013","doi-asserted-by":"publisher","DOI":"10.1145\/1127878.1127884"},{"key":"S0218194015400379BIB014","volume-title":"The Architecture of Open Source Applications","volume":"2","author":"Marlow Simon","year":"2012"},{"key":"S0218194015400379BIB015","doi-asserted-by":"publisher","DOI":"10.1109\/2.161279"},{"key":"S0218194015400379BIB017","series-title":"Computer Science Department","volume-title":"IDL-Interface description language: Formal description","author":"Nestor John R","year":"1981"},{"key":"S0218194015400379BIB021","series-title":"Texts in computing","volume-title":"Implementing Programming Languages. An Introduction to Compilers and Interpreters","author":"Ranta A.","year":"2012"}],"container-title":["International Journal of Software Engineering and Knowledge Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.worldscientific.com\/doi\/pdf\/10.1142\/S0218194015400379","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,8,7]],"date-time":"2019-08-07T13:33:07Z","timestamp":1565184787000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.worldscientific.com\/doi\/abs\/10.1142\/S0218194015400379"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015,11]]},"references-count":13,"journal-issue":{"issue":"09n10","published-online":{"date-parts":[[2016,3,16]]},"published-print":{"date-parts":[[2015,11]]}},"alternative-id":["10.1142\/S0218194015400379"],"URL":"https:\/\/doi.org\/10.1142\/s0218194015400379","relation":{},"ISSN":["0218-1940","1793-6403"],"issn-type":[{"value":"0218-1940","type":"print"},{"value":"1793-6403","type":"electronic"}],"subject":[],"published":{"date-parts":[[2015,11]]}}}