Roteiros para os exemplos utilizados durante o curso

Tamanho: px
Começar a partir da página:

Download "Roteiros para os exemplos utilizados durante o curso"

Transcrição

1 WebMedia 2009 Minicurso 3: Desenvolvimento Web Orientado a Modelos: Conceitos, Ferramentas e Técnicas Daniel Lucrédio Thiago Jabur Bittar Renata Pontin de Mattos Fortes ICMC USP São Carlos/SP Roteiros para os exemplos utilizados durante o curso Software utilizado: - Eclipse Modeling Tools - Build (Galileo) - Xtext Antlr Support update site: - Eclipse Data Tools Platform Enablement update site: - Eclipse Web Tools Platform update site: 06 de outubro de 2009

2 Exemplo 1 Objetivo: Demonstrar como usar Xtext para criar uma linguagem textual, e criar um interpretador simples baseado em EMF 1. Criar novo projeto xtext 1.1. name = webmedia.mc3.exemplo language = webmedia.mc3.math 1.3. file extension = math 1.4. Mandar criar o generator project 2. O arquivo Math.xtext irá aparecer 3. Definir a seguinte gramática para uma linguagem matemática simples grammar webmedia.mc3.math with org.eclipse.xtext.common.terminals generate math "http://www.mc3.webmedia/math" Problema : (expressoes += Expressao)*; Expressao : Armazena Operacao; Armazena : Operacao : 'Armazene' termo=int; sinal=sinalmatematico termo=int; enum SinalMatematico : SOMA = '+' SUBTRACAO = '-' MULTIPLICACAO = '*' DIVISAO = '/'; 4. Observar que no Xtext que sintaxe abstrata e concreta é junto 5. Gerar o plug-in da linguagem 5.1. Clicar com botão direito sobre o arquivo: src/webmedia.mcr/generatemath.mwe 5.2. Escolher Run As -> MWE Workflow 6. Observar que foi gerado o metamodelo OO correspondente: src-gen/webmedia.mc3/math.ecore 6.1. Para visualizar melhor o metamodelo, clicar com botão direito sobre o arquivo.ecore e escolher Initialize Ecore Diagram File Fazer deploy do plug-in 7.1. Clicar com botão direito no projeto e escolher Export 7.2. Mandar exportar como Deployable plug-ins and fragments os projetos webmedia.mc3.exemplo1 e webmedia.mc3.exemplo1.ui Ao exportar, escolher a opção arquivos.jar Escolha uma pasta qualquer para exportar os arquivos 7.3. Copiar a pasta gerada dentro da pasta do eclipse e reiniciar o ambiente 8. Abrir o arquivo de testes (src/model/mymodel.math) no generator project (webmedia.mc3.exemplo1.generator) e testar o editor 9. Fazer um interpretador 9.1. Comentar as linhas para geração de código, e adicionar uma linha no final do arquivo de workflow do generator project (MathGenerator.mwe), conforme a seguir:

3 <workflow>... <!-- <component class="org.eclipse.xpand2.generator"> <metamodel class="org.eclipse.xtend.typesystem.emf.emfregistrymetamodel"/> <fileencoding value="cp1252"/> <expand value="templates::template::main FOR model"/> <genpath value="${targetdir"/> </component> --> <component class="math.executa" /> </workflow> 9.2. Criar nova classe (math.executa) no pacote src do generator project que estende AbstractWorkflowComponent 9.3. Mandar o Eclipse adicionar os métodos não implementados 9.4. Adicionar a seguinte implementação ao método invokeinternal protected void invokeinternal(workflowcontext ctx, ProgressMonitor monitor, Issues issues) { EObject model = (EObject) ctx.get("model"); Problema problema = (Problema) model; float resultado = 0; for (Expressao expressao : problema.getexpressoes()) { int valor = expressao.gettermo(); if (expressao instanceof Armazena) { System.out.println(" Armazena " + valor); resultado = valor; else { Operacao operacao = (Operacao) expressao; switch (operacao.getsinal()) { case SOMA: System.out.println(" Soma " + valor); resultado = resultado + valor; break; case SUBTRACAO: System.out.println(" Subtrai " + valor); resultado = resultado - valor; break; case DIVISAO: System.out.println(" Divide " + valor); resultado = resultado / valor; break; case MULTIPLICACAO: System.out.println(" Multiplica " + valor); resultado = resultado * valor; break; System.out.println("=" + resultado); 9.5. Rodar o exemplo Clicar com botão direito sobre MathGenerator.mwe Escolher Run As -> MWE Workflow

4 Exemplo 2 Objetivo: Demonstrar como usar GMF para criar uma linguagem visual, e criar um interpretador simples baseado em EMF 1. Criar novo projeto GMF 1.1. name = webmedia.mc3.exemplo Mandar mostrar a dashboard 1.3. Mover a pasta model para dentro da pasta src 2. Criar um Domain Model(usando o dashboard), dentro da pasta model, chamado questionario.ecore 3. Inicializar diagrama ecore para editar mais facilmente 3.1. Clicar com botão direito sobre questionario.ecore e escolher Initialize Ecore Diagram File... (Não utilizar Initialize ecore_diagram diagram file ) 4. Criar o metamodelo 4.1. Se não estiver aparecendo, mandar mostrar a properties view 4.2. Clicar em qualquer lugar do diagrama, e setar as propriedades: Name: questionario Ns Prefix: questionarionsprefix Ns URI: questionarionsuri 4.3. Criar o seguinte metamodelo 5. Derivar o Domain Gen Model (usando o dashboard) e gerar o código EMF 5.1. Abrir o genmodel gerado 5.2. Clicar sobre o elemento raiz (Questionario) com o botão direito e escolher Generate All 6. Derivar o Graphical Def Model (usando o dashboard) 6.1. Escolher Questionario como Diagram Element 6.2. Na tela de definição gráfica, escolher as seguintes opções:

5 7. Derivar o Tooling Def Model (usando o dashboard) 7.1. Escolher Questionario como Diagram Element 7.2. Na tela de definição das ferramentas, escolher as seguintes opções: 8. Combinar o Graphical e Tooling Def Models no Mapping Model (usando o dashboard) 8.1. Escolher Questionario como elemento do canvas mapping 8.2. Seguir até o fim 8.3. Após o gmfmap ser criado, expandir o Link Mapping e clicar sobre o nó filho Feature Label Mapping false 8.4. Na propriedade Diagram Label escolher Diagram Label RespostaTexto 9. Transformar o Mapping Model em Diagram Editor Gen Model (usando o dashboard) 9.1. Aguardar, pois não é exibida nenhuma janela nesse último passo 10. Mandar gerar o editor de diagramas Clicar sobre Generate diagram editor no dashboard 11. Fazer deploy Clicar com botão direito no projeto e escolher Export Mandar exportar como Deployable plug-ins and fragments todos os projetos webmedia.mc3.exemplo2*.* Usar a opção de exportar para arquivos.jar No campo Qualifier replacement, inserir noqualifier Copiar a pasta gerada dentro da pasta do eclipse e reiniciar o ambiente 12. Testar o editor criado Criar um novo Xpand Project nome = webmedia.mc3.exemplo2.generator Create a sample = true Criar um novo arquivo do diagrama Clicar com botão direito no pacote src, escolher New -> Example... -> Questionario diagram Testar o editor, criando um questionario 14. Embelezar o diagrama Trocar os ícones Sair do eclipse, remover os arquivos.jar do plug-in e iniciar novamente Substituir os ícones novos da pasta icons/full/obj16 do projeto webmedia.mc3.exemplo2.edit Exportar os plug-ins novamente e testar Colocar seta na resposta No gmfgraph, adicionar um filho Polyline Decoration ao nó Polyline Connection RespostaFigure Clicar sobre o elemento recém-criado e colocar no campo Name o valor Seta Clicar sobre o elemento Polyline Connection RespostaFigure e escolher para a propriedade Target decoration o valor Polyline Decoration Seta Refazer os passos Transform e Generate diagram editor do dashboard Exportar os plug-ins novamente e testar

6 15. Fazer um interpretador Configurar o arquivo de workflow (src/workflow/generator.mwe) do projeto webmedia.mc3.exemplo2.generator: <workflow> <property name="model" value="webmedia.mc3.exemplo2.generator/src/default.questionario" /> <!-- set up EMF for standalone execution --> <bean class="org.eclipse.emf.mwe.utils.standalonesetup" > <platformuri value=".."/> <RegisterGeneratedEPackage value="questionario.questionariopackage"/> </bean> <!-- load model and store it in slot 'model' --> <component class="org.eclipse.emf.mwe.utils.reader"> <uri value="platform:/resource/${model" /> <modelslot value="model" /> </component> <component class="questionario.executa" /> </workflow> Configurar as dependências do projeto Abrir o arquivo META-INF/MANIFEST.MF Na aba de dependências, adicionar os seguintes plug-ins como required: - webmedia.mc3.exemplo2 - org.eclipse.emf.mwe.utils Criar nova classe (questionario.executa) no pacote src, estendendo AbstractWorkflowComponent Mandar o Eclipse adicionar os métodos não implementados Adicionar a seguinte implementação ao método invokeinternal protected void invokeinternal(workflowcontext ctx, ProgressMonitor monitor,issues issues) { EObject model = (EObject) ctx.get("model"); Questionario questionario = (Questionario)model; Item itematual = null; for(item i: questionario.getperguntas()) { if(i.isinicio()) { itematual = i; break; if(itematual == null) { issues.adderror("não existe mensagem definida como inicial!"); return; System.out.println(itemAtual.getMensagem()); Scanner console = new Scanner(System.in); while(!itematual.isfim()) { for(int i=1;i<=itematual.getalternativas().size();i++) { Resposta r = itematual.getalternativas().get(i-1); System.out.println(i+") "+r.gettexto()); System.out.println("Digite sua resposta"); int opcao = console.nextint(); itematual = itematual.getalternativas().get(opcao- 1).getProximaPergunta(); System.out.println(itemAtual.getMensagem()); System.out.println("Fim do questionário"); Rodar o arquivo generator.mwe

7 Exemplo 3 Objetivo: Demonstrar como fazer uma transformação declarativa utilizando xtend 1. Copiar projeto webmedia.mc3.exemplo1.generator 1.1. Novo nome = webmedia.mc3.exemplo3 2. Modificar arquivo Extensions.ext para incluir as regras transforma(problema problema) : problema.expressoes.typeselect(armazena).incrementaarmazena() -> problema.expressoes.typeselect(operacao).trocasomaporsubtracao() -> problema.adicionaexpressao() ; incrementaarmazena (Armazena armazena) : armazena.settermo(armazena.termo + 10) ; trocasomaporsubtracao (Operacao operacao) : if(operacao.sinal == SinalMatematico::SOMA) then operacao.setsinal(sinalmatematico::subtracao) ; adicionaexpressao(problema problema): let e = new Operacao: e.setsinal(sinalmatematico::soma) -> e.settermo(1234) -> problema.expressoes.add(e) ; 3. Adicionar o seguinte trecho ao workflow (antes do math.executa) <component class="org.eclipse.xtend.xtendcomponent"> <metamodel class="org.eclipse.xtend.typesystem.emf.emfmetamodel"> <metamodelpackage value="webmedia.mc3.math.mathpackage" /> </metamodel> <invoke value="templates::extensions::transforma(model)"/> </component> 4. Rodar o workflow

8 Exemplo 4 Objetivo: Demonstrar como fazer uma transformação procedural utilizando EMF 1. Copiar projeto webmedia.mc3.exemplo2.generator 1.1. Novo nome = webmedia.mc3.exemplo4 2. Criar dentro do pacote src uma classe questionario.transforma, que estende AbstractWorkflowComponent 2.1. Inserir o seguinte conteúdo no método protected void invokeinternal(workflowcontext ctx, ProgressMonitor monitor, Issues issues) { EObject model = (EObject) ctx.get("model"); Questionario questionario = (Questionario)model; Item iteminicial = null; for(item i: questionario.getperguntas()) { if(i.isinicio()) { iteminicial = i; break; if(iteminicial == null) { issues.adderror("não existe mensagem definida como inicial!"); return; for(item i: questionario.getperguntas()) { if(!i.isinicio() &&!i.isfim()) { Resposta r = QuestionarioFactory.eINSTANCE.createResposta(); r.settexto("voltar ao início"); r.setproximapergunta(iteminicial); i.getalternativas().add(r); 3. Adicionar a chamada para a nova classe criada, no final arquivo de workflow, antes do componente Executa, e modificar o começo do arquivo para apontar para o projeto atual <workflow> <property name="model" value="webmedia.mc3.exemplo4/src/default.questionario" />... <component class="questionario.transforma" /> <component class="questionario.executa" /> </workflow> 4. Rodar o workflow

9 Exemplo 5 Objetivo: Demonstrar como gerar código utilizando xpand 1. Copiar projeto webmedia.mc3.exemplo Novo nome = webmedia.mc3.exemplo5 2. Colocar o seguinte conteúdo no arquivo src/templates/template.xpt «IMPORT math»; «EXTENSION templates::extensions» «DEFINE main FOR Problema-» «FILE "CodigoGerado.java"-» public class CodigoGerado { public static void main(string args[]) { double resultado = 0; «FOREACH this.expressoes AS expressao-» «IF expressao.metatype == Armazena-» resultado = «expressao.termo»; «ELSE-» resultado = resultado «((Operacao)expressao).sinal» «expressao.termo»; «ENDIF-» «ENDFOREACH-» System.out.println("O resultado é "+resultado); «ENDFILE-» «ENDDEFINE» 3. Descomentar o componente do xpand Generator no arquivo de workflow: <workflow>... <component class="org.eclipse.xpand2.generator"> <metamodel class="org.eclipse.xtend.typesystem.emf.emfregistrymetamodel"/> <fileencoding value="cp1252"/> <expand value="templates::template::main FOR model"/> <genpath value="${targetdir"/> </component>... </workflow> 4. Rodar o workflow 5. Observar que foi gerado o arquivo src-gen/codigogerado.java

10 Exemplo 6 Objetivo: Demonstrar como gerar código utilizando JET 1. Criar um novo JET Transformation Project 1.1. nome = webmedia.mc3.exemplo Deixar as outras opções como default 2. Configurar o projeto para ler modelos EMF 2.1. Abrir o arquivo plugin.xml no raiz do projeto 2.2. Clicar na aba Extensions 2.3. Expandir o elemento org.eclipse.jet.transform na árvore All Extensions 2.4. Clicar no elemento (transform) 2.5. No campo modelloader, preencher org.eclipse.jet.emf 3. Criar templates para gerar um HTML para o questionário arquivo templates/main.jet prefix="ws" id="org.eclipse.jet.workspacetags" %> <c:setvariable var="org.eclipse.jet.taglib.control.iteratesetscontext" select="true()"/> <ws:project name="webmedia.mc3.exemplo6.generated"> <ws:folder path="html-gen"> <ws:file path="questionario.html" template="templates/questionario.html.jet" /> </ws:folder> </ws:project> arquivo templates/questionario.html.jet <html> <head> <title><c:get /></title> </head> <body> <h1><c:get /></h1> <br> Descrição: <c:get /> <br> <br> O tempo estimado para este questionário é de <c:get /> minutos <hr> <br> <% int contadorpergunta = 1; %> <c:iterate var="pergunta"> <c:get /> <br> <c:iterate select="$pergunta/alternativas" var="resposta" delimiter=" "> <input type="radio" name="rbpergunta<%=contadorpergunta%>" value=""><c:get /> </c:iterate> <% contadorpergunta++; %> <br><br> </c:iterate> Possíveis conclusões:<br> <c:iterate var="pergunta"> <input type="radio" name="rbconclusao" value=""><c:get /> <br> </c:iterate> </body> </html> 4. Rodar a transformação 4.1. Clicar no menu Run -> Run Configurations...

11 4.2. Clicar com botão direito sobre JET Transformation e escolher New 4.3. No campo Transformation Input, escolher - webmedia.mc3.exemplo4/src/default.questionario 4.4. No campo Transformation ID, escolher - webmedia.mc3.exemplo Clicar em Apply e em seguida em Run 4.6. Observar que foi criado um novo projeto webmedia.mc3.exemplo6.generated, com o conteúdo do questionário sendo gerado no arquivo html-gen/questionario.html 5. Mostrar como combinar com a transformação 5.1. Copiar projeto webmedia.mc3.exemplo Novo nome = webmedia.mc3.exemplo6.transforma 5.2. Modificar o arquivo de workflow Modificar a propriedade model para apontar para o modelo deste projeto Incluir uma propriedade transformedmodel para apontar para o modelo transformado Comentar o componente questionario.executa Incluir um componente de escrita do modelo transformado <?xml version="1.0"?> <workflow> <property name="model" value="webmedia.mc3.exemplo6.transforma/src/default.questionario" /> <property name="transformedmodel" value="webmedia.mc3.exemplo6.transforma/src/transformed.questionario" /> <!-- set up EMF for standalone execution --> <bean class="org.eclipse.emf.mwe.utils.standalonesetup" > <platformuri value=".."/> <RegisterGeneratedEPackage value="questionario.questionariopackage"/> </bean> <!-- load model and store it in slot 'model' --> <component class="org.eclipse.emf.mwe.utils.reader"> <uri value="platform:/resource/${model" /> <modelslot value="model" /> </component> <component class="questionario.transforma" /> <!--<component class="questionario.executa" />--> <component class="org.eclipse.emf.mwe.utils.writer"> <modelslot value="model" /> <uri value="platform:/resource/${transformedmodel" /> </component> </workflow> 5.3. Rodar o workflow Será criado o arquivo transformed.questionario Clicar com botão direito sobre o arquivo criado e escolher Initialize questionario_diagram diagram file e verificar que o novo modelo inclui as transformações 5.4. Rodar o gerador JET novamente, mas com o modelo transformado Clicar em Run -> Run Configurations Clicar na configuração JET Transformation criada anteriormente Modificar o campo Transformation Input para: webmedia.mc3.exemplo6.transforma/src/transformed.questionario Clicar em Apply e Run Verificar que o novo arquivo HTML gerado agora inclui as transformações

12 Estudo de caso Objetivo: Demonstrar a aplicação dos conceitos do desenvolvimento orientado a modelos na Engenharia Web 1. Modelagem estrutural 1.1. Criar novo projeto Xtext Name = webmedia.mc3.estudodecaso.estrutura Language name = webmedia.mc3.estudodecaso.estrutura DSL-file extension = estrutura Create generator project = true 1.2. Manter a própria gramática de exemplo criada 1.3. Mandar gerar o plug-in para a linguagem Rodar o workflow GenerateEstrutura.mwe 1.4. Exportar como Deployable plug-ins and fragments os projetos: - webmedia.mc3.estudodecaso.estrutura - webmedia.mc3.estudodecaso.estrutura.ui 1.5. Sair do eclipse, copiar os arquivos exportados para a pasta do eclipse e reiniciar o ambiente 1.6. Testar o modelo, no arquivo src/model/mymodel.estrutura, localizado no projeto webmedia.mc3.estudodecaso.estrutura.generator type String type int entity Pessoa { property nome : String property idade : int property dependentes : Pessoa[] property enderecoresidencial : Endereco entity Endereco { property rua : String property numero : int 2. Modelagem da navegação 2.1. Criar novo projeto GMF Nome = webmedia.mc3.estudodecaso.navegacao Mandar mostrar o dashboard Mover a pasta model para dentro da pasta src 2.2. Criar um Domain Model (usando o dashboard), dentro da pasta model, chamado navegacao.ecore 2.3. Inicializar diagrama ecore para editar mais facilmente Clicar com botão direito sobre navegacao.ecore e escolher Initialize Ecore Diagram File... (Não utilizar Initialize ecore_diagram diagram file ) 2.4. Criar o metamodelo Se não estiver aparecendo, mandar mostrar a properties view Clicar em qualquer lugar do diagrama, e setar as propriedades: Name: navegacao Ns Prefix: navegacaonsprefix Ns URI: navegacaonsuri

13 Criar o seguinte metamodelo: 2.5. Mandar derivar o Domain Gen Model (usando o dashboard) Deixar todas as opções default Após a criação, o arquivo gerado será aberto Clicar com botão direito sobre o nó raiz Navegacao e escolher Generate All 2.6. Mandar derivar o Graphical Def Model (usando o dashboard) Escolher Navegacao como Diagram Element Na tela de definição gráfica, escolher a seguinte configuração Ajustar o arquivo gmfgraph gerado: Apagar o nó Rectangle AreaFigure Clicar com botão direito sobre Figure Descriptor AreaFigure e escolher -> New Child -> Rounded Rectangle Clicar sobre Rounded Rectangle para visualizar suas propriedades e digitar AreaFigure no campo Name Mudar o campo Line Width para Clicar com botão direito sobre o nó Rounded Rectangle AreaFigure e escolher -> New Child -> Flow Layout Clicar com botão direito sobre o nó Rounded Rectangle AreaFigure e escolher -> New Child -> Label Clicar sobre o recém-criado elemento Label e setar os seguintes campos: Name = AreaNomeFigure Text = <...> Clicar sobre o elemento Child Access getfigurenull e setar o campo Figure para Label AreaNomeFigure (O campo Accessor irá atualizar automaticamente) Clicar sobre o elemento Polyline Connection PaginaAreaFigure e mudar o campo Line Kind para LINE_DOT

14 Clicar com botão direito sobre o elemento Polyline Connection LinkFigure e escolher -> New Child -> Polyline Decoration Clicar sobre o elemento recém-criado Polyline Decoration e colocar no campo Name o valor SetaLink Clicar sobre o elemento Polyline Connection LinkFigure e colocar no campo Target Decoration o valor Polyline Decoration SetaLink Clicar com botão direito sobre o elemento Polyline Connection LinkFigure e escolher -> New Child -> Foreground Color Constant Color Clicar sobre o elemento recém-criado e escolher o valor blue 2.7. Mandar derivar o Tooling Def Model (usando o dashboard) Escolher Navegacao como Diagram Element Na tela de definição de ferramentas, escolher a seguinte configuração 2.8. Mandar combinar Graphical e Tooling Def Models no Mapping Model (usando o dashboard) Escolher Navegação como a classe do Canvas Mapping Deixar nas opções padrão a seleção de Palette e Canvas Na tela de mapeamento, escolher a seguinte configuração e clicar em Finish

15 Clicando sobre os elementos do mapping, verificar/modificar as propriedades para que estejam conforme a seguir: - Top Node Reference <areas:area/area> - Node Mapping <Area/Area> - Feature Label Mapping false (Area/Area) - Top Node Reference <paginas:pagina/pagina> - Node Mapping <Pagina/Pagina>

16 - Feature Label Mapping false (Pagina/Pagina) - Link Mapping <{Pagina.area:Area/PaginaArea> - Link Mapping <Link{/> (após alterar os campos, clique com botão direito e escolha Refresh. O nome deste nó irá mudar para: Link{Link.origem:Pagina->Link.destino:Pagina/Link ) Clicar com botão direito sobre este último nó e escolher New Child -> Feature Label Mapping Clicar sobre o elemento recém-criado e setar os seguintes campos: Features to display = Link.nome:Estring Diagram Label = Diagram Label LinkNome 2.9. Transformar o Mapping Model no Diagram Editor Gen Model (usando o dashboard) Aguardar, pois não é exibida nenhuma janela nesta ação Gerar o Diagram Editor Gen Model (usando o dashboard) Exportar os projetos como plug-in Clicar com botão direito sobre o projeto e escolher Export Exportar como Deployable plug-ins and fragments os projetos webmedia.mc3.estudodecaso.navegacao*.* Usar a opção de exportar para arquivos.jar

17 No campo Qualifier replacement, inserir noqualifier Copiar a pasta gerada dentro da pasta do eclipse e reiniciar o ambiente Para testar, clicar em qualquer pasta e escolher New -> Example -> Navegacao Diagram 3. Modelagem da apresentação 3.1. Criar novo projeto Xtext Name = webmedia.mc3.estudodecaso.apresentacao Language name = webmedia.mc3.estudodecaso.apresentacao DSL-file extension = apresentacao Create generator project = true 3.2. Criar a seguinte gramática grammar webmedia.mc3.estudodecaso.apresentacao with org.eclipse.xtext.common.terminals generate apresentacao "http://www.mc3.webmedia/estudodecaso/apresentacao" Apresentacao : (conteudo+=conteudo)* (paginas+=pagina)* ; Conteudo : 'conteudo' name=id '{' ('paragrafo' texto+=string)* '' ; Pagina : 'pagina' name=id '{' 'titulo' titulo=string 'ref_conteudo' (conteudopagina += [Conteudo])+ '' ; 3.3. Rodar o workflow GenerateApresentacao.mwe 3.4. Exportar como Deployable plug-ins and fragments os projetos - webmedia.mc3.estudodecaso.apresentacao - webmedia.mc3.estudodecaso.apresentacao.ui 3.5. Copiar a pasta gerada dentro do eclipse e reiniciar o ambiente 3.6. Testar, modificando o arquivo src/model/mymodel.apresentacao do projeto webmedia.mc3.estudodecaso.apresentacao.generator 4. Geração de código 4.1. Criar novo projeto Xpand Name = webmedia.mc3.estudodecaso.gerador Create a sample = true 4.2. Criar nova pasta model no pacote src

18 4.3. Criar arquivo model/meusite.estrutura type String type boolean type int type double entity Pessoa { property nome : String property String property receberinformacoes : boolean entity Noticia { property titulo : String property texto : String entity Produto { property nome : String property descricao : String property preco : double entity Pedido { property pessoa : Pessoa property produtos : Produto [] 4.4. Criar arquivo meusite.navegacao ( New -> Example... -> Navegacao diagram )

19 4.5. Criar arquivo meusite.apresentacao Criar conteúdo e páginas de acordo com o diagrama acima Manter os nomes das páginas Exemplo: conteudo faleconosco { paragrafo "Estamos abertos à críticas e sugestões" paragrafo "Entre em contato pelo paragrafo "Estaremos respondendo em até 24 horas" conteudo endereco { paragrafo "O site de compras tem sede em São Carlos - SP" paragrafo "Rua central, número 1234, Centro" paragrafo "CEP: " paragrafo "Telefone: (16) / Fax: (16) "... pagina principal { titulo "Página principal" ref_conteudo bemvindo endereco pagina ultimasnoticias { titulo "Últimas notícias" ref_conteudo noticias pagina faleconosco { titulo "Entre em contato" ref_conteudo faleconosco endereco Adicionar as dependências do projeto Abrir arquivo META-INF/MANIFEST.MF, e na aba Dependencies, adicionar os seguintes plug-ins como Required: - org.eclipse.emf.mwe.utils - webmedia.mc3.estudodecaso.apresentacao - webmedia.mc3.estudodecaso.estrutura - webmedia.mc3.estudodecaso.navegacao 4.7. Criar gerador da estrutura (beans)

20 Colocar o seguinte conteúdo nos arquivos: template/generatorextensions.ext (Xtend) import estrutura; Model model(type this) : econtainer; List[Entity] entities(model this) : elements.typeselect(entity); getter(property this) : "get"+name.tofirstupper(); setter(property this) : "set"+name.tofirstupper(); template/template.xpt (Xpand) «IMPORT apresentacao» «IMPORT estrutura» «IMPORT navegacao» «EXTENSION template::generatorextensions» «DEFINE main(apresentacao apresentacao, Navegacao navegacao) FOR Model» «EXPAND javaclass FOREACH entities()» «ENDDEFINE» «DEFINE javaclass FOR Entity-» «FILE "src-gen/beans/"+name+".java"-» package beans; public class «name» { «FOREACH properties AS p-» «IF!p.many-» private «p.type.name» «p.name»; public void «p.setter()»(«p.type.name» «p.name») { this.«p.name» = «p.name»; public «p.type.name» «p.getter()»() { return «p.name»; «ELSE-» private java.util.collection<«p.type.name»> «p.name»; public void «p.setter()»(java.util.collection<«p.type.name»> «p.name») { this.«p.name» = «p.name»; public java.util.collection<«p.type.name»> «p.getter()»() { return «p.name»; «ENDIF-» «ENDFOREACH-» «ENDFILE» «ENDDEFINE»

21 Para testar, modificar o arquivo de workflow (generator.mwe) para: <?xml version="1.0"?> <workflow> <property name="modeloestrutura" value="webmedia.mc3.estudodecaso.gerador/src/model/meusite.estrutura" /> <property name="modelonavegacao" value="webmedia.mc3.estudodecaso.gerador/src/model/meusite.navegacao" /> <property name="modeloapresentacao" value="webmedia.mc3.estudodecaso.gerador/src/model/meusite.apresentacao" /> <property name="targetdir" value="meusite"/> <!-- Configura os metamodelos EMF --> <bean class="org.eclipse.emf.mwe.utils.standalonesetup" > <platformuri value=".."/> <RegisterGeneratedEPackage value="navegacao.navegacaopackage"/> </bean> <!-- Ler modelo estrutural (Xtext) --> <component class="org.eclipse.xtext.mwereader" uri="platform:/resource/${modeloestrutura"> <!-- this class will be generated by the xtext generator --> <register class="webmedia.mc3.estudodecaso.estruturastandalonesetup"/> <outputslot value="modeloestruturalido" /> </component> <!-- Ler modelo de navegacao (GMF) --> <component class="org.eclipse.emf.mwe.utils.reader"> <uri value="platform:/resource/${modelonavegacao" /> <modelslot value="modelonavegacaolido" /> </component> <!-- Ler modelo apresentacao (Xtext) --> <component class="org.eclipse.xtext.mwereader" uri="platform:/resource/${modeloapresentacao"> <!-- this class will be generated by the xtext generator --> <register class="webmedia.mc3.estudodecaso.apresentacaostandalonesetup"/> <outputslot value="modeloapresentacaolido" /> </component> <!-- Gerar codigo --> <component class="org.eclipse.xpand2.generator"> <metamodel class="org.eclipse.xtend.typesystem.emf.emfregistrymetamodel"/> <fileencoding value="cp1252"/> <expand value="template::template::main(modeloapresentacaolido, modelonavegacaolido) FOR modeloestruturalido"/> <genpath value="${targetdir"/> </component> </workflow> Rodar o workflow e observar que gerou código para as entidades 4.8. Criar gerador das páginas Adicionar a seguinte linha ao arquivo Template.xpt... «DEFINE main(apresentacao apresentacao, Navegacao navegacao) FOR Model» «EXPAND javaclass FOREACH entities()» «EXPAND template::templatehtml::htmlpage(navegacao,apresentacao) FOREACH apresentacao.paginas» «ENDDEFINE»...

22 Criar arquivo de template das páginas, clicando sobre a pasta src/template e escolhendo New -> Other... -> Xpand Template template/templatehtml.xpt «IMPORT apresentacao» «IMPORT estrutura» «IMPORT navegacao» «EXTENSION template::generatorextensions» «DEFINE htmlpage(navegacao navegacao, Apresentacao apresentacao) FOR apresentacao::pagina-» «FILE "html-gen/paginas/"+name+".html"-» <html><head> <title>«titulo»</title> </head> <body> <h1>«titulo»</h1> <br> Você está em: «area(name,navegacao)» > «titulo» <hr> <table><tr> <td bgcolor="#cccccc"> «EXPAND menu(name, apresentacao) FOR navegacao-» </td> <td> <br> «FOREACH conteudopagina AS conteudo-» «FOREACH conteudo.texto AS paragrafo-» <p>«paragrafo»</p> «ENDFOREACH-» «ENDFOREACH-» <br> </td></tr></table> <hr> Links: «EXPAND links(name) FOR navegacao-» </body> </html> «ENDFILE» «ENDDEFINE» «DEFINE menu(string nome, Apresentacao apresentacao) FOR Navegacao-» «FOREACH areas AS area-» «area.nome»<br> «FOREACH paginas.select(e e.area==area) AS pagina-» «IF pagina.nome!=nome»<a href="«pagina.nome».html">«endif-» «apresentacao.paginas.selectfirst(e e.name==pagina.nome).titulo» «IF pagina.nome!=nome»</a>«endif-» <br/> «ENDFOREACH-» «ENDFOREACH-» «ENDDEFINE» «DEFINE links(string nome) FOR Navegacao-» «FOREACH links.select(e e.origem.nome==nome) AS link SEPARATOR " " -» <a href="«link.destino.nome».html">«link.nome»</a> «ENDFOREACH» «ENDDEFINE»

1. Fazer aplicação exemplo

1. Fazer aplicação exemplo 1. Fazer aplicação exemplo 1.1. Criar novo projeto Web (EstudoDeCaso.Exemplo) 1.2. index.jsp (com os links individuais para cadastros) 1.3. cadastrarpessoa.jsp (formulário simples) 1.4. servlet CadastrarPessoa

Leia mais

Tutorial GMF (Graphical Modeling Framework)

Tutorial GMF (Graphical Modeling Framework) Tutorial GMF (Graphical Modeling Framework) Sobre o GMF: O GMF (Graphical Modeling Framework) é um framework para desenvolvimento de editores gráficos para modelos de domínio. Ele surgiu de uma união de

Leia mais

Exemplo 1 Objetivo: Demonstrar como fazer um interpretador simples

Exemplo 1 Objetivo: Demonstrar como fazer um interpretador simples Exemplo 1 Objetivo: Demonstrar como fazer um interpretador simples 1. Criar novo projeto Java 2. Criar arquivo conta.math 3. Criar classe InterpretaMath.java 5. Criar um LineNumberReader/FileReader para

Leia mais

Aprenda como instalar o plugin EclipseUML no Eclipse e como utilizá-lo para fazer engenharia reversa de seu código-fonte.

Aprenda como instalar o plugin EclipseUML no Eclipse e como utilizá-lo para fazer engenharia reversa de seu código-fonte. Omondo EclipseUML Ricardo Rodrigues Lecheta Aprenda como instalar o plugin EclipseUML no Eclipse e como utilizá-lo para fazer engenharia reversa de seu código-fonte. Introdução Neste tutorial será apresentado

Leia mais

Introdução ao IDE Netbeans (Programação Java)

Introdução ao IDE Netbeans (Programação Java) Universidade Federal do ABC (UFABC) Disciplina: Processamento da Informação (BC-0505) Assunto: Java e Netbeans Introdução ao IDE Netbeans (Programação Java) Conteúdo 1. Introdução... 1 1.1. Programas necessários...

Leia mais

Antes de iniciar execute o script do banco de dados no SQLYOG ou outra ferramenta de sua preferência

Antes de iniciar execute o script do banco de dados no SQLYOG ou outra ferramenta de sua preferência Tutorial JPA em ambiente Eclipse Antes de iniciar execute o script do banco de dados no SQLYOG ou outra ferramenta de sua preferência 1-Selecione a perspectiva Java JPA: window, open perspective, other,

Leia mais

Configurar o Furbot no Eclipse

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

Leia mais

Criação de Applets Package: Class Name Base Class: Generate header comments: Can run standalone: Generate Standard methods:

Criação de Applets Package: Class Name Base Class: Generate header comments: Can run standalone: Generate Standard methods: Criação de Applets Após ter sido criado o projeto, ao contrário dos exemplos anteriores onde criávamos uma aplicação na guia General da janela Object Gallery, agora iremos criar uma applet que está contida

Leia mais

Desenvolvimento para Android Prá9ca 2. Prof. Markus Endler

Desenvolvimento para Android Prá9ca 2. Prof. Markus Endler Desenvolvimento para Android Prá9ca 2 Prof. Markus Endler Criando o primeiro projeto Android Com o ambiente de desenvolvimento preparado, vá em File - > New - > Project... Na janela que abrir, selecione

Leia mais

Índice. Manual Backup Online. 03 Capítulo 1: Visão Geral

Índice. Manual Backup Online. 03 Capítulo 1: Visão Geral Índice 03 Capítulo 1: Visão Geral 04 Capítulo 2: Conta de Usuário 04 Criação 08 Edição 09 Grupo de Usuários 10 Informações da Conta 12 Capítulo 3: Download do Backup Online Embratel 16 Capítulo 4: Cópia

Leia mais

BACKUP ONLINE PASSOS PARA CONFIGURAÇÃO INICIAL DO PRODUTO

BACKUP ONLINE PASSOS PARA CONFIGURAÇÃO INICIAL DO PRODUTO BACKUP ONLINE PASSOS PARA CONFIGURAÇÃO INICIAL DO PRODUTO Criação de Conta de Usuário...03 Edição da Conta de Usuário...10 Download do Backup Online Embratel...10 Descrição dos Conjuntos de Cópia de Segurança...19

Leia mais

Passo a Passo. WebSphere Message Broker. Fluxo como WebService

Passo a Passo. WebSphere Message Broker. Fluxo como WebService Passo a Passo WebSphere Message Broker Fluxo como WebService Alexandre José Batista ajbatist@ibest.com.br Criado em: 07/11/08 Página 1 de 38 Índice 1. OBJETIVOS DO DOCUMENTO... 4 2. CRIANDO UM FLUXO NO

Leia mais

Desenvolvimento Android. http://www.larback.com.br

Desenvolvimento Android. http://www.larback.com.br Desenvolvimento Android http://www.larback.com.br Introdução ao Android O Android é a resposta da Google ao mercado crescente de dispositivos móveis. É uma nova plataforma de desenvolvimento baseado no

Leia mais

OMT-G Design. Instalação por pacotes

OMT-G Design. Instalação por pacotes OMT-G Design A plataforma Eclipse OMT-G Design não é um software independente, é um plug-in que se utiliza dos mecanismos de extensão do Eclipse que por sua vez é um ambiente de desenvolvimento de software.

Leia mais

insfcanceof new public switch transient while byte continue extends for int null

insfcanceof new public switch transient while byte continue extends for int null Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public

Leia mais

Tutorial EPF Básico. 1)Vá a File-> New->Method Library. Escolha uma pasta para criar a Method Library.

Tutorial EPF Básico. 1)Vá a File-> New->Method Library. Escolha uma pasta para criar a Method Library. Tutorial EPF Básico Pasteur Ottoni de Miranda Junior-DCC PUC MG Postado em www.pasteurjr.blogspot.com 1)Vá a File-> New->Method Library. Escolha uma pasta para criar a Method Library. 2)Vá a File-> New->Method

Leia mais

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Curso Adonai QUESTÕES Disciplina Linguagem JAVA 1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String

Leia mais

( JUDE Community 5.1 2006/2007 ) Por Denize Terra Pimenta Outubro/2007

( JUDE Community 5.1 2006/2007 ) Por Denize Terra Pimenta Outubro/2007 Tutorial JUDE ( JUDE Community 5.1 2006/2007 ) Por Denize Terra Pimenta Outubro/2007 Ferramenta CASE UML Índice Introdução... 2 Download e Instalação... 2 Apresentação da Ferramenta... 2 Salvando o Projeto...

Leia mais

Persistência de Classes em Tabelas de Banco de Dados

Persistência de Classes em Tabelas de Banco de Dados UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Persistência de Classes em Tabelas de Banco de Dados 1) Introdução! Em algumas situações, pode ser necessário preservar os objetos

Leia mais

2 Orientação a objetos na prática

2 Orientação a objetos na prática 2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos

Leia mais

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP AGRUPAMENTO DE ESCOLAS DE SANTA COMBA DÃO CURSO PROFISSIONAL DE TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS 2012-2015 PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO MÓDULO 2 Mecanismos de Controlo de

Leia mais

JavaScript 2.0X 1.0 3.0X 1.1 4.0 4.05 1.2 4.06 4.61 1.3 5.0 1.4 6.0 1.5

JavaScript 2.0X 1.0 3.0X 1.1 4.0 4.05 1.2 4.06 4.61 1.3 5.0 1.4 6.0 1.5 JavaScript Diego R. Frank, Leonardo Seibt FIT Faculdades de Informática de Taquara Fundação Educacional Encosta Inferior do Nordeste Av. Oscar Martins Rangel, 4500 Taquara RS Brasil difrank@terra.com.br,

Leia mais

Prática em Laboratório N.04 (Parte 01) Criando uma aplicação composta a partir de um serviço Web

Prática em Laboratório N.04 (Parte 01) Criando uma aplicação composta a partir de um serviço Web Prática em Laboratório N.04 (Parte 01) Criando uma aplicação composta a partir de um serviço Web O objetivo deste exercício é fornecer uma introdução a criação de uma aplicação composta de modo a ilustrar

Leia mais

Criação de Applets com o JBuilder Professor Sérgio Furgeri

Criação de Applets com o JBuilder Professor Sérgio Furgeri OBJETIVOS DA AULA: Apresentar o processo de criação em uma interface gráfica para a Internet; Fornecer subsídios para que o aluno possa compreender onde aplicar Applets; Demonstrar a criação de uma Applet

Leia mais

Tutorial RMI (Remote Method Invocation) por Alabê Duarte

Tutorial RMI (Remote Method Invocation) por Alabê Duarte Tutorial RMI (Remote Method Invocation) por Alabê Duarte Este tutorial explica basicamente como se implementa a API chamada RMI (Remote Method Invocation). O RMI nada mais é que a Invocação de Métodos

Leia mais

A Linguagem Java. Alberto Costa Neto DComp - UFS

A Linguagem Java. Alberto Costa Neto DComp - UFS A Linguagem Java Alberto Costa Neto DComp - UFS 1 Roteiro Comentários Variáveis Tipos Primitivos de Dados Casting Comandos de Entrada e Saída Operadores Constantes 2 Comentários /** Classe para impressão

Leia mais

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web

Leia mais

Desenvolvimento para Android Prá3ca 3. Prof. Markus Endler

Desenvolvimento para Android Prá3ca 3. Prof. Markus Endler Desenvolvimento para Android Prá3ca 3 Prof. Markus Endler Exercício 3.1 Solicitando permissão para abrir uma página Web ü Criaremos uma Ac.vity com um EditText (para entrada de uma URL), um Bu?on e uma

Leia mais

Eclipse IDE Dá-se importância aos antepassados quando já não temos nenhum. Francois Chateaubriand

Eclipse IDE Dá-se importância aos antepassados quando já não temos nenhum. Francois Chateaubriand Eclipse IDE Dá-se importância aos antepassados quando já não temos nenhum. Francois Chateaubriand O Eclipse O Eclipse (www.eclipse.org) e uma IDE (integrated development environment). Diferente de uma

Leia mais

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc. Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java

Leia mais

LINGUAGEM ORIENTADA A OBJETOS

LINGUAGEM ORIENTADA A OBJETOS LINGUAGEM ORIENTADA A OBJETOS TI MÓDULO II O ECLIPSE O eclipse é uma IDE Open Source (código fonte aberto) que serve para o desenvolvimento em muitas linguagens: PHP Java Python HTML C/C++ A IDE Eclipse

Leia mais

Tutorial: Criando aplicações J2EE com Eclipse e jboss-ide

Tutorial: Criando aplicações J2EE com Eclipse e jboss-ide Tutorial: Criando aplicações J2EE com Eclipse e jboss-ide Para criar uma aplicação J2EE, utilizando Eclipse e jboss-ide, é necessário ter instalado em seu computador o JDK 1.5 (versão atual). Abaixo seguem

Leia mais

Manual das funcionalidades Webmail AASP

Manual das funcionalidades Webmail AASP Manual das funcionalidades Webmail AASP 1. Configurações iniciais 2. Regras 3. Histórico da conta 4. Autorresposta 5. Dados de acesso (alterando senha de acesso) 6. Identidade (assinatura) 7. Redirecionamento

Leia mais

Manual da Ferramenta Metadata Editor

Manual da Ferramenta Metadata Editor 4 de março de 2010 Sumário 1 Introdução 3 2 Objetivos 3 3 Visão Geral 3 3.1 Instalação............................. 3 3.2 Legenda.............................. 4 3.3 Configuração Inicial........................

Leia mais

Java 2 Standard Edition. Configuraçã. ção o do ambiente. JEdit + Ant. argonavis.com.br. Helder da Rocha (helder@acm.org)

Java 2 Standard Edition. Configuraçã. ção o do ambiente. JEdit + Ant. argonavis.com.br. Helder da Rocha (helder@acm.org) Java 2 Standard Edition Configuraçã ção o do ambiente JEdit + Ant Helder da Rocha (helder@acm.org) argonavis.com.br 1 Java "IDE" configurável Este módulo mostra como montar um ótimo ambiente de desenolvimento

Leia mais

Seguindo o modelo descrito nas Tabelas 1 e 2, crie os arquivos utilizando a versão doo Excel que você tiver disponível.

Seguindo o modelo descrito nas Tabelas 1 e 2, crie os arquivos utilizando a versão doo Excel que você tiver disponível. Atividade 4 2013 SSIS Atenção! A atividade 4 será apresentada para toda a turma. Cada aluno terá 10 minutos para apresentação. O dia da apresentação será posteriormente marcado. Montando o cenário Para

Leia mais

Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5.

Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5. Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5. Ele considera que você já tem o Joomla! instalado no seu computador. Caso você queira utilizá lo em um servidor na web,

Leia mais

Programação online em Java

Programação online em Java Universidade Federal do ABC Disciplina: Processamento da Informação Assunto: Programação online em Java Programação online em Java Conteúdo Conteúdo...1 Introdução... 1 1.1.Programas necessários... 1 1.2.Visão

Leia mais

Tutorial de Computação Programação Gráfica em Python para MEC1100 v2010.11

Tutorial de Computação Programação Gráfica em Python para MEC1100 v2010.11 Tutorial de Computação Programação Gráfica em Python para MEC1100 v2010.11 Linha de Equipamentos MEC Desenvolvidos por: Maxwell Bohr Instrumentação Eletrônica Ltda. Rua Porto Alegre, 212 Londrina PR Brasil

Leia mais

Criação de Servlets Name Directory Build WAR JSP/Servlet frameworks Launch URL Package Class name Generate header comments

Criação de Servlets Name Directory Build WAR JSP/Servlet frameworks Launch URL Package Class name Generate header comments Criação de Servlets 1. Crie um novo projeto através do Menu File New Project. 2. Acesse o Menu File New. 3. Na janela Object Gallery que surgirá, selecione a guia Web. 4. Escolha o ícone que corresponde

Leia mais

ANDROID APPLICATION PROJECT

ANDROID APPLICATION PROJECT Criando um programa Abrindo o programa Eclipse, clique na opção [FILE], depois em [NEW], selecione a opção [PROJECT], uma janela de opção do tipo de projeto irá se abrir, escolha [ANDROID] logo depois

Leia mais

public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos.

public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos. import java.util.scanner; class Data... class Compromisso... public class Agenda private Compromisso[] compromissos; private Compromisso[] realoquecompromissos (Compromisso[] vetor, int tamanhodesejado)

Leia mais

INSTALANDO E CONFIGURANDO O ACTIVE DIRECTORY NO WINDOWS SERVER 2008

INSTALANDO E CONFIGURANDO O ACTIVE DIRECTORY NO WINDOWS SERVER 2008 INSTALANDO E CONFIGURANDO O ACTIVE DIRECTORY NO WINDOWS SERVER 2008 Objetivo Esse artigo tem como objetivo demonstrar como instalar e configurar o Active Directory no Windows Server 2008. Será também apresentado

Leia mais

Tutorial: Serviços web e suas composições

Tutorial: Serviços web e suas composições Tutorial: Serviços web e suas composições Objetivo: Este tutorial tem como objetivo apresentar o desenvolvimento de serviços web através do framework Axis2. Além disso, realizar uma composição através

Leia mais

Como criar e editar Blogs. Manual Básico do. Mario Roberto Barro Jerino Queiroz Ferreira Profª Drª Salete Linhares Queiroz

Como criar e editar Blogs. Manual Básico do. Mario Roberto Barro Jerino Queiroz Ferreira Profª Drª Salete Linhares Queiroz Como criar e editar Blogs Manual Básico do Mario Roberto Barro Jerino Queiroz Ferreira Profª Drª Salete Linhares Queiroz São Carlos Setembro / 2008 Sumário Introdução...3 Criando um Blog no Edublogs...4

Leia mais

OWL-S Composer. MATE15 - Tópicos Especiais em Banco de Dados III. 17 de Julho de 2013. Marco Antonio Almeida 1 e Daniela Barreiro Claro 2

OWL-S Composer. MATE15 - Tópicos Especiais em Banco de Dados III. 17 de Julho de 2013. Marco Antonio Almeida 1 e Daniela Barreiro Claro 2 MATE15 - Tópicos Especiais em Banco de Dados III OWL-S Composer 17 de Julho de 2013 Marco Antonio Almeida 1 e Daniela Barreiro Claro 2 1 marco062@dcc.ufba.br 2 dclaro@ufba.br MOTIVAÇÃO E HISTÓRICO MOTIVAÇÃO

Leia mais

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans. 1 - Criando uma classe em Java Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans. Antes de criarmos a(s) classe(s) é necessário criar o projeto

Leia mais

Nome N Série: Ferramentas

Nome N Série: Ferramentas Nome N Série: Ferramentas Competências: Identificar e utilizar técnicas de modelagem de dados; Habilidades: Utilizar ferramentas de apoio ao desenvolvimento de software; Bases Tecnológicas: Metodologias

Leia mais

Manual de Instalação: Agente do OCS Inventory NG

Manual de Instalação: Agente do OCS Inventory NG Manual de Instalação: Agente do OCS Inventory NG Abril 2013 Sumário 1. Agente... 1 2. Onde instalar... 1 3. Etapas da Instalação do Agente... 1 a. Etapa de Instalação do Agente... 1 b. Etapa de Inserção

Leia mais

Resumo da Matéria de Linguagem de Programação. Linguagem C

Resumo da Matéria de Linguagem de Programação. Linguagem C Resumo da Matéria de Linguagem de Programação Linguagem C Vitor H. Migoto de Gouvêa 2011 Sumário Como instalar um programa para executar o C...3 Sintaxe inicial da Linguagem de Programação C...4 Variáveis

Leia mais

Instrução para Instalação de Certificados Digitais de Servidor Web

Instrução para Instalação de Certificados Digitais de Servidor Web Instrução para Instalação de Certificados Digitais de Servidor Web Certificado Digital do tipo A1 Sistemas Operacionais: Windows 2000 Server Windows 2003 Server Dezembro/2010 Proibida a reprodução total

Leia mais

Paradigmas da Programação Netbeans 6.7.1 UML

Paradigmas da Programação Netbeans 6.7.1 UML Paradigmas da Programação Netbeans 6.7.1 UML Nelson Freire (ISEP DEI-PPROG 2010/11) 1/31 UML Tópicos Referências Instalação Netbeans 6.7.1 Instalação Plugin UML Criação Diagrama de Classes: Novo Projecto

Leia mais

Manual de Envio de Torpedos SMS Comtele. Introdução... 02. 1.Cadastrar um Grupo... 02. 2.Inserir ou Importar Contatos... 06. 2.1 Ordem de envio...

Manual de Envio de Torpedos SMS Comtele. Introdução... 02. 1.Cadastrar um Grupo... 02. 2.Inserir ou Importar Contatos... 06. 2.1 Ordem de envio... Manual de Envio de Torpedos SMS Comtele Índice Introdução... 02 1.Cadastrar um Grupo... 02 2.Inserir ou Importar Contatos... 06 2.1 Ordem de envio... 08 3.Criar e Enviar uma Mensagens... 12 4. Salvando

Leia mais

(Nota Fiscal Eletrônica no Power Systems AS/400) Projeto Nacional Versão 1.0

(Nota Fiscal Eletrônica no Power Systems AS/400) Projeto Nacional Versão 1.0 Manual do usuário (Nota Fiscal Eletrônica no Power Systems AS/400) Projeto Nacional Versão 1.0 29-03-2011 1 de 32 Í ndice 1. Descrição Geral do Sistema 1.1 Descrição 1.2 Desenho do Processo 2. Aplicação

Leia mais

Guião de Introdução ao Eclipse IDE Índice

Guião de Introdução ao Eclipse IDE Índice Índice 1. Introdução... 2 1.1. O que é um ambiente de desenvolvimento (IDE)?... 2 1.2. Visão geral sobre o Eclipse IDE... 2 2. Iniciar o Eclipse... 3 2.1. Instalação... 3 2.2. Utilizar o Eclipse... 3 3.

Leia mais

Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores

Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores 1 Exercícios Exercício 1: Construtores e Testes Analise a classe Conta.java, mostrada na

Leia mais

Programação para Dispositivos Móveis

Programação para Dispositivos Móveis Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 03 Introdução ao ambiente de desenvolvimento: Eclipse e Android SDK Dalton Martins dmartins@gmail.com São

Leia mais

Microsoft Visual Studio 2010 C# Volume II

Microsoft Visual Studio 2010 C# Volume II Microsoft Visual Studio 2010 C# Volume II Apostila desenvolvida pelos Professores Ricardo Santos de Jesus e Rovilson de Freitas, para as Disciplinas de Desenvolvimento de Software I e II, nas Etecs de

Leia mais

Desenvolvimento com Android Studio Aula 01 Instalação e Configuração do Ambiente de Desenvolvimento, Estrutura de um projeto Android

Desenvolvimento com Android Studio Aula 01 Instalação e Configuração do Ambiente de Desenvolvimento, Estrutura de um projeto Android Desenvolvimento com Android Studio Aula 01 Instalação e Configuração do Ambiente de Desenvolvimento, Estrutura de um projeto Android Instalação e Configuração do Ambiente de Desenvolvimento Instalação

Leia mais

Eclipse com c++11 e boost Etapa 1- Download da IDE Eclipse c++ e configuração do MinGW

Eclipse com c++11 e boost Etapa 1- Download da IDE Eclipse c++ e configuração do MinGW Eclipse com c++11 e boost Etapa 1- Download da IDE Eclipse c++ e configuração do MinGW Primeiro passo: download Primeiramente devemos baixar o eclipse para c++, sugiro a ultima versão o Mars M4 https://eclipse.org/downloads/packages/release/mars/m4

Leia mais

Tutorial Jogo da Velha WEB

Tutorial Jogo da Velha WEB Tutorial Jogo da Velha WEB Criação do Projeto 1- Inicie o Eclipse 2- Crie um novo projeto Web dinâmico. 3- Na tela seguinte, digite o nome do projeto e caso no campo Target Runtime não estiver aparecendo

Leia mais

Manual de Administração

Manual de Administração Gerência de Informática Repositório de Documentos do GHC Manual de Administração Versão 1.1 Novembro de 2015 Repositório de Documentos do GHC Manual de Administração Índice 1 Acesso ao Sistema...3 2 Adicionar

Leia mais

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS FUNDAMENTOS DE Visão geral sobre o Active Directory Um diretório é uma estrutura hierárquica que armazena informações sobre objetos na rede. Um serviço de diretório,

Leia mais

O programa abaixo exemplifica o uso da classe Image para carregar e mostrar uma imagem localizada em um arquivo.

O programa abaixo exemplifica o uso da classe Image para carregar e mostrar uma imagem localizada em um arquivo. 7. Carregando e mostrando imagens locais Esta aula complementa os estudos de programação de interfaces gráficas em Java mostrando como podemos carregar imagens de arquivos locais ou da Internet para uso

Leia mais

BlackBerry Messenger SDK

BlackBerry Messenger SDK BlackBerry Messenger SDK Versão: 1.2 Getting Started Guide Publicado: 2011-10-11 SWD-1391821-1011103456-012 Conteúdo 1 Requisitos do sistema... 2 2 Dependências de versão do BlackBerry Messenger... 3 3

Leia mais

Introdução ao BPEL utilizando o Oracle SOA Suíte 10g

Introdução ao BPEL utilizando o Oracle SOA Suíte 10g Introdução ao BPEL utilizando o Oracle SOA Suíte 10g 1. Introdução Neste artigo serão apresentados alguns conceitos inerentes a SOA Service Oriented Architecture e um exemplo prático de construção de processo

Leia mais

Microsoft Visual Studio Express 2012 for Windows Desktop

Microsoft Visual Studio Express 2012 for Windows Desktop Microsoft Visual Studio Express 2012 for Windows Desktop Apresentação da ferramenta Professor: Danilo Giacobo Página pessoal: www.danilogiacobo.eti.br E-mail: danilogiacobo@gmail.com 1 Introdução Visual

Leia mais

Para que o NSBASIC funcione corretamente em seu computador, você deve garantir que o mesmo tenha as seguintes características:

Para que o NSBASIC funcione corretamente em seu computador, você deve garantir que o mesmo tenha as seguintes características: Cerne Tecnologia www.cerne-tec.com.br Conhecendo o NSBASIC para Palm Vitor Amadeu Vitor@cerne-tec.com.br 1. Introdução Iremos neste artigo abordar a programação em BASIC para o Palm OS. Para isso, precisaremos

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

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

Leia mais

BC0501 Linguagens de Programação

BC0501 Linguagens de Programação BC0501 Linguagens de Programação Aula Prática: 03 Assunto: Comandos de Seleção 1. Introdução Um comando de seleção define uma condição em um programa, que permite que grupos de comandos sejam executados

Leia mais

Criar o diagrama entidade associação do exemplo do hotel no Oracle Designer

Criar o diagrama entidade associação do exemplo do hotel no Oracle Designer Criar o diagrama entidade associação do exemplo do hotel no Oracle Designer 1 escolher o tipo de dados de cada atributo 2 escolher as chaves Gerar as tabelas Correr o "Database Design Transformer" 3 Seleccionar

Leia mais

Simão Pedro P. Marinho

Simão Pedro P. Marinho Simão Pedro P. Marinho Para uso exclusivo por alunos da PUC Minas Numa web page podemos encontrar, basicamente, 3 (três) tipos de links, além do que permite abrir o software de e-mail para enviar uma mensagem.

Leia mais

1. StarUML - UML/MDA Plataform

1. StarUML - UML/MDA Plataform Sumário 1. StarUML - UML/MDA Plataform... 1 2. Criando Perfis no StarUML... 2 3. Criando o perfil GeoProfile... 5 4. Aplicando o Perfil GeoProfile... 12 1. StarUML - UML/MDA Plataform Star UML (STAR UML,

Leia mais

NetBeans. Conhecendo um pouco da IDE

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

Leia mais

O Blog do Conhecimento (http://blog.df.sebrae.com.br/ugc), desenvolvido pela UGC, é uma

O Blog do Conhecimento (http://blog.df.sebrae.com.br/ugc), desenvolvido pela UGC, é uma MANUAL DE UTILIZAÇÃO DO BLOG DO CONHECIMENTO APRESENTAÇÃO O Blog do Conhecimento (http://blog.df.sebrae.com.br/ugc), desenvolvido pela UGC, é uma ferramenta de COLABORAÇÃO que tem como objetivo facilitar

Leia mais

USANDO O ROUNDCUBE WEBMAIL

USANDO O ROUNDCUBE WEBMAIL USANDO O ROUNDCUBE WEBMAIL ATENÇÃO! Para utilizar este tutorial não se esqueça: Onde estiver escrito seusite.com.br substitua pelo ENDEREÇO do seu site (domínio). Ex.: Se o endereço do seu site é casadecarnessilva.net

Leia mais

1 - INTRODUÇÃO 2 - CONCEITOS BÁSICOS ARCPAD

1 - INTRODUÇÃO 2 - CONCEITOS BÁSICOS ARCPAD 1 - INTRODUÇÃO O ArcPad é um software de mapeamento e tratamento de Informações Geográficas desenvolvido pela ESRI cujo objetivo principal é a portabilidade e mobilidade dos dados. O ArcPad pode ser utilizado

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel Ambiente de Desenvolvimento Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do mundo

Leia mais

Dominando Action Script 3

Dominando Action Script 3 Dominando Action Script 3 Segunda Edição (2014) Daniel Schmitz Esse livro está à venda em http://leanpub.com/dominandoactionscript3 Essa versão foi publicada em 2014-05-02 This is a Leanpub book. Leanpub

Leia mais

Passos para a configuração do ambiente de desenvolvimento:

Passos para a configuração do ambiente de desenvolvimento: Passos para a configuração do ambiente de desenvolvimento: 0 - (Opcional) Criar uma pasta onde vai ser o seu Workspace. Ou seja, onde os códigos de todos os projetos do Eclipse serão salvos: 1 - Instalar

Leia mais

EMF. Eclipse Modeling Framework. José G. de Souza Júnior. direção: Dr. Denivaldo Lopes

EMF. Eclipse Modeling Framework. José G. de Souza Júnior. direção: Dr. Denivaldo Lopes Engineering for a better life EMF Eclipse Modeling Framework José G. de Souza Júnior direção: Dr. Denivaldo Lopes LESERC (Laboratório de Engenharia de Software e Rede de Computadores) Web Site: http://www.leserc.dee.ufma.br/

Leia mais

b 1 Copyright 2008-2012 In9 Mídia Soluções Digitais Inc. All rights reserved.

b 1 Copyright 2008-2012 In9 Mídia Soluções Digitais Inc. All rights reserved. b 1 Conteúdo Capítulo 1... 3 Instalando o Neonews... 3 Neonews no Linux... 6 Capítulo 2... 7 Configurando o NeoNews... 7 Capítulo 3... 13 Teclas de Atalho do NeoNews Player... 13 2 Capítulo 1 Instalando

Leia mais

Programação para Android. Aula 06: Activity, menus e action bar

Programação para Android. Aula 06: Activity, menus e action bar Programação para Android Aula 06: Activity, menus e action bar Activity A classe Activity é quem gerencia a interface com o usuário. Ela quem recebe as requisições, as trata e processa. Na programação

Leia mais

Universidade Federal do Pará Centro de Tecnologia da Informação e Comunicação Grupo de Trabalho SET. Tutorial PyQT4

Universidade Federal do Pará Centro de Tecnologia da Informação e Comunicação Grupo de Trabalho SET. Tutorial PyQT4 Universidade Federal do Pará Centro de Tecnologia da Informação e Comunicação Grupo de Trabalho SET Tutorial PyQT4 16 de Agosto de 2011 1 Sumário 1 Introdução 3 2 Criando a interface da aplicação 3 2.1

Leia mais

Introdução à Tecnologia Web

Introdução à Tecnologia Web Introdução à Tecnologia Web JavaScript Sintaxe da Linguagem: Delimitadores e etc Profª MSc. Elizabete Munzlinger JavaScript Sintaxe da Linguagem Índice 1 SINTAXE DA LINGUAGEM... 2 1.1 Delimitadores de

Leia mais

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 1 PROF. EMILIO PARMEGIANI

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 1 PROF. EMILIO PARMEGIANI DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 1 PROF. EMILIO PARMEGIANI Exercício 1 Neste exercício trabalharemos com alguns web controls básicos e praticaremos os tipos de dados do C#. Vamos criar

Leia mais

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova. 3.5 Páginas: Ao clicar em Páginas, são exibidas todas as páginas criadas para o Blog. No nosso exemplo já existirá uma página com o Título Página de Exemplo, criada quando o WorPress foi instalado. Ao

Leia mais

Programação para Android

Programação para Android Programação para Android Aula 01: Visão geral do android, instalação e configuração do ambiente de desenvolvimento, estrutura básica de uma aplicação para Android Objetivos Configurar o ambiente de trabalho

Leia mais

Java Exemplo MDI. Tela Principal

Java Exemplo MDI. Tela Principal Java Exemplo MDI Nesta aula criaremos uma aplicação simples de cadastro para avaliar o nível de dificuldade/facilidade que é desenvolver softwares com a tecnologia Java. No NetBeans, crie um novo projeto

Leia mais

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO 1 ÍNDICE 1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO... 3 1.1 REQUISITOS BASICOS DE SOFTWARE... 3 1.2 REQUISITOS BASICOS DE HARDWARE... 3 2 EXECUTANDO O INSTALADOR... 3 2.1 PASSO 01... 3 2.2 PASSO

Leia mais

Programação para a Plataforma Android Aula 7. Mul$mídia

Programação para a Plataforma Android Aula 7. Mul$mídia Programação para a Plataforma Android Aula 7 Mul$mídia Como executar aplicações que contêm músicas? Como abrir vídeos em Android? Quais formatos de músicas são aceitos? Quais formatos de vídeo? Como o$mizar

Leia mais

Conhecendo o Visual FoxPro 8.0 Parte 3

Conhecendo o Visual FoxPro 8.0 Parte 3 AULA Conhecendo o Visual FoxPro 8.0 Parte 3 Continuando nossa saga pelas ferramentas do Visual FoxPro 8.0, hoje vamos conhecer mais algumas. A Ferramenta Class Designer A Class Designer é a ferramenta

Leia mais

PostgreSQL & PostGIS: Instalação do Banco de Dados Espacial no Windows 7

PostgreSQL & PostGIS: Instalação do Banco de Dados Espacial no Windows 7 PostgreSQL & PostGIS: Instalação do Banco de Dados Espacial no Windows 7 PostgreSQL & PostGIS: Instalação do Banco de Dados Espacial no Windows 7 Sobre o PostGIS PostGIS é um Add-on (complemento, extensão)

Leia mais

Módulo e-rede OpenCart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Módulo e-rede OpenCart v1.0. Manual de. Instalação do Módulo. estamos todos ligados Módulo e-rede OpenCart v1.0 Manual de Instalação do Módulo estamos todos ligados 01 02 03 04 Introdução 3 Versão 3 Requerimentos 3 Manual de instalação 4 05 06 4.1 vqmod 4 4.2 Instalação e ativação do

Leia mais

Analisar os sistemas operacionais apresentados na figura e responder as questões abaixo: Identificar

Analisar os sistemas operacionais apresentados na figura e responder as questões abaixo: Identificar Projeto Integrador Sistemas Operacionais Prof.ª Lucilia Ribeiro GTI 3 Noturno Grupo: Anderson Alves da Mota. André Luiz Silva. Misael bezerra dos santos. Sandro de almeida silva. Analisar os sistemas operacionais

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TÉCNICO EM INFORMÁTICA DISCIPLINA:

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TÉCNICO EM INFORMÁTICA DISCIPLINA: INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TÉCNICO EM INFORMÁTICA DISCIPLINA: PROGRAMAÇÃO ORIENTADA A OBJETOS PROFESSOR: REINALDO GOMES ASSUNTO: PRIMEIRO PROGRAMA EM JAVA (COMPILAÇÃO

Leia mais

Tutorial de Computação Introdução a Programação Gráfica em Lazarus Para MEC 1100 v2010.10

Tutorial de Computação Introdução a Programação Gráfica em Lazarus Para MEC 1100 v2010.10 Tutorial de Computação Introdução a Programação Gráfica em Lazarus Para MEC 1100 v2010.10 Linha de Equipamentos MEC Desenvolvidos por: Maxwell Bohr Instrumentação Eletrônica Ltda. Rua Porto Alegre, 212

Leia mais

MANUAL DE UTILIZAÇÃO. Help & Manual Versão 6.2.0 Build 2537

MANUAL DE UTILIZAÇÃO. Help & Manual Versão 6.2.0 Build 2537 MANUAL DE UTILIZAÇÃO Help & Manual Versão 6.2.0 Build 2537 Sumário Introdução... 3 Histórico... 4 1. Tópicos... 5 2. Configuração dos popups... 12 3. Estilos... 13 3.1 Criação de Estilos... 13 3.2 Importação

Leia mais