Sistemas de InformaçBases de Dados 2012/2013 ... · • Web Browsers apresentam o conteúdo do de...

36
© 2012 IST Sistemas de InformaçBases de Dados 2012/2013 Desenvolvimento de Aplicações com Bases de Dados Alberto Sardinha

Transcript of Sistemas de InformaçBases de Dados 2012/2013 ... · • Web Browsers apresentam o conteúdo do de...

©  2012  IST  

Sistemas de InformaçBases de

Dados 2012/2013

Desenvolvimento de Aplicações com Bases de Dados

Alberto Sardinha

©  2012  IST  

Bibliografia

•  Raghu Ramakrishnan, Database Management Systems 3rd ed,

Cap. 6 e 7

1  

©  2012  IST  

Sumário

•  Acesso a BD a partir de aplicações •  Aplicações Web: a arquitectura de 3

camadas

•  Exemplos de aplicações

2  

©  2012  IST  

SQL em Aplicações

•  Os comandos SQL podem ser chamados através de uma aplicação informática

– Escrita numa qualquer linguagem •  Java, C, PHP, Perl, Python, …

©  2012  IST  

Adaptação de Dados

•  A saída de uma interrogação SQL é um conjunto de tuplos

•  Este tipo de dados normalmente não

existe nas linguagens de programação

©  2012  IST  

Duas abordagem de integração

Estática: SQL embebido na linguagem •  Embedded SQL •  SQLJ, uma extensão ao Java

Dinâmica: API para invocar comandos SQL •  Dynamic SQL •  JDBC (Java DataBase Connectivity)

5  

©  2012  IST  

APLICAÇÕES NA INTERNET

©  2012  IST  

Protocolo HTTP

•  É um protocolo cliente-servidor:

– Cliente (e.g. Web browser) envia pedido para o servidor HTTP

•  URI (Uniform Resource Identifiers) –  http://www.di.fc.ul.pt/index.php

– E o servidor envia a resposta para o cliente

©  2012  IST  

Exemplo de Pedido

GET index.html HTTP/1.1 User-agent: Mozilla/4.0 Accept: text/html, image/gif, image/jpeg

©  2012  IST  

Exemplo de Resposta

HTTP/l.l 200 OK!Date: Mon, 04 Mar 2002 !12:00:00 GMT!Content-Length: 1024!Content-Type: text/html!Last-Modified: !Mall, 22 JUIl 1998 !09:23:24 GMT!<HTML>!<HEAD>!</HEAD>!<BODY>!

!<H1>Barns and Nobble Internet Bookstore</H1>!!Our inventory:!!<H3>Science</H3>!!<B>The Character of Physical Law</B>!

</BODY>!</HTML>!

!

©  2012  IST  

HTML

•  É uma markup language porque anota o texto com etiquetas (tags): – <HTML> … </HTML> – <TITLE> … </TITLE> – <H3> … </H3>

•  Web Browsers apresentam o conteúdo do de uma forma "gráfica" ao utilizador

©  2012  IST  

Arquitectura em três camadas

©  2012  IST  

Componentes

•  Camada de Apresentação – Web Browser

•  Camada Intermédia – Servidor Web (HTTP)

•  Camada de Gestão de Dados – SGBD

•  Oracle, MySQL •  SQL Server

©  2012  IST  

Vantagens de usar 3 camadas •  Independência entre camadas

– Pode-se trocar o software de uma camada sem afectar outra camada

•  Clientes não consomem muitos recursos (thin clients) – Só interpretam HTML; tipicamente Web browsers

•  Escalabilidade para muitos Clientes – Podem-se usar várias máquinas como servidor

•  Desenvolvimento mais fácil – Mais fácil a reutilização de componentes já

implementadas

©  2012  IST  

APLICAÇÕES INTERNET E COMÉRCIO ELETRÓNICO

©  2012  IST  

Bibliografia

•  Ecommerce Lecture – http://www.sts.tu-harburg.de/~r.f.moeller/

lectures/ec-ws-04-05.html •  Livro

–  Electronic Commerce, Gary Schneider, 9th edition (2010)

15  

©  2012  IST  

Comércio Eletrónico

•  Comércio eletrónico é a venda e compra de produtos e serviços utilizando tecnologias de sistemas de informação

•  História (“3 Waves of E-Commerce”) 1.  Informações de marketing nos web sites 2.  Aceitar pedidos pela Internet 3.  Construção de Electronic Exchanges

16  

©  2012  IST  

Tipos de E-Commerce •  O Comércio Electrónico pode-se dividir em vários tipos:

–  business-to-business (B2B) •  Comércio eletrónico entre empresas

–  business-to-consumer (B2C) •  Comércio eletrónico entre empresas e consumidores

–  consumer-to-consumer (C2C) •  Comércio eletrónico entre consumidores

–  Mobile commerce (m-Commerce) •  Comércio eletrônico através de dispositivos móveis

–  Há mais! (por exemplo, business-to-government (B2G))

17  

©  2012  IST  

Tipos de E-Commerce

•  Exemplos de business-to-business (B2B) –  Intel vendendo microprocessadores para a Dell

– Heinz vendendo ketchup para o Mc Donalds

18  

©  2012  IST  

Tipos de E-Commerce

•  Exemplos de business-to-consumer(B2C)

– Dell vendendo um portátil para um Consumidor

19  

©  2012  IST  

Tipos de E-Commerce

•  Exemplos de consumer-to-consumer(C2C)

– João vendendo um iPhone para a Mariapelo eBay

20  

©  2012  IST  

Modelos de Negócios

•  Advertising Model •  Broker / Brokerage Model •  Merchant Model •  Manufacturer Model •  Community Model •  Há mais! (http://digitalenterprise.org/

models/models.html)

21  

©  2012  IST  

Advertising Model •  Web site que oferece:

– Conteúdo – Serviços – Anúncios (publicidade)

•  Exemplos: – Google – Yahoo – MSN –  etc

22  

©  2012  IST  

Advertising Model

23  

©  2012  IST  

Brokerage Model

•  Web site que aproximam: – Vendedores – Compradores

•  Exemplos: –  eBay (Consumidor èConsumidor) – Priceline.com (Companhia Aérea èConsumidor) – Hotels.com (Hotéis èConsumidor) –  etc

24  

©  2012  IST  

Brokerage Model

25  

©  2012  IST  

Merchant Model

•  Web site para vendas de produtos/serviços – Na maioria dos casos são vendas a retalho

•  Exemplos:

– Amazon.com – Apple iTunes Store – etc

26  

©  2012  IST  

Merchant Model

27  

©  2012  IST  

Manufacturer Model

•  Web site de produtores para vender produtos/serviços – Também conhecido como Direct Model

•  Exemplos:

– Dell – Apple – etc

28  

©  2012  IST  

Manufacturer Model

29  

©  2012  IST  

Community Model

•  Web site para utilizadores que querem criar uma comunidade – Baseado em “lealdade”

•  Exemplos: – Facebook – Wikipedia – etc

30  

©  2012  IST  

Community Model

31  

©  2012  IST  

Community Model

32  

©  2012  IST  

Comércio Eletrónico e Bases de Dados

•  Todas estas aplicações têm uma BASE DE DADOS

33  

©  2012  IST  

Vantagens •  A base de dados pode ser utilizada para:

– Melhorar o tempo de resposta das pesquisas aos produtos (por exemplo, com índices)

– Garantir que várias operações são feitas de forma atômica (por exemplo, registar vendas + pontos/milhas com transações)

– Analisar dados (por exemplo, analisar vendas com OLAP)

34  

©  2012  IST  

Sumário

•  Acesso a BD a partir de aplicações •  Aplicações Web: a arquitectura de 3

camadas

•  Exemplos de aplicações

•  Próxima Aula: Índices em SQL 35