Escolar Documentos
Profissional Documentos
Cultura Documentos
com C#
Arquitetura Orientada a
Serviços
Público Alvo
Pré-Requisitos
Ter concluído com êxito o curso de C# Profissional da Clarify
Treinamentos ou possuir conhecimento equivalente.
Agosto | 2015
Índice
SOBRE ESTE CURSO ........................................................................................................................................................... I
ÍNDICE............................................................................................................................................................................... I
COPYRIGHT ..................................................................................................................................................................... IV
EQUIPE ................................................................................................................................................................................... IV
HISTÓRICO DAS EDIÇÕES ............................................................................................................................................................ IV
CONVENÇÕES .................................................................................................................................................................. V
FONTES ................................................................................................................................................................................... V
CONFIGURAÇÃO REGIONAL.......................................................................................................................................................... V
VERSÃO ................................................................................................................................................................................... V
SERVIÇOS ...............................................................................................................................................................................15
Anotações
Índice i
CONTRATOS........................................................................................................................................................................... 15
SERVICE CONTRACT ................................................................................................................................................................. 15
SERVICE BEHAVIOR ................................................................................................................................................................. 16
DATA CONTRACTS................................................................................................................................................................... 17
DATA MEMBERS..................................................................................................................................................................... 18
EXERCÍCIOS ............................................................................................................................................................................ 19
REQUISITOS ........................................................................................................................................................................... 25
CONTRATOS........................................................................................................................................................................... 25
COMPORTAMENTOS ................................................................................................................................................................ 26
ARQUIVO DE CONFIGURAÇÕES .................................................................................................................................................. 27
EXERCÍCIOS ............................................................................................................................................................................ 29
ENDPOINTS............................................................................................................................................................................ 31
ADDRESS ............................................................................................................................................................................... 31
BINDING ............................................................................................................................................................................... 31
CONTRACT ............................................................................................................................................................................ 36
EXERCÍCIOS ............................................................................................................................................................................ 39
COMO CONSUMIR UM WEB SERVICE COM WCF TEST CLIENT C#.NET ............................................................................................. 41
EXERCÍCIOS ............................................................................................................................................................................ 49
ii Índice
O QUE É UM WINDOWS SERVICE ................................................................................................................................................72
CONFIGURAÇÕES BÁSICAS .........................................................................................................................................................72
PUBLICAÇÃO DO SERVIÇO NOS SERVIÇOS DO WINDOWS ..................................................................................................................77
Anotações
Índice iii
Copyright
As informações contidas neste material se referem à Desenvolvimento com C#.NET, e estão sujeitas as
alterações sem comunicação prévia, não representando um compromisso por parte do autor em atualização
automática de futuras versões.
A Clarify não será responsável por quaisquer erros ou por danos acidentais ou consequenciais relacionados com
o fornecimento, desempenho, ou uso desta apostila ou os exemplos contidos aqui.
Os exemplos de empresas, organizações, produtos, nomes de domínio, endereços de e-mail, logotipos, pessoas,
lugares e eventos aqui representados são fictícios. Nenhuma associação a empresas, organizações, produtos,
nomes de domínio, endereços de e-mail, logotipos, pessoas, lugares ou eventos reais é intencional ou deve ser
inferida.
A reprodução, adaptação, ou tradução deste manual mesmo que parcial, para qualquer finalidade é proibida
sem autorização prévia por escrito da Clarify, exceto as permitidas sob as leis de direito autoral.
Equipe
iv Copyright
Convenções
Fontes
As convenções a seguir são usadas nos materiais do curso para diferenciar os elementos do texto.
Convenção Uso
Negrito Representa comandos, opções de comando e sintaxe que devem ser digitados exatamente
conforme mostrado. Também indica comandos em menus e botões, títulos e opções de
caixas de diálogo e nomes de ícones e menus.
Itálico Em instruções de sintaxe ou texto descritivo, indica nomes de argumentos ou espaços
reservados para informações variáveis.
O recurso de itálico também é usado para apresentar novos termos, para títulos de
capítulo e para dar ênfase ao texto.
Maiúsculas Indicam nomes de domínios, nomes de usuários, nomes de computadores, nomes de
diretórios, nomes de pastas e de arquivos, exceto quando estiverem se referindo
especificamente a nomes que fazem distinção entre maiúsculas e minúsculas.
A menos que seja indicado de outra forma, você pode usar letras minúsculas ao digitar um
nome de diretório ou arquivo em uma caixa de diálogo ou em um prompt de comando.
TODAS Indica os nomes das teclas, sequências de teclas e combinações de teclas—por exemplo,
MAIÚSCULAS ALT+BARRA DE ESPAÇOS.
Monoespaçada Representa exemplos de códigos ou de textos de tela.
Configuração Regional
As configurações regionais e de idioma assumidas nesta apostila são Português (Brasil).
Versão
A versão utilizada para este curso é o do Visual Studio 2013 Community.
Anotações
Convenções v
Capítulo 01 - Introdução à Arquiteturas de Aplicações
Os exemplos e exercícios utilizados neste capítulo estão na pasta: Capítulo 01 - Introdução à Arquiteturas de
Aplicações.
Arquitetura de Software
"Arquitetura é a definição dos elementos que compõem uma estrutura e como eles se relacionam”
Um dos tópicos teóricos mais necessários aos desenvolvedores e envolvidos no processo de criação de qualquer
tipo de software, tendo finalidade comercial ou não, é a Arquitetura de Software. Em sua essência, a arquitetura
de software tem como objetivo estruturar o software/softwares envolvidos, como um todo. Consiste em
compreender a ciência de como cada ponto do software irá se comunicar com os outros.
Design Patterns
Padrões de Design – Design Patterns, tem como objetivo padronizar todo o desenvolvimento de um sistema,
tornando compreensível, ágil e de fácil manutenção um software. Diferente da arquitetura de um sistema, os
padrões de design, tem como objetivo padronizar o código em si que será escrito. Quais interfaces serão
utilizadas, o tipo de conexões com softwares externos, a maneira de criar uma nova tela do sistema, etc.
O objetivo é tornar o desenvolvedor capaz de alterar e compreender perfeitamente cada parte do sistema. A
princípio é considerado complexo, entretanto, no decorrer do desenvolvimento do produto o tempo gasto com
manutenções e correções é extremamente inferior à quando não existe um padrão.
Aplicações Multicamadas
Em aplicações complexas onde existem múltiplos acessos a bancos de dados, diversas telas e principalmente,
diversos desenvolvedores trabalhando nelas, além do Design Pattern da aplicação, temos subdivisões dentro da
aplicação, chamamos elas de Camadas. Seu objetivo é definir blocos de responsabilidade, para dessa maneira
otimizar o tempo e o reuso de códigos. Um desenvolvedor de banco de dados com pouco conhecimento em C#,
por exemplo, pode cuidar somente da parte de conexão com bancos de dados, sendo muito mais produtivo do
que quando solicitado para fazer uma página com ASP.NET MVC.
Anotações
Anotações
Os exemplos e exercícios utilizados neste capítulo estão na pasta: Capítulo 02 – Service Oriented Architecture
(SOA).
Anotações
Dessa maneira, diversas aplicações podem usufruir do mesmo serviço, sem que haja a necessidade de programar
para cada uma delas a mesma lógica. As aplicações se responsabilizam somente com a maneira que o usuário
verá essa informação e interagirá com o sistema.
Enterprise Service Bus – Serviço de Barramento é uma maneira que muitas empresas estão desenvolvendo a
arquitetura orientada a serviços de seus softwares. O conceito se baseia em colocar um serviço como primeira
camada para qualquer sistema. Ou seja, nenhum software acessa nenhum tipo de informação da empresa ou
serviço necessário, sem passar por esse barramento.
É no barramento que se concentram as regras de acesso a informação, regras de negócios, conexão com os
diversos bancos de dados da organização, serviços de conexão com seus clientes e fornecedores entre outras
possibilidades.
Anotações
Os exemplos e exercícios utilizados neste capítulo estão na pasta: Capítulo 03 – Windows Communication
Foundation.
Windows Communication Foundation – WCF – é uma parte do .NET Framework que fornece um modelo
unificado de programação para construir, de forma rápida, aplicações distribuídas orientadas a serviço (SOA).
Não existente anterior ao .NET Framework 3.0, o WCF surgiu para a unificação entre tecnologias de programação
distribuídas como MSMQ, Enterprise Services, .Net Remoting e Web Services (antigo asmx).
Podemos criar:
Windows Services
WCF SOAP Services
Anotações
Além desses serviços chave, podemos desenvolver serviços de mensageria, Rich Internet Applications e etc. A
gama de possibilidades do WCF é extremamente extensa.
Ao longo do desenvolvimento aparecerão objetos e sintaxes novas, que não estamos acostumados a utilizar
dentro do desenvolvimento para Windows, por exemplo. Entretanto, são extremamente simples de
compreender. O WCF é uma ferramenta fortemente configurável, muito do desenvolvimento de serviços é a
integração e interoperabilidade entre ferramentas.
Não existem pré-requisitos de software para o desenvolvimento com WCF, entretanto, a última versão do Visual
Studio, sempre será a mais aconselhável, dada a grande possibilidade de configurações extras, quando
comparada a tecnologias mais antigas.
Anotações
2. Quais tipos de serviços podemos criar com WCF e o que podem fazer cada um deles (brevemente)?
Anotações
Os exemplos e exercícios utilizados neste capítulo estão na pasta: Capítulo 04 – Tipos de Projeto e Estruturação.
A
Todo serviço, seja um Web Service ou um Web Site ou um Console Application ou Windows Forms, precisa ter
um endereço, ou seja, um diretório que diz onde ele se encontra. Esse endereço é o Address do WCF.
B
Todo serviço deve possuir uma vinculação, ou seja, como deverá se comunicar com os outros aplicativos. Essa
vinculação é o Binding do WCF.
C
Todo serviço precisa de um contrato, que dita o que o serviço faz. Esse contrato é o Contract do WCF.
“Uma WCF Service Application inclui um host em forma de website já configurado pra você. Uma
WCF Service Library é uma biblioteca de serviços que um host pode referenciar e utilizar.
Se você começar com uma Service Library (recomendado), você pode mais pra frente escolher o tipo
de host você quiser (por exemplo: Windows Service, IIS/ASP.NET ou até mesmo uma Console
Application) e você só referência a sua biblioteca no seu host. Escolher uma Service Application te
limita a utilizar o host IIS/ASP.NET (apesar disso poder suprir suas necessidades, vai limitar os
protocolos que você pode utilizar).”
Anotações
Anotações
Os exemplos e exercícios utilizados neste capítulo estão na pasta: Capítulo 05 – Funcionamento Básico.
Contratos
Contratos tem como objetivo fornecer a estrutura que será acessível às aplicações que usufruírem desse serviço.
Em poucas palavras: é a estrutura de métodos que será disponibilizada para aplicações consumirem.
Service Contract
Quando desenvolvemos um serviço com Windows Communication Foundation, nossos contratos são definidos
a partir da Tag “ServiceContract”, contida em Interfaces. Essas interfaces nos fornecerão o que chamamos de
Definição do Serviço, ou seja, o que nosso(s) serviço(s) irão realizar.
Exemplo
Nesse exemplo, nosso contrato é a interface IMeuServico, qual está nos dizendo que o único comportamento
que será acessível é o RetornaNomePorID, recebendo um ID inteiro e retornando um texto. Somente teremos
Anotações
Service Behavior
Service Behaviors – Comportamentos do Serviço – são as implementações que foram ditadas na Interface. Ou
seja, quem realmente realiza as ações de nosso serviço. Com WCF, deveremos criar uma classe que implemente
a Interface com as ações disponíveis aos proxies.
Exemplo
Nesse momento podemos realizar qualquer regra de negócios, busca a bancos de dados (não exatamente nessa
camada, por favor), ou qualquer outra necessidade que cabe ao serviço, como formatações e etc. Esse é nosso
método já implementado. Isso não será acessível ao consumidor de nosso serviço.
Anotações
Data Contracts
Nossos DataContracts serão as classes que fornecerão a estrutura compartilhada entre Serviço e Cliente. Ou
seja, são os objetos responsáveis pela interoperabilidade entre Serviço e Cliente. Os objetos do Serviço visíveis
e utilizáveis pelo Cliente. Esses objetos poderão ser utilizados tanto pelo cliente quanto pelo serviço, sendo uma
ótima pratica quando bem estruturados.
Podemos definir nossos DataContracts como simples classes, entretanto, levando como atributo a Tag
[DataContract]1.
Exemplo
Essa classe será acessível por pessoas que utilizarem esse serviço.
1
Não obrigatório para serviços que utilizem o framework 3.5 ou superior.
Anotações
Exemplo
Anotações
Nome Comercial
Descrição
Valor
Carga Horária
Professor Coordenador (Nome, Sobrenome, Endereço, Telefone e Certificações – contendo cada uma
delas Descrição e Empresa Emissora).
Anotações
Os exemplos e exercícios utilizados neste capítulo estão na pasta: Capítulo 06 – SOAP e RESTSOAP e REST.
Através desse protocolo as informações são enviadas no formato de um XML (eXtensible Markup Language) e
cada linguagem de programação traduz o conteúdo de dentro desse XML em objetos da própria linguagem.
Existem casos de linguagens que não eram capazes de realizar essa conversão de forma nativa, porém todas
elas são capazes de ler arquivos de texto, o que já resolve o problema.
SOAP tornou-se um dos protocolos de comunicação mais comuns e suas versões mais recentes permitem
grandes envios de informações de maneira gerenciada. No Brasil e no mundo universidades com foco em Pós-
Graduação da área de tecnologia da informação estão disponibilizando cursos para especializar o profissional
nesse segmento.
Exemplo Request
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body xmlns:m="http://www.example.org/stock">
<m:GetStockPrice>
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>
Exemplo Response
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn
Anotações
<soap:Body xmlns:m="http://www.example.org/stock">
<m:GetStockPriceResponse>
<m:Price>34.5</m:Price>
</m:GetStockPriceResponse>
</soap:Body>
</soap:Envelope>
Além dessa diferença, normalmente vista como a maior diferença, o REST pode trafegar informações formatadas
em JSON, ao invés de XML, tornando o seu envio e retorno extremamente mais leve quando comparado ao
modelo SOAP tradicional, que contêm diversas configurações em seu cabeçalho para que sejam cumpridas
determinadas normas de segurança e padronização da aplicação.
Exemplo de Request
http://localhost:8732/Service1/GetData/10
Exemplo de Response
Anotações
Os exemplos e exercícios utilizados neste capítulo estão na pasta: Capítulo 07 – Criando Serviços RESTCriando
Serviços REST.
Em sua essência, entenda o seguinte: REST envia e recebe TEXTO. Não mais do que isso. Portanto, não existe
super implementações necessárias, é razoavelmente simples. Entretanto, como o texto a ser enviado deve ter
um padrão, para que torne-se compreensível a todas as extremidades, necessitamos aderir à XML ou JSON. Não
haveria muita lógica em escolhermos REST e trabalharmos com XML, uma vez que XML é melhor estruturado
dentro do padrão SOAP. Portanto devemos criar nossa lógica de envio e recebimento baseada em JSON.
Contratos
Nossos contratos continuarão sendo feitos baseados na lógica de Interface e Comportamento. Entretanto, não
teremos a possibilidade de enviar e receber Objetos desse serviço. Somente serão enviados e recebidos textos.
De maneira simples, podemos definir o contrato de um método basicamente definindo que ele receba e envie
texto, conforme abaixo:
O Attribute WebGet, adicionado acima do OperationContract, define o padrão do qual será enviada a
informação. A acessar http://meusite.com.br/Service/GetData será chamado esse método. O que vier após o
nome GetData será entendido como o valor da variável. Isso está definido no parâmetro UriTemplate.
Anotações
Pensando dessa maneira, podemos ter o envio de uma só variável, sendo ela um Json com diversas informações.
O tráfego passará a ser somente uma variável string contendo Json formatado. Caberá a especificação fornecer
como esse Json será, para que ambas extremidades compreendam o formato.
Entretanto, caso queira mandar mais variáveis, também é possível. Podemos definir um método POST com mais
de um parâmetro implicitamente convertido à Json, da seguinte maneira:
Comportamentos
Assim como em SOAP, nossos contratos somente definem o que nosso serviço fará. O Comportamento deverá
ser desenvolvido em uma classe que implemente a interface em questão, conforme abaixo:
Anotações
Arquivo de Configurações
Para que nossa aplicação possa ser compreendida como WebService, necessitamos dizer que nosso host será
um servidor Web. As seguintes configurações deverão ser feitas dentro do App.config de nossa aplicação:
Anotações
Nome
Sobrenome
Endereço(s)
Telefone
Data de Nascimento
Cargo
Empresa
Anotações
Os exemplos e exercícios utilizados neste capítulo estão na pasta: Capítulo 08 – ABC do WCFABC do WCF.
Address
O Address consiste em um endereço único que dará a visibilidade aos consumidores daquele determinado
serviço, sobre o que está disponível naquele momento. Assim como vimos no capítulo anterior, utilizamos
normalmente definições de como isso ficará formatado através da Uri de nossa aplicação, diretamente
configurada na Interface.
Binding
Binding demonstra qual o topo de transporte, segurança, codificação, meios de transferência, entre outras
configurações que aquele determinado Endpoint terá.
Quando falamos sobre WCF, temos diversos tipos de Bindings possíveis e podemos criar os nossos. As variações
entre os Bindings já disponíveis são:
Duplex: Não.
Sessions: Não.
Encoding: Text.
Duplex: Não.
Sessions: Não.
Anotações
Duplex: Sim.
Sessions: Sim.
Duplex: Sim.
Sessions: Sim.
Duplex: Não.
Sessions: Sim.
Duplex: Sim.
Sessions: Sim.
Encoding: Binary.
Segurança: Transport.
Duplex: Sim.
Sessions: Não.
Encoding: --.
Duplex: Sim.
Sessions: Sim.
Encoding: Binary.
Duplex: Não.
Sessions: Sim.
Encoding: Binary.
Segurança: Transport.
Duplex: Não.
Sessions: Não.
Encoding: --.
Entenda, essas distinções são pensando em otimizar o envio e recebimento de informações entre extremidades.
Caberá ao desenvolvedor acessar essas distinções.
O WCF nos fornece uma estrutura amigável para alterar o App.config de uma maneira visual. Essa maneira
consiste em clicar com o botão direito sobre o App.Config e acessar a seguinte estrutura:
Anotações
Anotações
Exemplo Contrato
Anotações
Anotações
Os exemplos e exercícios utilizados neste capítulo estão na pasta: Capítulo 09 – Consumir WebService SOAP
com C#Consumir WebService SOAP com C#.
Antes de colocarmos isso em prática entenda, o C# é o responsável por essa comunicação e não o ASP.NET MVC.
É necessária a conexão com a internet para trafegar as informações por WebServices, porém não é necessário
que sua plataforma seja Web.
Tendo o conceito compreendido, utilizaremos para teste o WebService “CursosClarifyServices”. Esse serviço está
hospedado no endereço:
http://localhost:55132/Service.svc
Antes de abrirmos nosso novo projeto no Visual Studio, vamos entender melhor o que é e como funciona esse
WebService. Procure um programa na pasta desse curso chamado WCF Test Client. Esse é um software que vem
instalado por padrão no Visual Studio para testar WebServices. Sua interface é a seguinte:
Para adicionarmos nosso serviço e compreender o que ele é e como funciona precisamos seguir os seguintes
passos:
Anotações
Anotações
Para exemplificar um pouco esses métodos e seu funcionamento, clique duas vezes no método TodosAlunos().
Isso trará a seguinte visualização:
Anotações
Anotações
Assim como vimos anteriormente, o SOAP é um protocolo que trafega XML, portanto podemos visualizar tudo
que está vindo em formato XML, se assim desejarmos. Podemos fazer isso simplesmente clicando na aba “XML”
abaixo do quadrante Response e ao lado da aba “Formatted” – que nos traz o conteúdo formatado como vimos.
Anotações
Os exemplos e exercícios utilizados neste capítulo estão na pasta: Capítulo 10 – Consumir WebService REST com
C#Consumir WebService REST com C#.
Assim como os capítulos anteriores, devemos criar um novo projeto e adicionar o “.edmx” relacionado ao banco
de dados ClarifyDB. Chame esse projeto de ExemploExclusoes.
Definição
Para exemplificar o consumo de um Web Service REST com C#.NET utilizaremos o serviço criado no capítulo
“Criando Serviços REST”. O mesmo consiste na seguinte Interface e Comportamento:
E
Anotações
Dessa maneira, devemos compreender bem o formato que devemos enviar nosso texto, e nesse caso, como
nosso Json ficará.
Anotações
Repare que ao executar o projeto, o WCF Test Client não exibe a possibilidade de acessar esses métodos.
Deveremos testa-los diretamente no browser ou via chamada C#, que veremos logo abaixo.
Implementação POST
Quando desejamos enviar dados, formatados como Json para nosso serviço, devemos seguir a seguinte lógica:
Anotações
Os exemplos e exercícios utilizados neste capítulo estão na pasta: Capítulo 11- Publicação do Web Service.
Seu principal uso, faz-se por hospedagem de dois tipos de aplicações: Web Pages e Web Services.
São suportadas páginas em ASP.NET utilizando padrões MVC, levando a extensão “.cshtml” e páginas Web
Forms, levando extensão “.aspx”. O suporte à Web Services vai desde o antecessor do WCF, ASMX Services, até
o mais avançado do WCF, podendo configurar diversas propriedades diretamente por ele.
A disponibilização de arquivos e hospedagem de páginas é feita através dos protocolos FTP (Para enviar os
arquivos necessários ao servidor) e Http/Https (para o envio e recebimento de solicitações).
Anotações
Anotações
http://localhost/
Anotações
Configurações Básicas
Antes de mais nada, acesse o programa “Gerenciador do Serviços de Informações da Internet (IIS)”, conforme
abaixo: Anotações
Para separarmos de maneira inteligente, tudo que será necessário para a publicação de nosso WCF Service,
podemos utilizar o Publisher do Visual Studio. Para demonstrar seu uso, siga os passos abaixo:
Anotações
Anotações
Tendo isso ok, somente faltará fornecer a permissão necessária ao diretório virtual criado:
Anotações
Anotações
Pronto, seu WebService está disponível para acessar de qualquer local, conforme abaixo:
Anotações
Os exemplos e exercícios utilizados neste capítulo estão na pasta: Capítulo 12 - Windows Service.
Existem diversos tipos de processos distintos dentro do Windows. Um deles é através de Serviços. Os serviços
são aplicações que “executam em background” e não possuem interface gráfica, ou seja, não tem iteração direta
com o usuário. Muito similar ao agendamento de tarefas de um banco de dados, serviços são softwares que
estão em execução enquanto o computador estiver ligado (ou enquanto o usuário administrador desejar).
Podemos criar serviços do Windows quando desejamos que algo fique ocorrendo a todo momento, ou quando
necessitamos que algo em determinada hora do dia, ou quando algo aconteça, seja executado. Para criarmos
nosso serviço, necessitamos seguir alguns passos.
Configurações Básicas
Tipo do Projeto
Crie um projeto do tipo Windows Service (C#), conforme abaixo:
Anotações
Classes Envolvidas
Esse template de projeto, possui duas principais classes, a Program.cs e a Service1.cs. Além dessas duas
classes, o que difere esse projeto de um Class Library é a referência ao Namespace System.ServiceProccess,
que será o responsável por viabilizar a criação de nossos serviços.
Repare, nossa classe herda de ServiceBase, quem contém métodos para inicialização e termino de nossos
serviços.
Em nossa classe Program.cs, nada difere-se de um Windows Forms Application ou de um Class Library.
Possuímos um método Main, onde tudo que será executado acontecerá dentro dele. Entretanto, temos dentro
de nosso método, já preparado um exemplo de inicialização de nosso serviço, conforme abaixo:
Anotações
Isso significa, que estamos tentando publicar esse serviço e testa-lo ao mesmo tempo. Esse processo ocorre
muito bem com sites, por exemplo. Entretanto, para trabalharmos com serviços, teremos de tratar se a
2
Assim como vimos nos fundamentos da linguagem C#, essa lógica de execução de serviços utiliza de Polimorfismo.
Dúvidas a respeito dessa lógica devem ser revistas nos fundamentos da linguagem.
Anotações
Seguindo essa lógica, necessitamos que caso não seja DEBUG (ou seja, em tempo de desenvolvimento),
devemos poder testar esse serviço. Podemos tornar isso factível executando o método OnStart de nossa classe
Service1.cs. Entretanto, esse método é protegido, não sendo possível a execução dele a partir de instancias
diretas da classe, somente por classes filhas a essa.3
Para viabilizar nossos testes, criamos um método void chamado Debugando, que simplesmente inicializa nosso
serviço, conforme abaixo:
3
Encapsulamento, fundamentos da linguagem e orientação a objetos.
Anotações
Dica:
Dentro desse método colocaremos nossas lógicas de negócios. Peço que fiquem atentos principalmente na
criação de arquivos de logs. Caso o arquivo esteja sendo escrito pelo serviço, não poderá visualizar enquanto o
processo não terminar. Trate bem em seu código para abrir e fechar os arquivos com try..catch...finally.
Anotações
Não podemos executar nosso serviço como uma aplicação, necessitamos publica-lo nos serviços do Windows.
Para isso devemos seguir o seguinte passo-a-passo:
Anotações
Dê a seu instalador um nome (Será o nome visível de seu serviço nos Serviços do Windows) conforme abaixo:
Anotações
2. Developer Prompt
Execute como administrador o seguinte arquivo contido na pasta: C:\Program Files (x86)\Microsoft Visual
Studio 12.0\Common7\Tools\Shortcuts :
Anotações
Possivelmente será solicitado Logon de Administrador da máquina ou do servidor da rede responsável por
essa estação. Pronto, agora você hospedou no Windows seu Serviço, consulte-o na aba de serviços do
Windows, pelo nome passado, conforme abaixo:
Anotações
Os exemplos e exercícios utilizados neste capítulo estão na pasta: Capítulo 13 - O Que Mais Está Por Vir?
Para melhor desenvolver seus projetos Web, a Microsoft criou uma linguagem acoplada ao C# chamada ASP.NET
MVC, ela visa em repartir em 3 partes a estrutura de um Site ou Intranet, dando maior praticidade, legibilidade
e manutenção dos códigos. Todo seu código é escrito em C#, porém quando falamos em tecnologias Web, temos
de trabalhar quatro ambientes, sendo eles:
HTML
CSS
JavaScript
Código em C#
O ASP.NET MVC veio para prover uma junção dessas ferramentas de uma maneira inteligente e performática.
Anotações
O mundo cada vez mais interage com ferramentas e aplicativos para celulares e tablets. Dada essa necessidade
de desenvolver para diversas plataformas móveis, a Microsoft lançou o SDK (Software Development Kit) para
Windows Phone.
Esse SDK juntamente com o .NET Framework, nos provê uma ferramenta fortíssima de desenvolvimento móvel,
sendo capaz de criarmos e publicarmos aplicativos no MarketPlace (Loja Microsoft) em questão de minutos.
Sendo uma das principais áreas de procura de profissional no brasil, o desenvolvedor atual não pode
desconsiderar a possibilidade de aprender uma tecnologia, seja ela qual for.
Anotações
Anotações
Anotações
R:. Arquitetura de software é a maneira como a aplicação irá interagir entre seus sistemas. Arquitetura
Orientada a Serviços é tornar essa iteração somente através de serviços.
2. Qual a utilidade de adotar um barramento através de serviço (ESB)? Cite ao menos três.
R:. Barramentos através de serviço nos fornecem um ambiente único de acesso a informações complexas
e entre vários sistemas distintos. Proporciona uma fácil comunicação entre sistemas com linguagens de
programação distintas. Fornece uma estrutura inteligente para que possamos interagir facilmente com
fornecedores e clientes. Proporciona que os profissionais mais especializados, por fim mais caros, sem
reduzidos, sendo necessário um ótimo programador do Web Service, não sendo tão necessário super
programadores de todas as linguagens (IOS, Android, Windows Phone, sites, etc.).
Anotações
R:. Não desenvolvemos sites ou aplicativos. Desenvolvemos serviços que podem ser acessados
por qualquer tipo e aplicação.
2. Quais tipos de serviços podemos criar com WCF e o que podem fazer cada um deles (brevemente)?
Anotações
2. Quando trabalhamos com o Visual Studio, podemos criar vários tipos de projetos relacionados a WCF.
Quais são os dois principais e o que os difere um do outro?
Service Application já vem pré-configurado para ser disponibilizado através de um servidor Web.
Service Library nos provê o necessário para definirmos quem será o seu Host.
Nome Comercial
Descrição
Valor
Carga Horária
Professor Coordenador (Nome, Sobrenome, Endereço, Telefone e Certificações – contendo cada uma
delas Descrição e Empresa Emissora).
Nome
Sobrenome
Endereço(s)
Telefone
Data de Nascimento
Cargo
Empresa
Anotações