{"id":94,"date":"2021-03-18T11:42:09","date_gmt":"2021-03-18T11:42:09","guid":{"rendered":"https:\/\/www.penalara.com\/blog\/?p=94"},"modified":"2021-03-18T11:42:10","modified_gmt":"2021-03-18T11:42:10","slug":"integration-with-other-applications","status":"publish","type":"post","link":"https:\/\/www.penalara.com\/blog\/index.php\/en\/2021\/03\/18\/integration-with-other-applications\/","title":{"rendered":"Integration with other applications"},"content":{"rendered":"\n<p><strong>Exchanging data<\/strong> between different software applications may seem to be something fairly simple and straightforward, but this is generally not true. First of all, software applications use <strong>identifiers <\/strong>that are usually not compatible. For example, using the DNI as a key to identify people, we could establish a correspondence between their data in the different applications. But if the <strong>keys <\/strong>are not the same, for example, if each application creates its own codes, matching becomes impossible without hard and laborious manual work. Another obvious reason is that the relationships between the data and their internal structures are also application-specific.<\/p>\n\n\n\n<p><strong>Integrating data between different applications<\/strong> requires well-designed and documented interfaces through which data can be exposed and software can interact. There is no other way. But this condition, while necessary, is not enough. In addition to an interface, it must be possible to establish <strong>a correspondence between the codes<\/strong> used in the two applications to identify their data elements.<\/p>\n\n\n\n<p>In the case of an application that makes a service request to another application, the first one must provide its keys so that it can interpret the result once it has been resolved. In other words, if an application requests a task to be solved, it must provide, through the common interface, in besides the information of the request itself, the necessary keys to understand the result it receives. Let us suppose an application that requests another application for a service to resolve <strong>an academic timetable<\/strong>. In this case, the resolved timetable should be expressed using keys so that the requesting application can recognise it. In this way it will be able to identify teachers, subjects, etc. in the solution. <strong>The agreement of formats and keys<\/strong> between the two applications must be precise for it to work and both parties must necessarily collaborate in this.<\/p>\n\n\n\n<p>There are some applications that expose their own exchange interfaces without being fully operational, with design weaknesses that prevent the output from being received correctly. It is therefore necessary to <strong>implement <\/strong>well-defined and documented open interfaces for inter-application communication. In fact, there are <strong>standardisation organisms<\/strong> that establish them. Alternatively, open interfaces associated with consolidated products published for this purpose could be adopted as standards.<\/p>\n\n\n\n<p><strong>Pe\u00f1alara Software<\/strong> has published the internal <strong>GHC <\/strong>storage format to be used as an exchange interface. The <strong>XML-GHC format<\/strong> is complete. Everything that is configured with the planner, as well as the results that <strong>GHC <\/strong>creates, can be expressed with this model.<\/p>\n\n\n\n<p>In addition, along with the development of a new engine that we hope to offer soon as a remote service, we have <strong>open JSON interfaces<\/strong> that can be consulted through the public <strong>GitHub<\/strong> repository and are associated with development libraries also available, in this case, in <strong>Apache Maven<\/strong>. With this project we intend to offer services for the creation of timetables to the academic management application ecosystem, and thus ultimately facilitate the work of users.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Exchanging data between different software applications may seem to be something fairly simple and straightforward, but this is generally not true. First of all, software applications use identifiers that are usually not compatible. For example, using the DNI as a key to identify people, we could establish a correspondence between their data in the different &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.penalara.com\/blog\/index.php\/en\/2021\/03\/18\/integration-with-other-applications\/\" class=\"more-link\">Continuar leyendo<span class=\"screen-reader-text\"> \u00abIntegration with other applications\u00bb<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[16],"tags":[54,49,53,50],"class_list":["post-94","post","type-post","status-publish","format-standard","hentry","category-uncategorized-en","tag-academic-timetables","tag-ghc","tag-integration","tag-penalara-software"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Integration with other applications - Blog de organizaci\u00f3n y optimizaci\u00f3n de horarios<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.penalara.com\/blog\/index.php\/en\/2021\/03\/18\/integration-with-other-applications\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Integration with other applications - Blog de organizaci\u00f3n y optimizaci\u00f3n de horarios\" \/>\n<meta property=\"og:description\" content=\"Exchanging data between different software applications may seem to be something fairly simple and straightforward, but this is generally not true. First of all, software applications use identifiers that are usually not compatible. For example, using the DNI as a key to identify people, we could establish a correspondence between their data in the different &hellip; Continuar leyendo &quot;Integration with other applications&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.penalara.com\/blog\/index.php\/en\/2021\/03\/18\/integration-with-other-applications\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog de organizaci\u00f3n y optimizaci\u00f3n de horarios\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Pe%c3%b1alara-Software-495043237195235\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-03-18T11:42:09+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-03-18T11:42:10+00:00\" \/>\n<meta name=\"author\" content=\"Vanesa\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@PenalaraSoft\" \/>\n<meta name=\"twitter:site\" content=\"@PenalaraSoft\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Vanesa\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.penalara.com\/blog\/index.php\/en\/2021\/03\/18\/integration-with-other-applications\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.penalara.com\/blog\/index.php\/en\/2021\/03\/18\/integration-with-other-applications\/\"},\"author\":{\"name\":\"Vanesa\",\"@id\":\"https:\/\/www.penalara.com\/blog\/#\/schema\/person\/4a240414c6b31ce21d829edfa349498d\"},\"headline\":\"Integration with other applications\",\"datePublished\":\"2021-03-18T11:42:09+00:00\",\"dateModified\":\"2021-03-18T11:42:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.penalara.com\/blog\/index.php\/en\/2021\/03\/18\/integration-with-other-applications\/\"},\"wordCount\":489,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.penalara.com\/blog\/#organization\"},\"keywords\":[\"Academic timetables\",\"GHC\",\"Integration\",\"Pe\u00f1alara Software\"],\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.penalara.com\/blog\/index.php\/en\/2021\/03\/18\/integration-with-other-applications\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.penalara.com\/blog\/index.php\/en\/2021\/03\/18\/integration-with-other-applications\/\",\"url\":\"https:\/\/www.penalara.com\/blog\/index.php\/en\/2021\/03\/18\/integration-with-other-applications\/\",\"name\":\"Integration with other applications - Blog de organizaci\u00f3n y optimizaci\u00f3n de horarios\",\"isPartOf\":{\"@id\":\"https:\/\/www.penalara.com\/blog\/#website\"},\"datePublished\":\"2021-03-18T11:42:09+00:00\",\"dateModified\":\"2021-03-18T11:42:10+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.penalara.com\/blog\/index.php\/en\/2021\/03\/18\/integration-with-other-applications\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.penalara.com\/blog\/index.php\/en\/2021\/03\/18\/integration-with-other-applications\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.penalara.com\/blog\/index.php\/en\/2021\/03\/18\/integration-with-other-applications\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.penalara.com\/blog\/index.php\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Integration with other applications\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.penalara.com\/blog\/#website\",\"url\":\"https:\/\/www.penalara.com\/blog\/\",\"name\":\"Blog de organizaci\u00f3n y optimizaci\u00f3n de horarios\",\"description\":\"Hacer los mejores horarios nunca ha sido tan f\u00e1cil\",\"publisher\":{\"@id\":\"https:\/\/www.penalara.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.penalara.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.penalara.com\/blog\/#organization\",\"name\":\"Pe\u00f1alara Software S.L.\",\"url\":\"https:\/\/www.penalara.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.penalara.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.penalara.com\/blog\/wp-content\/uploads\/2019\/07\/logo.png\",\"contentUrl\":\"https:\/\/www.penalara.com\/blog\/wp-content\/uploads\/2019\/07\/logo.png\",\"width\":250,\"height\":100,\"caption\":\"Pe\u00f1alara Software S.L.\"},\"image\":{\"@id\":\"https:\/\/www.penalara.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Pe\u00f1alara-Software-495043237195235\/\",\"https:\/\/x.com\/PenalaraSoft\",\"https:\/\/www.linkedin.com\/company\/pe\u00f1alara-software-s.l.\/\",\"https:\/\/www.youtube.com\/channel\/UCdIAXJr9u7O8nZUkmmpmPmQ\",\"https:\/\/es.wikipedia.org\/wiki\/Pe\u00f1alara_GHC\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.penalara.com\/blog\/#\/schema\/person\/4a240414c6b31ce21d829edfa349498d\",\"name\":\"Vanesa\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.penalara.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3ea4eefb99698b746c6d912290dc76d5682016103260b7a32ba57b5243b42556?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3ea4eefb99698b746c6d912290dc76d5682016103260b7a32ba57b5243b42556?s=96&d=mm&r=g\",\"caption\":\"Vanesa\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Integration with other applications - Blog de organizaci\u00f3n y optimizaci\u00f3n de horarios","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.penalara.com\/blog\/index.php\/en\/2021\/03\/18\/integration-with-other-applications\/","og_locale":"es_ES","og_type":"article","og_title":"Integration with other applications - Blog de organizaci\u00f3n y optimizaci\u00f3n de horarios","og_description":"Exchanging data between different software applications may seem to be something fairly simple and straightforward, but this is generally not true. First of all, software applications use identifiers that are usually not compatible. For example, using the DNI as a key to identify people, we could establish a correspondence between their data in the different &hellip; Continuar leyendo \"Integration with other applications\"","og_url":"https:\/\/www.penalara.com\/blog\/index.php\/en\/2021\/03\/18\/integration-with-other-applications\/","og_site_name":"Blog de organizaci\u00f3n y optimizaci\u00f3n de horarios","article_publisher":"https:\/\/www.facebook.com\/Pe%c3%b1alara-Software-495043237195235\/","article_published_time":"2021-03-18T11:42:09+00:00","article_modified_time":"2021-03-18T11:42:10+00:00","author":"Vanesa","twitter_card":"summary_large_image","twitter_creator":"@PenalaraSoft","twitter_site":"@PenalaraSoft","twitter_misc":{"Escrito por":"Vanesa","Tiempo de lectura":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.penalara.com\/blog\/index.php\/en\/2021\/03\/18\/integration-with-other-applications\/#article","isPartOf":{"@id":"https:\/\/www.penalara.com\/blog\/index.php\/en\/2021\/03\/18\/integration-with-other-applications\/"},"author":{"name":"Vanesa","@id":"https:\/\/www.penalara.com\/blog\/#\/schema\/person\/4a240414c6b31ce21d829edfa349498d"},"headline":"Integration with other applications","datePublished":"2021-03-18T11:42:09+00:00","dateModified":"2021-03-18T11:42:10+00:00","mainEntityOfPage":{"@id":"https:\/\/www.penalara.com\/blog\/index.php\/en\/2021\/03\/18\/integration-with-other-applications\/"},"wordCount":489,"commentCount":0,"publisher":{"@id":"https:\/\/www.penalara.com\/blog\/#organization"},"keywords":["Academic timetables","GHC","Integration","Pe\u00f1alara Software"],"articleSection":["Uncategorized"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.penalara.com\/blog\/index.php\/en\/2021\/03\/18\/integration-with-other-applications\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.penalara.com\/blog\/index.php\/en\/2021\/03\/18\/integration-with-other-applications\/","url":"https:\/\/www.penalara.com\/blog\/index.php\/en\/2021\/03\/18\/integration-with-other-applications\/","name":"Integration with other applications - Blog de organizaci\u00f3n y optimizaci\u00f3n de horarios","isPartOf":{"@id":"https:\/\/www.penalara.com\/blog\/#website"},"datePublished":"2021-03-18T11:42:09+00:00","dateModified":"2021-03-18T11:42:10+00:00","breadcrumb":{"@id":"https:\/\/www.penalara.com\/blog\/index.php\/en\/2021\/03\/18\/integration-with-other-applications\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.penalara.com\/blog\/index.php\/en\/2021\/03\/18\/integration-with-other-applications\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.penalara.com\/blog\/index.php\/en\/2021\/03\/18\/integration-with-other-applications\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.penalara.com\/blog\/index.php\/en\/"},{"@type":"ListItem","position":2,"name":"Integration with other applications"}]},{"@type":"WebSite","@id":"https:\/\/www.penalara.com\/blog\/#website","url":"https:\/\/www.penalara.com\/blog\/","name":"Blog de organizaci\u00f3n y optimizaci\u00f3n de horarios","description":"Hacer los mejores horarios nunca ha sido tan f\u00e1cil","publisher":{"@id":"https:\/\/www.penalara.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.penalara.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.penalara.com\/blog\/#organization","name":"Pe\u00f1alara Software S.L.","url":"https:\/\/www.penalara.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.penalara.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.penalara.com\/blog\/wp-content\/uploads\/2019\/07\/logo.png","contentUrl":"https:\/\/www.penalara.com\/blog\/wp-content\/uploads\/2019\/07\/logo.png","width":250,"height":100,"caption":"Pe\u00f1alara Software S.L."},"image":{"@id":"https:\/\/www.penalara.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Pe\u00f1alara-Software-495043237195235\/","https:\/\/x.com\/PenalaraSoft","https:\/\/www.linkedin.com\/company\/pe\u00f1alara-software-s.l.\/","https:\/\/www.youtube.com\/channel\/UCdIAXJr9u7O8nZUkmmpmPmQ","https:\/\/es.wikipedia.org\/wiki\/Pe\u00f1alara_GHC"]},{"@type":"Person","@id":"https:\/\/www.penalara.com\/blog\/#\/schema\/person\/4a240414c6b31ce21d829edfa349498d","name":"Vanesa","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.penalara.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/3ea4eefb99698b746c6d912290dc76d5682016103260b7a32ba57b5243b42556?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3ea4eefb99698b746c6d912290dc76d5682016103260b7a32ba57b5243b42556?s=96&d=mm&r=g","caption":"Vanesa"}}]}},"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.penalara.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/94","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.penalara.com\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.penalara.com\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.penalara.com\/blog\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.penalara.com\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=94"}],"version-history":[{"count":1,"href":"https:\/\/www.penalara.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/94\/revisions"}],"predecessor-version":[{"id":95,"href":"https:\/\/www.penalara.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/94\/revisions\/95"}],"wp:attachment":[{"href":"https:\/\/www.penalara.com\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=94"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.penalara.com\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=94"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.penalara.com\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=94"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}