RES: [sbis_l] Re: Integração com E-SUS
terça-feira, 3 de fevereiro de 2015
Bom Dia Leonardo
A grosso modo o Thrift é quase como se fosse um programa utilizando uma DLL embora não seja isso. Não é uma boa forma de integração já que o correto seria usar um web servisse neste caso do esus mas que porém ainda não foi desenvolvido. Não é uma boa porque ainda não há documentação de caso de uso das funções que o MS fez no JAVA que chamaremos pelo trhift, então acaba sendo tudo meio que no escuro, também não há um feedback das funções e um domínio dos parâmetros usados nos métodos por exemplo até mesmo o comprimento do nome do paciente não sabemos o qual limite usar, a interface diz apenas que é string e não tem na documentação o real limite aceito, vc consegue "fuçar" o banco de dados e ver o campo do nome do paciente, mas ainda assim a função interna é uma caixa preta e concordemos que não é o ideal, é aí que estamos com falta da documentação para uso correto dos métodos internos do ESUS.
De qualquer forma funciona assim:
1- O MS fez o programa que roda em JAVA e o framework do thrift abre um soquete no programa para aceitar conexões de outros programas. Quando o ESUS roda, uma porta do computador fica aberta para receber as mensagens do protocolo que o thrift usa, é a mesma coisa que vc criasse um soquete e trabalhasse com a conexão através dele, porém esse soquete funciona de acordo com as regras de transporte do thrift.
2- O que o thrift facilita é que uma estrutura feita no JAVA e uma interface de um método são facilmente traduzidos para uma outra linguagem que vc desejar. Então algumas classes do JAVA ficam disponíveis para quem quiser usar, traduzi-las através do trhfit para uma outra linguagem, por exemplo o Delphi, ou outro executável JAVA mesmo. Se por exemplo existir a função IncluirPaciente(objPaciente) disponível dentro do programa do ESUS, vc tem a chance de executar esta mesma função através de um outro programa através do soquete do thrift.
3- Então na tua linguagem vc adiciona o framework do trhift para que o teu programa tenha acesso nos soquetes do thrift do outro programa para se comunicar com ele. Vc também adiciona no teu programa as classes e métodos que foram fornecidos pelo desenvolvedor do outro programa (que vc usou o trhift para traduzir para a tua linguagem, por exemplo o caso do IncluirPaciente() ).
4- Com os métodos no teu programa e a estrutura de dados necessária, vc então alimenta o teu objeto e com o esus rodando (precisa haver a porta aberta, lembra...) vc executa a tua função no soquete do trhift, haverá um envio de mensagem para o soquete do esus e este internamente irá executar a função lá dentro. Restará outros problemas para vc resolver, pois uma vez executada a função lá dentro vc não tem retorno (é que o pessoal não desenvolveu um jeito de te dar o retorno...) , não sabe o que aconteceu, precisaria haver os outros métodos para vc consultar o resultado da tua execução e aí começam os problemas de integração desta solução, notei que alguns desenvolvedores olham na base de dados do esus para ver o que aconteceu...
5-Como vc pode ver o esus pode então estar funcionando em outra máquina, vc pode acessar o soquete do thrift via rede, só precisa acertar as questões de firewall. O pessoal também não desenvolveu uma forma de autenticação, então vc pode executar direto as funções na porta, que se estiverem de acordo com a interface o ESUS executará então internamente, o que gera um problema de segurança aí tb, mas é assim que funciona por enquanto.
6-Note que se o pessoal que cuida do ESUS alterar uma das classes ou a interface de algum dos métodos que são trafegados pelo thrift, vc terá que gerar novamente as classes para o teu programa, para este ficar de acordo com a versão das classes do outro programa. Então tem que ficar atento aí na troca das versões do ESUS.
Boa Sorte !
Roberto
-----Mensagem original-----
De: sbis_l@googlegroups.com [mailto:sbis_l@googlegroups.com] Em nome de Patricia Fugimoto
Enviada em: segunda-feira, 2 de fevereiro de 2015 21:54
Para: sbis_l@googlegroups.com
Assunto: [sbis_l] Re: Integração com E-SUS
------=_Part_3158_907103564.1422921226577
Content-Type: multipart/alternative;
boundary="----=_Part_3159_703190095.1422921226577"
------=_Part_3159_703190095.1422921226577
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Boa noite Leonardo,
No site do E-SUS cont=C3=A9m as documenta=C3=A7=C3=B5es disponibilizadas pe= lo DAB,=20 inclusive o dicion=C3=A1rio de dados e alguns exemplos de uso do Thrift.=20
Al=C3=A9m disso, sugiro que d=C3=AA uma olhada no f=C3=B3rum da Aten=C3=A7= =C3=A3o B=C3=A1sica=20 (https://cursos.atencaobasica.org.br/comunidades/e-sus-ab), l=C3=A1 existem=
=20
alguns t=C3=B3picos que podem lhe ajudar, inclusive com trechos de c=C3=B3d= igos.
Espero ter lhe ajudado.
Att,
Patr=C3=ADcia
Em sexta-feira, 30 de janeiro de 2015 08:30:14 UTC-2, Leonardo Fruhling=20
escreveu:
>
> Bom dia Patricia, estou come=C3=A7ando a estudar sobre a
> integra=C3=A7=C3=
=A3o de nosso=20
> sistema com o E-Sus, vi que tu j=C3=A1 tens alguma experi=C3=AAncia
> com =
isto.=20
> Gostaria de saber se terias algumas dicas para me passar. Qual a
> linguage=
m=20
> que voc=C3=AA utilizou, e como funciona esse Thrift.=20
>
> Desde j=C3=A1 fico grato pela aten=C3=A7=C3=A3o!
>
> Em segunda-feira, 12 de maio de 2014 12:03:00 UTC-3, Patricia
> Fugimoto=20
> escreveu:
>>
>> Prezados, bom dia.
>>
>> Estou tendo muitas dificuldades com a integra=C3=A7=C3=A3o dos dados
>> com=
o E-SUS.=20
>> Por acaso, algu=C3=A9m do grupo conseguir realizar a
>> exporta=C3=A7=C3=A3=
o a partir de um=20
>> sistema pr=C3=B3prio ou possui alguma especifica=C3=A7=C3=A3o
>> t=C3=A9cni=
ca de como realizar?
>>
>> Eu sei que n=C3=A3o =C3=A9 o foco do grupo, por=C3=A9m espero que
>> algu=
=C3=A9m possa me ajudar.
>>
>> Att,
>> Patricia
>>
>
--=20
--=20
----------------------------------------------------------
Seja associado da SBIS!
Visite o site www.sbis.org.br
---=20
Voc=C3=AA est=C3=A1 recebendo esta mensagem porque se inscreveu no grupo "S= ociedade Brasileira de Inform=C3=A1tica em Sa=C3=BAde - Lista de Discuss=C3= =A3o" dos Grupos do Google.
Para cancelar inscri=C3=A7=C3=A3o nesse grupo e parar de receber e-mails de= le, envie um e-mail para sbis_l+unsubscribe@googlegroups.com.
Para obter mais op=C3=A7=C3=B5es, acesse https://groups.google.com/d/optout=
.
------=_Part_3159_703190095.1422921226577
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Boa noite Leonardo,<div><br></div><div>No site do E-SUS co= nt=C3=A9m as documenta=C3=A7=C3=B5es disponibilizadas pelo DAB, inclusive o= dicion=C3=A1rio de dados e alguns exemplos de uso do Thrift. </div><d=
iv><br></div><div>Al=C3=A9m disso, sugiro que d=C3=AA uma olhada no
iv>f=C3=B3=
rum da Aten=C3=A7=C3=A3o B=C3=A1sica (https://cursos.atencaobasica.org.br/c=
omunidades/e-sus-ab), l=C3=A1 existem alguns t=C3=B3picos que podem lhe aju= dar, inclusive com trechos de c=C3=B3digos.</div><div><br></div><div>Espero=
ter lhe ajudado.</div><div><br></div><div>Att,</div><div>Patr=C3=ADcia<br>=
<br>Em sexta-feira, 30 de janeiro de 2015 08:30:14 UTC-2, Leonardo Fruhling=
escreveu:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-left=
: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"ltr">Bo= m dia Patricia, estou come=C3=A7ando a estudar sobre a integra=C3=A7=C3=A3o= de nosso sistema com o E-Sus, vi que tu j=C3=A1 tens alguma experi= =C3=AAncia com isto. Gostaria de saber se terias algumas dicas para me pass= ar. Qual a linguagem que voc=C3=AA utilizou, e como funciona esse Thrift.&n= bsp;<div><br></div><div>Desde j=C3=A1 fico grato pela aten=C3=A7=C3=A3o!<br=
><br>Em segunda-feira, 12 de maio de 2014 12:03:00 UTC-3, Patricia
>Fugimoto=
escreveu:<blockquote class=3D"gmail_quote" style=3D"margin:0;margin-left:= 0.8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr">Prezado= s, bom dia.<div><br></div><div>Estou tendo muitas dificuldades com a integr= a=C3=A7=C3=A3o dos dados com o E-SUS. </div><div>Por acaso, algu=C3=A9= m do grupo conseguir realizar a exporta=C3=A7=C3=A3o a partir de um sistema= pr=C3=B3prio ou possui alguma especifica=C3=A7=C3=A3o t=C3=A9cnica de como= realizar?</div><div><br></div><div>Eu sei que n=C3=A3o =C3=A9 o foco do gr= upo, por=C3=A9m espero que algu=C3=A9m possa me ajudar.</div><div><br></div=
><div>Att,</div><div>Patricia</div></div></blockquote></div></div></bloc
>kqu=
ote></div></div>
<p></p>
-- <br />
-- <br />
----------------------------------------------------------<br /> Seja associado da SBIS!<br /> Visite o site www.sbis.org.br<br /> <br />
--- <br />
Voc=C3=AA recebeu essa mensagem porque est=C3=A1 inscrito no grupo "So= ciedade Brasileira de Inform=C3=A1tica em Sa=C3=BAde - Lista de Discuss=C3= =A3o" dos Grupos do Google.<br /> Para cancelar inscri=C3=A7=C3=A3o nesse grupo e parar de receber e-mails de= le, envie um e-mail para <a href=3D"mailto:sbis_l+unsubscribe@googlegroups.=
com">sbis_l+unsubscribe@googlegroups.com</a>.<br /> Para mais op=C3=A7=C3=B5es, acesse <a href=3D"https://groups.google.com/d/o=
ptout">https://groups.google.com/d/optout</a>.<br />
------=_Part_3159_703190095.1422921226577--
------=_Part_3158_9
--
--
----------------------------------------------------------
Seja associado da SBIS!
Visite o site www.sbis.org.br
---
Você está recebendo esta mensagem porque se inscreveu no grupo "Sociedade Brasileira de Informática em Saúde - Lista de Discussão" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para sbis_l+unsubscribe@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/d/optout.
A grosso modo o Thrift é quase como se fosse um programa utilizando uma DLL embora não seja isso. Não é uma boa forma de integração já que o correto seria usar um web servisse neste caso do esus mas que porém ainda não foi desenvolvido. Não é uma boa porque ainda não há documentação de caso de uso das funções que o MS fez no JAVA que chamaremos pelo trhift, então acaba sendo tudo meio que no escuro, também não há um feedback das funções e um domínio dos parâmetros usados nos métodos por exemplo até mesmo o comprimento do nome do paciente não sabemos o qual limite usar, a interface diz apenas que é string e não tem na documentação o real limite aceito, vc consegue "fuçar" o banco de dados e ver o campo do nome do paciente, mas ainda assim a função interna é uma caixa preta e concordemos que não é o ideal, é aí que estamos com falta da documentação para uso correto dos métodos internos do ESUS.
De qualquer forma funciona assim:
1- O MS fez o programa que roda em JAVA e o framework do thrift abre um soquete no programa para aceitar conexões de outros programas. Quando o ESUS roda, uma porta do computador fica aberta para receber as mensagens do protocolo que o thrift usa, é a mesma coisa que vc criasse um soquete e trabalhasse com a conexão através dele, porém esse soquete funciona de acordo com as regras de transporte do thrift.
2- O que o thrift facilita é que uma estrutura feita no JAVA e uma interface de um método são facilmente traduzidos para uma outra linguagem que vc desejar. Então algumas classes do JAVA ficam disponíveis para quem quiser usar, traduzi-las através do trhfit para uma outra linguagem, por exemplo o Delphi, ou outro executável JAVA mesmo. Se por exemplo existir a função IncluirPaciente(objPaciente) disponível dentro do programa do ESUS, vc tem a chance de executar esta mesma função através de um outro programa através do soquete do thrift.
3- Então na tua linguagem vc adiciona o framework do trhift para que o teu programa tenha acesso nos soquetes do thrift do outro programa para se comunicar com ele. Vc também adiciona no teu programa as classes e métodos que foram fornecidos pelo desenvolvedor do outro programa (que vc usou o trhift para traduzir para a tua linguagem, por exemplo o caso do IncluirPaciente() ).
4- Com os métodos no teu programa e a estrutura de dados necessária, vc então alimenta o teu objeto e com o esus rodando (precisa haver a porta aberta, lembra...) vc executa a tua função no soquete do trhift, haverá um envio de mensagem para o soquete do esus e este internamente irá executar a função lá dentro. Restará outros problemas para vc resolver, pois uma vez executada a função lá dentro vc não tem retorno (é que o pessoal não desenvolveu um jeito de te dar o retorno...) , não sabe o que aconteceu, precisaria haver os outros métodos para vc consultar o resultado da tua execução e aí começam os problemas de integração desta solução, notei que alguns desenvolvedores olham na base de dados do esus para ver o que aconteceu...
5-Como vc pode ver o esus pode então estar funcionando em outra máquina, vc pode acessar o soquete do thrift via rede, só precisa acertar as questões de firewall. O pessoal também não desenvolveu uma forma de autenticação, então vc pode executar direto as funções na porta, que se estiverem de acordo com a interface o ESUS executará então internamente, o que gera um problema de segurança aí tb, mas é assim que funciona por enquanto.
6-Note que se o pessoal que cuida do ESUS alterar uma das classes ou a interface de algum dos métodos que são trafegados pelo thrift, vc terá que gerar novamente as classes para o teu programa, para este ficar de acordo com a versão das classes do outro programa. Então tem que ficar atento aí na troca das versões do ESUS.
Boa Sorte !
Roberto
-----Mensagem original-----
De: sbis_l@googlegroups.com [mailto:sbis_l@googlegroups.com] Em nome de Patricia Fugimoto
Enviada em: segunda-feira, 2 de fevereiro de 2015 21:54
Para: sbis_l@googlegroups.com
Assunto: [sbis_l] Re: Integração com E-SUS
------=_Part_3158_907103564.1422921226577
Content-Type: multipart/alternative;
boundary="----=_Part_3159_703190095.1422921226577"
------=_Part_3159_703190095.1422921226577
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Boa noite Leonardo,
No site do E-SUS cont=C3=A9m as documenta=C3=A7=C3=B5es disponibilizadas pe= lo DAB,=20 inclusive o dicion=C3=A1rio de dados e alguns exemplos de uso do Thrift.=20
Al=C3=A9m disso, sugiro que d=C3=AA uma olhada no f=C3=B3rum da Aten=C3=A7= =C3=A3o B=C3=A1sica=20 (https://cursos.atencaobasica.org.br/comunidades/e-sus-ab), l=C3=A1 existem=
=20
alguns t=C3=B3picos que podem lhe ajudar, inclusive com trechos de c=C3=B3d= igos.
Espero ter lhe ajudado.
Att,
Patr=C3=ADcia
Em sexta-feira, 30 de janeiro de 2015 08:30:14 UTC-2, Leonardo Fruhling=20
escreveu:
>
> Bom dia Patricia, estou come=C3=A7ando a estudar sobre a
> integra=C3=A7=C3=
=A3o de nosso=20
> sistema com o E-Sus, vi que tu j=C3=A1 tens alguma experi=C3=AAncia
> com =
isto.=20
> Gostaria de saber se terias algumas dicas para me passar. Qual a
> linguage=
m=20
> que voc=C3=AA utilizou, e como funciona esse Thrift.=20
>
> Desde j=C3=A1 fico grato pela aten=C3=A7=C3=A3o!
>
> Em segunda-feira, 12 de maio de 2014 12:03:00 UTC-3, Patricia
> Fugimoto=20
> escreveu:
>>
>> Prezados, bom dia.
>>
>> Estou tendo muitas dificuldades com a integra=C3=A7=C3=A3o dos dados
>> com=
o E-SUS.=20
>> Por acaso, algu=C3=A9m do grupo conseguir realizar a
>> exporta=C3=A7=C3=A3=
o a partir de um=20
>> sistema pr=C3=B3prio ou possui alguma especifica=C3=A7=C3=A3o
>> t=C3=A9cni=
ca de como realizar?
>>
>> Eu sei que n=C3=A3o =C3=A9 o foco do grupo, por=C3=A9m espero que
>> algu=
=C3=A9m possa me ajudar.
>>
>> Att,
>> Patricia
>>
>
--=20
--=20
----------------------------------------------------------
Seja associado da SBIS!
Visite o site www.sbis.org.br
---=20
Voc=C3=AA est=C3=A1 recebendo esta mensagem porque se inscreveu no grupo "S= ociedade Brasileira de Inform=C3=A1tica em Sa=C3=BAde - Lista de Discuss=C3= =A3o" dos Grupos do Google.
Para cancelar inscri=C3=A7=C3=A3o nesse grupo e parar de receber e-mails de= le, envie um e-mail para sbis_l+unsubscribe@googlegroups.com.
Para obter mais op=C3=A7=C3=B5es, acesse https://groups.google.com/d/optout=
.
------=_Part_3159_703190095.1422921226577
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Boa noite Leonardo,<div><br></div><div>No site do E-SUS co= nt=C3=A9m as documenta=C3=A7=C3=B5es disponibilizadas pelo DAB, inclusive o= dicion=C3=A1rio de dados e alguns exemplos de uso do Thrift. </div><d=
iv><br></div><div>Al=C3=A9m disso, sugiro que d=C3=AA uma olhada no
iv>f=C3=B3=
rum da Aten=C3=A7=C3=A3o B=C3=A1sica (https://cursos.atencaobasica.org.br/c=
omunidades/e-sus-ab), l=C3=A1 existem alguns t=C3=B3picos que podem lhe aju= dar, inclusive com trechos de c=C3=B3digos.</div><div><br></div><div>Espero=
ter lhe ajudado.</div><div><br></div><div>Att,</div><div>Patr=C3=ADcia<br>=
<br>Em sexta-feira, 30 de janeiro de 2015 08:30:14 UTC-2, Leonardo Fruhling=
escreveu:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-left=
: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"ltr">Bo= m dia Patricia, estou come=C3=A7ando a estudar sobre a integra=C3=A7=C3=A3o= de nosso sistema com o E-Sus, vi que tu j=C3=A1 tens alguma experi= =C3=AAncia com isto. Gostaria de saber se terias algumas dicas para me pass= ar. Qual a linguagem que voc=C3=AA utilizou, e como funciona esse Thrift.&n= bsp;<div><br></div><div>Desde j=C3=A1 fico grato pela aten=C3=A7=C3=A3o!<br=
><br>Em segunda-feira, 12 de maio de 2014 12:03:00 UTC-3, Patricia
>Fugimoto=
escreveu:<blockquote class=3D"gmail_quote" style=3D"margin:0;margin-left:= 0.8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr">Prezado= s, bom dia.<div><br></div><div>Estou tendo muitas dificuldades com a integr= a=C3=A7=C3=A3o dos dados com o E-SUS. </div><div>Por acaso, algu=C3=A9= m do grupo conseguir realizar a exporta=C3=A7=C3=A3o a partir de um sistema= pr=C3=B3prio ou possui alguma especifica=C3=A7=C3=A3o t=C3=A9cnica de como= realizar?</div><div><br></div><div>Eu sei que n=C3=A3o =C3=A9 o foco do gr= upo, por=C3=A9m espero que algu=C3=A9m possa me ajudar.</div><div><br></div=
><div>Att,</div><div>Patricia</div></div></blockquote></div></div></bloc
>kqu=
ote></div></div>
<p></p>
-- <br />
-- <br />
----------------------------------------------------------<br /> Seja associado da SBIS!<br /> Visite o site www.sbis.org.br<br /> <br />
--- <br />
Voc=C3=AA recebeu essa mensagem porque est=C3=A1 inscrito no grupo "So= ciedade Brasileira de Inform=C3=A1tica em Sa=C3=BAde - Lista de Discuss=C3= =A3o" dos Grupos do Google.<br /> Para cancelar inscri=C3=A7=C3=A3o nesse grupo e parar de receber e-mails de= le, envie um e-mail para <a href=3D"mailto:sbis_l+unsubscribe@googlegroups.=
com">sbis_l+unsubscribe@googlegroups.com</a>.<br /> Para mais op=C3=A7=C3=B5es, acesse <a href=3D"https://groups.google.com/d/o=
ptout">https://groups.google.com/d/optout</a>.<br />
------=_Part_3159_703190095.1422921226577--
------=_Part_3158_9
--
--
----------------------------------------------------------
Seja associado da SBIS!
Visite o site www.sbis.org.br
---
Você está recebendo esta mensagem porque se inscreveu no grupo "Sociedade Brasileira de Informática em Saúde - Lista de Discussão" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para sbis_l+unsubscribe@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/d/optout.
0 comentários:
Postar um comentário