1 / 40

FEA/USP EAD-5881 – Tecnologia de Informática

FEA/USP EAD-5881 – Tecnologia de Informática. Tecnologia Internet Processamento no Servidor Tecnologias Microsoft e Java Prof. Dr. Antonio Geraldo da Rocha Vidal vidal@usp.br. Scripts no Cliente. São códigos de programação processados pela estação Cliente.

Download Presentation

FEA/USP EAD-5881 – Tecnologia de Informática

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. FEA/USPEAD-5881 – Tecnologia de Informática Tecnologia InternetProcessamento no ServidorTecnologias Microsoft e JavaProf. Dr. Antonio Geraldo da Rocha Vidalvidal@usp.br

  2. Scripts no Cliente • São códigos de programação processados pela estação Cliente. • Tratam apenas de formatações dinâmicas, pequenas consistências de telas e validações de entrada de dados. • São processados por um navegador com capacidade para interpretar a linguagem em que foram escritos. • Maiores problemas: • Incompatibilidade na interpretação da linguagem utilizada no script entre os navegadores disponíveis no mercado. • O código do programador fica exposto ao usuário.

  3. Scripts no Servidor • O uso de linguagens script no computador Cliente não é suficiente para a criação de aplicações voltadas a negócios em sites da Web. • Os scripts no lado Cliente fazem o seu papel na camada de apresentação ao usuário (Interface). • Porém, a ferramenta usada para tratar a camada de regras de negócio e acessar a camada de dados são os scripts no lado do Servidor.

  4. Scripts no ServidorPáginas Ativas no Servidor • Um script no lado do Servidor significa que há um código (programa) embutido numa página Web que é executado pelo Servidor quando um computador Cliente faz uma solicitação. • Este código normalmente: • Obtém dados a partir de fontes de dados (bancos de dados SQL ou arquivos XML); • Executa regras de negócio e; • Constrói uma página HTML para apresentar os resultados obtidos ao usuário. • O resultado final é uma página Web em HTML padrão (compatível com qualquer browser) enviada ao navegador do Cliente.

  5. Páginas Web Dinâmicas • Páginas Web dinâmicas correspondem a “códigos” HTML que foram criados pelo Servidor em resposta a solicitações do Cliente. • Ao contrário das páginas Web estáticas, uma página Web dinâmica não fica fisicamente armazenada no Servidor, pois é dinamicamente criada para responder solicitações específicas dos usuários. • Todo código de programação existente nos scripts é executado no Servidor, e este retorna ao Cliente somente respostas em HTML padrão: • Recebe entradas de • Parâmetros via URL • Dados via Formulários HTML • Pode acessar bases de dados nos servidores, servidores de e-mail, arquivos, documentos XML, mainframes, etc.

  6. Vantagens do Processamento no Servidor • Por que código no servidor? • Acessibilidade • Você pode acessar a Internet de qualquer browser, qualquer dispositivo, a qualquer hora, em qualquer lugar, pois são geradas em HTML padrão • Gerenciamento • Não exige a distribuição de código do aplicativo cliente/servidor • Facilidade para mudar o código e atualizar a aplicação • O resultado do aplicativo é automaticamente distribuído pela rede, pois o aplicativo “roda” no Servidor • Segurança • O código fonte não é exposto • Uma vez que o usuário é autenticado, só pode executar certas ações • Escalabilidade • Arquitetura do aplicativo baseada em 3 camadas • Será o retorno do processamento centralizado?

  7. Desvantagens do Processamento no Servidor • Sobrecarga do Servidor quando milhares de usuários solicitarem execuções de funções dos aplicativos. • Maior vulnerabilidade quanto a questões de segurança. • Dificuldade para controle do “estado da aplicação” para cada usuário.

  8. Gerenciamento de Estado • O estado é um termo usado para descrever as informações que devem ser mantidas para descrever o usuário e o que ele está “fazendo” a cada momento quando está utilizando um aplicativo. • Sendo o HTTP um protocolo sem estado, os aplicativos Web não têm meios “naturais” de controlar quem é o usuário ou o que ele está fazendo. • Os cookies são uma maneira de resolver este problema, e correspondem à uma tecnologia usada para armazenar informações na máquina do usuário.

  9. Gerenciamento de Estado • Quando um usuário acessar o site do aplicativo novamente, o navegador enviará ao servidor o cookie salvo anteriormente. • Isso permite que o aplicativo personalize conteúdos, recupere informações, ou faça o que mais for necessário para atender cada usuário específico. • O aplicativo Web poderá, então, manter o “estado” para cada usuário entre vários acessos subseqüentes. • Outra maneira de manter o estado ou “rastro” dos usuários é manter suas informações e o que fizeram em um banco de dados (no Servidor).

  10. Páginas Ativas no Servidor • Há muitas ferramentas e linguagens que podem criar páginas Web ativas; as tecnologias mais utilizadas são: • Common Gateway Interface (CGI) • Internet Server API (ISAPI) • Perl (Practical Extract Report Language) – Aberta, 1987 • Active Server Pages (ASP) – Microsoft,1995 • Personal Home Page Tools (PHP) – Aberta, 1995 • ColdFusion – Allaire/Macromedia, 1995 • J2EE (Java, Servlets, JSP, JavaBeans, EJB etc.) – Sun & Cia. – 1996 • WebSphere (J2EE) – IBM – 1997 • Oracle Applications (J2EE) – Oracle, 1997 • .NETCommon Language Runtime – Microsoft, 2002 • Abordaremos com algum detalhe apenas as ferramentas mais utilizadas: plataforma Microsoft (ASP) e plataforma Java (J2EE).

  11. Plataforma Microsoft • O ASP é uma tecnologia desenvolvida pela Microsoft para a criação de páginas Web dinâmicas. • Uma página ASP é uma seqüência de HTML estático entremeada com código executado pelo servidor. As linguagens de programação usadas são o VBScript, o JavaScript e o JScript. • Quando surgiram no Servidor Web IIS 3.0 (Internet Information Server), as páginas ASP permitiram criar páginas ativas, baseando-se na recuperação e atualização de conteúdo de banco de dados ou outro sistema. • As páginas ASP foram “revolucionárias”!

  12. HTTP request (form data, HTTP header data) HTTP responseHTML, XML Programação para a WebASP ASP page (static HTML, server-side logic)

  13. Plataforma MicrosoftPáginas ASP • Porém, como o script no Servidor não era compilado, mas interpretado e executado dinamicamente quando um Cliente fazia uma solicitação, o tempo de resposta, portanto, era longo...... • Essa restrição limita bastante a capacidade de atendimento do Servidor ASP para solicitações de milhares de Clientes. • Por esse motivo (entre outros) uma nova tecnologia mais avançada foi desenvolvida, denominada .NET, agora baseada em objetos, componentes e camadas (como o Java). • Além das camadas de apresentação, regras de negócio e dados, várias camadas intermediárias foram acrescentadas. • Um novo modelo de n-camadas incorpora diferentes níveis de componentes compilados no padrão COM (Component Object Model) ou .NET (código gerenciado) e aplicativos diversos.

  14. Plataforma .NET • Ferramentas da plataforma .NET: • Microsoft .NET Enterprise Servers - Servidores • Microsoft Visual Studio .NET – Desenvolvimento • .NET Framework – Infra-estrutura • Microsoft Windows .NET – Sistema Operacional • A tecnologia .NET permite o desenvolvimento em “qualquer” linguagem de programação adaptada ao .NET Framework e à Commom Language Runtime (CLR – linguagem comum utilizada em tempo de execução dos programas).

  15. Componentes e Camadas • Ao dividir as camadas, cada uma pode ser desenvolvida separadamente, desde que as interfaces entre as camadas permaneçam constantes. • Isso fomentou o desenvolvimento de componentes que se apóiam o mínimo possível em linguagens script. • Porém, o script ainda é necessário para chamar estes componentes e formatar (apresentar ao usuário) os dados retornados por eles. • Este modelo tem se provado efetivo na construção de aplicativos Web empresariais, sendo adotado pela maioria dos fornecedores de tecnologia.

  16. Camadas e Componentes Oracle PáginaASP No Servidor .NET .NET .NET SQL Server COM .NET Página HTMLNo Cliente COM Outros APRESENTAÇÃO REGRAS DE NEGÓCIOS DADOS

  17. Modelo de ExecuçãoPlataforma .NET CódigoFonte VB C# C++ Compiler Compiler Compiler Assembly Assembly Assembly MSIL Ngen Common Language Runtime JIT Compiler CLR CódigoNativo Managed Code Managed Code Managed Code Unmanaged Code CLR Services Operating System Services

  18. O Modelo Lógico da Plataforma.NET da Microsoft

  19. O Modelo Lógico do .NET Framework

  20. O Modelo Físico da Plataforma .NET

  21. Web Servicesda .NET Web ServicesPróprios Web Servicesde Terceiros .NET EnterpriseServers Clientes Aplicações Web Form Web Service .NET Framework Windows O Modelo de Serviços Web da Plataforma .NET Protocolos: HTTP,HTML, XML, SOAP, UDDI Ferramentas:Visual Studio.NET,Notepad

  22. Linguagem C#(lê-se C-sharp) • Nova linguagem criada especialmente para a plataforma .NET (semelhante à linguagem Java) • Utiliza o .NET Framework • Parte do Visual Studio.NET • Submetida para o ECMA para padronização • Conceitos chave: • Orientada a componentes • Tudo é um objeto • Código robusto e durável • Preservando seu investimento

  23. Acesso a Banco de Dados • O acesso a banco de dados é feito através de objetos servidores, como o ADO (Active Data Objects) da Microsoft. • O ADO possui um mecanismo de comunicação com servidores de objetos COM (Component Object Model), como os servidores de bancos de dados.

  24. Acessando Banco de Dados • O ADO é uma coleção de objetos ou componentes utilizados para conexão, recuperação, alteração, inclusão e exclusão de registros em bancos de dados padrão ODBC – Open Database Connectivity e OLE DB. • Os objetos ADO são automaticamente instalados com o Servidor Web Microsoft Internet Information Server (IIS), versão 3.0 ou posterior. • Os objetos ADO são chamados através de páginas ativas e executados no servidor Web, retornando as informações de bancos de dados em formato HTML.

  25. Acessando Banco de Dados • A coleção de objetos ADO constitui uma camada intermediária entre a página ativa e o banco de dados. • Para acessar o banco de dados, são escritos códigos nas páginas ativas que configurarão propriedades e utilizarão os métodos dos objetos ADO. • A comunicação dos objetos ADO com o banco de dados é feita através de padrões: • OLE-DB baseado na tecnologia COM – Component Object Model; • ODBC ou banco de dados que possuem drives padrão ODBC (Open Database Connectivity).

  26. Interface de Componentes para Acesso a Banco de Dados Página HTMLAtiva/Dinâmica

  27. ADO.NET • Semelhante ao ADO, mas melhor elaborado • Acesso a dados independente da linguagem • Suporta dois estilos de acesso: • Desconectado com atualização • Acesso forward-only e read-only • Suporta DataBinding (ligações a dados) • Suporta DataSet (coleção de tabelas de dados) • Pode acessar e processar dados no formato relacional (tabelas SQL) ou hierárquico (XML)

  28. Objetos Consumidores DataSet DataTable DataRow DataColumn DataRelation Objetos Provedores Connection Command CommandBuilder DataReader DataAdapter ADO.NET“System.Data” • Acesso a dados SQL ou XML • Usa o XML para comunicação entre camadas

  29. Plataforma J2EE (Java)Sun & Parceiros • J2EE (Java 2 Platform, Enterprise Edition) é um conjunto de normas e componentes para o desenvolvimento de aplicações para a Web. • Pode ser entendido como um conjunto de componentes que, trabalhando em colaboração, contribui para a construção das múltiplas camadas que constituem o aplicativo. • Esses componentes foram desenvolvidos com o objetivo de facilitar a interação entre as diversas funções da aplicação.

  30. Características da Plataforma J2EE • Portabilidade: a linguagem utilizada é o JAVA. • APIs JDBCTM : componentes para acesso a bancos de dados relacionais. • CORBA (JavaIDL e RMI-IIOP): componentes para interação com sistemas internos da empresa. • EJB (Enterprise JavaBeansTM) : componentes Java para implementar regras de negócios. • APIs Java ServLets : componentes para interfaces com parceiros de negócios. • JSP (Java Server PagesTM): linguagem para a criar e gerenciar a interação com o usuário e utilização dos demais componentes.

  31. Modelo de ExecuçãoJava Bytecodes são uma linguagem intermediária independente de plataforma. Pode haver um Interpretador de bytecodes para cada plataforma.

  32. Plataforma J2EE • Disponibiliza um “emaranhado” de componentes que permitem construir um conjunto abrangente de soluções. • Desenvolvida com base na colaboração entre vários parceiros da Sun, constituindo-se numa “filosofia” de trabalho para o desenvolvimento de sistemas, robusta e cada vez mais aceita. • Toda solução ou aplicativo é construído baseado em componentes, desenvolvidos de acordo com as regras do negócio.

  33. Plataforma J2EE • Os diferentes papeis e funcionalidades do aplicativo são encapsulados em camadas: • Apresentação: páginas HTML, applets Java, APIs Java ServLets, JSP ou componentes Java. • Regras de Negócio: componentes EJB • Dados: bancos de dados relacionais, repositórios de arquivos, XML, sistemas legados ou parceiros de negócios. • Como é necessário instalar alguns componentes no Cliente, a plataforma oferece funcionalidades de download.

  34. O Modelo Lógico daPlataforma J2EE

  35. servidor web cliente servidor de aplicativos servidor base de dados browser HTML cookies XML api's web server data base server application server browser Java servlet Java VM DataBase driver Java applets JSP EJB beans Java VM middleware JDBC sockets / object desktop Java JRE beans double-tier XML triple-tier lógica de apresentação lógica dos negócios api's quadruple-tier <=processo=> objeto <=processo=> objeto <=processo=> objeto <=processo=> Aplicativos Java emMúltiplas Camadas

  36. O Modelo Físico daPlataforma J2EE

  37. Plataforma J2EE • O modelo de aplicações com a tecnologia J2EE divide uma aplicação em 3 partes: • Interfaces: intercedem entre os Clientes e os componentes, fornecendo uma comunicação transparente entre ambos; • Componentes: implementam a lógica do negócio; • Conectores: APIs que fazem a ligação entre o “mundo externo” e a aplicação J2EE.

  38. Principais Fornecedores daPlataforma J2EE • IBM: WebSphere • WebSphere Studio Application Developer • WebSphere Application Server • WebSphere UDDI Registry • Oracle • Oracle JDeveloper • Oracle Forms Developer • Oracle Designer • Oracle Reports Developer • Oracle Discoverer • Oracle SCM (Oracle Repository) • Oracle Warehouse Builder • BEA: WebLogic • BEA WebLogic Enterprise • BEA WebLogic Server • BEA Tuxedo

  39. Comparação das PlataformasJ2EE X Microsoft .NET

  40. Construção de Aplicativos Internet XML Sun & Cia. Microsoft

More Related