A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Processamento no Servidor - Prof. Antonio Geraldo da Rocha Vidal

Apresentações semelhantes


Apresentação em tema: "Processamento no Servidor - Prof. Antonio Geraldo da Rocha Vidal"— Transcrição da apresentação:

1 Processamento no Servidor - Prof. Antonio Geraldo da Rocha Vidal
FEA/USP EAD-5881 – Tecnologia de Informática Tecnologia Internet Processamento no Servidor Tecnologias Microsoft e Java Prof. Dr. Antonio Geraldo da Rocha Vidal FEA/USP - EAD Tecnologia de Informática

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 Servidor Pá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 , 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 .NET Common 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 Programação para a Web ASP
Processamento no Servidor - Prof. Antonio Geraldo da Rocha Vidal Programação para a Web ASP HTTP request (form data, HTTP header data) HTTP response HTML, XML ASP page (static HTML, server-side logic) An ASP page receives input from a HTTP request, and then dynamically generates a new HTML page that is returned to the client. ASP can also return XML or other types of data. FEA/USP - EAD Tecnologia de Informática

13 Plataforma Microsoft Pá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 .NET .NET .NET SQL Server COM .NET
Página ASP No Servidor .NET .NET .NET SQL Server COM .NET Página HTML No Cliente COM Outros APRESENTAÇÃO REGRAS DE NEGÓCIOS DADOS

17 Modelo de Execução Plataforma .NET
Processamento no Servidor - Prof. Antonio Geraldo da Rocha Vidal Modelo de Execução Plataforma .NET Código Fonte VB C# C++ Compiler Compiler Compiler MSIL Assembly Assembly Assembly Ngen Common Language Runtime JIT Compiler Código Nativo CLR When an assembly starts running, the JIT (Just In Time) compiler in the Common Language Runtime converts the IL in the assembly to efficient machine code. It is this code that is actually executed. The Native Image Generator (Ngen.exe) creates a native image image from an assembly and installs it on a machine. Managed Code Managed Code Managed Code Unmanaged Code CLR Services Operating System Services FEA/USP - EAD Tecnologia de Informática

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 O Modelo de Serviços Web da Plataforma .NET
Clientes Aplicações Web Form .NET Framework Windows Web Service Protocolos: HTTP, HTML, XML, SOAP, UDDI Ferramentas: Visual Studio.NET, Notepad Web Services Próprios Web Services da .NET Web Services de Terceiros .NET Enterprise Servers

22 Linguagem C# (lê-se C-sharp)
Processamento no Servidor - Prof. Antonio Geraldo da Rocha Vidal 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 C# is a new language designed to take advantage of most of the features of the .NET Framework. C# was designed from the ground up to support component concepts like events, methods and properties. In C#, everything is an object, which allows the creation of very clean designs. C# was designed to make it easy to create robust and maintainable software. C# should allow you to preserve your existing investment by integrating easily with your existing code. FEA/USP - EAD Tecnologia de Informática

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 HTML Ativa/Dinâmica

27 Processamento no Servidor - Prof. Antonio Geraldo da Rocha Vidal
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) ADO.NET evolves from ADO, and is designed to deal with the issues of state, scalability and XML compatibility. Although existing ADO developers will find all of the old ADO classes inside the ADO.NET data model, they will also find that a few new classes have been introduced, including the DataSets, DataReaders and DataSetCommands classes. FEA/USP - EAD Tecnologia de Informática

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

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ção Java
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 da Plataforma J2EE

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

36 O Modelo Físico da Plataforma 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 da Plataforma 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 Plataformas J2EE X Microsoft .NET
Característica J2EE .NET Tipo de Tecnologia Padrão Aberto Produto Fornecedores Mais de 30 Microsoft Linguagem Java C#, VB.NET, C++, JavaScript, JScript Interpretador JRE (Java Runtime Environment) CLR (Commom Language Runtime) Páginas Dinâmicas JSP (Java Server Pages) ASP.NET (Active Server Pages) Componentes de Negócio EJB (Enterprise Java Beans) .NET Managed Components Acesso a Banco de Dados JDBC SQL/J ADO.NET (Active Data Objects) Suporte a SOAP, WSDL, UDDI Sim Funcionalidade de interface

40 Construção de Aplicativos Internet
Processamento no Servidor - Prof. Antonio Geraldo da Rocha Vidal Construção de Aplicativos Internet XML Sun & Cia. Microsoft FEA/USP - EAD Tecnologia de Informática


Carregar ppt "Processamento no Servidor - Prof. Antonio Geraldo da Rocha Vidal"

Apresentações semelhantes


Anúncios Google