Web Services e DataSets
|
|
|
- Paula Gorjão da Conceição
- 10 Há anos
- Visualizações:
Transcrição
1 Os Arquivos XML: Web Services e DataSets Texto Original: MSDN Magazine / Aaron Skonnard Traduzido por: Luis Gustavo Amaro ( *Atenção a possíveis erros de tradução! =D
2 Web Services e DataSets Programadores que utilizam Visual Basic 6.0 se curvaram ao altar dos conjuntos de registros ADO. Que é provavelmente a estrutura de dados mais utilizada em aplicativos baseados em Windows hoje em dia. A ADO.NET Datasets está pronta para desempenhar um papel similar no campo de gestão de aplicativos baseados em Windows. Quando você precisa extrair informação da base de dados, apresentar isso ao usuário, e aplicar atualizações, o DataSet é normalmente o melhor caminho. O DataSet foi utilizado com bastante sucesso para uma variedade de soluções tendo como alvo o Microsoft.Net Framework. No caso de Web Services, o DataSet pode causar problemas de interoperabilidade. Se você utiliza estruturas de dados dinâmica como o DataSet isso pode ser difícil para desenvolvedores que usam outras ferramentas para consumir seu Web Service. Usando DataSets tipados em combinação com definições WSDL levemente customizados, contudo, fica entorno desta questão. Desenvolvedores precisam entender as questões que envolvem todas as estruturas de dados dinâmicos (como o DataSet) antes de utiliza-los nas interfaces Web Services. Níveis de Interoperabilidade A habilidade para processar o dado indiferente de onde ele vem é o maior nível primitivo da interoperabilidade. Eu gosto de chamar isto de interoperabilidade de dados. XML 1.0 foi desenvolvido especificamente para facilitar a interoperabilidade dos dados. O dado serializado dentro do XML 1.0 é fácil para extrair e manipular em qualquer plataforma utilizando qualquer linguagem de programação para cada processador de XML existente, que engloba praticamente todas as linguagens hoje em dia. Alcançar a interoperabilidade de dados ainda requer que você escreva o código junto a uma API XML exposta pelo seu processador de XML, mas você não precisa lidar com o byte stream diretamente (veja a Figura 1). Figura 1 Interoperabilidade de dados através do XML Aplicando XML à tecnologia de aplicação distribuída (Web Services) simplifica a interoperabilidade entre sistemas heterogêneos distribuídos. Web Services podem ser construídos diretamente utilizando APIs XML. Esta aproximação lhe dá total controle sobre o processamento de mensagem, mas exige que você implemente um contrato comum na infra-estrutura do Web Service, que possa diminuir a produtividade e introduzir erros que podem levar a mais problemas de interoperabilidade. Vendedores de tecnologias distribuídas (como Microsoft) passaram ocupadas desenvolvendo ferramentas Web Services que proporcionam essa infra-estrutura comum, ajudando reduzir o código da API XML necessária do desenvolvedor Web Service. O Microsoft ASP.NET WebMethod framework é uma das ferramentas que remove quase todos os traços do baixo nível System.Xml APIs. Ferramentas Web Services realizam isto pela definição mapeamentos entre tipos de aplicativos e tipos de XML Schema, assim automatizando as transações entre os documentos XML e os objetos de instância em tempo de execução. Por exemplo, considerando o seguinte WebMethod chamado CalculateMortgage que recebe um objeto MortgageInfo como parâmetro e retorna um objeto MortgagePayments: [WebService(Namespace=" public class MortgageService : WebService [WebMethod] public MortgagePayments CalculateMortgage(MortgageInfo minfo) // calculate mortgage return new MortgagePayments(); Dentro deste mótodo, o desenvolvedor está simplesmente trabalhando com objetos, mas o [WebMethod] atributo diz a infraestrutura ASP.NET para tratar este método como operação Web Service. Então neste caso a infra-estrutura automaticamente mapeia as classes MortgageInfo e MortagePayment para definições do tipo XML Schema. Figura 2 mostra a definição das classes MortgageInfo e MortagePayment em C#, utilizadas pelo CalculateMortgage WebMethod, enquanto na Figura 3 mostra as definições do tipo XML Schema geradas pela infra-estrutura ASP.NET. Com estas definições XML Schema no lugar, está claro o que o outro lado deve esperar em termos de XML.
3 Figure 3 Definições do tipo XML Schema: <s:complextype name="mortgageinfo"> <s:element name="amount" type="s:double" /> <s:element name="years" type="s:double" /> <s:element name="interest" type="s:double" /> <s:element name="annualtax" type="s:double" /> <s:element name="annualinsurance" type="s:double" /> </s:sequence> </s:complextype> <s:complextype name="mortgagepayments"> <s:element name="monthlypi" type="s:double" /> <s:element name="monthlytax" type="s:double" /> <s:element name="monthlyinsurance" type="s:double" /> <s:element name="monthlytotal" type="s:double" /> </s:sequence> </s:complextype> Figure 2 Definições de classe: public class MortgageInfo public double amount; public double years; public double interest; public double annualtax; public double annualinsurance; public class MortgagePayments public double MonthlyPI; public double MonthlyTax; public double MonthlyInsurance; public double MonthlyTotal; Ferramentas Web Service fazem isso fácil para ignorar o XML já que o desenvolvedor Web Service lidará apenas com objetos. A Ferramenta do outro lado, porém, também quer mapear o XML para objetos. Por exemplo, um desenvolvedor que usa linguagem Java pode usar algo como a ferramenta Apache Axis para consumir este Web Service. Para usar então, ele poderia usar o utilitário WSDL2java para gerar automaticamente classes Java pelas definições do tipo XML Schema (veja Figura 4). Torna possível também ao desenvolvedor Java trabalhar com o objeto sem precisar descer para o baixo-nível do XML APIs Java.
4 Figure 4 Definições de classe Java gerada pelo Apache Axis: /** * MortgageInfo.java * * This file was auto-generated from WSDL * by the Apache Axis WSDL2Java emitter. */ public class MortgageInfo implements java.io.serializable private double amount; private double years; private double interest; private double annualtax; private double annualinsurance; public MortgageInfo() public double getamount() return amount; public void setamount(double amount) this.amount = amount; // remainder ommited for brevity /** * MortgagePayments.java * * This file was auto-generated from WSDL * by the Apache Axis WSDL2Java emitter. */ package mortgage_tools; public class MortgagePayments implements java.io.serializable private double monthlypi; private double monthlytax; private double monthlyinsurance; private double monthlytotal; public MortgagePayments() public double getmonthlypi() return monthlypi; public void setmonthlypi(double monthlypi) this.monthlypi = monthlypi; // remainder omitted for brevity Agora vamos discutir o próximo nível da interoperabilidade que eu gosto de chamar de Interoperabilidade de ferramenta. Interoperabilidade de ferramenta significa que eu posso escrever um código Web Service em um ferramenta e facilmente consumi-la usando outra ferramenta sem descer para o baixo-nível das APIs XML. Deve ter um objeto equivalente mapeado ou o outro lado deverá descer o nível e tratar diretamente com o XML (isto está ilustrado na Figura 5).
5 Figura 5 Interoperabilidade de ferramenta Interoperabilidade de ferramenta é difícil devido a muitas diferenças nas linguagens de programação e tipos de sistemas. O DataSet é um tipo quer apresenta alguns desafios interessantes para interoperabilidade de ferramenta. Problema do DataSet A maioria das ferramentas Web Services fazem um bom trabalho mapeando definições de classes simples como mostramos anteriormente. Eles começam a encontrar problemas, no entanto, quando derivação e substituição entram em jogo, ou quando tipos dinâmicos são utilizados, assim como collections, hash tables, or DataSets. Você deve considerar a seguinte assinatura do framework.net: [WebMethod] public DataSet GetAuthors() // return DataSet filled with authors Oque deve ser mapeado do DataSet em termos de XML Schema? O DataSet é um tipo polimórfico do qual o layout atual não foi determinado ainda em tempo de execução, depois que o DataSet foi preenchido com dados. A seguinte definição do XML Schema contém a declaração do elemento para GetAuthorsResponse. Note que GetAuthorsResponse contém um elemento opcional chamado GetAuthorsResult, que contém 2 filhos: um elemento esquema XMLSchema (s:schema), seguido por um coringa (wildcard) (s:any) indicando que qualquer elemento de qualquer namespace pode ser fornecido. <s:element name="getauthorsresponse"> <s:element minoccurs="0" maxoccurs="1" name="getauthorsresult"> <s:element ref="s:schema" /> <s:any /> </s:element> Isso indica que um esquema será fornecido em tempo de execução que será descrito o XML que conterá o mesmo. Aqui está como isso deveria parecer na resposta SOAP: <soap:envelope xmlns:soap=" xmlns:s=" <soap:body> <GetAuthorsResponse xmlns=" <GetAuthorsResult> <s:schema> *** schema goes here *** </s:schema> *** xml goes here *** </soap:envelope> Desde que a ferramenta não esteja apta para determinar o tipo atual usado no DataSet até o tempo de execução, a próxima questão é que a definição do XML Schema (apenas mostrado) deve ser mapeado no outro ambiente como a ferramenta Apache s Axis.
6 Ligação de Ferramentas No momento de estruturação, quando o desenvolvedor Java roda WSDL2Java, não terá informações suficientes na definição do esquema para fazer qualquer outra coisa a não ser mapear o elemento s:any para java.lang.object, como: public class GetAuthorsResult implements java.io.serializable private java.lang.object any; // omitted for brevity Como podemos ver, o Axis não consegue ir muito longe, porque não é como a referencia para o elemento s:schema que precede o s:any; isso gera uma exceção e falhas para produzir qualquer coisa deste tipo. Se o esquema referenciado não existir, sendo assim, a classe Java seria algo parecido com o mostrado anteriormente. Desde que nem o desenvolvedor nem a ferramenta tenha qualquer tipo adicional de informação (sobre a estrutura da informação do autor neste caso), a unica coisa que faz sentido é para a ferramenta fornecer uma DOM tree (estrutura Document Object Model) no campo que contém o XML interpretado. Por isso, para que desenvolvedores Java consumam este Web Service, eles precisarão descer e utilizar a sua API DOM equivalente diretamente. O código na Figura 6 mostra como fazer isto. Figura 6 Programa Cliente Axis (Usando APIs XML) import java.io.*; import org.example.*; import org.w3c.dom.*; import org.apache.xerces.dom.*; import org.apache.axis.message.*; public class AuthorsClient static void main(string[] args) throws Exception DataSetServiceSoapStub stub = new DataSetServiceSoapStub(new java.net.url(" null); GetAuthorsAsTypedDataSetResult result = Object any = result.getany(); // it's really a DOM tree Element docelement = (Element)any; stub.getauthors(); NodeList authors = docelement.getelementsbytagnamens(" "authors"); for (int i=0; i<authors.getlength(); i++) Element authorselem = (Element)authors.item(i); ElementImpl fnameelem = (ElementImpl)authorsElem.getElementsByTagNameNS( " System.out.println(fnameElem.getTextContent()); Nós vamos nos deparar com este problema com qualquer ferramenta, isso não é um caso especial para os DataSets no.net Framework. Você sempre precisara negociar com a DOM API diretamente usando a ferramenta Microsoft SOAP para desenvolvedores COM. De acordo com as definições que eu disponibilizei anteriormente, ainda há interoperabilidade de dados nesta situação (isto é apenas XML), mas um nível da interoperabilidade de ferramenta é perdida desde que o desenvolvedor é obrigado a negociar com o XML puro. Se eu sei que estou retornando uma coleção de gravações do autor com um formato bem definido, existem algumas maneiras que eu poderia fazer isto facilmente para usuários de outras ferramentas, para processar meus dados sem acessar as APIs XML diretamente.
7 Evitando DataSets Provavelmente o jeito mais fácil de fazer isso, é não utilizar DataSets na sua interface Web Service. Por exemplo, neste caso você poderia definir uma classe que modela as informações do autor, e declarar o método GetAuthors como a seguir: public class Author public string id; public string au_fname; public string au_lname; [WebMethod] public Author[] GetAuthors() DataSet authorsds = GetAuthorsFromDB(); // walk through DataSet and generate // Author array to return Aqui estou mapeando manualmente um DataSet para um tipo estático do Author (já que estou provavelmente usando o DataSet aqui para receber os dados do banco de dados, provavelmente faz mais sentido usar IDataReader diretamente, podendo prover uma solução mais eficiente). Neste caso eu poderia fazer naturalmente um mapeamento entre a classe Author e a definição do XML Schema equivalente, que mapearia também de volta muito bem para uma classe Java equivalente (como o exemplo CalculateMortgage mostrado anteriormente). Com algo assim no lugar, o desenvolvedor Axis poderia estar apto a escrever um código sem precisar acessar as API s XML diretamente (veja a Figura 7). Outra maneira de efetuar isto poderia ser gerar um DataSet tipado de uma definição XML Schema e usá-la no lugar de um DataSet genérico. Figura 7 Cliente Axis (Sem APIs XML) import java.io.*; import org.example.*; public class AuthorsClient static void main(string[] args) throws Exception DataSetServiceSoapStub stub = new DataSetServiceSoapStub(new java.net.url( " null); Author[] authors = stub.getauthors(); for (int i=0; i<authors.length; i++) System.out.println(authors[i].getAu_Fname()); DataSets Tipados DataSets Tipados são classes derivadas de DataSets e expõe os membros fortemente tipados que descrevem uma visão específica dos dados. Diferente dos DataSets genéricos, os DataSets tipados são obrigado a uma estrutura específica, uma definição de XML Schema, em tempo de projeto. Você pode gerar automaticamente DataSets tipados a partir de definições XML Schema usando o xsd.exe ou os designers embutidos no Visual Studio.NET. Figura 8 contém uma definição XML Schema que descreve as gravações do autor que eu pretendo retornar para minha Web Service. Após executar este esquema através do xsd.exe usando o /dataset switch (ou o designer do Visual Studio.NET), Eu terei uma nova classe chamada AuthorSet derivada do DataSet, como mostrado aqui: [Serializable()] public class AuthorSet : DataSet private authorsdatatable tableauthors; // strongly typed accessors
8 Figura 8 Definição do XML Schema do DataSet Tipado (AuthorSet.xsd) <xs:schema id="authorset" targetnamespace=" xmlns=" xmlns:xs=" elementformdefault="qualified" > <xs:element name="authorset" > <xs:complextype> <xs:choice maxoccurs="unbounded"> <xs:element name="authors"> <xs:complextype> <xs:sequence> <xs:element name="au_id" type="xs:string" /> <xs:element name="au_lname" type="xs:string" /> <xs:element name="au_fname" type="xs:string" /> </xs:sequence> </xs:complextype> </xs:element> </xs:choice> </xs:complextype> </xs:element> </xs:schema> A infra-estrutura sabe que a definição do esquema deve ser para este DataSet tipado, então ele não precisa mais prover um esquema em tempo de execução (embora ele ainda faz). Agora nós podemos criar um novo WebMethod que retorna um objeto AuthorSet: [WebMethod] public AuthorSet GetAuthorsAsTypedDataSet() AuthorSet aus = new AuthorSet(); sqldataadapter1.fill(aus); return aus; Agora a infra-estrutura tem informação suficiente para informar os clientes em tempo de projeto sobre a estrutura das gravações do autor no conjunto retornado. Quando a estrutura ASP.NET gerar o WSDL e as definições do XML Schema, contudo, importa as definições XML Schema do DataSet tipado e utiliza coringa restrito, como mostrado na Figura 9.
9 Figura 9 Definição XML Schema do método GetAuthorsAsTypedDataSet <definitions xmlns:s=" targetnamespace=" xmlns=" > <import namespace=" location=" /> <types> <s:schema elementformdefault="qualified" targetnamespace=" <s:import namespace=" /> <s:element name="getauthorsastypeddatasetresponse"> <s:element minoccurs="0" maxoccurs="1" name="getauthorsastypeddatasetresult"> <s:any namespace=" /> </s:sequence> </s:complextype> </s:element> </s:sequence> </s:complextype> </s:element> </s:schema> </definitions> Uma vez que já não há referência para o elemento s:schema, WSDL2Java está apto a gerar as classes Java corretamente. E uma vez que importado as definições lhe dá acesso as definições do XML Schema para AuthorSet, isto pode gerar as classes Java equivalentes que representam as informações do autor. Axis, contudo, ainda mapeia o coringa (s:any) para java.lang.object, quais vão conter uma DOM tree (estrutura Document Object Model) em tempo de execução. Isso me deixa ainda mais do que antes, mas ainda deixa o cliente trabalhando com a API DOM diretamente. Customizando o Esquema Uma vez que você sabe que o slot coringa sempre conterá um AuthorSet, você pode ser tentado apenas a modificar a definição do esquema para referenciar o elemento AuthorSet ao invés do coringa. O coringa, contudo, é atualmente um espaço reservado para o esquema do DataSet genérico (que não faz muito sentido uma vez que o coringa está amarrado ao namespace). Em outras palavras, quando você executa o WebMethod, o elemento GetAuthorsAsTypeDataSetResult conterá um elemento esquema seguido por um elemento diffgram, e o elemento diffgram conterá o elemento AuthorSet. Mas uma vez que você conhece a estrutura antes da hora, você não precisa fornecer um esquema em tempo de execução ou um elemento diffgram; você pode simplesmente retornar um elemento AuthorSet. O modo de fazer isto é definir um novo WebMethod que não retorna um DataSet, mas sim um XmlNode. Então se você retornar um XmlDataDocument que envolve um objeto DataSet tipado, apenas o elemento AuthorSet é retornado ao cliente, sem o esquema de tempo de execução ou elementos diffgram: [WebMethod] public XmlNode GetAuthorsAsXml() AuthorSet aus = new AuthorSet(); sqldataadapter1.fill(aus); return new XmlDataDocument(aus); O XmlDataDocument é ineficiente uma vez que ele praticamente dobra o tamanho do DataSet original. Desde que seja por pouco tempo, isso pode ser aceitável.
10 Especificando que o método retorna um XmlNode também irá resultar em um coringa no esquema gerado, mas agora você pode reescrever o coringa com uma referência ao elemento AuthorSet, como mostrado a seguir: <s:element name="getauthorsasxmlresponse"> <s:element minoccurs="0" maxoccurs="1" name="getauthorsasxmlresult"> <s:element ref="x:authorset" /> </s:sequence> </s:complextype> Você deverá ter certeza que os clientes não recuperarão o arquivo WSDL gerado automaticamente uma vez que você iniciar este caminho. Em vez de você vai querer especificar a localização de um arquivo WSDL customizado usando o WebServiceBindingAttribute (veja a prorpriedade Location) ou fornecendo um arquivo WSDL estático no seu servidor e desabilitando a geração automática do WSDL. Você pode desabilitar a geração automática do WSDL adicionando a seguinte sessão no seu arquivo web.config: <webservices> <protocols> <remove name="documentation" /> </protocols> </webservices> Agora o WebService pode ainda trabalhar com DataSets e outros clientes podem processar os resultados como um array de objetos. Figura 10 mostra como um cliente Axis se parece neste caso. Figura 10 Cliente Axis de um DataSet Tipado import org.example.*; public class AuthorsClient static void main(string[] args) throws Exception DataSetServiceSoapStub stub = new DataSetServiceSoapStub(new java.net.url ( " null); GetAuthorsAsTypedDataSetResult res = stub.getauthorsastypeddataset(); AuthorSet aset = res.getauthorset(); Author[] authors = aset.getauthors(); for (int i=0; i<authors.length; i++) System.out.println(authors[i].getAu_Fname()); Se isso parecer uma grande confusão usar DataSets, você pode sempre evitar eles nas suas interfaces Web Services ou simplesmente exigir de seus cliente que lidem diretamente com o XML. Isso tudo se resume ao o que você quer que as outras ferramentas vejam. A Solução Final Este problema poderia eventualmente sumir se a indústria definisse um padrão de definição do XML Schema para representar os conjuntos de resultados do banco de dados e todas as ferramentas suportem isso apropriadamente. Então as ferramentas poderiam mapear seus tipos de conjuntos de dados nativos para o esquema padronizado. A mesma coisa para outros tipos dinâmicos como collections, hash tables, lists, queues, e muito mais. Padronizando as definições do XML Schema para tais tipos teria o efeito de promover a interoperabilidade de ferramenta através de uma vasta gama de extrema eficiência e geralmente estruturas de dados usadas. Se isso fosse uma realidade, você poderia retornar uma DataSet genérico (como o primeiro exemplo GetAuthors) e a ferramenta Axis poderia mapeá-la para um JDBC WebRowSet (ou algo equivalente). Então o desenvolvedor Java poderia ligar o WebRowSet com um componente UI, permite o usuário modificar o dado, e passar um conjunto atualizado de volta ao servidor tudo com muito pouco código. O conjunto atualizado pode então ser deserializado de volta dentro do DataSet no servidor, a fim de aplicar as alterações aos dados. Esta solução faz o maior sentido, se você pensa porque você precisa utilizar um DataSet em um Web Service. DataSets são tipicalmente usado quando você precisa apresentar um dado ao usuario de uma forma genérica (normalmente em uma grade), permitindo o usuário fazer modificações, e devolver as atualizações ao servidor. As técnicas apresentadas aqui não suportam este
11 padrão (desde que você não receba vinculação de dado ou suporte diffgram com DOM tree (estrutura Document Object Model) ou arrays), então isto é como martelar um taco quadrado em um buraco redondo. Claro, padronizar qualquer coisa nesta indústria é muito mais fácil dizer do que fazer. Não prenda a respiração esperando por cada padrões que venham codificados e suportados inteiramente nas ferramentas de hoje em dia. Uma Solução.Net Framework Você provavelmente já viu demonstrações em feiras de negócio no passado aonde o apresentador retornava um DataSet para um cliente.net Framework e de alguma maneira isto magicamente tornava-se um DataSet do outro lado. Isto funciona porque a infraestrutura Web Service no.net Framework procura por uma flag especial na definição do XML Schema fornecido em tempo de execução chamado IsDataSet. Por exemplo, no caso do exemplo GetAuthorsAsTypedDataSet, declaração do elemento AuthorSet parecerá como isto no esquema fornecido em tempo de execução: <xs:element name="authorset" msdata:isdataset="true"> A flag IsDataSet é o toque para o cliente, dizendo para deserializar o XML dentro de um DataSet. Obviamente, isto funciona apenas para cliente.net Framework ou outras ferramentas que tem fornecido este caso especial codificado (não tem nenhum que eu conheça atualmente). O código na Figura 11 mostra como um cliente Visual Basic.NET poderia invocar ambos GetAuthors e GetAuthorsAsTypedDataSet e facilmente mapear o DataSet retornado para um DataGrid (em um formulário Windows). Figura 11 Mapeando um DataSet para um DataGrid Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim svc As DataSetService = New DataSetService() Dim ds As DataSet = svc.getauthors() DataGrid1.DataSource = ds.tables.item(0) End Sub Private Sub Button2_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button2.Click Dim svc As DataSetService = New DataSetService() Dim auset As AuthorSet = svc.getauthorsastypeddataset() DataGrid1.DataSource = auset.authors End Sub Isto deveria ser apenas como uma fácil através de todas as ferramentas e uma variedade APIs de banco de dados se tivéssemos uma esquema padronizado para os conjuntos de resultados de banco de dados que todos suportassem. Ironicamente, uma vez que você tem algo assim no lugar, atualmente isto é mais tedioso trabalhar com um array de objetos Author quando o sua meta é apresentar o dado ao usuário para uma manipulação genérica. Resumindo XML e Web Services fornecem interoperabilidade básica de dados atualmente. Se você estiver disposto a trabalhar com APIs XML, não há um Web Service no mundo que você não consiga consumir. Se, contudo, se você prefere esconder as APIs XML embaixo do tapete e nunca lidar com ele de novo, tenha cuidado com tipo dinâmicos como o DataSet. Utilizazndo o DataSet genérico na interface DataSet forçará os desenvolvedores a usar outras ferramentas para lidar com o XML diretamente. Utilizando DataSets tipados em combinação com definições WSDL levemente customizadas contorna este problema expondo os resultados como um simples array de objetos. A solução definitiva, contudo, seria padronizar uma definição de XML Schema para representar conjuntos de resultados de banco de dados que poderia ser comportado em todos as ferramentas. Envie suas dúvidas e comentários (em inglês) para Aaron > [email protected].
Web Services. Autor: Rômulo Rosa Furtado
Web Services Autor: Rômulo Rosa Furtado Sumário O que é um Web Service. Qual a finalidade de um Web Service. Como funciona o serviço. Motivação para o uso. Como construir um. Referências. Seção: O que
Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva
1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade
Projeto de Software Orientado a Objeto
Projeto de Software Orientado a Objeto Ciclo de Vida de Produto de Software (PLC) Analisando um problema e modelando uma solução Prof. Gilberto B. Oliveira Estágios do Ciclo de Vida de Produto de Software
Iniciar o Data Adapter Configuration Wizard. Toolbox Data Duplo clique em OleDbDataAdapter. Botão next na caixa de diálogo
Iniciar o Data Adapter Configuration Wizard Toolbox Data Duplo clique em OleDbDataAdapter Botão next na caixa de diálogo Se carregar em Cancel, o wizard é cancelado e podemos depois definir as propriedades
Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB)
Uma Introdução à Arquitetura Francisco C. R. Reverbel 1 Copyright 1998-2006 Francisco Reverbel O Object Request Broker (ORB) Via de comunicação entre objetos (object bus), na arquitetura do OMG Definido
Android e Bancos de Dados
(Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do
1.6. Tratamento de Exceções
Paradigmas de Linguagens I 1 1.6. Tratamento de Exceções Uma exceção denota um comportamento anormal, indesejado, que ocorre raramente e requer alguma ação imediata em uma parte do programa [GHE 97, DER
ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto
Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa
Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa Web Service Plínio Antunes Garcia Sam Ould Mohamed el Hacen Sumário Introdução conceitual O Web Service
Criação de um Web Services em.net
Web Service em.net 1 Criação de um Web Services em.net 1. Criar um novo Web Site com template ASP.NET Web Service, de acordo com a figura seguinte. O Visual studio cria um directório com os ficheiros indicados
Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve - 981648-9
Laboratório de Computação VI JAVA IDL Fabricio Aparecido Breve - 981648-9 O que é Java IDL? Java IDL é uma tecnologia para objetos distribuídos, ou seja, objetos em diferentes plataformas interagindo através
Validando dados de páginas WEB
Validando dados de páginas WEB Para que validar os dados? Validar os dados informados pelo usuário garante que sua aplicação funcione corretamente e as informações contidas nela tenha algum sentido. Outro
Prototype, um Design Patterns de Criação
Prototype, um Design Patterns de Criação José Anízio Pantoja Maia Este artigo tem como finalidade compreender o funcionamento do padrão de projeto prototype, serão abordados os participantes que compõe
Introdução ao C# . Visão geral do.net Framework
Introdução ao C# Microsoft.NET (comumente conhecido por.net Framework - em inglês: dotnet) é uma iniciativa da empresa Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas
CURSO DE PROGRAMAÇÃO EM JAVA
CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro
Guia de Fatores de Qualidade de OO e Java
Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.
DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0
DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando
Programação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem
Versionamento de Código. Núcleo de Desenvolvimento de Software
Versionamento de Código Núcleo de Desenvolvimento de Software Por quê? Facilidades de utilizar um sistema de versionamento de código. Várias versões Quando se salva uma nova versão de um arquivo, a versão
Criação de um Web Services em.net
Web Service em.net 1 Criação de um Web Services em.net 1. Criar um novo projecto do tipo ASP.NET Web Service, de acordo com a figura seguinte. O.Net cria um directório virtual com os ficheiros indicados
Orientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Manual de Integração WebService
Manual de Integração WebService Sumário 1. O que é a Integração WebService? 2. Envio Simples 3. Consultar Status da Mensagem 3.1 Consultar Mensagens Recebidas 4. Tecnologia do WebService Facilita 1. O
NOVIDADES DO JAVA PARA PROGRAMADORES C
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB NOVIDADES DO JAVA PARA PROGRAMADORES C Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o Conceito de Classes e Objetos Capacitar para a criação de objetos simples
Java 2 Standard Edition. Fundamentos de. Objetos Remotos. Helder da Rocha www.argonavis.com.br
Java 2 Standard Edition Fundamentos de Objetos Remotos Helder da Rocha www.argonavis.com.br 1 Sobre este módulo Este módulo tem como objetivo dar uma visão geral, porém prática, da criação e uso de objetos
Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)
Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,
4 O Workflow e a Máquina de Regras
4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu
FBV - Linguagem de Programação II. Um pouco sobre Java
FBV - Linguagem de Programação II Um pouco sobre Java História 1992: um grupo de engenheiros da Sun Microsystems desenvolve uma linguagem para pequenos dispositivos, batizada de Oak Desenvolvida com base
Programação por Objectos. Java
Programação por Objectos Java Parte 2: Classes e objectos LEEC@IST Java 1/24 Classes (1) Sintaxe Qualif* class Ident [ extends IdentC] [ implements IdentI [,IdentI]* ] { [ Atributos Métodos ]* Qualif:
Demoiselle Report Guide. Demoiselle Report. Marlon Carvalho. <[email protected]> Rodrigo Hjort. <[email protected]> Robson Ximenes
Demoiselle Report Guide Demoiselle Report Marlon Carvalho Rodrigo Hjort Robson Ximenes Demoiselle Report... v 1. Configuração
Integração de Dados Plataforma Hub Magento E-Commerce
Integração de Dados Plataforma Hub Magento E-Commerce Facilitando Negócios Conectando softwares com Magento Plataforma de E-Commerce Integração de Dados Plataforma Hub Magento E-Commerce Este documento
Entendendo como funciona o NAT
Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços
Invocação de Métodos Remotos
Invocação de Métodos Remotos Java RMI (Remote Method Invocation) Tópicos Tecnologia RMI Introdução Modelo de camadas do RMI Arquitetura Fluxo de operação do RMI Passos para implementação Estudo de caso
Parte I. Demoiselle Mail
Parte I. Demoiselle Mail Para o envio e recebimento de e-s em aplicativos Java, a solução mais natural é usar a API JavaMail [http:// www.oracle.com/technetwork/java/java/index.html]. Ela provê um framework
Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008
Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,
Introdução a Java. Hélder Nunes
Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais
Introdução à Linguagem Java
Introdução à Linguagem Java Histórico: Início da década de 90. Pequeno grupo de projetos da Sun Microsystems, denominado Green. Criar uma nova geração de computadores portáveis, capazes de se comunicar
Serviços Web: Introdução
Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula
NetBeans. Conhecendo um pouco da IDE
NetBeans Conhecendo um pouco da IDE Professor: Edwar Saliba Júnior Sumário Apresentação:...1 Criando Um Novo Projeto de Software:...1 Depurando Um Código-fonte:...4 Entendendo o Código-fonte:...7 Dica
INTRODUÇÃO 12. DOCUMENTAÇÃO INTRODUÇÃO INTRODUÇÃO
INTRODUÇÃO 12. DOCUMENTAÇÃO Na plataforma Java SE 7, há cerca de 4000 classes e interfaces disponíveis para utilizarmos em nossas aplicações Podemos visualizar a documentação dessas classes e interfaces
II Semana TI. Curso ASP.NET AJAX. Raphael Zanon Rodrigues [email protected]. UNIVEM - Prof. Elvis Fusco
II Semana TI Curso ASP.NET AJAX Raphael Zanon Rodrigues [email protected] UNIVEM - Prof. Elvis Fusco Apresentação O que é o AJAX? AJAX e o desenvolvedor AJAX para ASP.NET AJAX prático O que é AJAX? AJAX
Web Services utilizando JAX-WS
Web Services utilizando JAX-WS JAX-WS Facilitar o uso da API JAX-RPC e do modelo de implantação Anotações baseados em JSR-181 Exemplo Básico: Anotações: @WebService @WebMethod @WebParam @WebResult Exemplo
Plugins TerraView. Última revisão: 12/12/32006 Versão TerraLib: 3.1.4
Plugins TerraView Última revisão: 12/12/32006 Versão TerraLib: 3.1.4 Requisitos Código completo da TerraLib na estrutura de diretórios sugerida no site da TerraLib 1. Código completo do TerraView na estrutura
Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C#
Linguagem de Programação 3 Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C# Prof. Mauro Lopes 1-31 35 Objetivos Nesta aula iremos apresentar a tecnologia.net, o ambiente de desenvolvimento
Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas
Microsoft Power Point 2003 No Microsoft PowerPoint 2003, você cria sua apresentação usando apenas um arquivo, ele contém tudo o que você precisa uma estrutura para sua apresentação, os slides, o material
Web Services na plataforma.net
Web Services na plataforma.net Jackson Gomes de Souza 1 1 Curso de Sistemas de Informação Centro Universitário Luterano de Palmas (CEULP/ULBRA) Caixa Postal 160 77054-970 Palmas TO Brasil [email protected]
Criando & Consumindo um WebService com ASP.NET 2.0 Publicado em: 25 de Agosto de 2007 Por Herman Ferdinando Arais
ASP.NET > WebService [email protected] Introdução Um WebService é um componente, ou unidade lógica de aplicação, acessível através de protocolos padrões de Internet. Como componentes, esses serviços
SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
- Aula 2-1. PRINCÍPIOS DE SOFTWARE DE ENTRADA E SAÍDA (E/S) As metas gerais do software de entrada e saída é organizar o software como uma série de camadas, com as mais baixas preocupadas em esconder as
Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi
5 Conclusão Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi permitir que scripts Lua instanciem e usem
Linguagem de Programação III
Linguagem de Programação III Aula-3 Criando Classes em Java Prof. Esbel Tomás Valero Orellana Da Aula Anterior Classes em Java, sintaxe básica Tipos básicos de dados em Java, como escolher o tipo apropriado
CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;
CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.
Um pouco do Java. Prof. Eduardo
Um pouco do Java Prof. Eduardo Introdução A tecnologia JAVA é composta pela linguagem de programação JAVA e pela plataforma de desenvolvimento JAVA. Os programas são escritos em arquivos-texto com a extensão.java.
Slide 1 Deitel/Deitel, 8e. Java Como programar Copyright 2010 Pearson Education
Java Como Programar, 8/E Slide 1 Slide 2 Slide 3 Métodos genéricos e classes genéricas (e interfaces) permitem especificar, com uma única declaração de método, um conjunto de métodos relacionados ou, com
Desenvolvendo Websites com PHP
Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.
Seminário - C# DSO II. Desenvolvimento de Sistemas Orientados a Objetos 2. Equipe: Diorges, Leonardo, Luís Fernando, Ronaldo
Seminário - C# DSO II Desenvolvimento de Sistemas Orientados a Objetos 2 Equipe: Diorges, Leonardo, Luís Fernando, Ronaldo Roteiro Breve Histórico Plataforma.NET Características da Linguagem Sintaxe Versões
JSP - ORIENTADO A OBJETOS
JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...
Unidade IV: Ponteiros, Referências e Arrays
Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática
Implementando uma Classe e Criando Objetos a partir dela
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe
Veja abaixo um exemplo de como os dados são mostrados quando usamos o
Objeto DataGridView O controle DataGridView é um dos objetos utilizados para exibir dados de tabelas de um banco de dados. Ele está disponível na guia de objetos Data na janela de objetos do vb.net. Será
INTRODUÇÃO: 1 - Conectando na sua conta
INTRODUÇÃO: Com certeza a reação da maioria dos que lerem esse mini manual e utilizarem o servidor vão pensar: "mas porque eu tenho que usar um console se em casa eu tenho uma interface gráfica bonito
CONVENÇÃO DE CÓDIGO JAVA
CONVENÇÃO DE CÓDIGO JAVA Eligiane Ceron - Abril de 2012 Versão 1.0 Conteúdo Considerações iniciais... 2 Introdução... 2 Extensão de arquivos... 2 Arquivos de código Java... 2 Comentários iniciais... 2
Grupo I [7v] 1. [1,0] Apresente o conteúdo do IDL relativo a este programa. Assuma PROGRAM=62015 e VERSION=1.
Número: Nome: Página 1 de 6 LEIC/LETI, 2014/15, Repescagem do 1º Teste de Sistemas Distribuídos 30 de Junho de 2015 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração:
Manual de Integração. Tecnologia: WebServices SOAP XML. Área: CDC. Produto: CDC Pessoa Física NFE (RFB) Versão: 1.0. Autor: Angelo Bestetti Junior
Manual de Integração Tecnologia: WebServices SOAP XML Área: CDC Produto: CDC Pessoa Física NFE (RFB) Versão: 1.0 Autor: Angelo Bestetti Junior Conteúdo Introdução... 3 Considerações Iniciais... 4 Privacidade...
Nota Fiscal de Serviço Eletrônica Layout de Utilização via software proprio/particular ISSQN NFSE DANFE
Nota Fiscal de Serviço Eletrônica Layout de Utilização via software proprio/particular ISSQN NFSE DANFE 1. Introdução Este manual tem como objetivo apresentar a definição das especificações e critérios
CSF FasTest SOLUÇÕES DE OUTPUT DE PAGAMENTO
CSF FasTest SOLUÇÕES DE OUTPUT DE PAGAMENTO CSF FasTest Reduzindo o esforço empregado nos testes Os testes são a faca de dois gumes da composição de documentos: durante o ciclo de vida de seu documento,
Na Figura a seguir apresento um exemplo de uma "mini-tabela" de roteamento:
Tutorial de TCP/IP - Parte 6 - Tabelas de Roteamento Por Júlio Cesar Fabris Battisti Introdução Esta é a sexta parte do Tutorial de TCP/IP. Na Parte 1 tratei dos aspectos básicos do protocolo TCP/IP. Na
Prática 6 ActionScript
Prática 6 ActionScript 1. Objetivos Se familiarizar com o ActionScript. Usar comandos e funções básicas. 2. Recursos Necessários Computador com o programa Macromedia Flash MX ou superior. 3. Conceitos
Computação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Introdução Esse não é um curso de Java! O objetivo é aprender os conceitos da programação orientada a objetos,
Tutorial. Começando a Criar Aplicativos SMS
Tutorial Começando a Criar Aplicativos SMS Para começar Neste tutorial você vai entender como criar e integrar um aplicativo SMS usando a Brazapp. Para uma melhor compreensão, passaremos por todos os passos:
Criando documentação com javadoc
H Criando documentação com javadoc H.1 Introdução Neste apêndice, fornecemos uma introdução a javadoc ferramenta utilizada para criar arquivos HTML que documentam o código Java. Essa ferramenta é usada
AJAX no GASweb. Mas e afinal, para que usamos o AJAX?
Nível - Avançado AJAX no GASweb Por: Pablo Hadler AJAX (Asynchronous Javascript and XML) foi criado com o princípio de ser uma maneira rápida e otimizada de podermos fazer requisições Web, sendo esta totalmente
1. Apresentação. 1.1. Objetivos
1.1. Objetivos 1. Apresentação Neste capítulo estão descritos os objetivos gerais do livro, os requisitos desejáveis do estudante para que possa utilizá-lo eficientemente, e os recursos necessários em
Java 2 Standard Edition Como criar classes e objetos
Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da
Prática em Laboratório N.01 Criando um Serviço Web via Console
Prática em Laboratório N.01 Criando um Serviço Web via Console O objetivo criar um serviço Web via console usando apenas um editor de texto. Obtenha os arquivos da Prática N.01 Você deve recuperar os arquivos
Manual do PolicyKit-kde. Daniel Nicoletti Tradução: Luiz Fernando Ranghetti
Daniel Nicoletti Tradução: Luiz Fernando Ranghetti 2 Conteúdo 1 Resumo 5 2 Como funciona 6 2.1 Resumo............................................ 6 2.2 O problema.........................................
Programação Web Prof. Wladimir
Programação Web Prof. Wladimir Linguagem de Script e PHP @wre2008 1 Sumário Introdução; PHP: Introdução. Enviando dados para o servidor HTTP; PHP: Instalação; Formato básico de um programa PHP; Manipulação
USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE
USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE SUMÁRIO usando o izcode... 1 para gerar software rapidamente... 1 introdução... 2 o que é o izcode?... 2 Como funciona o izcode?... 2 os tipos diferentes
Programação para Android. Aula 05: Estilos e temas; galeria de imagens
Programação para Android Aula 05: Estilos e temas; galeria de imagens Objetivos Aplicar estilos e temas Criar uma galeria de imagens com o widget Gallery Parte 01: Estilos e temas Interface de Usuários
FACULDADE SENAC-RS PELOTAS RODRIGO ALMEIDA PEREIRA. Sistemas de Informação
FACULDADE SENAC-RS PELOTAS Analise e Desenvolvimento de Sistemas RODRIGO ALMEIDA PEREIRA Sistemas de Informação Pelotas/RS Maio de 2013 Sumário 1. Introdução 1 2. Um pouco de sua história 1 3. Requerimentos
CAPÍTULO 8 Conexões de banco de dados para programadores ASP.NET
CAPÍTULO 8 Conexões de banco de dados para programadores ASP.NET Para utilizar um banco de dados com um aplicativo ASP.NET, é necessário criar uma conexão de banco de dados no Macromedia Dreamweaver MX.
Sistemas Distribuídos
Sistemas Distribuídos Marcelo Lobosco DCC/UFJF Comunicação em Sistemas Distribuídos Aula 06 Agenda Modelo Cliente-Servidor (cont.) Invocação Remota de Método (Remote Method Invocation RMI) Visão Geral
Microsoft Access XP Módulo Um
Microsoft Access XP Módulo Um Neste primeiro módulo de aula do curso completo de Access XP vamos nos dedicar ao estudo de alguns termos relacionados com banco de dados e as principais novidades do novo
Programação por Objectos. Java
Programação por Objectos Java Parte 6: Herança e Polimorfismo LEEC@IST Java 1/52 Herança revisão A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse pode
LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER
LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER V14 de BricsCAD vem com um novo sistema de licenciamento, com base na tecnologia de licenciamento de Reprise Software. Este novo sistema oferece um ambiente
CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO
CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO Antes de criarmos um novo Banco de Dados quero fazer um pequeno parênteses sobre segurança. Você deve ter notado que sempre
Web Services: Metodologias de Desenvolvimento Carlos J. Feijó Lopes José Carlos Ramalho Fevereiro de 2004
Web Services: Metodologias de Desenvolvimento Carlos J. Feijó Lopes José Carlos Ramalho Fevereiro de 2004 1 Contextualização e arquitetura de funcionamento de um Web Service Os Web Services [PRV+01, Cer02]
LABORATÓRIO WIRESHARK: DNS
LABORATÓRIO WIRESHARK: DNS Conforme descrito na seção 2.5 do livro, o Domain Name System (DNS) traduz nomes de hosts para endereços IP, cumprindo um papel fundamental na infra-estrutura da Internet. Neste
Planejando o aplicativo
Um aplicativo do Visual FoxPro geralmente inclui um ou mais bancos de dados, um programa principal que configura o ambiente de sistema do aplicativo, além de uma interface com os usuários composta por
? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.
? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.? Desde de 1994, a Microsoft lança versões do SQL SERVER
TESTES AUTOMATIZADOS COM JUNITE MOCKITO
TESTES AUTOMATIZADOS COM JUNITE MOCKITO Jaime William Dias 12, Dener Barranco 1, Douglas Delapria 1 1 Universidade Paranaense (Unipar) 2 Universidade Estadual de Maringá (UEM) Paranavaí PR Brasil [email protected],
Professor: Douglas Sousa Cursos de Computação
Linguagem de Programação C# Professor: Douglas Sousa Cursos de Computação Agenda Conceitos Básicos; Principais Características; Visual Studio; Meu Primeiro Programa; A Linguagem C#; Sistemas de Tipos;
Feature-Driven Development
FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por
Fixture-Factory. Criando objetos para seus testes. Como criar objetos através de templates para serem utilizados como massa de dados em seus testes.
fixture-factory_ Fixture-Factory Criando objetos para seus testes Como criar objetos através de templates para serem utilizados como massa de dados em seus testes. Começamos testando métodos simples, mas
Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em
Aspectos técnicos do desenvolvimento baseado em componentes
Aspectos técnicos do desenvolvimento baseado em componentes Um novo processo de desenvolvimento O uso de componentes traz mudanças no processo de desenvolvimento Além de desenvolver um produto, queremos
PROGRAMAÇÃO PARA INTERNET RICA INTRODUÇÃO AO ASP.NET
PROGRAMAÇÃO PARA INTERNET RICA INTRODUÇÃO AO ASP.NET Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer a plataforma ASP.Net Compreender os elementos de um sistema ASP.Net Capacitar o aluno para criar
Java. Marcio de Carvalho Victorino www.dominandoti.eng.br
Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a
Configurar o Furbot no Eclipse
Configurar o Furbot no Eclipse Primeiramente, precisamos abrir o Eclipse. Logo no início, deverá aparecer uma tela assim: Nela, você irá selecionar o local do seu workspace. Workspace é o local onde ficarão
PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB PADRÕES MVC E DAO Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o conceito de Padrões de Projeto Compreender o Padrão MVC Conhecer o princípio de alguns dos
