1 / 29

Objetos de Negócio CORBA

Objetos de Negócio CORBA. BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor. BO em CORBA. Um BO provê um modo natural para descrever conceitos do mundo real , independentes da aplicação. Cliente, “order”, dinheiro, pagamento, carro,.

Download Presentation

Objetos de Negócio CORBA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

  2. BO em CORBA • Um BO provê um modo natural para descrever conceitosdo mundoreal, independentes da aplicação. • Cliente, “order”, dinheiro, pagamento, carro, ... Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  3. BO em CORBA • BO proporcionam uma visão de software que transcende ferramentas, aplicações, base de dados e outros conceitos de sistemas. • A última promessa da tecnologia de objetos e componentes é provê esses componentes de média granularidade que comportam-se muito semelhantemente como é o mundo real. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  4. BO Cooperativos • BO devem ser componentes independentes. • Enquanto sendo hábeis para interoperar com outros BO. • Formando um “lattice” (treliça) de componentes que são objetos de negócios cooperativos. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  5. O que são Componentes de Software • Mais uma forma de gerar frases ... “Os componentes são importantes porque é muito importante usar componentes.” • Mais um modismo semelhante a Orientação a Objetos ... “Meu gato é orientado a objetos.” • Alguém já viu um Componente de Domínio ? Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  6. Componentes de Domínio • Significado de Domínio : “Cooperação entre componentes” • Exemplo em Delphi: Podemos observar componentes durante a construção de uma simples aplicação em Delphi ... Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  7. Demo em Delphi • Uma pessoa ... (pessoa) • Tem nome ... (pessoa e nome) • Que pode ser abreviado ... (pessoa, nome, nome_abreviado) • E fonetizado ... (pessoa, nome, nome_abreviado, nome_ fonetizado) • A aplicação está pronta ... (nome, nome_abreviado, nome_fonetizado) Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  8. Vamos Definir Componentes ? • Qualquer subsistema que possa ser separado e que possui uma interface “reusável” e potencialmente padronizável. • Um elemento de software que pode ser facilmente utilizado em múltiplos contextos, incluindo aqueles não previstos originalmente. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  9. Vamos definir componentes ? • Um objeto com uma interface pública preparado para ser utilizado dentro de um ambiente orientado a objetos. • Estes ambientes definem interfaces para que os objetos possam se comunicar entre si e provêm suporte para o reuso. • São uma combinação de: um modelo de programação e um metamodelo de informação. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  10. Vamos definir componentes ? • Um subsistema que não está ligado a nenhuma aplicação específica. • Um produto de alta qualidade, resultado de um cuidadoso desenho e teste. • Empacotado para reuso, com uma interface bem projetada e documentada. • Algo genérico, para ser usado em diferentes lugares, configurado na hora do uso. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  11. Uma definição • Uma cápsula de conhecimento. • Uma unidade de padronização. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  12. Motivação “The number of applications that need to be written is growing exponentially. Unless we can find a way to write them in a tenth of the time, we are tost”. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  13. A Crise do Software • 52.7% dos projetos necessitam correções de orçamento, o que implica em perdas significativas. • Produtividade dos desenvolvedores caiu 13% desde 1993. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  14. A Crise do Software • A arquitetura Cliente/Servidor clássica não aumentou a produtividade no desenvolvimento de software como prometido. • Programar Orientado a Objeto ajuda, mas não resolve. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  15. A Crise do Software • Múltiplos sistemas de informação que não se falam. • Definição de padrões. • Qualidade da informação: interpretação do padrão. • Mudam os governos, mudam as direções antes dos sistemas ficarem prontos. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  16. Precisamos de uma Infoestrutura ... • Que não dependa da infraestrutura tecnológica. • Que possa ser implementada em partes independentes. • Que não se perca nas mudanças políticas. • Que possa ser reaproveitada por todos. • Que implemente os padrões, para que não fiquem no papel. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  17. Procurando Soluções ... • Os sistemas monolíticos estão caminhando para uma rápida extinção; • Surge um novo paradigma de desenvolvimento de software, com base em componentes padronizados, baseados em arquiteturas que ofereçam os serviços necessários à distribuição dos objetos. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  18. Por que usar Componentes ? • Pelas razões erradas: é moderno ... são bonitos ... não fica bem se não usar ... alguém mandou ... • Pelas razões certas: $$$$$$$$$$$$$$$$$$$$$$$$$$$$$ !!! Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  19. Características de Componentes • Um componente deve permitir configuração sem perder identidade ... • Tem que encapsular algum invariante que agregue valor, protegendo ele das mudanças tecnológicas ... • Mais informações: www.sbis.epm.br www.datasus.epm.br/ccssis Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  20. Exemplo de Componente • TDicionario O conhecimento de navegar em árvores armazenadas em BD. Pode ser configurado ... Preserva o conhecimento ... Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  21. Principais Características • Possui documentação que lhe é própria. (help on line) • Podem ser agrupados em conjuntos para distribuição (Packages). • Pode ser substituído sem afetar a aplicação. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  22. Principais Características • Suportam composição (agregação): componentes formados a partir de outros componentes. • Suportam introspecção. • Suportam mecanismos de notificações (eventos). • Suportam serialização. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  23. Principais Características • Possuem um modelo que integra eles às ferramentas de desenvolvimento. (COM, CORBA, JAVABEANS, EJB) • Suportam uma linguagem de definição. (IDL) • Desejáveis: Implementadas nos modelos, mas não suportadas pelas ferramentas de desenvolvimento. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  24. Principais Características • Suporte a várias interfaces. • E a mais importante: FEEDBACK VISUAL AO DESENVOLVEDOR (caso Delphi) Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  25. Mas seja qual for o motivo ... • USE COMPONENTES ! Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  26. BO em CORBA • Primeiro, deve-se definir as regras para que esses componentes funcionem. (OMG) • De acordo com a OMG, um BO é um componente no nível da aplicação que podemos usar em combinações imprevisíveis. Um BO é, por definição, independente de qualquer aplicação. • Aplicações Distribuídas são suites de BO. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  27. BO em CORBA • Uma aplicação, simplesmente, provê o ambiente para executar esses BO. • Um BO é um componente que representa uma entidade “reconhecível” na vida cotidiana. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  28. Objetos a Nível de Sistemas • Em contraste, objetos a nível de sistemas, representam entidades que fazem sentido somente para sistemas de informação e programadores. • Eles não representam nada que um usuário final reconheça. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

  29. BO em CORBA • De acordo com a OMG, um BO é um top-level object reconhecível pelo usuário final de um sistema. • Um BO é um objeto auto-contido e “distribuível” que tem uma interface de usuário, estado e sabe como cooperar com outros BO desenvolvidos separadamente para realizar uma tarefa desejada. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

More Related