Este documento descreve um projeto de conclusão de curso de bacharelado em informática sobre um sistema distribuído para recuperação de segmentos de vídeo utilizando balanceamento de carga baseado em migração. O documento apresenta a introdução, objetivos, arquitetura, implementação do algoritmo e testes realizados.
GOOBE - RECUPERAÇÃO DE SEGMENTOS DE VÍDEO UTILIZANDO BALANCEAMENTO DE CARGA BASE POR MIGRAÇÃO
1. UNIVERSIDADE CATÓLICA DO SALVADOR
DEPARTAMENTO DE INFORMÁTICA
CURSO DE BACHARELADO EM INFORMÁTICA
GOOBE - RECUPERAÇÃO DE SEGMENTOS DE VÍDEO UTILIZANDO
BALANCEAMENTO DE CARGA BASE POR MIGRAÇÃO
CLAUDIO GUIMARÃES DOS SANTOS
JOSE LEONARDO DOS SANTOS MELO
Salvador - Bahia
2009
2. CLAUDIO GUIMARÃES DOS SANTOS
JOSE LEONARDO DOS SANTOS MELO
GOOBE - RECUPERAÇÃO DE SEGMENTOS DE VÍDEO UTILIZANDO
BALANCEAMENTO DE CARGA BASE POR MIGRAÇÃO
Trabalho apresentado para a disciplina
Projeto Final do curso de Bacharelado em
Informática da Universidade Católica do
Salvador, sob a orientação do Prof. Msc.
Edeyson Andrade Gomes, Turma 2009.2.
Salvador - Bahia
2009
3. CERTIFICADO
Certifico que a presente memória, GOOBE - RECUPERAÇÃO DE SEGMENTOS DE
VÍDEO UTILIZANDO BALANCEAMENTO DE CARGA BASE POR MIGRAÇÃO, foi
realizada sob minha direção por Cláudio Guimarães dos Santos e José Leonardo dos
Santos Melo, constituindo o Projeto Final do Curso de Bacharelado em Informática da
Universidade Católica do Salvador – UCSal.
Salvador, 12 de Dezembro de 2009.
Orientador: _________________________
Edeyson Andrade Gomes
Salvador – Bahia
Dezembro /2009
4. AGRADECIMENTO
Dedico este trabalho às nossas famílias e todos os amigos que acreditaram na sua
conclusão, especialmente aqueles que dedicaram alguns minutos de sua atenção, auxiliando
nas decisões tomadas para o seu desenvolvimento.
Ao nosso orientador, Edeyson Andrade Gomes, por sua disponibilidade, boa vontade
e por ter acreditado na conclusão deste trabalho.
5. RESUMO
As últimas décadas têm revelado a presença crescente de sistemas computacionais
distribuídos, principalmente no que se refere ao tratamento de conteúdo multimídia. O
crescimento de aplicativos para o gerenciamento, recuperação e acesso a esse conteúdo vêm
estimulando estudos voltados para o balanceamento de carga, visando um melhor
aproveitamento de recursos computacionais. O objetivo deste trabalho foi o de implementar e
avaliar o desempenho do algoritmo Base por Migração em relação ao algoritmo estático
Round Robin, demonstrando a eficiência do Base por Migração na distribuição das cargas de
processamento.
Palavras-chave:
Balanceamento de carga, sistemas distribuídos, migração de tarefas, avaliação de
desempenho, WCF – Windows Comunication Foundation.
6. ABSTRACT
The last decades have revealed the increasing presence of distributed computing
systems, especially with regard to the processing of multimedia content. The growth of
applications for the management, retrieval and access to that content, has stimulated studies
aimed at balancing the load, in order to make better use of computing resources. The objective
of this study was to implement and evaluate the performance of the algorithm based on
migration with another static algorithm, Round Robin, demonstrating its effectiveness of the
algorithm based on migration in the distribution of processing.
Key-words:
Load balancing, distributed systems, process migration, evaluation of performance, WCF –
Windows Comunication Foundation.
7. LISTA DE ILUSTRAÇÕES
1SISTEMA DISTRIBUÍDO...................................................................................................13
1.1 DEFINIÇÃO ...................................................................................................................13
1.1.2 METAS ..................................................................................................................................................14
1.1.1 Acesso de recursos.................................................................................................................................14
1.1.2 Transparência........................................................................................................................................14
1.1.3 Escalabilidade........................................................................................................................................15
1.2 BALANCEAMENTO DE CARGA................................................................................15
1.2.1 ESCALONAMENTO DE PROCESSOS ................................................................................................16
1.2.2 DESEMPENHO E MÉTRICAS..............................................................................................................16
1.2.3 ALGORITMO BASE POR MIGRAÇÃO................................................................................................18
1.2 WCF.................................................................................................................................19
2PROJETO..............................................................................................................................20
1.3 OBJETIVOS GERAIS...........................................................................................................20
1.3.1 Restrições do projeto.............................................................................................................................20
1.3.2 Premissas do projeto..............................................................................................................................21
1.3.3 Produtos a serem entregues...................................................................................................................21
1.3.4 Não-escopo............................................................................................................................................21
1.3.5 Regras de alteração de escopo..............................................................................................................21
1.4 PLANO DE ITERAÇÕES – ESTRUTURA ANALÍTICA............................................21
1.5 ESPECIFICAÇÃO DE REQUISITOS............................................................................22
1.5.1 Funcionais..............................................................................................................................................23
1.5.2 Não funcionais.......................................................................................................................................24
1.6 ESPECIFICAÇÃO DE REGRAS DE NEGÓCIO/VALIDAÇÃO.................................25
1.7 DIAGRAMA DE CASOS DE USO................................................................................26
1.8 ESPECIFICAÇÃO DE CASOS DE USO.......................................................................27
1.9 ARQUITETURA DO SISTEMA....................................................................................34
1.9.1 Ambiente de desenvolvimento do projeto..............................................................................................35
1.9.2 Os pacotes do sistema e sua distribuição..............................................................................................35
1.9.3 O pacote ClientWeb...............................................................................................................................38
1.9.4 O pacote ConsoleMaster........................................................................................................................39
1.9.5 O pacote Slave.......................................................................................................................................40
1.9.6 O pacote Contract..................................................................................................................................42
1.9.7 O pacote Common..................................................................................................................................43
1.10 IMPLEMENTAÇÃO DO ALGORITMO.....................................................................44
1.10.1 Implementação do Algoritmo Base por Migração...............................................................................52
1.10.2 Criação da Nova Interface Web. ........................................................................................................56
1.10.3 Criação dos Instaladores. ...................................................................................................................57
1.11 TESTES.........................................................................................................................58
3CONCLUSÃO.......................................................................................................................71
8. DESCRIÇÃO GERAL...........................................................................................................76
NOMENCLATURA C#..........................................................................................................76
1.12 VARIÁVEIS LOCAIS........................................................................................................76
1.13 VARIÁVEIS DE CLASSE...................................................................................................77
1.14 PARÂMETROS DE MÉTODOS...........................................................................................78
1.15 CONSTANTES..................................................................................................................79
1.16 CLASSES.........................................................................................................................80
1.17 PROPRIEDADES...............................................................................................................82
1.19 MÉTODOS.......................................................................................................................83
1.21 INTERFACES....................................................................................................................84
1.22 ENUMERADORES............................................................................................................86
1.23 CONTROLES DE FORMULÁRIOS......................................................................................87
REGRAS DE CODIFICAÇÃO.............................................................................................88
1.24 UTILIZAÇÃO DE CONSTANTES........................................................................................88
1.25 UTILIZAÇÃO DE ATRIBUTOS PÚBLICOS...........................................................................89
1.26 REGIÕES DE CÓDIGO......................................................................................................90
1.27 COMENTÁRIOS................................................................................................................92
1.28 COMENTÁRIOS II............................................................................................................93
1.29 MARCADORES DE INICIO DE BLOCO...............................................................................93
1.30 TAMANHO DE ARQUIVOS................................................................................................95
1.31 TAMANHO DE MÉTODOS.................................................................................................95
1.32 CONSTRUÇÕES NÃO AUTORIZADAS................................................................................96
1.33 COMANDO SWITCH........................................................................................................97
1.34 TRATAMENTO DE EXCEÇÃO...........................................................................................98
1.35 VALIDAÇÃO I.................................................................................................................99
1.36 VALIDAÇÃO II................................................................................................................99
BOAS PRÁTICAS................................................................................................................100
1.37 USO DE SUFIXOS PROIBIDOS.........................................................................................100
1.38 VARIÁVEIS...................................................................................................................100
1.39 ESPAÇAMENTO.............................................................................................................101
9. 1.40 ABREVIAÇÕES..............................................................................................................101
1.41 USO DE CAIXA ALTA/BAIXA.........................................................................................102
1.42 CONSTRUÇÃO DE MAIS DE UM COMANDO NA MESMA LINHA......................................103
1.43 ESPECIALIZAÇÃO DE MÉTODOS....................................................................................103
1.44 EVITAR A DECLARAÇÃO DE PARÂMETROS NÃO USADOS EM MÉTODOS.......................104
GLOSSÁRIO.........................................................................................................................104
1SISTEMA DISTRIBUÍDO...................................................................................................13
1.1 DEFINIÇÃO ...................................................................................................................13
1.1.2 METAS ..................................................................................................................................................14
1.1.1 Acesso de recursos.................................................................................................................................14
1.1.2 Transparência........................................................................................................................................14
1.1.3 Escalabilidade........................................................................................................................................15
1.2 BALANCEAMENTO DE CARGA................................................................................15
1.2.1 ESCALONAMENTO DE PROCESSOS ................................................................................................16
1.2.2 DESEMPENHO E MÉTRICAS..............................................................................................................16
1.2.3 ALGORITMO BASE POR MIGRAÇÃO................................................................................................18
1.2 WCF.................................................................................................................................19
2PROJETO..............................................................................................................................20
1.3 OBJETIVOS GERAIS...........................................................................................................20
1.3.1 Restrições do projeto.............................................................................................................................20
1.3.2 Premissas do projeto..............................................................................................................................21
1.3.3 Produtos a serem entregues...................................................................................................................21
1.3.4 Não-escopo............................................................................................................................................21
1.3.5 Regras de alteração de escopo..............................................................................................................21
1.4 PLANO DE ITERAÇÕES – ESTRUTURA ANALÍTICA............................................21
1.5 ESPECIFICAÇÃO DE REQUISITOS............................................................................22
1.5.1 Funcionais..............................................................................................................................................23
1.5.2 Não funcionais.......................................................................................................................................24
1.6 ESPECIFICAÇÃO DE REGRAS DE NEGÓCIO/VALIDAÇÃO.................................25
1.7 DIAGRAMA DE CASOS DE USO................................................................................26
1.8 ESPECIFICAÇÃO DE CASOS DE USO.......................................................................27
1.9 ARQUITETURA DO SISTEMA....................................................................................34
1.9.1 Ambiente de desenvolvimento do projeto..............................................................................................35
1.9.2 Os pacotes do sistema e sua distribuição..............................................................................................35
1.9.3 O pacote ClientWeb...............................................................................................................................38
1.9.4 O pacote ConsoleMaster........................................................................................................................39
1.9.5 O pacote Slave.......................................................................................................................................40
1.9.6 O pacote Contract..................................................................................................................................42
1.9.7 O pacote Common..................................................................................................................................43
1.10 IMPLEMENTAÇÃO DO ALGORITMO.....................................................................44
10. 1.10.1 Implementação do Algoritmo Base por Migração...............................................................................52
1.10.2 Criação da Nova Interface Web. ........................................................................................................56
1.10.3 Criação dos Instaladores. ...................................................................................................................57
1.11 TESTES.........................................................................................................................58
3CONCLUSÃO.......................................................................................................................71
DESCRIÇÃO GERAL...........................................................................................................76
NOMENCLATURA C#..........................................................................................................76
1.12 VARIÁVEIS LOCAIS........................................................................................................76
1.13 VARIÁVEIS DE CLASSE...................................................................................................77
1.14 PARÂMETROS DE MÉTODOS...........................................................................................78
1.15 CONSTANTES..................................................................................................................79
1.16 CLASSES.........................................................................................................................80
1.17 PROPRIEDADES...............................................................................................................82
1.19 MÉTODOS.......................................................................................................................83
1.21 INTERFACES....................................................................................................................84
1.22 ENUMERADORES............................................................................................................86
1.23 CONTROLES DE FORMULÁRIOS......................................................................................87
REGRAS DE CODIFICAÇÃO.............................................................................................88
1.24 UTILIZAÇÃO DE CONSTANTES........................................................................................88
1.25 UTILIZAÇÃO DE ATRIBUTOS PÚBLICOS...........................................................................89
1.26 REGIÕES DE CÓDIGO......................................................................................................90
1.27 COMENTÁRIOS................................................................................................................92
1.28 COMENTÁRIOS II............................................................................................................93
1.29 MARCADORES DE INICIO DE BLOCO...............................................................................93
1.30 TAMANHO DE ARQUIVOS................................................................................................95
1.31 TAMANHO DE MÉTODOS.................................................................................................95
1.32 CONSTRUÇÕES NÃO AUTORIZADAS................................................................................96
1.33 COMANDO SWITCH........................................................................................................97
1.34 TRATAMENTO DE EXCEÇÃO...........................................................................................98
1.35 VALIDAÇÃO I.................................................................................................................99
1.36 VALIDAÇÃO II................................................................................................................99
11. BOAS PRÁTICAS................................................................................................................100
1.37 USO DE SUFIXOS PROIBIDOS.........................................................................................100
1.38 VARIÁVEIS...................................................................................................................100
1.39 ESPAÇAMENTO.............................................................................................................101
1.40 ABREVIAÇÕES..............................................................................................................101
1.41 USO DE CAIXA ALTA/BAIXA.........................................................................................102
1.42 CONSTRUÇÃO DE MAIS DE UM COMANDO NA MESMA LINHA......................................103
1.43 ESPECIALIZAÇÃO DE MÉTODOS....................................................................................103
1.44 EVITAR A DECLARAÇÃO DE PARÂMETROS NÃO USADOS EM MÉTODOS.......................104
GLOSSÁRIO.........................................................................................................................104
1SISTEMA DISTRIBUÍDO...................................................................................................13
1.1 DEFINIÇÃO ...................................................................................................................13
1.1.2 METAS ..................................................................................................................................................14
1.1.1 Acesso de recursos.................................................................................................................................14
1.1.2 Transparência........................................................................................................................................14
1.1.3 Escalabilidade........................................................................................................................................15
1.2 BALANCEAMENTO DE CARGA................................................................................15
1.2.1 ESCALONAMENTO DE PROCESSOS ................................................................................................16
1.2.2 DESEMPENHO E MÉTRICAS..............................................................................................................16
1.2.3 ALGORITMO BASE POR MIGRAÇÃO................................................................................................18
1.2 WCF.................................................................................................................................19
2PROJETO..............................................................................................................................20
1.3 OBJETIVOS GERAIS...........................................................................................................20
1.3.1 Restrições do projeto.............................................................................................................................20
1.3.2 Premissas do projeto..............................................................................................................................21
1.3.3 Produtos a serem entregues...................................................................................................................21
1.3.4 Não-escopo............................................................................................................................................21
1.3.5 Regras de alteração de escopo..............................................................................................................21
1.4 PLANO DE ITERAÇÕES – ESTRUTURA ANALÍTICA............................................21
1.5 ESPECIFICAÇÃO DE REQUISITOS............................................................................22
1.5.1 Funcionais..............................................................................................................................................23
1.5.2 Não funcionais.......................................................................................................................................24
1.6 ESPECIFICAÇÃO DE REGRAS DE NEGÓCIO/VALIDAÇÃO.................................25
1.7 DIAGRAMA DE CASOS DE USO................................................................................26
1.8 ESPECIFICAÇÃO DE CASOS DE USO.......................................................................27
1.9 ARQUITETURA DO SISTEMA....................................................................................34
1.9.1 Ambiente de desenvolvimento do projeto..............................................................................................35
12. 1.9.2 Os pacotes do sistema e sua distribuição..............................................................................................35
1.9.3 O pacote ClientWeb...............................................................................................................................38
1.9.4 O pacote ConsoleMaster........................................................................................................................39
1.9.5 O pacote Slave.......................................................................................................................................40
1.9.6 O pacote Contract..................................................................................................................................42
1.9.7 O pacote Common..................................................................................................................................43
1.10 IMPLEMENTAÇÃO DO ALGORITMO.....................................................................44
1.10.1 Implementação do Algoritmo Base por Migração...............................................................................52
1.10.2 Criação da Nova Interface Web. ........................................................................................................56
1.10.3 Criação dos Instaladores. ...................................................................................................................57
1.11 TESTES.........................................................................................................................58
3CONCLUSÃO.......................................................................................................................71
DESCRIÇÃO GERAL...........................................................................................................76
NOMENCLATURA C#..........................................................................................................76
1.12 VARIÁVEIS LOCAIS........................................................................................................76
1.13 VARIÁVEIS DE CLASSE...................................................................................................77
1.14 PARÂMETROS DE MÉTODOS...........................................................................................78
1.15 CONSTANTES..................................................................................................................79
1.16 CLASSES.........................................................................................................................80
1.17 PROPRIEDADES...............................................................................................................82
1.19 MÉTODOS.......................................................................................................................83
1.21 INTERFACES....................................................................................................................84
1.22 ENUMERADORES............................................................................................................86
1.23 CONTROLES DE FORMULÁRIOS......................................................................................87
REGRAS DE CODIFICAÇÃO.............................................................................................88
1.24 UTILIZAÇÃO DE CONSTANTES........................................................................................88
1.25 UTILIZAÇÃO DE ATRIBUTOS PÚBLICOS...........................................................................89
1.26 REGIÕES DE CÓDIGO......................................................................................................90
1.27 COMENTÁRIOS................................................................................................................92
1.28 COMENTÁRIOS II............................................................................................................93
1.29 MARCADORES DE INICIO DE BLOCO...............................................................................93
1.30 TAMANHO DE ARQUIVOS................................................................................................95
1.31 TAMANHO DE MÉTODOS.................................................................................................95
1.32 CONSTRUÇÕES NÃO AUTORIZADAS................................................................................96
13. 1.33 COMANDO SWITCH........................................................................................................97
1.34 TRATAMENTO DE EXCEÇÃO...........................................................................................98
1.35 VALIDAÇÃO I.................................................................................................................99
1.36 VALIDAÇÃO II................................................................................................................99
BOAS PRÁTICAS................................................................................................................100
1.37 USO DE SUFIXOS PROIBIDOS.........................................................................................100
1.38 VARIÁVEIS...................................................................................................................100
1.39 ESPAÇAMENTO.............................................................................................................101
1.40 ABREVIAÇÕES..............................................................................................................101
1.41 USO DE CAIXA ALTA/BAIXA.........................................................................................102
1.42 CONSTRUÇÃO DE MAIS DE UM COMANDO NA MESMA LINHA......................................103
1.43 ESPECIALIZAÇÃO DE MÉTODOS....................................................................................103
1.44 EVITAR A DECLARAÇÃO DE PARÂMETROS NÃO USADOS EM MÉTODOS.......................104
GLOSSÁRIO.........................................................................................................................104
1SISTEMA DISTRIBUÍDO...................................................................................................13
1.1 DEFINIÇÃO ...................................................................................................................13
1.1.2 METAS ..................................................................................................................................................14
1.1.1 Acesso de recursos.................................................................................................................................14
1.1.2 Transparência........................................................................................................................................14
1.1.3 Escalabilidade........................................................................................................................................15
1.2 BALANCEAMENTO DE CARGA................................................................................15
1.2.1 ESCALONAMENTO DE PROCESSOS ................................................................................................16
1.2.2 DESEMPENHO E MÉTRICAS..............................................................................................................16
1.2.3 ALGORITMO BASE POR MIGRAÇÃO................................................................................................18
1.2 WCF.................................................................................................................................19
2PROJETO..............................................................................................................................20
1.3 OBJETIVOS GERAIS...........................................................................................................20
1.3.1 Restrições do projeto.............................................................................................................................20
1.3.2 Premissas do projeto..............................................................................................................................21
1.3.3 Produtos a serem entregues...................................................................................................................21
1.3.4 Não-escopo............................................................................................................................................21
1.3.5 Regras de alteração de escopo..............................................................................................................21
1.4 PLANO DE ITERAÇÕES – ESTRUTURA ANALÍTICA............................................21
1.5 ESPECIFICAÇÃO DE REQUISITOS............................................................................22
1.5.1 Funcionais..............................................................................................................................................23
1.5.2 Não funcionais.......................................................................................................................................24
14. 1.6 ESPECIFICAÇÃO DE REGRAS DE NEGÓCIO/VALIDAÇÃO.................................25
1.7 DIAGRAMA DE CASOS DE USO................................................................................26
1.8 ESPECIFICAÇÃO DE CASOS DE USO.......................................................................27
1.9 ARQUITETURA DO SISTEMA....................................................................................34
1.9.1 Ambiente de desenvolvimento do projeto..............................................................................................35
1.9.2 Os pacotes do sistema e sua distribuição..............................................................................................35
1.9.3 O pacote ClientWeb...............................................................................................................................38
1.9.4 O pacote ConsoleMaster........................................................................................................................39
1.9.5 O pacote Slave.......................................................................................................................................40
1.9.6 O pacote Contract..................................................................................................................................42
1.9.7 O pacote Common..................................................................................................................................43
1.10 IMPLEMENTAÇÃO DO ALGORITMO.....................................................................44
1.10.1 Implementação do Algoritmo Base por Migração...............................................................................52
1.10.2 Criação da Nova Interface Web. ........................................................................................................56
1.10.3 Criação dos Instaladores. ...................................................................................................................57
1.11 TESTES.........................................................................................................................58
3CONCLUSÃO.......................................................................................................................71
DESCRIÇÃO GERAL...........................................................................................................76
NOMENCLATURA C#..........................................................................................................76
1.12 VARIÁVEIS LOCAIS........................................................................................................76
1.13 VARIÁVEIS DE CLASSE...................................................................................................77
1.14 PARÂMETROS DE MÉTODOS...........................................................................................78
1.15 CONSTANTES..................................................................................................................79
1.16 CLASSES.........................................................................................................................80
1.17 PROPRIEDADES...............................................................................................................82
1.19 MÉTODOS.......................................................................................................................83
1.21 INTERFACES....................................................................................................................84
1.22 ENUMERADORES............................................................................................................86
1.23 CONTROLES DE FORMULÁRIOS......................................................................................87
REGRAS DE CODIFICAÇÃO.............................................................................................88
1.24 UTILIZAÇÃO DE CONSTANTES........................................................................................88
1.25 UTILIZAÇÃO DE ATRIBUTOS PÚBLICOS...........................................................................89
1.26 REGIÕES DE CÓDIGO......................................................................................................90
1.27 COMENTÁRIOS................................................................................................................92
15. 1.28 COMENTÁRIOS II............................................................................................................93
1.29 MARCADORES DE INICIO DE BLOCO...............................................................................93
1.30 TAMANHO DE ARQUIVOS................................................................................................95
1.31 TAMANHO DE MÉTODOS.................................................................................................95
1.32 CONSTRUÇÕES NÃO AUTORIZADAS................................................................................96
1.33 COMANDO SWITCH........................................................................................................97
1.34 TRATAMENTO DE EXCEÇÃO...........................................................................................98
1.35 VALIDAÇÃO I.................................................................................................................99
1.36 VALIDAÇÃO II................................................................................................................99
BOAS PRÁTICAS................................................................................................................100
1.37 USO DE SUFIXOS PROIBIDOS.........................................................................................100
1.38 VARIÁVEIS...................................................................................................................100
1.39 ESPAÇAMENTO.............................................................................................................101
1.40 ABREVIAÇÕES..............................................................................................................101
1.41 USO DE CAIXA ALTA/BAIXA.........................................................................................102
1.42 CONSTRUÇÃO DE MAIS DE UM COMANDO NA MESMA LINHA......................................103
1.43 ESPECIALIZAÇÃO DE MÉTODOS....................................................................................103
1.44 EVITAR A DECLARAÇÃO DE PARÂMETROS NÃO USADOS EM MÉTODOS.......................104
GLOSSÁRIO.........................................................................................................................104
1SISTEMA DISTRIBUÍDO...................................................................................................13
1.1 DEFINIÇÃO ...................................................................................................................13
1.1.2 METAS ..................................................................................................................................................14
1.1.1 Acesso de recursos.................................................................................................................................14
1.1.2 Transparência........................................................................................................................................14
1.1.3 Escalabilidade........................................................................................................................................15
1.2 BALANCEAMENTO DE CARGA................................................................................15
1.2.1 ESCALONAMENTO DE PROCESSOS ................................................................................................16
1.2.2 DESEMPENHO E MÉTRICAS..............................................................................................................16
1.2.3 ALGORITMO BASE POR MIGRAÇÃO................................................................................................18
1.2 WCF.................................................................................................................................19
2PROJETO..............................................................................................................................20
1.3 OBJETIVOS GERAIS...........................................................................................................20
1.3.1 Restrições do projeto.............................................................................................................................20
1.3.2 Premissas do projeto..............................................................................................................................21
16. 1.3.3 Produtos a serem entregues...................................................................................................................21
1.3.4 Não-escopo............................................................................................................................................21
1.3.5 Regras de alteração de escopo..............................................................................................................21
1.4 PLANO DE ITERAÇÕES – ESTRUTURA ANALÍTICA............................................21
1.5 ESPECIFICAÇÃO DE REQUISITOS............................................................................22
1.5.1 Funcionais..............................................................................................................................................23
1.5.2 Não funcionais.......................................................................................................................................24
1.6 ESPECIFICAÇÃO DE REGRAS DE NEGÓCIO/VALIDAÇÃO.................................25
1.7 DIAGRAMA DE CASOS DE USO................................................................................26
1.8 ESPECIFICAÇÃO DE CASOS DE USO.......................................................................27
1.9 ARQUITETURA DO SISTEMA....................................................................................34
1.9.1 Ambiente de desenvolvimento do projeto..............................................................................................35
1.9.2 Os pacotes do sistema e sua distribuição..............................................................................................35
1.9.3 O pacote ClientWeb...............................................................................................................................38
1.9.4 O pacote ConsoleMaster........................................................................................................................39
1.9.5 O pacote Slave.......................................................................................................................................40
1.9.6 O pacote Contract..................................................................................................................................42
1.9.7 O pacote Common..................................................................................................................................43
1.10 IMPLEMENTAÇÃO DO ALGORITMO.....................................................................44
1.10.1 Implementação do Algoritmo Base por Migração...............................................................................52
1.10.2 Criação da Nova Interface Web. ........................................................................................................56
1.10.3 Criação dos Instaladores. ...................................................................................................................57
1.11 TESTES.........................................................................................................................58
3CONCLUSÃO.......................................................................................................................71
DESCRIÇÃO GERAL...........................................................................................................76
NOMENCLATURA C#..........................................................................................................76
1.12 VARIÁVEIS LOCAIS........................................................................................................76
1.13 VARIÁVEIS DE CLASSE...................................................................................................77
1.14 PARÂMETROS DE MÉTODOS...........................................................................................78
1.15 CONSTANTES..................................................................................................................79
1.16 CLASSES.........................................................................................................................80
1.17 PROPRIEDADES...............................................................................................................82
1.19 MÉTODOS.......................................................................................................................83
1.21 INTERFACES....................................................................................................................84
1.22 ENUMERADORES............................................................................................................86
1.23 CONTROLES DE FORMULÁRIOS......................................................................................87
REGRAS DE CODIFICAÇÃO.............................................................................................88
17. 1.24 UTILIZAÇÃO DE CONSTANTES........................................................................................88
1.25 UTILIZAÇÃO DE ATRIBUTOS PÚBLICOS...........................................................................89
1.26 REGIÕES DE CÓDIGO......................................................................................................90
1.27 COMENTÁRIOS................................................................................................................92
1.28 COMENTÁRIOS II............................................................................................................93
1.29 MARCADORES DE INICIO DE BLOCO...............................................................................93
1.30 TAMANHO DE ARQUIVOS................................................................................................95
1.31 TAMANHO DE MÉTODOS.................................................................................................95
1.32 CONSTRUÇÕES NÃO AUTORIZADAS................................................................................96
1.33 COMANDO SWITCH........................................................................................................97
1.34 TRATAMENTO DE EXCEÇÃO...........................................................................................98
1.35 VALIDAÇÃO I.................................................................................................................99
1.36 VALIDAÇÃO II................................................................................................................99
BOAS PRÁTICAS................................................................................................................100
1.37 USO DE SUFIXOS PROIBIDOS.........................................................................................100
1.38 VARIÁVEIS...................................................................................................................100
1.39 ESPAÇAMENTO.............................................................................................................101
1.40 ABREVIAÇÕES..............................................................................................................101
1.41 USO DE CAIXA ALTA/BAIXA.........................................................................................102
1.42 CONSTRUÇÃO DE MAIS DE UM COMANDO NA MESMA LINHA......................................103
1.43 ESPECIALIZAÇÃO DE MÉTODOS....................................................................................103
1.44 EVITAR A DECLARAÇÃO DE PARÂMETROS NÃO USADOS EM MÉTODOS.......................104
GLOSSÁRIO.........................................................................................................................104
1SISTEMA DISTRIBUÍDO...................................................................................................13
1.1 DEFINIÇÃO ...................................................................................................................13
1.1.2 METAS ..................................................................................................................................................14
1.1.1 Acesso de recursos.................................................................................................................................14
1.1.2 Transparência........................................................................................................................................14
1.1.3 Escalabilidade........................................................................................................................................15
1.2 BALANCEAMENTO DE CARGA................................................................................15
1.2.1 ESCALONAMENTO DE PROCESSOS ................................................................................................16
1.2.2 DESEMPENHO E MÉTRICAS..............................................................................................................16
1.2.3 ALGORITMO BASE POR MIGRAÇÃO................................................................................................18
1.2 WCF.................................................................................................................................19
18. 2PROJETO..............................................................................................................................20
1.3 OBJETIVOS GERAIS...........................................................................................................20
1.3.1 Restrições do projeto.............................................................................................................................20
1.3.2 Premissas do projeto..............................................................................................................................21
1.3.3 Produtos a serem entregues...................................................................................................................21
1.3.4 Não-escopo............................................................................................................................................21
1.3.5 Regras de alteração de escopo..............................................................................................................21
1.4 PLANO DE ITERAÇÕES – ESTRUTURA ANALÍTICA............................................21
1.5 ESPECIFICAÇÃO DE REQUISITOS............................................................................22
1.5.1 Funcionais..............................................................................................................................................23
1.5.2 Não funcionais.......................................................................................................................................24
1.6 ESPECIFICAÇÃO DE REGRAS DE NEGÓCIO/VALIDAÇÃO.................................25
1.7 DIAGRAMA DE CASOS DE USO................................................................................26
1.8 ESPECIFICAÇÃO DE CASOS DE USO.......................................................................27
1.9 ARQUITETURA DO SISTEMA....................................................................................34
1.9.1 Ambiente de desenvolvimento do projeto..............................................................................................35
1.9.2 Os pacotes do sistema e sua distribuição..............................................................................................35
1.9.3 O pacote ClientWeb...............................................................................................................................38
1.9.4 O pacote ConsoleMaster........................................................................................................................39
1.9.5 O pacote Slave.......................................................................................................................................40
1.9.6 O pacote Contract..................................................................................................................................42
1.9.7 O pacote Common..................................................................................................................................43
1.10 IMPLEMENTAÇÃO DO ALGORITMO.....................................................................44
1.10.1 Implementação do Algoritmo Base por Migração...............................................................................52
1.10.2 Criação da Nova Interface Web. ........................................................................................................56
1.10.3 Criação dos Instaladores. ...................................................................................................................57
1.11 TESTES.........................................................................................................................58
3CONCLUSÃO.......................................................................................................................71
DESCRIÇÃO GERAL...........................................................................................................76
NOMENCLATURA C#..........................................................................................................76
1.12 VARIÁVEIS LOCAIS........................................................................................................76
1.13 VARIÁVEIS DE CLASSE...................................................................................................77
1.14 PARÂMETROS DE MÉTODOS...........................................................................................78
1.15 CONSTANTES..................................................................................................................79
1.16 CLASSES.........................................................................................................................80
1.17 PROPRIEDADES...............................................................................................................82
1.19 MÉTODOS.......................................................................................................................83
1.21 INTERFACES....................................................................................................................84
19. 1.22 ENUMERADORES............................................................................................................86
1.23 CONTROLES DE FORMULÁRIOS......................................................................................87
REGRAS DE CODIFICAÇÃO.............................................................................................88
1.24 UTILIZAÇÃO DE CONSTANTES........................................................................................88
1.25 UTILIZAÇÃO DE ATRIBUTOS PÚBLICOS...........................................................................89
1.26 REGIÕES DE CÓDIGO......................................................................................................90
1.27 COMENTÁRIOS................................................................................................................92
1.28 COMENTÁRIOS II............................................................................................................93
1.29 MARCADORES DE INICIO DE BLOCO...............................................................................93
1.30 TAMANHO DE ARQUIVOS................................................................................................95
1.31 TAMANHO DE MÉTODOS.................................................................................................95
1.32 CONSTRUÇÕES NÃO AUTORIZADAS................................................................................96
1.33 COMANDO SWITCH........................................................................................................97
1.34 TRATAMENTO DE EXCEÇÃO...........................................................................................98
1.35 VALIDAÇÃO I.................................................................................................................99
1.36 VALIDAÇÃO II................................................................................................................99
BOAS PRÁTICAS................................................................................................................100
1.37 USO DE SUFIXOS PROIBIDOS.........................................................................................100
1.38 VARIÁVEIS...................................................................................................................100
1.39 ESPAÇAMENTO.............................................................................................................101
1.40 ABREVIAÇÕES..............................................................................................................101
1.41 USO DE CAIXA ALTA/BAIXA.........................................................................................102
1.42 CONSTRUÇÃO DE MAIS DE UM COMANDO NA MESMA LINHA......................................103
1.43 ESPECIALIZAÇÃO DE MÉTODOS....................................................................................103
1.44 EVITAR A DECLARAÇÃO DE PARÂMETROS NÃO USADOS EM MÉTODOS.......................104
GLOSSÁRIO.........................................................................................................................104
1SISTEMA DISTRIBUÍDO...................................................................................................13
1.1 DEFINIÇÃO ...................................................................................................................13
1.1.2 METAS ..................................................................................................................................................14
1.1.1 Acesso de recursos.................................................................................................................................14
1.1.2 Transparência........................................................................................................................................14
20. 1.1.3 Escalabilidade........................................................................................................................................15
1.2 BALANCEAMENTO DE CARGA................................................................................15
1.2.1 ESCALONAMENTO DE PROCESSOS ................................................................................................16
1.2.2 DESEMPENHO E MÉTRICAS..............................................................................................................16
1.2.3 ALGORITMO BASE POR MIGRAÇÃO................................................................................................18
1.2 WCF.................................................................................................................................19
2PROJETO..............................................................................................................................20
1.3 OBJETIVOS GERAIS...........................................................................................................20
1.3.1 Restrições do projeto.............................................................................................................................20
1.3.2 Premissas do projeto..............................................................................................................................21
1.3.3 Produtos a serem entregues...................................................................................................................21
1.3.4 Não-escopo............................................................................................................................................21
1.3.5 Regras de alteração de escopo..............................................................................................................21
1.4 PLANO DE ITERAÇÕES – ESTRUTURA ANALÍTICA............................................21
1.5 ESPECIFICAÇÃO DE REQUISITOS............................................................................22
1.5.1 Funcionais..............................................................................................................................................23
1.5.2 Não funcionais.......................................................................................................................................24
1.6 ESPECIFICAÇÃO DE REGRAS DE NEGÓCIO/VALIDAÇÃO.................................25
1.7 DIAGRAMA DE CASOS DE USO................................................................................26
1.8 ESPECIFICAÇÃO DE CASOS DE USO.......................................................................27
1.9 ARQUITETURA DO SISTEMA....................................................................................34
1.9.1 Ambiente de desenvolvimento do projeto..............................................................................................35
1.9.2 Os pacotes do sistema e sua distribuição..............................................................................................35
1.9.3 O pacote ClientWeb...............................................................................................................................38
1.9.4 O pacote ConsoleMaster........................................................................................................................39
1.9.5 O pacote Slave.......................................................................................................................................40
1.9.6 O pacote Contract..................................................................................................................................42
1.9.7 O pacote Common..................................................................................................................................43
1.10 IMPLEMENTAÇÃO DO ALGORITMO.....................................................................44
1.10.1 Implementação do Algoritmo Base por Migração...............................................................................52
1.10.2 Criação da Nova Interface Web. ........................................................................................................56
1.10.3 Criação dos Instaladores. ...................................................................................................................57
1.11 TESTES.........................................................................................................................58
3CONCLUSÃO.......................................................................................................................71
DESCRIÇÃO GERAL...........................................................................................................76
NOMENCLATURA C#..........................................................................................................76
1.12 VARIÁVEIS LOCAIS........................................................................................................76
1.13 VARIÁVEIS DE CLASSE...................................................................................................77
1.14 PARÂMETROS DE MÉTODOS...........................................................................................78
21. 1.15 CONSTANTES..................................................................................................................79
1.16 CLASSES.........................................................................................................................80
1.17 PROPRIEDADES...............................................................................................................82
1.19 MÉTODOS.......................................................................................................................83
1.21 INTERFACES....................................................................................................................84
1.22 ENUMERADORES............................................................................................................86
1.23 CONTROLES DE FORMULÁRIOS......................................................................................87
REGRAS DE CODIFICAÇÃO.............................................................................................88
1.24 UTILIZAÇÃO DE CONSTANTES........................................................................................88
1.25 UTILIZAÇÃO DE ATRIBUTOS PÚBLICOS...........................................................................89
1.26 REGIÕES DE CÓDIGO......................................................................................................90
1.27 COMENTÁRIOS................................................................................................................92
1.28 COMENTÁRIOS II............................................................................................................93
1.29 MARCADORES DE INICIO DE BLOCO...............................................................................93
1.30 TAMANHO DE ARQUIVOS................................................................................................95
1.31 TAMANHO DE MÉTODOS.................................................................................................95
1.32 CONSTRUÇÕES NÃO AUTORIZADAS................................................................................96
1.33 COMANDO SWITCH........................................................................................................97
1.34 TRATAMENTO DE EXCEÇÃO...........................................................................................98
1.35 VALIDAÇÃO I.................................................................................................................99
1.36 VALIDAÇÃO II................................................................................................................99
BOAS PRÁTICAS................................................................................................................100
1.37 USO DE SUFIXOS PROIBIDOS.........................................................................................100
1.38 VARIÁVEIS...................................................................................................................100
1.39 ESPAÇAMENTO.............................................................................................................101
1.40 ABREVIAÇÕES..............................................................................................................101
1.41 USO DE CAIXA ALTA/BAIXA.........................................................................................102
1.42 CONSTRUÇÃO DE MAIS DE UM COMANDO NA MESMA LINHA......................................103
1.43 ESPECIALIZAÇÃO DE MÉTODOS....................................................................................103
1.44 EVITAR A DECLARAÇÃO DE PARÂMETROS NÃO USADOS EM MÉTODOS.......................104
GLOSSÁRIO.........................................................................................................................104
22. 1SISTEMA DISTRIBUÍDO...................................................................................................13
1.1 DEFINIÇÃO ...................................................................................................................13
1.1.2 METAS ..................................................................................................................................................14
1.1.1 Acesso de recursos.................................................................................................................................14
1.1.2 Transparência........................................................................................................................................14
1.1.3 Escalabilidade........................................................................................................................................15
1.2 BALANCEAMENTO DE CARGA................................................................................15
1.2.1 ESCALONAMENTO DE PROCESSOS ................................................................................................16
1.2.2 DESEMPENHO E MÉTRICAS..............................................................................................................16
1.2.3 ALGORITMO BASE POR MIGRAÇÃO................................................................................................18
1.2 WCF.................................................................................................................................19
2PROJETO..............................................................................................................................20
1.3 OBJETIVOS GERAIS...........................................................................................................20
1.3.1 Restrições do projeto.............................................................................................................................20
1.3.2 Premissas do projeto..............................................................................................................................21
1.3.3 Produtos a serem entregues...................................................................................................................21
1.3.4 Não-escopo............................................................................................................................................21
1.3.5 Regras de alteração de escopo..............................................................................................................21
1.4 PLANO DE ITERAÇÕES – ESTRUTURA ANALÍTICA............................................21
1.5 ESPECIFICAÇÃO DE REQUISITOS............................................................................22
1.5.1 Funcionais..............................................................................................................................................23
1.5.2 Não funcionais.......................................................................................................................................24
1.6 ESPECIFICAÇÃO DE REGRAS DE NEGÓCIO/VALIDAÇÃO.................................25
1.7 DIAGRAMA DE CASOS DE USO................................................................................26
1.8 ESPECIFICAÇÃO DE CASOS DE USO.......................................................................27
1.9 ARQUITETURA DO SISTEMA....................................................................................34
1.9.1 Ambiente de desenvolvimento do projeto..............................................................................................35
1.9.2 Os pacotes do sistema e sua distribuição..............................................................................................35
1.9.3 O pacote ClientWeb...............................................................................................................................38
1.9.4 O pacote ConsoleMaster........................................................................................................................39
1.9.5 O pacote Slave.......................................................................................................................................40
1.9.6 O pacote Contract..................................................................................................................................42
1.9.7 O pacote Common..................................................................................................................................43
1.10 IMPLEMENTAÇÃO DO ALGORITMO.....................................................................44
1.10.1 Implementação do Algoritmo Base por Migração...............................................................................52
1.10.2 Criação da Nova Interface Web. ........................................................................................................56
1.10.3 Criação dos Instaladores. ...................................................................................................................57
1.11 TESTES.........................................................................................................................58
3CONCLUSÃO.......................................................................................................................71
DESCRIÇÃO GERAL...........................................................................................................76
NOMENCLATURA C#..........................................................................................................76
23. 1.12 VARIÁVEIS LOCAIS........................................................................................................76
1.13 VARIÁVEIS DE CLASSE...................................................................................................77
1.14 PARÂMETROS DE MÉTODOS...........................................................................................78
1.15 CONSTANTES..................................................................................................................79
1.16 CLASSES.........................................................................................................................80
1.17 PROPRIEDADES...............................................................................................................82
1.19 MÉTODOS.......................................................................................................................83
1.21 INTERFACES....................................................................................................................84
1.22 ENUMERADORES............................................................................................................86
1.23 CONTROLES DE FORMULÁRIOS......................................................................................87
REGRAS DE CODIFICAÇÃO.............................................................................................88
1.24 UTILIZAÇÃO DE CONSTANTES........................................................................................88
1.25 UTILIZAÇÃO DE ATRIBUTOS PÚBLICOS...........................................................................89
1.26 REGIÕES DE CÓDIGO......................................................................................................90
1.27 COMENTÁRIOS................................................................................................................92
1.28 COMENTÁRIOS II............................................................................................................93
1.29 MARCADORES DE INICIO DE BLOCO...............................................................................93
1.30 TAMANHO DE ARQUIVOS................................................................................................95
1.31 TAMANHO DE MÉTODOS.................................................................................................95
1.32 CONSTRUÇÕES NÃO AUTORIZADAS................................................................................96
1.33 COMANDO SWITCH........................................................................................................97
1.34 TRATAMENTO DE EXCEÇÃO...........................................................................................98
1.35 VALIDAÇÃO I.................................................................................................................99
1.36 VALIDAÇÃO II................................................................................................................99
BOAS PRÁTICAS................................................................................................................100
1.37 USO DE SUFIXOS PROIBIDOS.........................................................................................100
1.38 VARIÁVEIS...................................................................................................................100
1.39 ESPAÇAMENTO.............................................................................................................101
1.40 ABREVIAÇÕES..............................................................................................................101
1.41 USO DE CAIXA ALTA/BAIXA.........................................................................................102
1.42 CONSTRUÇÃO DE MAIS DE UM COMANDO NA MESMA LINHA......................................103
24. 1.43 ESPECIALIZAÇÃO DE MÉTODOS....................................................................................103
1.44 EVITAR A DECLARAÇÃO DE PARÂMETROS NÃO USADOS EM MÉTODOS.......................104
GLOSSÁRIO.........................................................................................................................104
1SISTEMA DISTRIBUÍDO...................................................................................................13
1.1 DEFINIÇÃO ...................................................................................................................13
1.1.2 METAS ..................................................................................................................................................14
1.1.1 Acesso de recursos.................................................................................................................................14
1.1.2 Transparência........................................................................................................................................14
1.1.3 Escalabilidade........................................................................................................................................15
1.2 BALANCEAMENTO DE CARGA................................................................................15
1.2.1 ESCALONAMENTO DE PROCESSOS ................................................................................................16
1.2.2 DESEMPENHO E MÉTRICAS..............................................................................................................16
1.2.3 ALGORITMO BASE POR MIGRAÇÃO................................................................................................18
1.2 WCF.................................................................................................................................19
2PROJETO..............................................................................................................................20
1.3 OBJETIVOS GERAIS...........................................................................................................20
1.3.1 Restrições do projeto.............................................................................................................................20
1.3.2 Premissas do projeto..............................................................................................................................21
1.3.3 Produtos a serem entregues...................................................................................................................21
1.3.4 Não-escopo............................................................................................................................................21
1.3.5 Regras de alteração de escopo..............................................................................................................21
1.4 PLANO DE ITERAÇÕES – ESTRUTURA ANALÍTICA............................................21
1.5 ESPECIFICAÇÃO DE REQUISITOS............................................................................22
1.5.1 Funcionais..............................................................................................................................................23
1.5.2 Não funcionais.......................................................................................................................................24
1.6 ESPECIFICAÇÃO DE REGRAS DE NEGÓCIO/VALIDAÇÃO.................................25
1.7 DIAGRAMA DE CASOS DE USO................................................................................26
1.8 ESPECIFICAÇÃO DE CASOS DE USO.......................................................................27
1.9 ARQUITETURA DO SISTEMA....................................................................................34
1.9.1 Ambiente de desenvolvimento do projeto..............................................................................................35
1.9.2 Os pacotes do sistema e sua distribuição..............................................................................................35
1.9.3 O pacote ClientWeb...............................................................................................................................38
1.9.4 O pacote ConsoleMaster........................................................................................................................39
1.9.5 O pacote Slave.......................................................................................................................................40
1.9.6 O pacote Contract..................................................................................................................................42
1.9.7 O pacote Common..................................................................................................................................43
1.10 IMPLEMENTAÇÃO DO ALGORITMO.....................................................................44
1.10.1 Implementação do Algoritmo Base por Migração...............................................................................52
1.10.2 Criação da Nova Interface Web. ........................................................................................................56
1.10.3 Criação dos Instaladores. ...................................................................................................................57
1.11 TESTES.........................................................................................................................58
25. 3CONCLUSÃO.......................................................................................................................71
DESCRIÇÃO GERAL...........................................................................................................76
NOMENCLATURA C#..........................................................................................................76
1.12 VARIÁVEIS LOCAIS........................................................................................................76
1.13 VARIÁVEIS DE CLASSE...................................................................................................77
1.14 PARÂMETROS DE MÉTODOS...........................................................................................78
1.15 CONSTANTES..................................................................................................................79
1.16 CLASSES.........................................................................................................................80
1.17 PROPRIEDADES...............................................................................................................82
1.19 MÉTODOS.......................................................................................................................83
1.21 INTERFACES....................................................................................................................84
1.22 ENUMERADORES............................................................................................................86
1.23 CONTROLES DE FORMULÁRIOS......................................................................................87
REGRAS DE CODIFICAÇÃO.............................................................................................88
1.24 UTILIZAÇÃO DE CONSTANTES........................................................................................88
1.25 UTILIZAÇÃO DE ATRIBUTOS PÚBLICOS...........................................................................89
1.26 REGIÕES DE CÓDIGO......................................................................................................90
1.27 COMENTÁRIOS................................................................................................................92
1.28 COMENTÁRIOS II............................................................................................................93
1.29 MARCADORES DE INICIO DE BLOCO...............................................................................93
1.30 TAMANHO DE ARQUIVOS................................................................................................95
1.31 TAMANHO DE MÉTODOS.................................................................................................95
1.32 CONSTRUÇÕES NÃO AUTORIZADAS................................................................................96
1.33 COMANDO SWITCH........................................................................................................97
1.34 TRATAMENTO DE EXCEÇÃO...........................................................................................98
1.35 VALIDAÇÃO I.................................................................................................................99
1.36 VALIDAÇÃO II................................................................................................................99
BOAS PRÁTICAS................................................................................................................100
1.37 USO DE SUFIXOS PROIBIDOS.........................................................................................100
1.38 VARIÁVEIS...................................................................................................................100
26. 1.39 ESPAÇAMENTO.............................................................................................................101
1.40 ABREVIAÇÕES..............................................................................................................101
1.41 USO DE CAIXA ALTA/BAIXA.........................................................................................102
1.42 CONSTRUÇÃO DE MAIS DE UM COMANDO NA MESMA LINHA......................................103
1.43 ESPECIALIZAÇÃO DE MÉTODOS....................................................................................103
1.44 EVITAR A DECLARAÇÃO DE PARÂMETROS NÃO USADOS EM MÉTODOS.......................104
GLOSSÁRIO.........................................................................................................................104
1SISTEMA DISTRIBUÍDO...................................................................................................13
1.1 DEFINIÇÃO ...................................................................................................................13
1.1.2 METAS ..................................................................................................................................................14
1.1.1 Acesso de recursos.................................................................................................................................14
1.1.2 Transparência........................................................................................................................................14
1.1.3 Escalabilidade........................................................................................................................................15
1.2 BALANCEAMENTO DE CARGA................................................................................15
1.2.1 ESCALONAMENTO DE PROCESSOS ................................................................................................16
1.2.2 DESEMPENHO E MÉTRICAS..............................................................................................................16
1.2.3 ALGORITMO BASE POR MIGRAÇÃO................................................................................................18
1.2 WCF.................................................................................................................................19
2PROJETO..............................................................................................................................20
1.3 OBJETIVOS GERAIS...........................................................................................................20
1.3.1 Restrições do projeto.............................................................................................................................20
1.3.2 Premissas do projeto..............................................................................................................................21
1.3.3 Produtos a serem entregues...................................................................................................................21
1.3.4 Não-escopo............................................................................................................................................21
1.3.5 Regras de alteração de escopo..............................................................................................................21
1.4 PLANO DE ITERAÇÕES – ESTRUTURA ANALÍTICA............................................21
1.5 ESPECIFICAÇÃO DE REQUISITOS............................................................................22
1.5.1 Funcionais..............................................................................................................................................23
1.5.2 Não funcionais.......................................................................................................................................24
1.6 ESPECIFICAÇÃO DE REGRAS DE NEGÓCIO/VALIDAÇÃO.................................25
1.7 DIAGRAMA DE CASOS DE USO................................................................................26
1.8 ESPECIFICAÇÃO DE CASOS DE USO.......................................................................27
1.9 ARQUITETURA DO SISTEMA....................................................................................34
1.9.1 Ambiente de desenvolvimento do projeto..............................................................................................35
1.9.2 Os pacotes do sistema e sua distribuição..............................................................................................35
1.9.3 O pacote ClientWeb...............................................................................................................................38
1.9.4 O pacote ConsoleMaster........................................................................................................................39
1.9.5 O pacote Slave.......................................................................................................................................40
1.9.6 O pacote Contract..................................................................................................................................42
27. 1.9.7 O pacote Common..................................................................................................................................43
1.10 IMPLEMENTAÇÃO DO ALGORITMO.....................................................................44
1.10.1 Implementação do Algoritmo Base por Migração...............................................................................52
1.10.2 Criação da Nova Interface Web. ........................................................................................................56
1.10.3 Criação dos Instaladores. ...................................................................................................................57
1.11 TESTES.........................................................................................................................58
3CONCLUSÃO.......................................................................................................................71
DESCRIÇÃO GERAL...........................................................................................................76
NOMENCLATURA C#..........................................................................................................76
1.12 VARIÁVEIS LOCAIS........................................................................................................76
1.13 VARIÁVEIS DE CLASSE...................................................................................................77
1.14 PARÂMETROS DE MÉTODOS...........................................................................................78
1.15 CONSTANTES..................................................................................................................79
1.16 CLASSES.........................................................................................................................80
1.17 PROPRIEDADES...............................................................................................................82
1.19 MÉTODOS.......................................................................................................................83
1.21 INTERFACES....................................................................................................................84
1.22 ENUMERADORES............................................................................................................86
1.23 CONTROLES DE FORMULÁRIOS......................................................................................87
REGRAS DE CODIFICAÇÃO.............................................................................................88
1.24 UTILIZAÇÃO DE CONSTANTES........................................................................................88
1.25 UTILIZAÇÃO DE ATRIBUTOS PÚBLICOS...........................................................................89
1.26 REGIÕES DE CÓDIGO......................................................................................................90
1.27 COMENTÁRIOS................................................................................................................92
1.28 COMENTÁRIOS II............................................................................................................93
1.29 MARCADORES DE INICIO DE BLOCO...............................................................................93
1.30 TAMANHO DE ARQUIVOS................................................................................................95
1.31 TAMANHO DE MÉTODOS.................................................................................................95
1.32 CONSTRUÇÕES NÃO AUTORIZADAS................................................................................96
1.33 COMANDO SWITCH........................................................................................................97
1.34 TRATAMENTO DE EXCEÇÃO...........................................................................................98
1.35 VALIDAÇÃO I.................................................................................................................99