{"id":545,"date":"2008-05-17T17:53:51","date_gmt":"2008-05-17T17:53:51","guid":{"rendered":"http:\/\/osmeusapontamentos.com\/?p=545"},"modified":"2008-05-17T17:53:51","modified_gmt":"2008-05-17T17:53:51","slug":"conversao-de-aplicacoes","status":"publish","type":"post","link":"https:\/\/osmeusapontamentos.com\/index.php\/2008\/05\/17\/conversao-de-aplicacoes\/","title":{"rendered":"Convers\u00e3o de aplica\u00e7\u00f5es"},"content":{"rendered":"<p>Pediram-me, h\u00e1 umas semanas, para dar uma opini\u00e3o em rela\u00e7\u00e3o a um projecto de convers\u00e3o de uma aplica\u00e7\u00e3o j\u00e1 existente.<br \/>\nA ideia \u00e9 pegar numa aplica\u00e7\u00e3o, desenvolvida em Visual Fox Pro, j\u00e1 com um curriculo interessante no que diz respeito a funcionalidades e n\u00famero de instala\u00e7\u00f5es existentes e criar algum mecanismo que lhe permita passar a utilizar o Sql Server como repositorio de dados.<br \/>\nPosto de uma maneira muito simplista diriamos que queremos criar uma aplica\u00e7\u00e3o ou fazer as altera\u00e7\u00f5es necess\u00e1rias na aplica\u00e7\u00e3o existente de forma a manter todas as funcionalidades de forma a que atrav\u00e9s de uma op\u00e7\u00e3o global possamos indicar gravar os nossos dados. Como disse antes, simples.<\/p>\n<p>As motiva\u00e7\u00f5es para esta decis\u00e3o foram as seguintes:<\/p>\n<ul>\n<li>t\u00e9cnica &#8211; j\u00e1 que o Visual Fox Pro tem uma limita\u00e7\u00e3o em rela\u00e7\u00e3o ao tamanho das tabelas que &#8220;s\u00f3&#8221; podem ter no m\u00e1ximo 2GB;<\/li>\n<li>comercial &#8211; j\u00e1 que o nome SQL Server \u00e9 muito mais interessante que Visual Fox Pro na mente das pessoas que t\u00eam que decidir a compra de este ou aquele produto.<\/li>\n<\/ul>\n<p>Considerando aquilo que se quer propor ao utilizador final, que ignora naturalmente as diferen\u00e7as entre plataformas tecnol\u00f3gicas, este \u00e9 um projecto paradoxal j\u00e1 que queremos vender como um produto novo, um produto que tem que ser exactamente igual ao que j\u00e1 existia no sentido que tem exactamente as mesmas funcionalidades.<\/p>\n<p>Por outro lado a aplica\u00e7\u00e3o em quest\u00e3o que por iner\u00eancia \u00e0 tecnologia j\u00e1 \u00e9 bastante performante foi ainda sendo refinada de forma a melhorar essa performance inicial, isto leva a que seja admissivel considerar que uma mudan\u00e7a t\u00e3o substancial de plataforma tecnol\u00f3gica, leve a um decr\u00e9scimo, mais ou menos pronunciado dessa performance. Ou seja poder\u00e1 dar-se o caso do utilizador passar da vers\u00e3o actual para a nova vers\u00e3o que faz exactamente o mesmo mas mais devagar.<\/p>\n<p>Outro ponto importante a ter em conta diz respeito \u00e0 base inicial de trabalho no que diz respeito ao c\u00f3digo e ao pr\u00f3prio ambiente e processo de desenvolvimento.\u00a0<br \/>\nO Visual Fox Pro \u00e9 um produto bastante diferente das linguagens\/plataformas da moda (.net e java), j\u00e1 que faz parte do mesmo ramo que o dBase e seus descendentes sendo por isso uma linguagem muito data-centric onde n\u00e3o faz sentido a vis\u00e3o que tradicionalmente nos \u00e9 vendida das diferentes camadas (dados\/l\u00f3gica\/apresenta\u00e7\u00e3o). (Nota pessoal: n\u00e3o deixa de ser curioso que se trata de uma vis\u00e3o bem mais pr\u00f3xima do Progress do que de .Net)<br \/>\nEste paradigma data-centric permitiu op\u00e7\u00f5es de desenvolvimento que n\u00e3o s\u00e3o transparentes num ambiente de desenvolvimento em que temos muito claro onde est\u00e3o os dados (no servidor de base de dados) e onde est\u00e1 o user interface (no pc do cliente).<br \/>\nUm exemplo muito concreto tem a ver com o preenchimento de grids. Enquanto que no Visual Fox Pro todo o processo de ir buscar os dados de uma tabela com um milh\u00e3o de registo, fazer scroll up ou down, ou ir para o primeiro ou ultimo registo \u00e9 bastante transparente e performante, no mundo .Net e afins este processo \u00e9 mais tortuoso j\u00e1 que temos que aceder \u00e0 base de dados, carregar tudo o que queremos e despejar no grid e assim arriscamo-nos a carregar um milh\u00e3o de registos quando na verdade s\u00f3 queriamos meia d\u00fazia com todo o custo de performace associado ou ent\u00e3o a ter que implementar estrat\u00e9gias de paging que sendo possiveis e exequiveis representam mais linhas de c\u00f3digo e fatalmente maior probabilidade de erros.<br \/>\nClaro que podemos simplesmente questionar qual o interesse efectivo de um grid com um milh\u00e3o de registos mas isso implica conseguir mudar a forma como os programadores inicialmente desenvolveram a aplica\u00e7\u00e3o e os utilizadores que est\u00e3o habituados a um determinado interface.<\/p>\n<p>Finalmente sendo uma aplica\u00e7\u00e3o j\u00e1 com alguns anos e sem nenhuns testes formais desenvolvidos, e aqui estou a pensar em testes unit\u00e1rios, a probabilidade de cairmos em situa\u00e7\u00f5es em que por mexer num peda\u00e7o de c\u00f3digo estamos a afectar outro peda\u00e7o de c\u00f3digo de que n\u00e3o temos no\u00e7\u00e3o \u00e9 muito grande.<\/p>\n<p>Claro que todas estas notas s\u00e3o simples alertas para quest\u00f5es que outras pessoas j\u00e1 sentiram e n\u00e3o s\u00e3o por si s\u00f3 justificativas da op\u00e7\u00e3o de seguir com o projecto ou de abandon\u00e1-lo.<br \/>\nPara chegarmos a essa conclus\u00e3o temos que antes conseguir responder a outras quest\u00f5es:<\/p>\n<ul>\n<li>o problema t\u00e9cnico que leva a esta decis\u00e3o n\u00e3o consegue ser resolvido de outra forma?<\/li>\n<li>qual o cen\u00e1rio previsivel de vendas desta nova vers\u00e3o? ou seja em quantas vendas prevemos diluir\u00a0este custo em que estamos a incorrer?<\/li>\n<li>\u00e9 aceit\u00e1vel algum nivel de degrada\u00e7\u00e3o de performance? se sim que quantifica\u00e7\u00e3o objectiva podemos definir?<\/li>\n<li>qual o \u00e2mbito real do projecto? todos os dados t\u00eam que ser guardados ou em SQL Server ou em Visual Fox Pro ou podemos ter as duas tecnologias ao mesmo tempo, por outras palavras podemos ter produtos interm\u00e9dios totalmente funcionais?<\/li>\n<li>qual a dura\u00e7\u00e3o previsivel de vida deste produto? at\u00e9 onde temos que considerar quest\u00f5es de manuten\u00e7\u00e3o futura e por\u00a0isso at\u00e9 onde devemos considerar importante o desenvolvimento de mecanismos que nos permitam melhorar no futuro o tipo e rapidez de resposta nestas manuten\u00e7\u00f5es?<\/li>\n<\/ul>\n<p>S\u00f3 depois destas resposta terem sido dadas e na certeza de que certamente que nenhuma delas \u00e9 uma resposta absoluta e definitiva (grow software vs build software) \u00e9 que podemos chegar a uma conclus\u00e3o mais confort\u00e1vel j\u00e1 que assente em alguns pressupostos.<\/p>\n<p>\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pediram-me, h\u00e1 umas semanas, para dar uma opini\u00e3o em rela\u00e7\u00e3o a um projecto de convers\u00e3o de uma aplica\u00e7\u00e3o j\u00e1 existente. A ideia \u00e9 pegar numa aplica\u00e7\u00e3o, desenvolvida em Visual Fox Pro, j\u00e1 com um curriculo interessante no que diz respeito a funcionalidades e n\u00famero de instala\u00e7\u00f5es existentes e criar algum mecanismo que lhe permita passar [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[498,605],"class_list":["post-545","post","type-post","status-publish","format-standard","hentry","category-ler-ver-ouvir-passear","tag-pensar","tag-software"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Convers\u00e3o de aplica\u00e7\u00f5es - Os Meus Apontamentos<\/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:\/\/osmeusapontamentos.com\/index.php\/2008\/05\/17\/conversao-de-aplicacoes\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Convers\u00e3o de aplica\u00e7\u00f5es - Os Meus Apontamentos\" \/>\n<meta property=\"og:description\" content=\"Pediram-me, h\u00e1 umas semanas, para dar uma opini\u00e3o em rela\u00e7\u00e3o a um projecto de convers\u00e3o de uma aplica\u00e7\u00e3o j\u00e1 existente. A ideia \u00e9 pegar numa aplica\u00e7\u00e3o, desenvolvida em Visual Fox Pro, j\u00e1 com um curriculo interessante no que diz respeito a funcionalidades e n\u00famero de instala\u00e7\u00f5es existentes e criar algum mecanismo que lhe permita passar [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/osmeusapontamentos.com\/index.php\/2008\/05\/17\/conversao-de-aplicacoes\/\" \/>\n<meta property=\"og:site_name\" content=\"Os Meus Apontamentos\" \/>\n<meta property=\"article:published_time\" content=\"2008-05-17T17:53:51+00:00\" \/>\n<meta name=\"author\" content=\"Vitor Silva\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@vitorsilva\" \/>\n<meta name=\"twitter:site\" content=\"@vitorsilva\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Vitor Silva\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/osmeusapontamentos.com\\\/index.php\\\/2008\\\/05\\\/17\\\/conversao-de-aplicacoes\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/osmeusapontamentos.com\\\/index.php\\\/2008\\\/05\\\/17\\\/conversao-de-aplicacoes\\\/\"},\"author\":{\"name\":\"Vitor Silva\",\"@id\":\"https:\\\/\\\/osmeusapontamentos.com\\\/#\\\/schema\\\/person\\\/d508df9c3ffc8b4e64a18dbf0ba18dd8\"},\"headline\":\"Convers\u00e3o de aplica\u00e7\u00f5es\",\"datePublished\":\"2008-05-17T17:53:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/osmeusapontamentos.com\\\/index.php\\\/2008\\\/05\\\/17\\\/conversao-de-aplicacoes\\\/\"},\"wordCount\":962,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/osmeusapontamentos.com\\\/#\\\/schema\\\/person\\\/d508df9c3ffc8b4e64a18dbf0ba18dd8\"},\"keywords\":[\"pensar\",\"software\"],\"articleSection\":[\"Ler\\\/ Ver\\\/ Ouvir\\\/ Passear\"],\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/osmeusapontamentos.com\\\/index.php\\\/2008\\\/05\\\/17\\\/conversao-de-aplicacoes\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/osmeusapontamentos.com\\\/index.php\\\/2008\\\/05\\\/17\\\/conversao-de-aplicacoes\\\/\",\"url\":\"https:\\\/\\\/osmeusapontamentos.com\\\/index.php\\\/2008\\\/05\\\/17\\\/conversao-de-aplicacoes\\\/\",\"name\":\"Convers\u00e3o de aplica\u00e7\u00f5es - Os Meus Apontamentos\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/osmeusapontamentos.com\\\/#website\"},\"datePublished\":\"2008-05-17T17:53:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/osmeusapontamentos.com\\\/index.php\\\/2008\\\/05\\\/17\\\/conversao-de-aplicacoes\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/osmeusapontamentos.com\\\/index.php\\\/2008\\\/05\\\/17\\\/conversao-de-aplicacoes\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/osmeusapontamentos.com\\\/index.php\\\/2008\\\/05\\\/17\\\/conversao-de-aplicacoes\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\\\/\\\/osmeusapontamentos.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Convers\u00e3o de aplica\u00e7\u00f5es\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/osmeusapontamentos.com\\\/#website\",\"url\":\"https:\\\/\\\/osmeusapontamentos.com\\\/\",\"name\":\"Os Meus Apontamentos\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/osmeusapontamentos.com\\\/#\\\/schema\\\/person\\\/d508df9c3ffc8b4e64a18dbf0ba18dd8\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/osmeusapontamentos.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/osmeusapontamentos.com\\\/#\\\/schema\\\/person\\\/d508df9c3ffc8b4e64a18dbf0ba18dd8\",\"name\":\"Vitor Silva\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f81f58ad909e8a213ab0a690f6ed65e5c0e0e2274bf35ac49ff31d7988d483ce?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f81f58ad909e8a213ab0a690f6ed65e5c0e0e2274bf35ac49ff31d7988d483ce?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f81f58ad909e8a213ab0a690f6ed65e5c0e0e2274bf35ac49ff31d7988d483ce?s=96&d=mm&r=g\",\"caption\":\"Vitor Silva\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f81f58ad909e8a213ab0a690f6ed65e5c0e0e2274bf35ac49ff31d7988d483ce?s=96&d=mm&r=g\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/vitormrsilva\",\"https:\\\/\\\/x.com\\\/vitorsilva\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Convers\u00e3o de aplica\u00e7\u00f5es - Os Meus Apontamentos","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:\/\/osmeusapontamentos.com\/index.php\/2008\/05\/17\/conversao-de-aplicacoes\/","og_locale":"pt_PT","og_type":"article","og_title":"Convers\u00e3o de aplica\u00e7\u00f5es - Os Meus Apontamentos","og_description":"Pediram-me, h\u00e1 umas semanas, para dar uma opini\u00e3o em rela\u00e7\u00e3o a um projecto de convers\u00e3o de uma aplica\u00e7\u00e3o j\u00e1 existente. A ideia \u00e9 pegar numa aplica\u00e7\u00e3o, desenvolvida em Visual Fox Pro, j\u00e1 com um curriculo interessante no que diz respeito a funcionalidades e n\u00famero de instala\u00e7\u00f5es existentes e criar algum mecanismo que lhe permita passar [&hellip;]","og_url":"https:\/\/osmeusapontamentos.com\/index.php\/2008\/05\/17\/conversao-de-aplicacoes\/","og_site_name":"Os Meus Apontamentos","article_published_time":"2008-05-17T17:53:51+00:00","author":"Vitor Silva","twitter_card":"summary_large_image","twitter_creator":"@vitorsilva","twitter_site":"@vitorsilva","twitter_misc":{"Escrito por":"Vitor Silva","Tempo estimado de leitura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/osmeusapontamentos.com\/index.php\/2008\/05\/17\/conversao-de-aplicacoes\/#article","isPartOf":{"@id":"https:\/\/osmeusapontamentos.com\/index.php\/2008\/05\/17\/conversao-de-aplicacoes\/"},"author":{"name":"Vitor Silva","@id":"https:\/\/osmeusapontamentos.com\/#\/schema\/person\/d508df9c3ffc8b4e64a18dbf0ba18dd8"},"headline":"Convers\u00e3o de aplica\u00e7\u00f5es","datePublished":"2008-05-17T17:53:51+00:00","mainEntityOfPage":{"@id":"https:\/\/osmeusapontamentos.com\/index.php\/2008\/05\/17\/conversao-de-aplicacoes\/"},"wordCount":962,"commentCount":0,"publisher":{"@id":"https:\/\/osmeusapontamentos.com\/#\/schema\/person\/d508df9c3ffc8b4e64a18dbf0ba18dd8"},"keywords":["pensar","software"],"articleSection":["Ler\/ Ver\/ Ouvir\/ Passear"],"inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/osmeusapontamentos.com\/index.php\/2008\/05\/17\/conversao-de-aplicacoes\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/osmeusapontamentos.com\/index.php\/2008\/05\/17\/conversao-de-aplicacoes\/","url":"https:\/\/osmeusapontamentos.com\/index.php\/2008\/05\/17\/conversao-de-aplicacoes\/","name":"Convers\u00e3o de aplica\u00e7\u00f5es - Os Meus Apontamentos","isPartOf":{"@id":"https:\/\/osmeusapontamentos.com\/#website"},"datePublished":"2008-05-17T17:53:51+00:00","breadcrumb":{"@id":"https:\/\/osmeusapontamentos.com\/index.php\/2008\/05\/17\/conversao-de-aplicacoes\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/osmeusapontamentos.com\/index.php\/2008\/05\/17\/conversao-de-aplicacoes\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/osmeusapontamentos.com\/index.php\/2008\/05\/17\/conversao-de-aplicacoes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/osmeusapontamentos.com\/"},{"@type":"ListItem","position":2,"name":"Convers\u00e3o de aplica\u00e7\u00f5es"}]},{"@type":"WebSite","@id":"https:\/\/osmeusapontamentos.com\/#website","url":"https:\/\/osmeusapontamentos.com\/","name":"Os Meus Apontamentos","description":"","publisher":{"@id":"https:\/\/osmeusapontamentos.com\/#\/schema\/person\/d508df9c3ffc8b4e64a18dbf0ba18dd8"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/osmeusapontamentos.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":["Person","Organization"],"@id":"https:\/\/osmeusapontamentos.com\/#\/schema\/person\/d508df9c3ffc8b4e64a18dbf0ba18dd8","name":"Vitor Silva","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/secure.gravatar.com\/avatar\/f81f58ad909e8a213ab0a690f6ed65e5c0e0e2274bf35ac49ff31d7988d483ce?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f81f58ad909e8a213ab0a690f6ed65e5c0e0e2274bf35ac49ff31d7988d483ce?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f81f58ad909e8a213ab0a690f6ed65e5c0e0e2274bf35ac49ff31d7988d483ce?s=96&d=mm&r=g","caption":"Vitor Silva"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/f81f58ad909e8a213ab0a690f6ed65e5c0e0e2274bf35ac49ff31d7988d483ce?s=96&d=mm&r=g"},"sameAs":["https:\/\/www.linkedin.com\/in\/vitormrsilva","https:\/\/x.com\/vitorsilva"]}]}},"_links":{"self":[{"href":"https:\/\/osmeusapontamentos.com\/index.php\/wp-json\/wp\/v2\/posts\/545","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/osmeusapontamentos.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/osmeusapontamentos.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/osmeusapontamentos.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/osmeusapontamentos.com\/index.php\/wp-json\/wp\/v2\/comments?post=545"}],"version-history":[{"count":0,"href":"https:\/\/osmeusapontamentos.com\/index.php\/wp-json\/wp\/v2\/posts\/545\/revisions"}],"wp:attachment":[{"href":"https:\/\/osmeusapontamentos.com\/index.php\/wp-json\/wp\/v2\/media?parent=545"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/osmeusapontamentos.com\/index.php\/wp-json\/wp\/v2\/categories?post=545"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/osmeusapontamentos.com\/index.php\/wp-json\/wp\/v2\/tags?post=545"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}