Desenvolvimento de Aplicações para WEB Histórico Aplicações isoladas (batch) Tecnologia de Redes e de SGBD Arquitetura Cliente x Servidor Internet Vantagens Estratégicas para as Empresas O Que é uma Aplicação WEB? Aplicação desenvolvida para ser executada na Internet. Não é apenas uma substituição da plataforma cliente/servidor e sim um novo conceito de comunicação entre a empresa, seus clientes e seus membros. Fases de Implementação dos Web Sites 1) Provê informações de marketing e sobre produtos, mas de uma forma estática, pela utilização pura e simples de páginas HTML. 2) Provê informações dinâmicas sobre serviços, por exemplo, possibilitando acesso a um catálogo ou uma procura sobre conexões de vôos. Fases de Implementação dos Web Sites 3) Provê serviços transacionais, associados a sistemas corporativos, muitas vezes isolados nos chamados “Sistemas Legados” . Desafio: Integração de Sistemas Metodologia Metodologias de Análise Orientada a Objeto UML – (Unified Modeling Language) • Gerenciamento de aplicações com objetos distribuídos. • Cliente Universal x Cliente/Servidor de três camadas Tecnologias ASP (Active Server Pages) PHP (Hypertext Preprocessor) Tendências Atuais Integração de Sistemas Desenvolvimento rápido de aplicações (RAD), para distribuição, manutenção e integração dos sistemas corporativos Objetos distribuídos + Web = ObjectWeb SO Linux Computação com Objetos Distribuídos INTERNET COMPUTAÇÃO C/ OBJETOS DISTRIBUÍDOS INTERESSES CONVERGENTES Computação com Objetos Distribuídos INTERNET : Provê plataforma ideal para aplicações com objetos distribuídos. IMPULSIONA CRESCIMENTO DE APLICAÇÕES WEB Computação com Objetos Distribuídos DISTRIBUIÇÃO DE OBJETOS AUMENTA A QUALIDADE DAS APLICAÇÕES WEB, AGREGANDO VALORES À INTERNET E INTRANETS CORPORATIVAS. Arquitetura em Camadas CAMADA 1 CAMADA 2 CAMADA 3 Chamada de Consulta URL + Entradas Formulário HTML Formulário HTML NAVEGADOR DA WEB SERVIDOR DE BANCO DE DADOS SERVIDOR DA WEB HTTP CGI Principais Padrões para Computação Distribuída DCE (Distributed Computing Environment) CORBA (Common Object Request Broker Architecture) COM (Component Object Model) / DCOM RMI (Remote Method Invocation) TCP/IP Sockets programming EJB (Enterprise Java Beans) CORBA CORBA é um conjunto de padrões, incluindo: Linguagem para definição de interfaces (IDL) Mapeamentos IDL para diferentes linguagens de programação Protocolo para comunicação entre objetos em diferentes ORBs (IIOP) CORBA Referências a objetos, IOR (Interoperable Object Reference) Métodos para se descobrir objetos a nível de rede Interoperabilidade, portabilidade, independência (plataformas, linguagens e fornecedores) CORBA Modelo para desenvolvimento de aplicações com objetos distribuídos Que objetos podem atuar como clientes ou servidores ou ambos. Suporte para desenvolvimento e administração de serviços de rede, tais como, naming, events, trading, security, transactions, entre outros JAVA: Uma extensão natural às especificações CORBA Linguagem poderosa e fácil de usar , para construir aplicações distribuídas do lado cliente. Linguagem e um ambiente para desenvolver aplicações que rodem em Web servers. INDEPENDÊNCIA DE PLATAFORMA JAVA x Aplicações Corporativas x Padrão CORBA JAVA: Estado da Arte em LOO Portabilidade entre plataformas; Programação Internet; Linguagem totalmente OO; Modelo de componentes JAVA x Aplicações Corporativas x Padrão CORBA CORBA : Complementa especificações JAVA Interfaces definidas de forma independente de suas implementações; Acesso a objetos implementados em outras linguagens de programação; JAVA x Aplicações Corporativas x Padrão CORBA Acesso a objetos, independentemente de sua localização; Geração automática de código para lidar com chamadas remotas; Acesso a todos os serviços e facilidades CORBA (naming, trading, event, transaction service, security service, etc…) Ferramentas/Tecnologias para Sistemas Corporativos 1) APIs para acesso a dados JDBC Mapeamento Objeto-Relacional Extensible Markup Language (XML) Ferramentas/Tecnologias para Sistemas Corporativos 2) APIs para comunicação entre objetos Remote Method Invocation (RMI) Common Object Request Broker Architecture (CORBA / JavaIDL) Remote Method Invocation - Internet InterORB Protocol (RMI – IIOP) Enterprise JavaBeans (EJB) Ferramentas/Tecnologias para Sistemas Corporativos 3) APIs Enterprise Java Naming and Directory Interface (JNDI) Java Message Service (JMS) JavaMail (Jmail) Java Transaction Service (JTS) Java Cryptography Extensions (JCE) Servlets / JSP Sistema de Custos na WEB Benefícios Obtidos com o Uso de Aplicações WEB Redução Drástica do TCO (Custo Total de Propriedade) Arquitetura Aberta Uso Eficaz de Recursos Onipresença Nova Interface Conclusão O desenvolvimento de aplicações WEB, em ambiente corporativo, envolve projetos de grande complexidade, com necessidade de integração entre ambientes heterogêneos, utilização de metodologia e grande capacitação tecnológica. Conclusão Entretanto, os resultados e benefícios obtidos são fatores preponderantes para o sucesso das grandes corporações. Equipe Cristiana Neves Moreno Juliana Medeiros Regina M. Gomes Ferreira Rivaldo Cassimiro Júnior