{"id":"https://openalex.org/W4207069687","doi":"https://doi.org/10.1145/3489449.3489976","title":"\u00a0\u00a0\u00a0Patterns on Deriving APIs and their Endpoints from Domain Models","display_name":"\u00a0\u00a0\u00a0Patterns on Deriving APIs and their Endpoints from Domain Models","publication_year":2021,"publication_date":"2021-07-07","ids":{"openalex":"https://openalex.org/W4207069687","doi":"https://doi.org/10.1145/3489449.3489976"},"language":"en","primary_location":{"id":"doi:10.1145/3489449.3489976","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3489449.3489976","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"26th European Conference on Pattern Languages of Programs","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5084859015","display_name":"Apitchaka Singjai","orcid":null},"institutions":[{"id":"https://openalex.org/I129774422","display_name":"University of Vienna","ror":"https://ror.org/03prydq77","country_code":"AT","type":"education","lineage":["https://openalex.org/I129774422"]}],"countries":["AT"],"is_corresponding":true,"raw_author_name":"Apitchaka Singjai","raw_affiliation_strings":["University of Vienna, Software Architecture Research Group, Vienna, Austria, Austria"],"affiliations":[{"raw_affiliation_string":"University of Vienna, Software Architecture Research Group, Vienna, Austria, Austria","institution_ids":["https://openalex.org/I129774422"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5077943544","display_name":"Uwe Zdun","orcid":"https://orcid.org/0000-0002-6233-2591"},"institutions":[{"id":"https://openalex.org/I129774422","display_name":"University of Vienna","ror":"https://ror.org/03prydq77","country_code":"AT","type":"education","lineage":["https://openalex.org/I129774422"]}],"countries":["AT"],"is_corresponding":false,"raw_author_name":"Uwe Zdun","raw_affiliation_strings":["University of Vienna, Software Architecture Research Group, Vienna, Austria, Austria"],"affiliations":[{"raw_affiliation_string":"University of Vienna, Software Architecture Research Group, Vienna, Austria, Austria","institution_ids":["https://openalex.org/I129774422"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5067810844","display_name":"Olaf Zimmermann","orcid":"https://orcid.org/0009-0003-7923-9777"},"institutions":[{"id":"https://openalex.org/I4210129390","display_name":"Ostschweizer Fachhochschule OST","ror":"https://ror.org/038mj2660","country_code":"CH","type":"education","lineage":["https://openalex.org/I4210129390"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Olaf Zimmermann","raw_affiliation_strings":["University of Applied Sciences of Eastern Switzerland (OST), Rapperswil, Switzerland, Switzerland"],"affiliations":[{"raw_affiliation_string":"University of Applied Sciences of Eastern Switzerland (OST), Rapperswil, Switzerland, Switzerland","institution_ids":["https://openalex.org/I4210129390"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5081925932","display_name":"Cesare Pautasso","orcid":"https://orcid.org/0000-0002-2748-9665"},"institutions":[{"id":"https://openalex.org/I57201433","display_name":"Universit\u00e0 della Svizzera italiana","ror":"https://ror.org/03c4atk17","country_code":"CH","type":"education","lineage":["https://openalex.org/I57201433"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Cesare Pautasso","raw_affiliation_strings":["Software Institute, Faculty of Informatics, USI Lugano, Switzerland, Switzerland"],"affiliations":[{"raw_affiliation_string":"Software Institute, Faculty of Informatics, USI Lugano, Switzerland, Switzerland","institution_ids":["https://openalex.org/I57201433"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5084859015"],"corresponding_institution_ids":["https://openalex.org/I129774422"],"apc_list":null,"apc_paid":null,"fwci":1.6524,"has_fulltext":false,"cited_by_count":7,"citation_normalized_percentile":{"value":0.87787782,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"15"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10679","display_name":"Service-Oriented Architecture and Web Services","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10679","display_name":"Service-Oriented Architecture and Web Services","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9997000098228455,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T12127","display_name":"Software System Performance and Reliability","score":0.9993000030517578,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7644062042236328},{"id":"https://openalex.org/keywords/domain","display_name":"Domain (mathematical analysis)","score":0.6704394817352295},{"id":"https://openalex.org/keywords/domain-model","display_name":"Domain model","score":0.6344320774078369},{"id":"https://openalex.org/keywords/application-programming-interface","display_name":"Application programming interface","score":0.4459965229034424},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.43268460035324097},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.4315699338912964},{"id":"https://openalex.org/keywords/domain-analysis","display_name":"Domain analysis","score":0.4189569056034088},{"id":"https://openalex.org/keywords/data-mining","display_name":"Data mining","score":0.3517032563686371},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.3510216474533081},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.30950552225112915},{"id":"https://openalex.org/keywords/domain-knowledge","display_name":"Domain knowledge","score":0.15922313928604126},{"id":"https://openalex.org/keywords/software-construction","display_name":"Software construction","score":0.07699763774871826}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7644062042236328},{"id":"https://openalex.org/C36503486","wikidata":"https://www.wikidata.org/wiki/Q11235244","display_name":"Domain (mathematical analysis)","level":2,"score":0.6704394817352295},{"id":"https://openalex.org/C92548554","wikidata":"https://www.wikidata.org/wiki/Q2262868","display_name":"Domain model","level":3,"score":0.6344320774078369},{"id":"https://openalex.org/C99613125","wikidata":"https://www.wikidata.org/wiki/Q165194","display_name":"Application programming interface","level":2,"score":0.4459965229034424},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.43268460035324097},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.4315699338912964},{"id":"https://openalex.org/C15708719","wikidata":"https://www.wikidata.org/wiki/Q2271801","display_name":"Domain analysis","level":5,"score":0.4189569056034088},{"id":"https://openalex.org/C124101348","wikidata":"https://www.wikidata.org/wiki/Q172491","display_name":"Data mining","level":1,"score":0.3517032563686371},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.3510216474533081},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.30950552225112915},{"id":"https://openalex.org/C207685749","wikidata":"https://www.wikidata.org/wiki/Q2088941","display_name":"Domain knowledge","level":2,"score":0.15922313928604126},{"id":"https://openalex.org/C186846655","wikidata":"https://www.wikidata.org/wiki/Q3398377","display_name":"Software construction","level":4,"score":0.07699763774871826},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3489449.3489976","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3489449.3489976","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"26th European Conference on Pattern Languages of Programs","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.5299999713897705,"display_name":"Reduced inequalities","id":"https://metadata.un.org/sdg/10"}],"awards":[{"id":"https://openalex.org/G8956339630","display_name":null,"funder_award_id":"I 4268","funder_id":"https://openalex.org/F4320321181","funder_display_name":"Austrian Science Fund"}],"funders":[{"id":"https://openalex.org/F4320321181","display_name":"Austrian Science Fund","ror":"https://ror.org/013tf3c58"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":29,"referenced_works":["https://openalex.org/W54030823","https://openalex.org/W1515796738","https://openalex.org/W1564594068","https://openalex.org/W1573186010","https://openalex.org/W1603667849","https://openalex.org/W1607675442","https://openalex.org/W1649645444","https://openalex.org/W1982061482","https://openalex.org/W2012707484","https://openalex.org/W2015110458","https://openalex.org/W2039866862","https://openalex.org/W2074117119","https://openalex.org/W2162832420","https://openalex.org/W2171288436","https://openalex.org/W2285080145","https://openalex.org/W2293139726","https://openalex.org/W2294159523","https://openalex.org/W2554214302","https://openalex.org/W2599090316","https://openalex.org/W2801519434","https://openalex.org/W2910671574","https://openalex.org/W2946023400","https://openalex.org/W2991761523","https://openalex.org/W3015685199","https://openalex.org/W3110978930","https://openalex.org/W3121478507","https://openalex.org/W3132401189","https://openalex.org/W3141429908","https://openalex.org/W3150615609"],"related_works":["https://openalex.org/W2354476589","https://openalex.org/W2102997561","https://openalex.org/W171356793","https://openalex.org/W2374471852","https://openalex.org/W2166877816","https://openalex.org/W2349037640","https://openalex.org/W2023019272","https://openalex.org/W1587887330","https://openalex.org/W4249985289","https://openalex.org/W2134690746"],"abstract_inverted_index":{"Domain-Driven":[0],"Design":[1],"(DDD)":[2],"places":[3],"the":[4,8,81,107,115,140],"domain":[5,49,82,121,127],"model":[6,50,83],"at":[7],"center":[9],"of":[10,60],"all":[11],"software":[12,30],"development":[13],"practices.":[14],"Remote":[15],"API":[16,46,94,104,108],"design":[17,75],"is":[18,52],"crucial":[19],"for":[20,25],"developing":[21],"distributed":[22],"systems":[23],"including,":[24],"example,":[26],"microservice-based":[27],"systems.":[28],"While":[29],"practitioners":[31],"realize":[32],"APIs":[33,44,154],"based":[34],"on":[35,40,56,63],"DDD":[36],"models,":[37],"clear":[38],"guidance":[39],"how":[41,90,102,151],"to":[42,72,91,139,152],"derive":[43,92,103],"and":[45,65,126,146],"endpoints":[47,105,131],"from":[48,95,109],"elements":[51],"still":[53],"missing.":[54],"Based":[55],"prior":[57],"in-depth":[58],"studies":[59],"practitioner":[61],"sources":[62],"this":[64],"related":[66],"topics,":[67],"we":[68,79,113,135],"have":[69],"mined":[70],"patterns":[71,138,143],"address":[73],"these":[74,137],"problems.":[76],"In":[77,133],"particular,":[78],"present":[80,114],"facade":[84],"as":[85,118,123,129],"api":[86,119,124,130,144,147],"pattern":[87],"which":[88],"describes":[89],"an":[93],"a":[96],"Domain":[97,110],"Model.":[98],"To":[99],"explain":[100],"further":[101],"constituting":[106],"Model":[111],"elements,":[112],"aggregate":[116],"roots":[117],"endpoints,":[120,125],"services":[122],"processes":[128],"patterns.":[132],"addition,":[134],"relate":[136],"previously":[141],"published":[142],"description":[145],"contract,":[148],"both":[149],"explaining":[150],"describe":[153],"formally.":[155]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":4}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
