O documento apresenta técnicas de aplicações em tempo real como polling, long polling, Server Sent Events e websockets. Ele também discute como implementar aplicações em tempo real com PHP usando o framework Ratchet. O autor demonstra ao vivo o desenvolvimento de um chat usando essas tecnologias.
IOT e Micro Services - Tchelinux Caxias do Sul 2018 - Joelmir RibackiTchelinux
O documento discute as características de comunicação entre sistemas IoT e microserviços, incluindo protocolos como TCP / HTTP, AMQP / MQTT e bancos de dados compartilhados. Também aborda como os requisitos de negócio influenciam a escolha do método de comunicação e como os microserviços permitem escalabilidade, segurança e manutenção independente.
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...Renato Groff
Renato Groffe tem mais de 15 anos de experiência em tecnologia, é um Microsoft MVP e MTAC, autor técnico e palestrante. Ele lidera comunidades .NET em São Paulo e oferece lives e eventos gratuitos sobre .NET, C# e Azure.
.NET: passado, presente e futuro | Semana FCI 2020 - MackenzieRenato Groff
Apresentação o passado, o presente e o futuro da plataforma .NET (incluindo tecnologias como C#, Visual Studio, Visual Studio Code, Microsoft Azure). Palestra realizada em 16/10/2020 durante a Semana da Faculdade de Computação e Informática da Universidade Mackenzie em São Paulo-SP.
O documento descreve princípios de aplicações de rede, incluindo:
1) Várias aplicações de rede comuns como email, web, mensagens instantâneas e streaming de vídeo.
2) As arquiteturas cliente-servidor e peer-to-peer para aplicações de rede.
3) Como aplicações se comunicam através da rede usando sockets e protocolos como HTTP.
This document summarizes a presentation on ASP.NET Web API given by Pedro Félix. The presentation introduced ASP.NET Web API, describing its programming model based on HTTP and focus on building APIs exposed via the web. It also covered the architectural components involved, including routing, controllers, request/response handling, and extensibility points.
O documento descreve um grupo destinado a compartilhar e promover encontros de desenvolvedores mobile no Rio Grande do Sul, que colabora com eventos de desenvolvimento e realiza oficinas para desenvolvimento de aplicativos móveis em diversas plataformas.
Este minicurso apresenta como desenvolver aplicações para Internet das Coisas (IoT) utilizando a linguagem JavaScript. O minicurso aborda conceitos de IoT, plataformas como Arduino e ESP8266, desenvolvimento de aplicações web com JavaScript no cliente e no servidor, integração com hardware e comunicação RESTful.
Apache traffic server uma alternativa ao squid para web caches - fisl 14Heitor Ganzeli
Este documento discute o Apache Traffic Server como uma alternativa ao Squid para caches web. Ele descreve como o Traffic Server melhora a velocidade de conexão dos usuários através de processamento em estágios, cache em disco e manutenção de conexões abertas. Testes mostraram que o Traffic Server atinge taxas mais altas de cache hits e melhores tempos de resposta do que o Squid. Ele também suporta cache de conteúdo dinâmico através de plugins como o cacheurl.
IOT e Micro Services - Tchelinux Caxias do Sul 2018 - Joelmir RibackiTchelinux
O documento discute as características de comunicação entre sistemas IoT e microserviços, incluindo protocolos como TCP / HTTP, AMQP / MQTT e bancos de dados compartilhados. Também aborda como os requisitos de negócio influenciam a escolha do método de comunicação e como os microserviços permitem escalabilidade, segurança e manutenção independente.
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...Renato Groff
Renato Groffe tem mais de 15 anos de experiência em tecnologia, é um Microsoft MVP e MTAC, autor técnico e palestrante. Ele lidera comunidades .NET em São Paulo e oferece lives e eventos gratuitos sobre .NET, C# e Azure.
.NET: passado, presente e futuro | Semana FCI 2020 - MackenzieRenato Groff
Apresentação o passado, o presente e o futuro da plataforma .NET (incluindo tecnologias como C#, Visual Studio, Visual Studio Code, Microsoft Azure). Palestra realizada em 16/10/2020 durante a Semana da Faculdade de Computação e Informática da Universidade Mackenzie em São Paulo-SP.
O documento descreve princípios de aplicações de rede, incluindo:
1) Várias aplicações de rede comuns como email, web, mensagens instantâneas e streaming de vídeo.
2) As arquiteturas cliente-servidor e peer-to-peer para aplicações de rede.
3) Como aplicações se comunicam através da rede usando sockets e protocolos como HTTP.
This document summarizes a presentation on ASP.NET Web API given by Pedro Félix. The presentation introduced ASP.NET Web API, describing its programming model based on HTTP and focus on building APIs exposed via the web. It also covered the architectural components involved, including routing, controllers, request/response handling, and extensibility points.
O documento descreve um grupo destinado a compartilhar e promover encontros de desenvolvedores mobile no Rio Grande do Sul, que colabora com eventos de desenvolvimento e realiza oficinas para desenvolvimento de aplicativos móveis em diversas plataformas.
Este minicurso apresenta como desenvolver aplicações para Internet das Coisas (IoT) utilizando a linguagem JavaScript. O minicurso aborda conceitos de IoT, plataformas como Arduino e ESP8266, desenvolvimento de aplicações web com JavaScript no cliente e no servidor, integração com hardware e comunicação RESTful.
Apache traffic server uma alternativa ao squid para web caches - fisl 14Heitor Ganzeli
Este documento discute o Apache Traffic Server como uma alternativa ao Squid para caches web. Ele descreve como o Traffic Server melhora a velocidade de conexão dos usuários através de processamento em estágios, cache em disco e manutenção de conexões abertas. Testes mostraram que o Traffic Server atinge taxas mais altas de cache hits e melhores tempos de resposta do que o Squid. Ele também suporta cache de conteúdo dinâmico através de plugins como o cacheurl.
O documento anuncia uma reunião do grupo São Paulo MuleSoft Meetup em 16 de dezembro de 2020 com apresentações sobre Unwired API-led Connectivity, Custom Policies e uma competição com prêmios. A agenda inclui introdução, duas palestras e uma sessão de perguntas e respostas.
O documento apresenta uma introdução ao desenvolvimento web, abordando:
1) As características dos clientes e servidores na arquitetura cliente-servidor;
2) A evolução da web ao longo do tempo, desde a criação da HTML até o desenvolvimento de novas tecnologias como JavaScript, CSS e DHTML;
3) Tópicos importantes como a "guerra dos navegadores", a necessidade de padronização e o surgimento de novas especificações como HTML4, CSS e DOM.
O documento descreve Socket.io, uma biblioteca que permite comunicação em tempo real bidirecional e baseada em eventos entre navegador e servidor, utilizando WebSockets como transporte principal. WebSockets permite sessões de comunicação interativa entre navegador e servidor de forma leve e fluída. Socket.io adiciona metadados aos pacotes e funciona tanto no frontend quanto no backend de aplicações.
JavaScript é uma linguagem de programação interpretada utilizada para adicionar interatividade às páginas web. Pode ser incluída no HTML através de tags <script> e manipula o Document Object Model (DOM) para alterar dinamicamente o conteúdo e estilo das páginas.
Comunicação em Tempo Real com ASP.Net SignalREduardo Pires
O documento discute técnicas de comunicação em tempo real para aplicativos web, comparando polling, long polling, forever frame, server-sent events e websockets. Ele introduz o ASP.NET SignalR como uma solução completa que implementa essas técnicas de forma unificada, permitindo comunicação assíncrona entre servidor e cliente.
Como criar infraestrutura de sites para receber milhões de usuários?Marcelo Dieder
1) O documento discute como criar infraestrutura de sites para receber milhões de usuários de forma escalável e altamente disponível.
2) Problemas como ponto único de falha no DNS, desempenho do banco de dados, tamanho de arquivos e consultas externas são abordados.
3) A solução proposta inclui balanceamento de carga, replicação, cache, sistemas de arquivos distribuídos e alta disponibilidade em vários níveis.
O documento introduz o .NET Framework, descrevendo sua história, propósito e principais componentes. Foi criado para permitir o desenvolvimento multiplataforma com código gerenciado e suporta diversas linguagens. Inclui o Common Language Runtime, bibliotecas de classes e ferramentas como o Visual Studio. Projetos como o Mono permitem que .NET seja usado em sistemas open source.
Minicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding DayRenato Groff
Slides de apresentação realizada durante o 2o. MSP Coding Day, evento realizado em São Vicente no dia 26/03/2016.
Tópicos abordados:
- Criando um serviço WCF
- Consumindo um serviço WCF
- Criando um serviço Web API
- Consumindo um serviço Web API via WebApi.Client
- Consumindo um serviço Web API via RestSharp
- Consumindo um serviço Web API via JavaScript
A plataforma OpenIoT é uma plataforma de middleware open source para Internet das Coisas que permite a coleta e processamento de dados de sensores, armazenamento na nuvem, descoberta e consultas de sensores e serviços de IoT. Sua arquitetura suporta ontologias, modelos semânticos e anotações para representar objetos interconectados e é composta por planos de utilidade, virtualização e físico. Exemplos de aplicações são Silver Angel para ajudar idosos e Smart Campus para localização na universidade.
O documento apresenta a agenda do evento APIX 2018, com palestras sobre tópicos relacionados a APIs, como Progressive Web Apps, GraphQL, Design de APIs, Mock Dinâmico de APIs REST, Detecção de Fraudes e Composição de Serviços. A agenda inclui os nomes dos palestrantes de cada sessão. Os gráficos mostram o crescimento anual de casos na plataforma SenseDIA e a interface do game APIXPay.
1) O documento apresenta um livro sobre programação para web com PHP e MySQL, introduzindo os conceitos de client-side scripts, server-side scripts, PHP, MySQL e HTML.
2) Inclui instruções para instalação do Apache, PHP e MySQL no Windows e descreve funções e comandos desses softwares.
3) Apresenta ainda agradecimentos do autor e notas finais sobre a criação do livro.
1) O documento apresenta um livro sobre programação para web com PHP e MySQL, com capítulos sobre scripts do lado do cliente e servidor, introdução ao PHP, MySQL, HTML e linguagem PHP. 2) Inclui notas do autor e agradecimentos. 3) Fornece instruções para instalação do Apache, PHP e MySQL em ambientes Windows.
O documento fornece instruções passo-a-passo para criar um aplicativo de chat usando Android e Node.js, incluindo como configurar o backend com Node.js, Socket.io e Express, e como desenvolver o aplicativo Android para se conectar ao backend e exibir mensagens.
Desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas ...Rodrigo Peleias
O documento apresenta o framework Vert.x, que permite o desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas. Vert.x usa um modelo baseado em verticles, que são unidades de execução assíncronas que se comunicam através de um event bus. O documento demonstra como criar aplicações web RESTful e sistemas em tempo real com Vert.x usando Java e outras linguagens.
Trilha – Android University. Aluno especial no mestrado em Ciência da Computação UFG. Programador Java, Groovy, C#. Apresentação sobre integração de aplicações web com mobile, incluindo EAI, SOA, web services, REST/RESTful e integração de Android com serviços.
O documento apresenta uma introdução ao Node-RED, ferramenta de programação visual para desenvolvimento de aplicações IoT. Aborda conceitos como fluxos, mensagens, nós e fios. Explica como instalar o Node-RED localmente ou via Docker e demonstra alguns exemplos práticos como "Hello World" e uso de nós de entrada, saída e função. Também introduz conceitos de JSON e MQTT, protocolo comum em IoT, e mostra como utilizá-los no Node-RED.
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...Renato Groff
O documento apresenta uma palestra sobre diversas tecnologias como Swagger, RabbitMQ, Redis, Docker Compose e JWT. A agenda inclui explicações e exemplos práticos sobre documentação e testes com Swagger, mensageria com RabbitMQ, cache com Redis, orquestração de containers com Docker Compose e autenticação com tokens JWT. O palestrante possui mais de 15 anos de experiência na área de tecnologia e é um dos organizadores do Canal .NET.
O documento anuncia uma reunião do grupo São Paulo MuleSoft Meetup em 16 de dezembro de 2020 com apresentações sobre Unwired API-led Connectivity, Custom Policies e uma competição com prêmios. A agenda inclui introdução, duas palestras e uma sessão de perguntas e respostas.
O documento apresenta uma introdução ao desenvolvimento web, abordando:
1) As características dos clientes e servidores na arquitetura cliente-servidor;
2) A evolução da web ao longo do tempo, desde a criação da HTML até o desenvolvimento de novas tecnologias como JavaScript, CSS e DHTML;
3) Tópicos importantes como a "guerra dos navegadores", a necessidade de padronização e o surgimento de novas especificações como HTML4, CSS e DOM.
O documento descreve Socket.io, uma biblioteca que permite comunicação em tempo real bidirecional e baseada em eventos entre navegador e servidor, utilizando WebSockets como transporte principal. WebSockets permite sessões de comunicação interativa entre navegador e servidor de forma leve e fluída. Socket.io adiciona metadados aos pacotes e funciona tanto no frontend quanto no backend de aplicações.
JavaScript é uma linguagem de programação interpretada utilizada para adicionar interatividade às páginas web. Pode ser incluída no HTML através de tags <script> e manipula o Document Object Model (DOM) para alterar dinamicamente o conteúdo e estilo das páginas.
Comunicação em Tempo Real com ASP.Net SignalREduardo Pires
O documento discute técnicas de comunicação em tempo real para aplicativos web, comparando polling, long polling, forever frame, server-sent events e websockets. Ele introduz o ASP.NET SignalR como uma solução completa que implementa essas técnicas de forma unificada, permitindo comunicação assíncrona entre servidor e cliente.
Como criar infraestrutura de sites para receber milhões de usuários?Marcelo Dieder
1) O documento discute como criar infraestrutura de sites para receber milhões de usuários de forma escalável e altamente disponível.
2) Problemas como ponto único de falha no DNS, desempenho do banco de dados, tamanho de arquivos e consultas externas são abordados.
3) A solução proposta inclui balanceamento de carga, replicação, cache, sistemas de arquivos distribuídos e alta disponibilidade em vários níveis.
O documento introduz o .NET Framework, descrevendo sua história, propósito e principais componentes. Foi criado para permitir o desenvolvimento multiplataforma com código gerenciado e suporta diversas linguagens. Inclui o Common Language Runtime, bibliotecas de classes e ferramentas como o Visual Studio. Projetos como o Mono permitem que .NET seja usado em sistemas open source.
Minicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding DayRenato Groff
Slides de apresentação realizada durante o 2o. MSP Coding Day, evento realizado em São Vicente no dia 26/03/2016.
Tópicos abordados:
- Criando um serviço WCF
- Consumindo um serviço WCF
- Criando um serviço Web API
- Consumindo um serviço Web API via WebApi.Client
- Consumindo um serviço Web API via RestSharp
- Consumindo um serviço Web API via JavaScript
A plataforma OpenIoT é uma plataforma de middleware open source para Internet das Coisas que permite a coleta e processamento de dados de sensores, armazenamento na nuvem, descoberta e consultas de sensores e serviços de IoT. Sua arquitetura suporta ontologias, modelos semânticos e anotações para representar objetos interconectados e é composta por planos de utilidade, virtualização e físico. Exemplos de aplicações são Silver Angel para ajudar idosos e Smart Campus para localização na universidade.
O documento apresenta a agenda do evento APIX 2018, com palestras sobre tópicos relacionados a APIs, como Progressive Web Apps, GraphQL, Design de APIs, Mock Dinâmico de APIs REST, Detecção de Fraudes e Composição de Serviços. A agenda inclui os nomes dos palestrantes de cada sessão. Os gráficos mostram o crescimento anual de casos na plataforma SenseDIA e a interface do game APIXPay.
1) O documento apresenta um livro sobre programação para web com PHP e MySQL, introduzindo os conceitos de client-side scripts, server-side scripts, PHP, MySQL e HTML.
2) Inclui instruções para instalação do Apache, PHP e MySQL no Windows e descreve funções e comandos desses softwares.
3) Apresenta ainda agradecimentos do autor e notas finais sobre a criação do livro.
1) O documento apresenta um livro sobre programação para web com PHP e MySQL, com capítulos sobre scripts do lado do cliente e servidor, introdução ao PHP, MySQL, HTML e linguagem PHP. 2) Inclui notas do autor e agradecimentos. 3) Fornece instruções para instalação do Apache, PHP e MySQL em ambientes Windows.
O documento fornece instruções passo-a-passo para criar um aplicativo de chat usando Android e Node.js, incluindo como configurar o backend com Node.js, Socket.io e Express, e como desenvolver o aplicativo Android para se conectar ao backend e exibir mensagens.
Desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas ...Rodrigo Peleias
O documento apresenta o framework Vert.x, que permite o desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas. Vert.x usa um modelo baseado em verticles, que são unidades de execução assíncronas que se comunicam através de um event bus. O documento demonstra como criar aplicações web RESTful e sistemas em tempo real com Vert.x usando Java e outras linguagens.
Trilha – Android University. Aluno especial no mestrado em Ciência da Computação UFG. Programador Java, Groovy, C#. Apresentação sobre integração de aplicações web com mobile, incluindo EAI, SOA, web services, REST/RESTful e integração de Android com serviços.
O documento apresenta uma introdução ao Node-RED, ferramenta de programação visual para desenvolvimento de aplicações IoT. Aborda conceitos como fluxos, mensagens, nós e fios. Explica como instalar o Node-RED localmente ou via Docker e demonstra alguns exemplos práticos como "Hello World" e uso de nós de entrada, saída e função. Também introduz conceitos de JSON e MQTT, protocolo comum em IoT, e mostra como utilizá-los no Node-RED.
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...Renato Groff
O documento apresenta uma palestra sobre diversas tecnologias como Swagger, RabbitMQ, Redis, Docker Compose e JWT. A agenda inclui explicações e exemplos práticos sobre documentação e testes com Swagger, mensageria com RabbitMQ, cache com Redis, orquestração de containers com Docker Compose e autenticação com tokens JWT. O palestrante possui mais de 15 anos de experiência na área de tecnologia e é um dos organizadores do Canal .NET.
2. Quem sou eu
Gustavo Castro
Tecnólogo em Sistemas para Internet (IFSUL - Passo Fundo)
Especializando em Ciência de Dados (Unopar - Passo Fundo)
Desenvolvedor PHP
Áreas de interesse: Bots, IoT, Embarcados, Programação paralela e distribuída.
3. Roteiro
● Uma visão sobre aplicações Realtime
● Técnicas Realtime
○ Polling
○ Long Polling
○ Server Sent Events (SSE)
○ Websockets
● PHP - Ratchet
4. Uma visão sobre aplicações Realtime
● O que são aplicações realtime?
○ Dados atualizados frequentemente
○ Velocidade nas interações
○ Sensação que está acontecendo “agora”
5. Uma visão sobre aplicações Realtime
● Principais áreas da utilização de aplicações realtime
○ Controle de tráfego aéreo
○ Bolsa de valores
○ Mensagens instantâneas
○ Transporte compartilhado
6. Técnicas Realtime
● Como funcionam as aplicações
realtime?
○ Como funciona a arquitetura cliente /
servidor?
■ Sempre começa pelo cliente
■ Se estabelece uma conexão
(Handshake)
■ Abre-se um canal para a troca
de mensagens
■ Encerra-se a conexão
Fonte: Do autor
7. Técnicas Realtime
● Polling
○ Cliente realiza requisições em intervalos regulares
○ O servidor retorna cada requisição
○ Não transmite sensação de realtime
■ Percebe-se a robotização no processo devido a
temporização
* handshake omitido no exemplo
Fonte: Do autor
8. Técnicas Realtime
● Long Polling
○ O cliente inicia conexão
○ Servidor mantém a conexão pelo maior tempo
possível
○ Ocorre evento para enviar os dados disponíveis
ou timeout
○ Cliente reinicia conexão imediatamente
* handshake omitido no exemplo
Fonte: Do autor
9. Técnicas Realtime
● Server Sent Events (SSE)
○ Cliente inicia conexão
○ Conexão unidirecional (servidor -> cliente)
○ Servidor envia respostas a cada evento
Fonte: Do autor
10. Técnicas Realtime
● Websocket
○ Cliente inicia conexão
○ Abre-se um canal bidirecional
○ Troca de mensagens até o encerramento
Fonte: Do autor
12. PHP
● “Implementa uma interface de baixo nível para funções de comunicação sockets baseadas
no popular BSD sockets, disponibilizando acionar como um servidor socket ou como um
cliente.” - PHP.net
● PHP 4.1.0 >=
● PHP 5.3.0 movido para o repositório PECL
○ --enable-sockets
17. PHP - Ratchet - Arquitetura
A arquitetura de um APP com Ratchet é basicamente sustentado por duas classes.
A que contém a lógica da aplicação e a que contém o servidor.
18. PHP - Ratchet - Arquitetura
Classe lógica
● Implementa a interface
MessageComponentInterface com os métodos:
○ onOpen(ConnectionInterface)
○ onMessage(ConnectionInterface, string)
○ onClose(ConnectionInterface)
○ onError(ConnectionInterface, Exception)
Classe servidor
● Implementa um webserver IO baseado
em HTTP/Websocket
20. PHP - Ratchet - ConnectionInterface
● ConnectionInterface
○ Atributos
■ ->resourceId
● Id da conexão
○ Métodos
■ ->send(string)
● Envia uma mensagem para o cliente da conexão
■ ->close()
● Encerra a conexão
21. PHP - Consumindo o Websocket
● Javascript
● HTML5
● “O objeto WebSocket provê uma API para criação e gerenciamento de uma conexão
WebSocket com um servidor, bem como o envio e recebimento de dados através dessa
conexão.” - MDN
● Compatibilidade:
Fonte:
https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/WebSocket
22. PHP - Consumindo o Websocket
● Websocket API implementa os seguintes métodos
○ onopen(event)
○ onmessage(event)
○ onclose(event)
○ onerror(event)
25. Desenvolvimento de um chat
● Criar conta no Codenvy
○ https://codenvy.com/
● Montar a estrutura do projeto (script para acelerar o processo)
○ git clone https://github.com/debgustavocastro/oficina-websocket-php.git
○ mv oficina-websocket-php/install.sh ./
○ chmod +x install.sh
○ ./install.sh
27. Desenvolvimento de um chat
● Configuração autoload
○ composer.json
● Atualiza o autoloader
○ ./composer.phar dump-autoload -o
Fonte: Do autor
28. Desenvolvimento de um chat
● Criar classe com regras do chat
○ Implementando a interface MessageComponentInterface
● Criar serviço
○ HTTP Server / WS Server
● Implementar WS na aplicação cliente
Live code….
29. Desenvolvimento de um chat
● Levantando aplicação servidor
○ php chat-service.php
● Ngrok
○ Gera URLs públicas para teste de aplicações
○ ./ngrok http 8070
● Utilizar link do ngrok na aplicação cliente
30. Desenvolvimento de um chat
Fonte disponível em https://github.com/debgustavocastro/chat-websocket-server