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