sistemas biomédicos de objetos distribuídos baseados em corba departamento de física e...
TRANSCRIPT
Sistemas Biomédicos de Objetos Distribuídos Sistemas Biomédicos de Objetos Distribuídos baseados em CORBA baseados em CORBA
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)
Adriano de Jesus Holanda
Sistemas biomédicosSistemas biomédicos
Desafios• Distribuída (evolução dos servidores/PCs)• Complexa
– Informações– Procedimentos e protocolos– Evolução
Sistemas biomédicosSistemas 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
?????
InteroperabilidadeInteroperabilidade
Arquitetura CORBA
CORBACORBA
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
CORBACORBA
• 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)
LinuxLinux
CORBA - ambienteCORBA - ambiente
IDL
OR
B
Servidor
JAV
Aes
que
leto
JAV
Aim
plem
enta
ção
LinuxLinux
CORBA - ambienteCORBA - ambiente
WindowsWindows
OR
B
Cliente
IDL
JAV
A
JAV
A
OR
B
IIO
P
Servidor
C+
+st
ub
C+
+im
plem
enta
ção
LinuxLinuxWindowsWindows
CORBA - ambienteCORBA - ambiente
JAV
A
OR
B
OR
B
IIO
P
IOR:000000000000003049444C3A6F6D672E6F72672F5465726D696E6F6C6F677953657276696365732F4C65784578706C6F72
65723A312E3
C+
+
C+
+
JAV
A
LinuxLinuxWindowsWindows
CORBA - ambienteCORBA - ambiente
JAV
A
OR
B
OR
B
IIO
P
IOR:000000000000003049444C3A6F6D672E6F72672F5465726D696E6F6C6F677953657276696365732F4C65784578706C6F72
65723A312E3
C+
+
C+
+
JAV
A
CORBA - diversidadeCORBA - 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çõesEspecificaçõ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)
OMAOMA
Fonte: http://www.omg.org/oma/
CORBA/ORB
Serviços CORBA
identificação
transações eventos concorrência segurança
Interfaces aplicações
Interfaces domínios (vertical)
Recursos CORBA (horizontal)
Especificação de Sistemas Especificação de Sistemas BiomédicosBiomédicos
Ambiente clínico
Healthcare Domain Task Force
CORBAMed - 1996
Person IDentification Service - PIDSPerson IDentification Service - PIDS
• Definição:– 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.
Nome:Registro:Data de nascimento:Sexo:
Clinical Observation Access Service - Clinical Observation Access Service - COASCOAS
• Definição:– Serviço de armazenamento e recuperação de
observações clínicas
• Design:– Interface e estrutura de dados– Armazena informações qualitativas e
quantitativas• Sinais vitais, exames de laboratório, impressões de
um exame clínico, imagens,...
Registro:Exame:Data:Resultado:
Lexicon Query Service - LQSLexicon 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)
• Sistema hierárquico de classificação
CID10N28.0 Isquemia e infarto renalN28.1 Cisto do rim, adquiridoN28.8 Outros transtornos especificados do rim e do ureter
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 - CIASClinical 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 - RADResource Access Decision - RAD
• Definição:– Determina o privilégio de acesso do usuário às
informações do paciente.
CORBA
Interface Gráfica|Web
PIDS COAS CIAS
SGBD
CIAS
implementação
Nome:Registro:Data de nascimento:Sexo:
Registro:Exame:Data:Resultado:
PIDS
implementação
COAS
implementação
Especificação de Sistemas Especificação de Sistemas BiomédicosBiomédicos
Bioinformática
Life Sciences Research DTFLife Sciences Research DTF19971997
• Bibliographic Query Service• Biomolecular Sequence Analysis (BSA)
– BioObjects (nucleotídeo, aminoácido)
– Analysis (BLAST, Smith-Watterman, etc)
• Gene Expression• Genomic Maps• Laboratory Equipment Control Interface
Specification (LECIS)• Macromolecular Structure
CORBA
Interface Gráfica|Web
PIDS COAS CIAS
SGBD
PIDS
implementação
COAS
implementação
CIAS
implementação
Nome:Registro:Data de nascimento:Sexo:
Registro:Exame:Data:Resultado: Gene
Expression
Gene Expression
implementação
SGBD
Sinergia entre IM e BISinergia 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 InformaticsBiomedical Informatics - - Informática BiomédicaInformática Biomédica
DISCUSSÃODISCUSSÃO
Benefícios - CORBABenefícios - CORBA
• Reuso – arquitetura de objetos– Aumenta reuso de funcionalidades horizontais
– Evita implementação redundante de funções
• Interoperabilidade e integração de sistemas heterogêneos
• Integridade conceitual (Brooks, 1995)– Sintática e semântica– Modelo (OMA)
• Redução da redundância• Extensibilidade – acoplamento de novos
componentes/funcionalidades
+ Benefícios+ 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
DesvantagensDesvantagens
• 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)
AlternativasAlternativas
• sockets
• RPC (Remote Procedure Call)
• DCE (Distributed Computing Environment)
• Microsoft .Net
• Java Enterprise Edition (J2EE-EJB)
• Web Services
ReferênciasReferê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
AgradecimentosAgradecimentos
• Grupo ImagCom - DFM/FFCLRP-USP
• Laboratório de Bioinformática – Fundação Hemocentro de Ribeirão Preto
OBRIGADO!OBRIGADO!