Sistemas Biomédicos de Objetos Distribuídos baseados em CORBA Departamento de Física e...

Post on 17-Apr-2015

109 views 1 download

Transcript of Sistemas Biomédicos de Objetos Distribuídos baseados em CORBA Departamento de Física e...

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