Estrutura e Soluções WEB Prof. Matheus Haddad Adaptação: Prof. André Rabelo Definições Solução Podemos definir solução como a resposta para um problema, em nosso ponto de vista podemos propor sistemas de informação para problemas específicos(conceitualmente). Sistema Conjunto de aplicações interligadas. Aplicação No nosso ponto de vista é um software desenvolvido para resolver uma demanda específica. Aplicações Web Na grande maioria das vezes utiliza navegador como cliente Utiliza o protocolo HTTP(ou derivados) para comunicação Utiliza um servidor web Retorna em sua grande maioria arquivos no formato HTML Principais características Usabilidade Conectividade Navegabilidade Segurança Personalização Atualização Acessibilidade Métricas Identidade Visual(Comunicação) Design(Apresentação) Linguagem(Comunicação) Performance Escalabilidade LifeCicle Up-Time Plataforma Portabilidade Reusabilidade Aplicações B2C Business to Consumer Consumidores, clientes, usuários e prospects. Estão relacionados diretamente a imagem que o cliente terá da empresa. Todos os canais devem funcionar. Não criem expectativas irreais. O processo de testes e homologação destas aplicações deve ser mais apurado que em qualquer outro caso. Aplicações B2C Aplicações B2B Business to Business Fornecedores, parceiros de negócio e distribuidores. Impacta na relação entre a empresa e sua cadeia de valor. Portanto, todos os envolvidos devem ser ouvidos. Trata-se de um público mais maleável. As duas pontas possuem interesse em que a aplicação funcione. Aplicações B2B Aplicações B2E Business to Employee Funcionários, colaboradores e contratados Tratam-se de aplicações que irão oferecer aos funcionários e colaboradores melhores condições para melhorar seus processos internos. É fundamental ouvir os usuários, eles não podem se sentir invadidos ou ameaçados ou então a aplicação não será utilizada. O ambiente é sempre conhecido e limitado. Aplicações B2E Aplicações de Relacionamento São aplicações relativamente simples em termos de desenvolvimento sistêmico. São as mais importantes dentro do contexto atual das empresas, onde as pessoas são peças fundamentais em toda cadeia de valor A forma é o fator mais importante: personalização, segurança, usabilidade, navegabilidade, linguagem e identidade visual são fatores decisivos para o sucesso. Devem possuir caminhos alternativos para sua utilização. Aplicações de Relacionamento B2C FAQ, Catálogo de Produtos B2E Clipping, Fórum B2B Eventos, Treinamentos on-line Aplicações de Relacionamento Aplicações Transacionais Processos e serviços a serem gerenciados via web Precisam ser analisados. Não adianta automatizar um processo não funcional. É importante sempre que o usuário saiba o que está fazendo, as implicações e as demais etapas do fluxo a serem cumpridas Oferecer condições de acompanhar o que já foi feito é bastante relevante para este tipo de aplicação A segurança e o tracking são fundamentais. Aplicações Transacionais B2C Loja Virtual, SAC – Fale Conosco B2E Solicitação de serviços, Relatório de Despesas B2B Compra de materiais, Reposição de estoque Aplicações Transacionais Aplicação de Integração Sempre que possível a integração deve ser on-line. O usuário precisa saber quando foi a última alteração da base que está sendo consultada. Podem possuir apenas processos internos de sincronização via web, nestes casos a segurança é fundamental. Alternativas síncronas e assíncronas devem ser consideradas. Não devemos nunca subestimar a complexidade e os riscos de uma integração. Existem muitos “elementos surpresa”. Aplicação de Integração B2C Consulta a conta telefônica, Tracking de pedido B2E Centro de investimentos, Cadastro de funcionários B2B Mapa de remuneração, Acompanhamento de Estoque Aplicações de Integração Aplicações Web X Estrutura A estrutura indica a forma como uma aplicação web será construída. Principais estruturas: Cliente/Servidor 2 Camadas 3 Camadas Estrutura Cliente/Servidor Os usuário se conectam através de browser diretamente ao servidor web que irá atender a todas as requisições. Neste modelo podem ser criadas páginas estáticas ou dinâmicas. Estrutura – 2 Camadas Neste modelo além de um servidor web, a aplicação se baseia em um servidor de dados. As páginas requisitadas ao servidor web via browser, se conectam a um banco de dados e retornam as informações de acordo com os parâmetros informados. Estruturas – 3 Camadas O servidor de aplicação proporciona o relacionamento entre o servidor web e o servidor de banco de dados. As páginas requisitadas via Browser ao servidor web, se conectam ao banco de dados através de objetos e componentes compilados. Servidores Web São programas que respondem chamadas através de conexões TCP/IP com arquivos. Ao serem instalados, criam uma estrutura de diretórios, onde são colocadas as páginas que se deseja fazer acesso. Quando executado o servidor web abre uma porta de comunicação(geralmente 80) para que os usuários possam fazer o seu acesso. Exemplos: Internet Information Services(IIS) e Apache. Servidores Web Atendem a aplicações web pequenas ou médias. Baixo volume de requisições e transações Intranet, webmail e pequenos sites empresariais ou pessoais. Demanda controlada. Servidor de Aplicações São soluções completas de desenvolvimento e gerenciamento de sistemas Simplificam e aceleram o desenvolvimento, integração, distribuição e gerenciamento de software empresarial. Proporciona solução de negócios que integram ambientes empresariais heterogêneos. Servidores de Aplicações Atendem aplicações web corporativas Alto volume de requisições e transações E-commerce e grandes portais(UOL, GLOBO,IG) Demanda Incontrolada Servidores de Aplicações Gerenciamento de usuários integrado com a segurança Cadastro e uso facilitado de certificado de autorização Controle de acesso a componentes da aplicação com filtros de dados Estrutura escalar(recurso de clusters) Dispatchers(seleciona qual servidor ira atender a requisição) Fail Over(tolerância a falhas) Servidores de Aplicação Persistência de sessão Acesso a Banco de Dados(com recursos avançados de conexão) Balanceamento de carga Monitoria de Transações Servidor Web Servidores de Aplicação WebLogicServer Sun Java System Application GlassFish IMB WACE