Contratos são garantias – JSON Schema
Publicado em: segunda-feira, 14 de abr de 2014
Categorias: Desenvolvimento

Não faz muito tempo que apanhei horrores em uma discussão no DNA sobre Json Schemas, mas para minha sorte e daqueles que estão ao meu lado nessa empreitada, saiu no dia 10/Abril no blog .NET Web Development and Tools o artigo Intellisense for JSON Schema in the JSON Editor, que ao meu ver é extremamente interessante.

Bom, assim como a galera do grupo, você deve estar se perguntando sobre a necessidade de um Schema para Json. A resposta é muito simples: Integrações.

Qualquer integração possível e imaginável se baseia em contratos, implícitos e/ou explícitos, comportamentais e/ou estruturais.

Mas o que quer dizer isso?

Se no OAuth você tem um fluxo de chamadas de autenticação, obtenção de token e enfim chamada a recursos, esse é um contrato de comportamento, ele define um fluxo. A estrutura de cada chamada é definida por um contrato estrutural, que define qual a estrutura da requisição e da resposta de cada operação, serviço ou recurso. Um contrato implícito é aquele que você imagina ou tem apenas um exemplo daquilo que você precisa usar em contratos estruturais, um contrato explícito tem os schemas utilizados e todo o fluxo, definindo entradas e saídas de cada operação.

Mas qual a vantagem?

Bom, se acordo um contrato com um parceiro para desenvolver uma integração, acordo comportamento e estrutura de requisições e iterações. Com Schemas, a definição de estruturas é muito mais eficiente demonstrando todas as possibilidades.

De fato, tive muitos problemas com integrações REST com Json, problemas locais (no domínio da empresa onde trabalho) e problemas com parceiros externos. O problema era sempre o mesmo. Os parceiros alteravam as assinaturas dos recursos e pronto, a integração parava de funcionar. Isso tudo porque era simples escrever em linguagem não gerenciada suas respostas, marretadas em responses, seja em PHP ou em outras linguagens de scripting. Se tivesse um acordo definido por Json Schemas, poderia facilmente validar a resposta e dizer que não era compatível, no entanto na ausência deste, ouço diversas vezes que “nada foi alterado” do lado do parceiro, o que todas as vezes não era verdade.

Bom, contratos são garantias, no mundo legal e no mundo virtual, lembre-se disso. Respeitá-los é um dever de quem quer que construa uma integração.

Voltando no tópico do Blog citado no início do post, o Intelisense for JSON Schema estará disponível no Update 2 do Visual Studio 2013.

Grande abraço

Luiz Carlos Faria

Mensagem do Autor

Espero que goste desse post. Não deixe de comentar e falar o que achou. 

Se acha que esse post pode ajudar alguém que você conheça, compartilhe!

 

Eventos passados

setembro 2020
agosto 2020
julho 2020
Nenhum evento encontrado!
Carregar Mais

Publicidade

Assine

0 comentários

Enviar um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Lives

Fique de olho nas lives

Fique de olho nas lives no meu canal do Youtube, no Canal .NET e nos Grupos do Facebook e Instagram.

Aceleradores

Existem diversas formas de viabilizar o suporte ao teu projeto. Seja com os treinamentos, consultoria, mentorias em grupo.

Agenda & Eventos

agosto

setembro 2020

outubro
DOM
SEG
TER
QUA
QUI
SEX
SAB
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
Events for 1st setembro
Sem Eventos
Events for 2nd setembro
Sem Eventos
Events for 3rd setembro
Sem Eventos
Events for 4th setembro
Sem Eventos
Events for 5th setembro
Sem Eventos
Events for 6th setembro
Sem Eventos
Events for 7th setembro
Sem Eventos
Events for 8th setembro
Sem Eventos
Events for 9th setembro
Sem Eventos
Events for 10th setembro
Sem Eventos
Events for 11th setembro
Sem Eventos
Events for 12th setembro
Sem Eventos
Events for 13th setembro
Sem Eventos
Events for 14th setembro
Sem Eventos
Events for 15th setembro
Sem Eventos
Events for 16th setembro
Sem Eventos
Events for 17th setembro
Sem Eventos
Events for 18th setembro
Sem Eventos
Events for 19th setembro
Sem Eventos
Events for 20th setembro
Sem Eventos
Events for 21st setembro
Sem Eventos
Events for 22nd setembro
Sem Eventos
Events for 23rd setembro
Sem Eventos
Events for 24th setembro
Sem Eventos
Events for 25th setembro
Events for 26th setembro
Sem Eventos
Events for 27th setembro
Sem Eventos
Events for 28th setembro
Sem Eventos
Events for 29th setembro
Sem Eventos
Events for 30th setembro
Sem Eventos
Share This