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

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

Embed Size (px)

Citation preview

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

Objetos de Negócio CORBA

BO Cooperantes

Anatomia de um BO

Anatomia de um BO cliente/servidor

Page 2: 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, ...

Computação Distribuída UNIRONDON - Cuiabá - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 3: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

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á - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 4: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

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á - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 5: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

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á - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 6: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

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á - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 7: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

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á - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 8: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

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á - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 9: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

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á - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 10: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

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á - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 11: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

Uma definição

• Uma cápsula de conhecimento.

• Uma unidade de padronização.

Computação Distribuída UNIRONDON - Cuiabá - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 12: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

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á - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 13: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

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á - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 14: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

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á - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 15: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

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á - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 16: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

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á - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 17: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

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á - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 18: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

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á - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 19: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

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á - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 20: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

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á - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 21: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

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á - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 22: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

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á - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 23: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

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á - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 24: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

Principais Características

• Suporte a várias interfaces.

• E a mais importante:

FEEDBACK VISUAL AO

DESENVOLVEDOR (caso Delphi)

Computação Distribuída UNIRONDON - Cuiabá - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 25: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

Mas seja qual for o motivo ...

• USE COMPONENTES !

Computação Distribuída UNIRONDON - Cuiabá - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 26: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

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á - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 27: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

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á - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 28: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

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á - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro

Page 29: Objetos de Negócio CORBA BO Cooperantes Anatomia de um BO Anatomia de um BO cliente/servidor

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á - MTJoão Bosco Mangueira Sobral Daniela Barreiro Claro