Interoperabilidade semântica entre sistemas distribuídos e

Propaganda
Sistemas Biomédicos de Objetos Distribuídos
baseados em CORBA
Adriano de Jesus Holanda
Departamento de Física e Matemática (DFM)
Faculdade de Filosofia, Ciências e Letras de Ribeirão Preto (FFCLRP)
Universidade de São Paulo (USP)
Sistemas biomédicos
Desafios
• Distribuída (evolução dos servidores/PCs)
• Complexa
– Informações
– Procedimentos e protocolos
– Evolução
Sistemas biomédicos
Problemas de integração
• Sistemas heterogêneos
– Modelo de dados, linguagem de programação, formato
de arquivos, tipos de dados, semântica inconsistente
?????
Interoperabilidade
Arquitetura CORBA
CORBA
Common Object Request Broker Architecture - 1991
• Padrão OMG (Object Management Group)
• Hoje: + 800 companhias
• Núcleo da OMA (Object Management Architecture)
– Modelo de objetos
– Modelo de referência (componentes e interação)
• Especificação de arquitetura aberta e neutra
CORBA
• Objetivo
– Arquitetura distribuída de objetos independente de
plataforma
• Como alcançar
–
–
–
–
–
Linguagem de definição de interface – IDL (neutra)
Mapeamento de linguagens de programação
Facilidades de invocação de operações
Adaptadores de objetos
Protocolo de comunicação (IIOP)
esqueleto
implementação
JAVA
JAVA
IDL
ORB
CORBA - ambiente
Linux
Servidor
Windows
Linux
Cliente
Servidor
JAVA
JAVA
ORB
IIOP
ORB
IDL
C++
C++
stub
implementação
CORBA - ambiente
CORBA - ambiente
Windows
Linux
JAVA
JAVA
ORB
IIOP
ORB
C++
C++
IOR:000000000000003049444C3
A6F6D672E6F72672F5465726D6
96E6F6C6F677953657276696365
732F4C65784578706C6F7265723
A312E3
CORBA - ambiente
Windows
Linux
JAVA
JAVA
ORB
IIOP
ORB
C++
C++
IOR:000000000000003049444C3
A6F6D672E6F72672F5465726D6
96E6F6C6F677953657276696365
732F4C65784578706C6F7265723
A312E3
CORBA - diversidade
• Ambientes
– Aeroespacial, computação gráfica, simulações,
aplicações militares, robótica, astronomia (telescópio
Hubble), interface gráfica (Gnome), ...
• Hardware
– PCs, mainframes, PDAs, sistemas embarcados e
supercomputadores
• Mapeamento
– Oficial: C, C++, Java, CORBAScript, COBOL,
Smalltalk, Ada, PL/1, Lisp, Python e XML
– Independente: Perl, Objective-C, Oberon, Eiffel,
Modula 3, Scheme e Tcl.
Especificações
• CORBA/IIOP (ORB)
• Serviços (horizontais)
– Naming, trading, event, transaction, concurrency,
security, ...
• Domínio (vertical)
– Healthcare, Life Sciences Research, Finance,
Telecommunications, Electronic Commerce,...
• Recursos (Facilities)
– Internationalization and Time, Mobile Agent
• Modelo de Componentes (CCM)
OMA
Interfaces
aplicações
Recursos
CORBA
(horizontal)
Interfaces
domínios
(vertical)
CORBA/ORB
identificação
transações
eventos
concorrência
segurança
Serviços CORBA
Fonte: http://www.omg.org/oma/
Especificação de Sistemas
Biomédicos
Ambiente clínico
Healthcare Domain Task Force
CORBAMed - 1996
Person IDentification Service - PIDS
• Definição:
Nome:
Registro:
Data de nascimento:
Sexo:
– Serviço de identificação única de uma pessoa
• Design:
– Permite id único e correlação de vários ids
(federação);
– Permite implementação de mecanismos de
segurança (confidencialidade);
– Garante
interoperabilidade
de
perfis
padronizados (HL7) e permite personalização.
Clinical Observation Access Service COAS
• Definição:
Registro:
Exame:
Data:
Resultado:
– Serviço de armazenamento e recuperação de
observações clínicas
• Design:
– Interface e estrutura de dados
– Armazena
informações
qualitativas
quantitativas
e
• Sinais vitais, exames de laboratório, impressões de
um exame clínico, imagens,...
Lexicon Query Service - LQS
• Definição:
– Serviço de acesso a sistemas de terminologias
• Design:
– Possui métodos somente-leitura
– Genérico e amplo
• Conjunto de frases e códigos (CID10)
CID10
N28.0 Isquemia e infarto renal
N28.1 Cisto do rim, adquirido
N28.8 Outros transtornos especificados do rim e do ureter
• Sistema hierárquico de classificação
MeSH
Streptococcus [B03.510.400.800.872]
Streptococcus agalactiae [B03.510.400.800.872.100]
Streptococcus bovis [B03.510.400.800.872.150]
Streptococcus equi [B03.510.400.800.872.225] ...
Clinical Image Access Service - CIAS
• Definição:
– Serviço de armazenamento e recuperação de
imagens clínicas
• Design:
– Estende COAS (especialização)
– Manipula imagens DICOM e não DICOM
– Não manipula vídeos
Resource Access Decision - RAD
• Definição:
– Determina o privilégio de acesso do usuário às
informações do paciente.
SGBD
implementação
implementação
PIDS
Nome:
Registro:
Data de nascimento:
Sexo:
Registro:
Exame:
Data:
Resultado:
COAS
CORBA
PIDS
COAS CIAS
Interface Gráfica|Web
implementação
CIAS
Especificação de Sistemas
Biomédicos
Bioinformática
Life Sciences Research DTF
1997
• Bibliographic Query Service
• Biomolecular Sequence Analysis (BSA)
– BioObjects (nucleotídeo, aminoácido)
– Analysis (BLAST, Smith-Watterman, etc)
• Gene Expression
• Genomic Maps
• Laboratory
Equipment
Specification (LECIS)
• Macromolecular Structure
Control
Interface
SGBD
implementação
PIDS
Nome:
Registro:
Data de nascimento:
Sexo:
Registro:
Exame:
Data:
Resultado:
implementação
SGBD
implementação
COAS
CIAS
CORBA
PIDS
COAS CIAS
Gene
Expression
Interface Gráfica|Web
implementação
Gene
Expression
Sinergia entre IM e BI
Maojo et al. (2001)
• Comitê europeu (2001-2007)
– Informática Médica (IM) – padrões, sistemas de
terminologias (UMLS)
– Bioinformática (BI) – algoritmos, sistemas de
recuperação de dados
• Objetivo – melhorar o entendimento das
causas moleculares de algumas doenças
Biomedical Informatics - Informática Biomédica
DISCUSSÃO
Benefícios - CORBA
• Reuso – arquitetura de objetos
– Aumenta reuso de funcionalidades horizontais
– Evita implementação redundante de funções
• Interoperabilidade e integração de
heterogêneos
• Integridade conceitual (Brooks, 1995)
sistemas
– Sintática e semântica
– Modelo (OMA)
• Redução da redundância
• Extensibilidade – acoplamento
componentes/funcionalidades
de
novos
+ Benefícios
• Longevidade da arquitetura
• Compartilhamento de recursos escassos e
dispendiosos
• Distribuição da carga computacional
• Execução de aplicações nos ambientes
mais adequados
Desvantagens
•
•
•
•
Complexidade na implementação
Aumento do número de camadas
Passo adicional de compilação (IDL)
Problemas
com
interoperabilidade
semântica de federações (exceção: PIDS)
• Diferença entre os modelos OO (programas)
e relacional (persistência)
Alternativas
•
•
•
•
•
•
sockets
RPC (Remote Procedure Call)
DCE (Distributed Computing Environment)
Microsoft .Net
Java Enterprise Edition (J2EE-EJB)
Web Services
Referências
• Maojo et al. (2001). J. Biomedical Informatics 34,
423-427.
• F. P. Brooks Jr. (1995). The Mythical Man-Month.
Addison-Wesley.
• Object Management Group.
http:// www.omg.org
• Healthcare DTF.
htttp://healthcare.omg.org
• Life Sciences Research DTF.
http://www.omg.org/homepages/lsr
Agradecimentos
• Grupo ImagCom - DFM/FFCLRP-USP
• Laboratório de Bioinformática – Fundação
Hemocentro de Ribeirão Preto
OBRIGADO!
Contato
Adriano J. Holanda – [email protected]
- http://imagcom.dfm.ffclrp.usp.br
Download