Web Services
Hélder Oliveira helderjmo@gmail.com
Hélder Oliveira helderjmo@gmail.com ASP .NET – Conceitos Básicos
Hélder Oliveira helderjmo@gmail.com ASP .NET – Conceitos Básicos
• Os WebServices são serviços disponíveis como
aplicações Web
• Usam os mesmos meios que as aplicações Web (HTML)
• Baseiam-se em XML e o padrão SOAP
• É uma tecnologia universal que visa estabelecer
interoperabilidade entre sistemas de natureza
diferente
• Basicamente, na pratica, visa permitir a execução
remota de procedimentos e funções via HTTP
• A .NET Framework oferece suporte a este tipo de
tecnologia desde as suas primeiras versões
Hélder Oliveira helderjmo@gmail.com ASP .NET – Conceitos Básicos
• SOAP – Oferece o suporte às mensagens trocadas via HTTP ou
HTTPS para implementação do serviço
• WSDL – Especifica a forma como devem ser descritos Web
Services. É através desta especificação que, por exemplo, é
possível que métodos determinado WebService disponibliza
• UDDI – É um protocolo para publicação de Web Services, ou
seja, funciona como as páginas amarelas dos Web Services
Hélder Oliveira helderjmo@gmail.com ASP .NET – Conceitos Básicos
• Objectivo: implementar um simples serviço web para leitura e
escrita de registos de vendas
• Dadas as semelhanças, os Web Services são implementados num
ambiente similar ao usado em aplicações Web
• A arquitectura caracteriza-se basicamente numa aplicação windows
que interage com os dados de uma Base de Dados remota através
de Web Services:
-
WS
SOAP
HTTP HTTP HTTP
SOAP SOAP
HTTP HTTP HTTP
Hélder Oliveira helderjmo@gmail.com ASP .NET – Conceitos Básicos
• Servidor (Web Service):
1. Criar um projecto do tipo Web Application, Web Service
2. Configurar a ConnectionString no ficheiro web.config:
Exemplo:
<connectionStrings>
<add name="defaultConnectionString" connectionString="Data
Source=.SQLEXPRESS;Initial Catalog=dbtest;Integrated Security=True" />
</connectionStrings>
Hélder Oliveira helderjmo@gmail.com ASP .NET – Conceitos Básicos
3. Função GetVendas – Destina-se a devolver um DataSet com uma única
tabela, correspondente à lista de vendas
[WebMethod]
public DataSet GetVendas()
{
SqlConnection connection = new
SqlConnection(ConfigurationManager.ConnectionStrings["de
faultConnectionString"].ConnectionString);
connection.Open();
DataSet ds = new DataSet();
da = new SqlDataAdapter("SELECT * FROM VENDAS",
connection);
da.Fill(ds, "Vendas");
connection.Close();
return ds;
}
Hélder Oliveira helderjmo@gmail.com ASP .NET – Conceitos Básicos
• Função SetVendasChanges – Recebe uma tabela com as alterações. As
alterações na Base de Dados são realizadas pela aplicação de um
Command Builter (SqlCommandBuilder):
[WebMethod]
public void SetVendasChanges(DataSet inputds){
SqlConnection connection = new
SqlConnection(ConfigurationManager.ConnectionStrings["defaultConnecti
onString"].ConnectionString);
connection.Open();
da = new SqlDataAdapter("SELECT * FROM VENDAS", connection);
if (da == null)
return;
SqlCommandBuilder cb = new SqlCommandBuilder(da);
da.Update(inputds,"Vendas");
inputds.AcceptChanges();
connection.Close();
}
Hélder Oliveira helderjmo@gmail.com ASP .NET – Conceitos Básicos
• A ligação de um cliente ao
Serviço Web faz-se pela
adição de uma referência
Web, de forma idêntica à
adição de uma referência a
uma outra assembly
• Deve ser espefificado o url
referente ao serviço (que
deve estar a correr)
Hélder Oliveira helderjmo@gmail.com ASP .NET – Conceitos Básicos
• Estabelecida a ligação ao servidor via Web Service, todos os
objectos aí disponíveis podem ser instanciados de forma
transparente – sem qualquer procedimento adicional além do
procedimento normal
• Exemplo:
localhost.Service srv = new localhost.Service();
DataSet ds = new DataSet();
ds = srv.GetVendas();

Web services

  • 1.
    Web Services Hélder Oliveirahelderjmo@gmail.com
  • 2.
    Hélder Oliveira helderjmo@gmail.comASP .NET – Conceitos Básicos
  • 3.
    Hélder Oliveira helderjmo@gmail.comASP .NET – Conceitos Básicos • Os WebServices são serviços disponíveis como aplicações Web • Usam os mesmos meios que as aplicações Web (HTML) • Baseiam-se em XML e o padrão SOAP • É uma tecnologia universal que visa estabelecer interoperabilidade entre sistemas de natureza diferente • Basicamente, na pratica, visa permitir a execução remota de procedimentos e funções via HTTP • A .NET Framework oferece suporte a este tipo de tecnologia desde as suas primeiras versões
  • 4.
    Hélder Oliveira helderjmo@gmail.comASP .NET – Conceitos Básicos • SOAP – Oferece o suporte às mensagens trocadas via HTTP ou HTTPS para implementação do serviço • WSDL – Especifica a forma como devem ser descritos Web Services. É através desta especificação que, por exemplo, é possível que métodos determinado WebService disponibliza • UDDI – É um protocolo para publicação de Web Services, ou seja, funciona como as páginas amarelas dos Web Services
  • 5.
    Hélder Oliveira helderjmo@gmail.comASP .NET – Conceitos Básicos • Objectivo: implementar um simples serviço web para leitura e escrita de registos de vendas • Dadas as semelhanças, os Web Services são implementados num ambiente similar ao usado em aplicações Web • A arquitectura caracteriza-se basicamente numa aplicação windows que interage com os dados de uma Base de Dados remota através de Web Services: - WS SOAP HTTP HTTP HTTP SOAP SOAP HTTP HTTP HTTP
  • 6.
    Hélder Oliveira helderjmo@gmail.comASP .NET – Conceitos Básicos • Servidor (Web Service): 1. Criar um projecto do tipo Web Application, Web Service 2. Configurar a ConnectionString no ficheiro web.config: Exemplo: <connectionStrings> <add name="defaultConnectionString" connectionString="Data Source=.SQLEXPRESS;Initial Catalog=dbtest;Integrated Security=True" /> </connectionStrings>
  • 7.
    Hélder Oliveira helderjmo@gmail.comASP .NET – Conceitos Básicos 3. Função GetVendas – Destina-se a devolver um DataSet com uma única tabela, correspondente à lista de vendas [WebMethod] public DataSet GetVendas() { SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["de faultConnectionString"].ConnectionString); connection.Open(); DataSet ds = new DataSet(); da = new SqlDataAdapter("SELECT * FROM VENDAS", connection); da.Fill(ds, "Vendas"); connection.Close(); return ds; }
  • 8.
    Hélder Oliveira helderjmo@gmail.comASP .NET – Conceitos Básicos • Função SetVendasChanges – Recebe uma tabela com as alterações. As alterações na Base de Dados são realizadas pela aplicação de um Command Builter (SqlCommandBuilder): [WebMethod] public void SetVendasChanges(DataSet inputds){ SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["defaultConnecti onString"].ConnectionString); connection.Open(); da = new SqlDataAdapter("SELECT * FROM VENDAS", connection); if (da == null) return; SqlCommandBuilder cb = new SqlCommandBuilder(da); da.Update(inputds,"Vendas"); inputds.AcceptChanges(); connection.Close(); }
  • 9.
    Hélder Oliveira helderjmo@gmail.comASP .NET – Conceitos Básicos • A ligação de um cliente ao Serviço Web faz-se pela adição de uma referência Web, de forma idêntica à adição de uma referência a uma outra assembly • Deve ser espefificado o url referente ao serviço (que deve estar a correr)
  • 10.
    Hélder Oliveira helderjmo@gmail.comASP .NET – Conceitos Básicos • Estabelecida a ligação ao servidor via Web Service, todos os objectos aí disponíveis podem ser instanciados de forma transparente – sem qualquer procedimento adicional além do procedimento normal • Exemplo: localhost.Service srv = new localhost.Service(); DataSet ds = new DataSet(); ds = srv.GetVendas();