web services

10
lder Oliveira [email protected] ASP .NET – Conceitos Básicos C# Web Services C# Programação em C# Hélder Oliveira helderjmo@gmail.

Upload: helder-oliveira

Post on 27-Jun-2015

184 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Web services

Web Services

C# Programação em C#

Hélder Oliveira [email protected]

Page 2: Web services

Hélder Oliveira [email protected] ASP .NET – Conceitos Básicos

C# Sumário

Page 3: Web services

Hélder Oliveira [email protected] ASP .NET – Conceitos Básicos

C# Introdução

• 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

Page 4: Web services

Hélder Oliveira [email protected] ASP .NET – Conceitos Básicos

C# Especificações

• 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

Page 5: Web services

Hélder Oliveira [email protected] ASP .NET – Conceitos Básicos

C# Exemplo Prático em C#

• 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

WinForm r10

SOAP

HTTP HTTP HTTP

SOAP SOAP

HTTP HTTP HTTP

Page 6: Web services

Hélder Oliveira [email protected] ASP .NET – Conceitos Básicos

C# Exemplo Prático - Servidor

• Servidor (Web Service):1. Criar um projecto do tipo Web Application, Web Service2. Configurar a ConnectionString no ficheiro web.config:

Exemplo:<connectionStrings> <add name="defaultConnectionString" connectionString="Data Source=.\

SQLEXPRESS;Initial Catalog=dbtest;Integrated Security=True" /></connectionStrings>

Page 7: Web services

Hélder Oliveira [email protected] ASP .NET – Conceitos Básicos

C# Exemplo Prático - Servidor

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["defaultConnectionString"].ConnectionString);

connection.Open();

DataSet ds = new DataSet();

da = new SqlDataAdapter("SELECT * FROM VENDAS", connection);

da.Fill(ds, "Vendas");

connection.Close();

return ds;

}

Page 8: Web services

Hélder Oliveira [email protected] ASP .NET – Conceitos Básicos

C# Exemplo Prático - Servidor• 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["defaultConnectionString"].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();}

Page 9: Web services

Hélder Oliveira [email protected] ASP .NET – Conceitos Básicos

C# Exemplo Prático – Cliente

• 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)

Page 10: Web services

Hélder Oliveira [email protected] ASP .NET – Conceitos Básicos

C# Exemplo Prático – Cliente

• 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();