Wook.pt - Programação de Sistemas Distribuídos em Java

Programação de Sistemas Distribuídos em Java

de Jorge Cardoso 

31,75€
10%
Portes
Grátis
em stock
10% de desconto em CARTÃO
Em stock - Envio imediato
portes grátis
Sinopse

A Internet foi sem dúvida um marco na história dos sistemas distribuídos. Ao longo do tempo, a Internet foi-se aperfeiçoando e tornou-se um meio de comunicação agradável e atractivo. Hoje, as redes de dados são ubíquas e a própria Internet pode ser percebida como um gigantesco sistema distribuído que permite aos utilizadores um acesso imediato a uma variedade de serviços. À medida que os sistemas distribuídos foram ganhando uma importância considerável no mundo informático, houve a necessidade de desenvolver fundamentos, mecanismos e métodos para facilitar a construção de aplicações distribuídas. O livro Programação de Sistemas Distribuídos em Java apresenta ao leitor os principais conceitos associados ao desenvolvimento de sistemas distribuídos e os fundamentos da programação distribuída.

Ao longo do livro são abordados, entre outros, os seguintes temas:

  • A evolução histórica dos sistemas informáticos;
  • As redes de dados;
  • Os sockets;
  • O CORBA, o Java RMI;
  • Os Web Services.


  • É claro que estas últimas tecnologias não constituem uma base irrevogável para a construção de sistemas distribuídos. Outras soluções virão. No entanto, independentemente dos progressos e das futuras arquitecturas, os conceitos apresentados neste livro permanecerão actualizados porque fornecem pilares e noções fundamentais das arquitecturas dos sistemas distribuídos.

    Este livro destina-se a programadores, engenheiros, arquitectos de sistemas e estudantes que necessitem de compreender os princípios e fundamentos, que permitem o desenvolvimento e a programação de sistemas distribuídos reais.

    PREFACIO VIII
    SOBRE O AUTOR XI

    1 - EVOLUCAO DOS SISTEMAS COMPUTACIONAIS
    1.1 Os primeiros computadores 1
    1.1.1 Primeira geracao 2
    1.1.2 Segunda geracao 7
    1.1.3 Terceira geracao 9
    1.1.4 Quarta geracao 12
    1.1.5 Tipos de computadores 13
    1.2 Os primeiros sistemas operativos 15
    1.3 As primeiras redes de dados 16
    1.4 Os primeiros sistemas distribuidos 18
    1.5 Conclusoes 20

    2 - REDES DE DADOS
    2.1 Introducao 25
    2.2 Classificacao das redes de dados 27
    2.2.1 Redes LAN 29
    2.2.1.1. Topologias 30
    2.2.1.2. Protocolos 31
    2.2.1.3. Meios de transmissao 33
    2.2.2 Redes WAN 35
    2.2.3 Redes MAN 36
    2.3 Equipamento de uma rede de dados 37
    2.3.1 Placa de rede 37
    2.3.2 Routers 38
    2.3.3 Hubs 39
    2.3.4 Repetidores 40
    2.3.5 Modems 40
    2.3.6 Gateways 41
    2.3.7 Switch 42
    2.4 O modelo OSI 42
    2.4.1 Camada fisica 43
    2.4.2 Camada de ligacao de dados 44
    2.4.3 Camada de rede 44
    2.4.4 Camada de transporte 45
    2.4.5 Camada de sessao 46
    2.4.6 Camada de apresentacao 47
    2.4.7 Camada de aplicacao 47
    2.5 O modelo TCP/IP 48
    2.5.1 Enderecos IP 51
    2.5.1.1. Estruturas dos enderecos 51
    2.5.1.2. Classes de enderecos 51
    2.5.1.3. Broadcast e multicast 55
    2.5.2 Protocolo IPv4 e IPv6 56
    2.5.2.1. Migracao do IPV4 para o IPV6 58
    2.6 Encaminhamento de dados 58
    2.6.1 Comutacao de circuitos 59
    2.6.2 Comutacao de pacotes 59
    2.6.3 Encaminhamento 60
    2.7 Conclusoes 60

    3 - ARQUITECTURAS DE SISTEMAS DISTRIBUIDOS
    3.1 Arquitecturas monoliticas 65
    3.2 Arquitectura de duas camadas 66
    3.3 Arquitectura de tres camadas 69
    3.3.1 Estrutura 69
    3.3.2 Vantagens e desvantagens 71
    3.3.3 Exemplo pratico 72
    3.4 Arquitectura de N camadas 75
    3.5 Arquitectura Peer-to-Peer 76
    3.6 Os primeiros sistemas distribuidos 77
    3.6.1 Sockets 78
    3.6.2 RPC 78
    3.7 Arquitectura de objectos distribuidos 79
    3.7.1 Objectos 80
    3.7.2 Objectos distribuidos 80
    3.7.3 Sistemas de objectos distribuidos 82
    3.7.3.1. DCOM 82
    3.7.3.2. CORBA 84
    3.7.3.3. Java RMI 86
    3.7.3.4. JINI 87
    3.8 Os Web Services 89
    3.9 Conclusoes 90

    4 - O SISTEMA DE NOMES DNS
    4.1 Aspectos gerais 95
    4.2 O DNS, um sistema distribuido 96
    4.2.1 Zonas e registos de recursos 97
    4.2.2 Nomes hierarquicos 98
    4.2.3 Dominios 98
    4.3 Funcionalidades do DNS 99
    4.4 Replicacao e caching 101
    4.5 Tipos de servidores 102
    4.5.1 Servidor primario 103
    4.5.2 Servidor secundario 103
    4.5.3 Caching server 103
    4.5.4 Forwarding server 104
    4.6 Acesso programatico ao DNS em Java 104
    4.6.1 Interface Java para o DNS 104
    4.6.2 Programar a interface Java para o DNS 105
    4.7 Conclusoes 107

    5 - PROGRAMACAO COM SOCKETS
    5.1 Introducao 111
    5.2 Protocolos de transmissao 113
    5.2.1 Ligacoes TCP e UDP 113
    5.2.2 O TCP e o UDP em Java 115
    5.3 UDP 115
    5.3.1 Estrutura de um datagrama UDP 117
    5.3.2 Ciclo de vida 118
    5.3.3 A classe DatagramPacket 120
    5.3.3.1. Construtores 120
    5.3.3.2. Metodos 124
    5.3.4 A classe DatagramSocket 125
    5.3.4.1. Construtores 127
    5.3.4.2. Metodos 129
    5.3.5 Envio de datagramas 130
    5.3.6 Recepcao de datagramas 132
    5.3.7 Implementacao de uma aplicacao cliente/servidor 133
    5.3.7.1. O exemplo completo 139
    5.3.7.2. Compilar e executar a aplicacao 143
    5.3.8 Um segundo exemplo 144
    5.3.9 O multicast 147
    5.3.9.1. Multicast em Java 148
    5.3.9.2. Construtores 149
    5.3.9.3. Metodos 151
    5.3.9.4. Exemplo de uma aplicacao 152
    5.3.9.5. O codigo completo 156
    5.4 TCP 161
    5.4.1 Transaccoes pedido-resposta 162
    5.4.2 Sockets activos e passivos 163
    5.4.3 Ciclo de vida 164
    5.4.4 A classe Socket 165
    5.4.5 A classe ServerSocket 167
    5.4.6 Exemplo de uma aplicacao 168
    5.4.6.1. O codigo completo 171
    5.4.6.2. Compilar e executar a aplicacao 174
    5.5 Conclusoes 175

    6 - CORBA
    6.1 Introducao 179
    6.2 Object Management Architecture 180
    6.2.1 Objectos da OMA 181
    6.2.2 O ORB do CORBA 182
    6.2.3 Servicos CORBA 184
    6.2.4 Evolucao do CORBA 187
    6.3 O CORBA em Execucao 189
    6.3.1 Um cenario 190
    6.3.2 Os componentes do CORBA 191
    6.3.2.1. ORB 191
    6.3.2.2. IDL 191
    6.3.2.3. STUBS 192
    6.3.2.4. SKELETONS 193
    6.3.2.5. Objecto remoto 193
    6.3.2.6. Invocacao de interface dinamica 193
    6.3.2.7. Interface de Skeleton dinamica 194
    6.3.2.8. Repositorio de interfaces 194
    6.3.2.9. Repositorio de implementacoes 195
    6.3.2.10. Adaptador de objectos 195
    6.3.2.11. Referencia de objecto interoperavel 195
    6.3.3 Interoperabilidade entre ORB 196
    6.4 Interface Definition Language 197
    6.4.1 Mapeamentos disponiveis 198
    6.4.2 Compilar o IDL 199
    6.5 O ficheiro IDL 200
    6.5.1 Modulos 200
    6.5.2 Interfaces 201
    6.5.3 Atributos 203
    6.5.4 Operacoes 203
    6.5.5 Tipos de dados 204
    6.5.5.1. Tipos basicos 205
    6.5.5.2. Tipos complexos 205
    6.5.5.3. Novos tipos 208
    6.5.6 Constantes 208
    6.5.7 Excepcoes 209
    6.6 Mapeamento IDL para Java 209
    6.6.1 Nomes 210
    6.6.2 Modulos 210
    6.6.3 Interfaces 211
    6.6.4 Atributos 212
    6.6.5 Tipos basicos e complexos 213
    6.6.5.1. Tipos complexos 213
    6.6.6 Constantes 215
    6.6.7 Excepcoes 216
    6.6.8 A classe Holder 218
    6.6.9 A classe Helper 220
    6.7 Naming Service 220
    6.7.1 Interaccao com o naming service 221
    6.7.2 Interface para o servico de nomes 222
    6.7.3 Resolucao de nomes 224
    6.7.4 Exemplo pratico 225
    6.8 A primeira aplicacao 227
    6.8.1 Definir a interface 228
    6.8.2 Compilar a definicao IDL 229
    6.8.3 Implementar a interface 230
    6.8.4 Implementar o servidor 231
    6.8.5 Implementar o cliente 233
    6.8.6 Compilar e executar a aplicacao 235
    6.8.7 O exemplo completo 236
    6.9 Uma segunda aplicacao 238
    6.10 Conclusoes 242

    7 - JAVA RMI
    7.1 Introducao 247
    7.2 CORBA versus RMI 249
    7.3 Arquitectura do Java RMI 252
    7.3.1 Camada do stub e do skeleton 253
    7.3.2 Camada de referencias remotas 256
    7.3.3 Camada de transporte 256
    7.4 Servicos Java RMI 257
    7.4.1 RMI registry 257
    7.4.2 Activacao de objectos 258
    7.4.3 Distributed Garbage Collection 259
    7.5 Java RMI API 259
    7.5.1 java.rmi 260
    7.5.1.1. Interfaces 260
    7.5.1.2. Classes 261
    7.5.1.3. Excepcoes 262
    7.5.2 java.rmi.activation 263
    7.5.3 java.rmi.dgc 264
    7.5.4 java.rmi.registry 265
    7.5.5 java.rmi.server 267
    7.6 Seguranca 268
    7.6.1 SecureClassLoader 269
    7.6.2 Security manager 270
    7.6.3 O ficheiro java.policy 272
    7.7 Implementar uma aplicacao Java RMI 273
    7.7.1 Definir a interface remota 275
    7.7.2 Implementar a interface 276
    7.7.3 Implementar o servidor 279
    7.7.4 Implementar o cliente 282
    7.7.5 Compilar as implementacoes 284
    7.7.6 Compilar a interface implementada 285
    7.7.7 Iniciar a aplicacao 286
    7.7.7.1. Iniciar o RMI registry 287
    7.7.7.2. Iniciar o servidor 288
    7.7.7.3. Iniciar o cliente 289
    7.7.8 A aplicacao completa 289
    7.8 Conclusoes 293

    8 - WEB SERVICES
    8.1 Introducao 297
    8.2 O uso de Web Services em empresas 299
    8.2.1 Um cenario 299
    8.2.2 Integracao 300
    8.3 Service-Oriented Architecture 302
    8.3.1 Definicao 303
    8.3.2 Caracteristicas 303
    8.3.3 Arquitectura conceptual 305
    8.3.4 SOA com Web Services 306
    8.4 Arquitectura dos Web Services 307
    8.4.1 Ciclo de vida 308
    8.4.2 Arquitectura 309
    8.5 Extensible Markup Language 311
    8.6 Web Service Description Language 315
    8.6.1 A especificacao do WSDL 315
    8.6.2 Elementos do WSDL 317
    8.7 Simple Object Access Protocol 324
    8.7.1 Envelope 325
    8.7.2 Header 326
    8.7.3 Body 327
    8.7.4 Universal Description, Discovery and Integration 328
    8.7.4.1. Modelo de dados 329
    8.7.4.2. Exemplo do business entity 330
    8.8 Como executar um Web Service 330
    8.8.1 Preparar o ambiente de execucao 331
    8.8.1.1. Tomcat 331
    8.8.1.2. Axis 333
    8.8.2 Implementar o primeiro Web Service 334
    8.8.2.1. Realizar um teste basico 337
    8.8.2.2. A especificacao WODL 337
    8.8.3 Desenvolver um cliente 340
    8.8.3.1. Implantar o cliente 341
    8.8.3.2. Compilar o cliente 343
    8.8.3.3. Analizar mensagens SOAP 344
    8.8.3.4. Codigo completo 347
    8.9 Conclusoes 348

    INDICE REMISSIVO

    Programação de Sistemas Distribuídos em Java
    ISBN: 9789727226016Edição ou reimpressão: Editor: FCAIdioma: PortuguêsDimensões: 171 x 241 x 16 mmPáginas: 384Tipo de Produto: Livro Classificação Temática: Livros em Português > Informática > Programação
    X
    Coloque aqui o seu comentário
    Programação de Sistemas Distribuídos em Java
    a sua avaliação:
    X
    Obrigado pela sua contribuição!

    O seu comentário foi enviado para validação.

    Nota:
    A WOOK reserva-se ao direito de não validar textos que não se foquem na análise do conteúdo do livro ou produto. Caso pretenda colocar alguma questão sobre o artigo deverá fazê-lo através do Centro de Contacto.
    X
    imagem
    X
    wook deve saber
    Promoção válida para o dia 25-03-2017

    Saiba mais sobre preços e promoções consultando as nossas condições gerais de venda.
    X
    recomendar
    Programação de Sistemas Distribuídos em Java de Jorge Cardoso 
    Para recomendar esta obra a um amigo basta preencher o seu nome e email, bem como o nome e email da pessoa a quem pretende fazer a sugestão. Se quiser pode ainda acrescentar um pequeno comentário, de seguida clique em enviar o pedido. A sua recomendação será imediatamente enviada em seu nome, para o email da pessoa a quem pretende fazer a recomendação.

    A sua identificação:

    A identificação da pessoa a quem quer recomendar este titulo:

    Se pretende enviar esta recomendação para mais de um endereço de e-mail, separe na caixa anterior os endereços com ",". Ex: abc@abc.pt,xyz@xyz.pt

    X
    A sua recomendação foi enviada com sucesso!
    X
    Ocorreu um erro a obter a informação! Por favor tente mais tarde.
    X
    alerta de artigo novamente disponível

    De momento, este produto não se encontra disponível no fornecedor. Caso o mesmo volte a ficar disponível, poderemos notifica-lo, bastando para tal que nos indique o seu endereço de email.

    X
    O seu pedido foi registado com sucesso.
    Caso este produto fique disponível, será alertado por email
    X
    wook deve saber
    Este eBook pode ser lido em qualquer dispositivo com browser, sem necessidade de fazer o download de qualquer software ou de possuir qualquer tipo de equipamento específico de leitura.
    Após a compra, o eBook é disponibilizado de imediato na sua Biblioteca Wook, onde poderá ler e organizar todos os seus eBooks e à qual poderá aceder a partir do site WOOK ou da nossa aplicação (APP).
    A versão web da Biblioteca Wook está otimizada para as versões mais recentes dos browsers Google Chrome, Internet Explorer, Safari, Firefox e Edge.
    Para otimizar o acesso à sua Biblioteca Wook e ter acesso à opção de leitura em modo offline (sem ligação à internet) deverá instalar a nossa APP de leitura:
    X
    wook deve saber
    Este eBook está encriptado com DRM (Digital rights management) da Adobe e é aberto na aplicação de leitura Adobe Digital Editions (ADE) ou em outras aplicações compatíveis.
    Após a compra, o eBook é de imediato disponibilizado na sua área de cliente para efetuar o download.

    Para ler este eBook num computador instale a aplicação Adobe Digital Editions.
    Antes de instalar o Adobe Digital Editions, veja aqui o vídeo de ajuda:

    Para ler este eBook em tablet e smartphone instale a aplicação Adobe Digital Editions para IOS ou Android.

    X
    wook deve saber
    O PDF é um formato de arquivo digital desenvolvido pela Adobe e que disponibiliza uma imagem estática das páginas do livro e, independentemente do dispositivo de leitura, não redimensiona o texto ao tamanho do ecrã do dispositivo.
    X
    wook deve saber
    O ePUB é um formato que proporciona uma excelente experiência de leitura dado que permite o redimensionamento do texto ao ecrã do dispositivo de leitura, aumentar ou diminuir o tamanho do texto, alterar o tipo de fonte, entre outras funcionalidades
    X
    não encontrou wook procura?
    Nós procuramos por si!

    A sua identificação:

    A identificação do livro que procura:

    O seu pedido foi enviado com sucesso!
    X
    envie esta lista aos seus amigos
    lista de desejos

    A identificação da pessoa a quem quer enviar esta lista:

    X
    A sua lista de compras foi enviada com sucesso para .
    X
    selecione o livro adotado:
    X
    wook deve saber


    Oferta de portes, ou devolução do valor em cartão, para Portugal continental em CTT Expresso Clássico ou Rede Pickup. 30% de desconto, ou devolução em cartão, nos envios para as ilhas dos Açores e Madeira, em CTT Expresso Clássico. Tipos de envio disponíveis para encomendas até 10 kg.

    Promoção válida para encomendas de livros não escolares registadas até 31/12/2017. Descontos ou vantagens não acumuláveis com outras promoções.

    X
    wook deve saber


    A devolução do valor dos portes de envio, em cartão Wookmais, será efetuada 18 dias após a faturação. Oferta válida para uma encomenda com entrega em Portugal.

    X
    wook deve saber


    EM STOCK – ENVIO IMEDIATO
    Se a sua encomenda for constituída apenas por produtos com esta disponibilidade e for paga até às 16 horas de um dia útil, será processada de imediato e enviada para o correio no próprio dia. Encomendas pagas após as 16 horas passarão para o processamento do dia útil seguinte. Esta disponibilidade apenas é garantida para uma unidade de cada produto e até 15 minutos após o registo da encomenda.

    ENVIO ATÉ X DIAS
    Esta disponibilidade indica que o produto não se encontra em stock e que demorará x dias úteis a chegar do fornecedor. Estes produtos, especialmente as edições mais antigas, estão sujeitos à confirmação de preço e disponibilidade de stock no fornecedor.

    PRÉLANÇAMENTO
    Os produtos com esta disponibilidade têm envio previsto a partir da data de lançamento.

    DISPONIBILIDADE IMEDIATA
    Tipo de disponibilidade associada aos eBooks, que são disponibilizados de imediato, após o pagamento da encomenda, na sua biblioteca.

    Para calcular o tempo de entrega de uma encomenda deverá somar à disponibilidade mais elevada dos artigos que está a encomendar o tempo de entrega associado ao tipo de envio escolhido.

    X
    a sua lista de desejos encontra-se vazia
    Adicione à sua lista de desejos todos os produtos que deseja comprar mais tarde, envie-a aos seus amigos antes do seu aniversário, Natal ou outras datas especiais - quem sabe se eles o surpreendem!
    Seja informado sobre promoções destes produtos
    X
    Ocorreu um erro
    Por favor tente novamente mais tarde.
    X
    atingiu o limite máximo de dispositivos autorizados
    Por favor, aceda à area de cliente para gerir os dispositivos ativos.
    X
    Temos pena de o ver partir!
    Pode voltar a subscrever as nossas newsletters a qualquer momento, na sua área de cliente em "Newsletters".
    Junte-se à comunidade wook nas redes sociais:
    X
    wook deve saber


    WOOK É O CHECKOUT EXPRESSO?
    Esta modalidade de checkout permite-lhe comprar em dois cliques, seguindo diretamente para a confirmação de encomenda.

    COMO FUNCIONA?
    A encomenda é pré-preenchida com os dados que habitualmente utiliza - morada faturação, morada de entrega, forma de envio e tipo de pagamento. Para finalizar o processo, necessita apenas de confirmar os dados.

    POSSO UTILIZAR OS MEUS VALES?
    Vales e outros descontos que se encontrem no prazo de validade, serão igualmente considerados automaticamente na encomenda.

    CONSIGO ALTERAR OS DADOS DA ENCOMENDA?
    Sim. Antes de confirmar, tem ainda a possibilidade de alterar todos os dados e opções de compra.

    EXCEÇÕES
    O botão do Checkout Expresso só será visível se:
    • Selecionar previamente, na Área Cliente, as moradas habituais de envio e de faturação;
    • Associar uma conta wallet, quando a morada de envio selecionada é no estrangeiro;
    • Não incluir artigos escolares na encomenda.