360 likes | 489 Views
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
E N D
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)
implementação esqueleto ORB JAVA JAVA Linux CORBA - ambiente IDL Servidor
implementação stub ORB ORB C++ IDL C++ Windows Linux IIOP Cliente CORBA - ambiente JAVA JAVA Servidor
ORB ORB Windows Linux IIOP CORBA - ambiente IOR:000000000000003049444C3A6F6D672E6F72672F5465726D696E6F6C6F677953657276696365732F4C65784578706C6F7265723A312E3 JAVA C++ JAVA C++
ORB ORB Windows Linux IIOP CORBA - ambiente IOR:000000000000003049444C3A6F6D672E6F72672F5465726D696E6F6C6F677953657276696365732F4C65784578706C6F7265723A312E3 JAVA C++ JAVA C++
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)
Recursos CORBA (horizontal) Interfaces domínios (vertical) Interfaces aplicações CORBA/ORB identificação transações eventos concorrência segurança Serviços CORBA OMA 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 Nome: Registro: Data de nascimento: Sexo: • 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.
Clinical Observation Access Service - COAS Registro: Exame: Data: Resultado: • 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,...
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) • Sistema hierárquico de classificação CID10 N28.0 Isquemia e infarto renal N28.1 Cisto do rim, adquirido N28.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 - 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.
CIAS PIDS COAS implementação implementação implementação CORBA COAS CIAS PIDS Interface Gráfica|Web SGBD Nome: Registro: Data de nascimento: Sexo: Registro: Exame: Data: Resultado:
Especificação de Sistemas Biomédicos Bioinformática
Life Sciences Research DTF1997 • 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
COAS CIAS PIDS implementação implementação implementação implementação Gene Expression CORBA Gene Expression COAS CIAS PIDS SGBD SGBD Interface Gráfica|Web Nome: Registro: Data de nascimento: Sexo: Registro: Exame: Data: Resultado:
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
Benefí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 • 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 entreos 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 Informatics34, 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
Contato Adriano J. Holanda – aholanda@dfm.ffclrp.usp.br - http://imagcom.dfm.ffclrp.usp.br