ASP.NET XML webservices
Novembro 30, 2008 at 5:26 am | In .NET, C#, TI, Tecnologia | Leave a CommentTags: .NET, ASP.NET, Web Services, XML
Hoje falaremos sobre XML webservices, um pouca da sua história e o objetivo dele ter sido desenvolvido e estaremos criando e consumindo um ao final deste artigo.
Simplificando a utilidade dos webservices teremos uma explicação simples que é a integração de sistemas distintos mas que precisam trocar informações.
Antigamente essa integração era feita via RPC ( Remote Procedure Call ) e depois evoluiu para RPC – over http no qual utilizava a porta 143 para se comunicar. A tecnologia RPC tem vários problemas, são eles:
• A data dos sistemas que estão tentando trocar informações devem estar sincronizadas, isto é, exatamente iguais.
• Existiam muitas diferenças na linguagem quando os sistemas eram diferentes.
• As chamadas eram síncronas.
Portanto para acabar com todos esses problemas foi criado o webservices utilizando o XML como linguagem de comunicação. O XML foi implantado e padronizado pela W3C.
Existem alguns itens que são importantes saber para criarmos um webservices:
WSDL – Web Service Description Language – Nele estão descriminados todos os pontos de entrada, descrição de classes, métodos e outras informações. ( Ele é criado de acordo com as regras da W3C)
DISCO – Discovery – Armazena os contratos com relação ao webservices ( Ele é gerado somente por webservices da Microsoft)
UDDI – WWW.uddi.org – Funciona como as páginas amarelas dos webservices onde você pode cadastrar o seu webservices e disponibiliza-lo ao público e também achar e consumir algum do seu interesse.
SOAP – Simple Object Access Protocol – É a linguagem que os webservices utilizam para trafegar as informações entre eles.
Existem 2 tipos de chamadas quando estamos consumindo um webservices
1. Direct call – Chamadas feitas direto do browser para o webservices.
2. Proxy call – Aplicação fazendo chamadas para o webservices onde não tem uma camada de apresentação.
Bom, agora vamos botar a mão na massa e criar e consumir nosso webservices.
Vamos abrir o Visual Studio 2008 SP 1 e criar um projeto do tipo ASP.NET Web Services application.

Iremos perceber que ele já criou um WebMethod de exemplo quer se chamarmos ele irá nos retornar um “Hello World”.
Agora vamos criar um método nosso onde ele irá receber 2 numeros, fazer a soma deles e retornar o resultado.
Nosso código ficará assim:

Simplesmente fazendo isso nós já temos nosso webservices pronto para funcionar. Lembrando que o webservices é como se fosse um website então se quisermos botar para funcionar devemos simplesmente criar o diretório virtual no IIS, mas como estão rodando nossa aplicação no VS 2008 ele criará o web Server virtual para nós.
Iremos criar agora uma aplicação web e montar nossa tela de input. Vamos adicionar um projeto a nossa solução

Nossa tela ficará assim:

De um Build na solução para ver se não tem nenhum erro.
Agora iremos adicionar a referencia do nosso WebService ao nosso projeto web para que possamos consumir e chamar o método que criamos.
Para adicionar a referencia, clique com o botão direito em cima do projeto web no solution Explorer e clique em Add Service Reference

Depois na próxima tela clique em Discovery , selecione o nosso webservices que ele achou automaticamente e clique em OK.

Feito isso iremos programar um pouco.
De um duplo clique no botão da tela e insira o seguinte código:

Agora podemos rodar nossa aplicação e testar nossa “super” calculadora.
Boa sorte a todos e qualquer dúvida pode perguntar.
Abraços
Lineker Tomazeli
Isolamento de Classes – .NET
Novembro 20, 2008 at 2:54 am | In .NET, C#, Tecnologia | Leave a CommentTags: .NET, Framework .NET

Muitas dúvidas tem surgido sobre isolamento de classes e então resolvi escrever este pequeno artigo. Vamos lá.
Quando usamos isolamento de classes ?
Iremos usar diferentes tipos de isolamento de classe quando queremos proteger uma classe de ser estanciada ou herdada.
Quem mais utiliza isto?
Podemos encontrar essa prática em muitos componentes prontos que são vendidos.
Nós temos 3 tipos de isolamento de classes:
- Classe abstrata ( abstract ) – Não é possível estanciar mas pode ser herdada
Exemplo:
abstract class MinhaClass { }
- Classe de construtor privado ( private ) – Não é possivel estanciar a classe mas pode ser herdada
Exemplo:
private MinhaClasse()
{
}
- Classe Isolada ( sealed ) – Não pode ser herdada mas pode ser estanciada
Por tanto se você juntar um construtor privado com uma classe isolada você terá uma classe extremamente protegida.
Deixe seu comentário.
Abraços
Lineker Tomazeli
Usando Multithread no Framework .NET
Novembro 10, 2008 at 9:49 pm | In Tecnologia | Leave a CommentDepois de um final de semana ensolarado estamos de volta com mais um dos assuntos comentadissimos no momento , threads ou melhor multithread, que é nada mais nada menos do que muitas várias ações ocorrendo ao mesmo tempo.
Iremos fazer um exemplo hoje usando uma aplicação windows services onde teremos 2 threads rodando ao mesmo tempo.
Primeiramente vamos criar o projeto windows form application.

Depois adicione duas classes chamadas class1.cs e class2.cs

Abra o Form1.cs e vamos codificar um pouco.
Declare o namespace System.Threading.
using System.Threading;
Abra as classes que que foram criadas e crie um método em cada, pois chamaremos estes métodos para iniciarmos a thread.

Voltando para o Form1.cs em Design Mode de um duplo clique no form para criar o evento Form1_Load no code behind e então vamos adicionar as seguintes linhas de codigo para iniciarmos as thread .
//Estanciando a class1
Class1 objC = new Class1();
//Criamos um objeto ThreadStart que serve para setar qual método irá iniciar a Thread.
ThreadStart obj1 = new ThreadStart(objC.FazerAcao1);
//Criamos um objeto do tipo Thread e passamos como parametro o objeto ThreadStart
Thread th = new Thread(obj1);
//Iniciamos a Thread
th.Start();
Class2 objC2 = new Class2();
ThreadStart obj2 = new ThreadStart(objC.FazerAcao1);
Thread th2 = new Thread(obj2);
th2.Start();
Coloque um break point no Form1_Load método e rode a aplicação,passe passo-a-passo usando F11 e perceba que as thread são iniciadas e a aplicação continua rodando. Usando esta técnica você pode fazer e tomar varias acões ao mesmo tempo na sua aplicação.
Vale lembrar que multithread também funcionam para aplicação .NET, incluindo web. Lembre-se que quanto mais threads mais memória será consumida na máquina.
Um exemplo prático da utilização disto é quando você tem um windows services que fica fazendo algum tipo de verificação no seu sistema, pode ser feito um unico serviço que faça várias verificações ao mesmo tempo, conecte com outros serviços e por ai vai.
Coloquei o arquivo fonte com os exemplo abaixo e qualquer dúvida e sugestões são sempre bem-vindas.
Abraços
Lineker Tomazeli
Blog no WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.
