Componente de programação Transforma um conjunto de entradas em um conjunto de saídas.
Exemplo em LDC: componente (entradas) => saídas
1. Definição
  • Como fazer determinada tarefa. Flexibiliza o "fazer". É um tipo de tópico composto por uma rotina de programação independente descrita em LDC.
  • Para pessoas: definição de rotinas
  • Para equipamentos: programas, scripts etc
  • Um componente é um tópico, podendo ser consultado com as mesmas características.
  • Objetivo: utilizar o mínimo de componentes para o máximo de possibilidades
  • Qualquer solução pode ser constituída por diversos componentes, que já são construídos para serem utilizados em diversas soluções.
  • Componentes são, preferencialmente, desenvolvidos em oficinas. Cada componente é documentado e tem interface para testar em ambiente WEB, onde possa ser indicado que entradas deve utilizar e que saídas deve gerar.
  • Um componente pode ser constituído por vários componentes.
  • Um componente pode ser visto por diversos profissionais de formas diferentes
Componente
2. Níveis de detalhamento Pode ser visto em diversos níveis de detalhamento. Um componente é um tópico, podendo ser consultado da mesma forma.

Em cada componente temos os seguintes elementos:

  • Entrada- EntrarDados (telas, evento, autorização) => sistema recebe dados
  • Saída- ConsultarDados (opções de escolha, autorização) => usuário recebe resultado da consulta
  • Processamento- Usuário conhece o que é feito, como é feito é invisível neste nível
    ProcessarArmazenarDados (evento, regras, autorização) =>transformações nos dados,
    dados armazenados no sistema
3. Entrada, Saída e Processamento

Detalhando estes elementos temos para cada um deles:

  • Entrada
  • Saída
  • Processamento
Dados do sistema
Em níveis mais externos: definidos
Em níveis mais internos: como são tratados

Exemplos de detalhamento:
  • definir telas
  • definir eventos
  • atribuir autorização
  • definir opções de escolha (definir menus e outros)
  • definir consulta
  • definir regras
4. Componentes Internos
  • Criar Índice (diretórios, filtros, minutas) => mapa do sítio, índce
  • Exibir links (diretórios, filtro) => links existentes
  • componente (SQL) => XML
  • componente (CSV) => XML
  • componente (XML) => CSV
  • componente (XML, XSL, CSS) => HTML
5. Componentes Externos
6. Abordagem Um componente transforma um ou mais textos em outro(s) texto(s)
  • transformar (texto1, texto2) => texto3
    O componente transformar tem como entrada "texto1, texto2" e como saída "texto3"
  • Envia texto (atualizar bd= envia SQL, consultar BD= envia SQL)
  • Recebe texto
Textos utilizados para entrada, saída e componente são strings, podendo ser scripts: JavaScript, Shell, AWK, SQL, XML, XSL, CSS, CSV, HTML etc.
7. Ações envolvidas (5w2h)
Ações O que Como Quem Onde Quando
preparar componente gerar código ou texto executável  | programar
 | gerar código
 | programador,
 | especialista
 | gerador de  componente
 | editor de textos
 | servidor
 | navegador
antes de executar componente
executar componente  | código
 | LDC
 | matriz de transições e ações
executar
Sistema operacional  | servidor
 | navegador
quando algum gatilho disparar 
interpretar Interpretador
 | simular
 | emular
Simulador
preparar > gatilho > executar 
8. Fábrica de componentes

A partir de algorítmos bem definidos contruir componente em linguagem específica.

  • Componentes simples
  • Componentes agregados
  • Interfaces
    • entrada de dados
    • consulta
    • conhecimento Analista de negócios
    • TI (parametrização e configurações)
    • usabilidade (facilitar uso de quem opera parte específica)
  • componentes gráficos - AlgoritmoProlog (texto) => desenho(vetorial)
  • um aplicativo pode ser usado como componente. Às vezes será necessário desenvolver ou adaptar interfaces para importar e exportar dados.
9. Achar, melhorar ou desenvolver

Componentes necessários (achar, melhorar ou desenvolver)

    * shell: Consultar (QUERY_STRING, RegraSQL.csv) => resultado consulta

         1. URLEncode2ASCII (QUERY_STRING) => entrada               
         2. Dado2MaiusculaSemAcento (entrada) => entrada
                * formato:  "nome1=dado1&nome2=dado2"
                * transformar dados em maiúsculas
                * tirar acentos e Ç
         3.  AWK: MontarTexto  (entrada, RegraSQL.csv) => SQL
         4. ASCII2URLEncode (SQL) => SQLWeb         # necessário?
         5. ConsultarBD (SQLWeb) => Resultado.xml
                * ambiente Apache + Java + Apache      
                * JSP: # está funcionando http://10.32.0.18/prod/cvm/run/runSql.jsp?query=sql&tit=titulo
                * consultar com SQL grande (> 4kB)
         6. Exibir (Resultado.xml, ...xsl, ...csv) => resultado consulta

    * Transformações desejáveis:
         1. desenhar (texto genérico) => desenho simples (retângulos ou elipses com texto e setas entre figuras)
         2. desenhar (BNF) => Diagrama Sintático - Diagrama de Sintaxe (gráfico)
         3. desenhar (BNF) => Autômatos Finitos (gráfico, sem semântica)
         4. desenhar (Matriz de Transições, Matriz de Acoes) => Autômato Finito (gráfico)
         5. transformar (expressao regular) => BNF
         6. transformar (BNF) => expressao regular
         7. transformar (BNF) => Matriz de Transições
         8. transformar (Matriz de Transições) => BNF
         9. NaoDeterministico2Deterministico (Matriz de Transições, Matriz de Acoes) => (Matriz de Transições, Matriz de Acoes) - (transformar Autômato Finito não determinístico em determinístico)
        10. simplificar (Matriz de Transições, Matriz de Acoes) => (Matriz de Transições, Matriz de Ações)
    * browser (menu.xml,  menu.xsl) => menu.htm    # menu.xml=ok   menu.xsl= falta consertar
    * CSV2HTML.cgi (.csv) => tabela.html
    * browser (.xml, .xsl) => tabelas.html (definir .xsl)
    * xalan (arq.xml, .xsl) => arq.csv
    * analisador sintático: .html, .xml, .xsl, .css
    * mapa do site (inclusive parcial, a partir de determinada página) feito automaticamente.
10. Site

w - serviço Web
b - baixar e instalar
c - cadastrar

Existentes

Converter
Converter PDF para DOCPdf2Doc - comparar
Obter
  • índice - títulos das páginas em ordem alfabética com link para a página
  • relacionamentos entre páginas - para cada página: quais ela chama, quais a chamam
  • buscar palavras em arquivos em conjunto de diretórios
Interface para conhecimento
componente: busca no Google componente: busca na Wikipedia Arquivo origem: Componente.xml.