Post on 17-Apr-2015
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!
ContatoContato
Adriano J. Holanda – aholanda@dfm.ffclrp.usp.br
- http://imagcom.dfm.ffclrp.usp.br