3. 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
4. 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
5. 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
6. 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>
7. 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;
}
8. 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();
}
9. 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)
10. 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();