Objetos de Negócio CORBA

Slides:



Advertisements
Apresentações semelhantes
Desenvolvimento de aplicativos Orientados a Objetos: Definição e Características THIAGO IDEALI.
Advertisements

Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
ISO Processos do Ciclo de Vida do Software
Engenharia de Software
Unified Modeling Language (UML) - Modelação da Arquitectura -
Rational Unified Process(RUP)
Centrado na arquitetura
Component-Based Frameworks for E-Commerce Agnaldo Kiyoshi Noda.
Introdução Questões Básicas de Projeto Requisitos do Usuário
Repositório de Interfaces em CORBA
Computação Distribuída
Prof. João Bosco M. Sobral
Adélia Barros Requisitos Adélia Barros
Análise Estruturada O mais amplamente usado dos métodos de modelagem de requisitos Modelos que retratam fluxo e o conteúdo da informação (dados e controle)
Objetos Distribuídos Padrão CORBA
Análise e Projeto de Sistemas
Classes e objetos Modelagem
TÉCNICAS DE PROGRAMAÇÃO II
Configuração de manutenção
Introdução a Arquitetura Orientada a serviços
DIAGRAMA DE COMPONENTES
RUP - Cap. 2 – Os 4 P’s (Pessoas, Projeto, Produto e Processo)
Aula 1 Minicurso: Astah Ministrantes: André Martins; Camila Brondani;
Tecnologias de Linguagens para Banco de Dados
Gerenciamento de Configuração
Arquitetura de software
Sistemas Distribuídos
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
iColabora Solução web para gestão de processos de negócios
É um conjunto de registos dispostos numa estrutura regular que possibilita a reorganização dos mesmos e a produção de informação com a menor redundância.
Prof. Kelly E. Medeiros Bacharel em Sistemas de Informação
ACESSO A BASE DE DADOS.
Análise e Projeto de Sistemas
Sistemas Distribuídos
Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 07.
Orientação a Objetos Parte I
CORBA Commom Object Request Broker Architecture Conhecendo o Padrão da OMG 3º Engenharia da Computação Vitor C. Tamarozi Romeu L. Furlan Júnior Prof. Edson.
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
SISTEMAS DISTRIBUIDOS Aula 4
Arquitetura de Desenvolvimento Web MVC vs. Three Tiers
CORBA Apresentação do Padrão CORBA Maurício Maron Mendes Ramiro Pereira de Magalhães
Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
RUP - Cap. 4 – Processo Centrado na Arquitetura
METODOLOGIA, MÉTODOS E FERRAMENTAS
Padrões de Interação com o Usuário
Ferramentas de Suporte a MDD: Um Quadro Comparativo
Integração de Ferramentas CASE
Desenvolvimento de Software Dirigido a Modelos
Abr-17 Projetar Processos Projetar distribuição.
Gestão de projetos de Software GTI-16
Infra-Estrutura para Computação Distribuída
Padrões de projeto M.Sc. Sílvio Bacalá Jr..
Objetos Distribuídos Frameworks Orientados a Objetos.
Capítulo 6: SAD – Arquitetura e aspectos de rede e segurança
Computação Distribuída João Bosco Mangueira Sobral CORBA Common Object Request Broker.
Desenvolvimento Global de Software
Frameworks e Componentes Daniel Fernando Pavelec.
Análise e Projeto de Sistemas Unified Modeling Language Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores.
Jobson Ronan Padrões GoF Jobson Ronan
Introdução a Orientação a Objetos
III – Aplicações – Serviços Virtuais – Web Services Escola Politécnica da USP MBA EPUSP em Gestão e Engenharia do Produto EP018 O Produto Internet e suas.
PADROES DE PROJETO PROF. OSIEL MARLON. PADRÕES DE PROJETO INTRODUÇÃO Padrões de projeto têm emergido como uma das mais promissoras abordagens para a melhoria.
1PSL – UFLA - EspecializaçãoJunier Amorim – Eng. Computação Sistema Gerenciador de Componentes para Reuso - SGCR -
Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.
1Trabalho elaborado por Alexandra. Análise de sistemas de informação: O que são dados? O que é informação? Definição de sistemas de informação? Que conjunto.
Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus.
IF 718 Análise e Projeto de Sistemas Augusto Sampaio Vitor Braga (Estágio docência) Camila Sá (Monitora) Parte do material cedido pela Qualiti Software.
Projetar Processos. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar distribuição | 2 Descrição do Projeto.
Transcrição da apresentação:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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