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 {lucredio,jabur,renata@icmc.usp.br 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 " 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 <%@taglib 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 select="/questionario/@titulo" /></title> </head> <body> <h1><c:get select="/questionario/@titulo" /></h1> <br> Descrição: <c:get select="/questionario/@descricao" /> <br> <br> O tempo estimado para este questionário é de <c:get select="/questionario/@tempo" /> minutos <hr> <br> <% int contadorpergunta = 1; %> <c:iterate select="/questionario/perguntas[@fim!='true']" var="pergunta"> <c:get select="$pergunta/@mensagem" /> <br> <c:iterate select="$pergunta/alternativas" var="resposta" delimiter=" "> <input type="radio" name="rbpergunta<%=contadorpergunta%>" value=""><c:get select="$resposta/@texto" /> </c:iterate> <% contadorpergunta++; %> <br><br> </c:iterate> Possíveis conclusões:<br> <c:iterate select="/questionario/perguntas[@fim='true']" var="pergunta"> <input type="radio" name="rbconclusao" value=""><c:get select="$pergunta/@mensagem" /> <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 " 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 faleconosco@site.com" 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

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

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

Í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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Integração entre o IBM HTTP SERVER, APACHE WEB Server e IBM Websphere Application Server

Integração entre o IBM HTTP SERVER, APACHE WEB Server e IBM Websphere Application Server Integração entre o IBM HTTP SERVER, APACHE WEB Server e IBM Websphere Application Server Índice Resumo sobre este documento... 3 Integrando o IBM HTTP Server com o IBM WebSphere Application Server... 3

Leia mais

CAPÍTULO 35 Como utilizar os componentes ColdFusion

CAPÍTULO 35 Como utilizar os componentes ColdFusion CAPÍTULO 35 Como utilizar os componentes ColdFusion Os componentes ColdFusion (CFC) permitem ao usuário encapsular lógicas de aplicação e de negócios (business logic) em unidades auto-controladas reutilizáveis.

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

Manual do KNotes. Fabian Dal Santo Greg M. Holmes Revisão: Lauri Watts Tradução: Marcus Gama

Manual do KNotes. Fabian Dal Santo Greg M. Holmes Revisão: Lauri Watts Tradução: Marcus Gama Fabian Dal Santo Greg M. Holmes Revisão: Lauri Watts Tradução: Marcus Gama 2 Conteúdo 1 Introdução 5 2 Usando o KNotes 6 3 Configuração 9 3.1 Configurando as Opções Padrão do KNotes.......................

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

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

Manual de Operações Básicas. Thiago Passamani

Manual de Operações Básicas. Thiago Passamani Manual de Operações Básicas Thiago Passamani 1 - Entrando e saindo do sistema O Zimbra Suíte de Colaboração é um software de correio eletrônico open source com suporte para e-mail, contatos, calendário

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

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

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

( 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

Roteiro de Tutorial das Ferramentas de Usabilidade

Roteiro de Tutorial das Ferramentas de Usabilidade Roteiro de Tutorial das Ferramentas de Usabilidade LEITOR DE TELA Por Heblon Motta Alves Barbosa Leitor de tela O que é Leitor de tela é um software que lê todo o conteúdo textual apresentado na tela.

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

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

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

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

Construtor de sites SoftPixel GUIA RÁPIDO - 1 - GUIA RÁPIDO - 1 - Sumário Introdução...3 Por que utilizar o Construtor de Sites?...3 Vantagens do Construtor de Sites...3 Conceitos básicos...3 Configuração básica do site...5 Definindo o layout/template

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

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

Gerenciador de Referências. EndNote. Nonato Ribeiro Biblioteca de Ciências e Tecnologia (UFC)

Gerenciador de Referências. EndNote. Nonato Ribeiro Biblioteca de Ciências e Tecnologia (UFC) Gerenciador de Referências EndNote Nonato Ribeiro Biblioteca de Ciências e Tecnologia (UFC) Pesquisa na Web of Science O que é o EndNote? Funcionalidades da ferramenta Como incluir citações no Word usando

Leia mais

Prática em Laboratório N.02 Criando um serviço Web via NetBeans

Prática em Laboratório N.02 Criando um serviço Web via NetBeans Prática em Laboratório N.02 Criando um serviço Web via NetBeans O objetivo deste exercício é criar um projeto apropriado para desenvolver um contêiner que você resolva utilizar. Uma vez criado o projeto,

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

Capture Pro Software. Guia de referência. A-61640_pt-br

Capture Pro Software. Guia de referência. A-61640_pt-br Capture Pro Software Guia de referência A-61640_pt-br Iniciando o Kodak Capture Pro Software Este guia foi projetado para fornecer instruções simples para início rápido, incluindo a instalação e a inicialização

Leia mais

Omega Tecnologia Manual Omega Hosting

Omega Tecnologia Manual Omega Hosting Omega Tecnologia Manual Omega Hosting 1 2 Índice Sobre o Omega Hosting... 3 1 Primeiro Acesso... 4 2 Tela Inicial...5 2.1 Área de menu... 5 2.2 Área de navegação... 7 3 Itens do painel de Controle... 8

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

Manual de utilização do Portal Entrelace.org.br. William Oyama www.evisionbrasil.com.br

Manual de utilização do Portal Entrelace.org.br. William Oyama www.evisionbrasil.com.br Manual de utilização do Portal Entrelace.org.br William Oyama www.evisionbrasil.com.br Índice do tutorial 1 Portal entrelace.obr.br 2- Painel Administrativo 3- Informações Restritas 4- Acervo 5- Notícias

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

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

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

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

Criando & Consumindo um WebService com ASP.NET 2.0 Publicado em: 25 de Agosto de 2007 Por Herman Ferdinando Arais

Criando & Consumindo um WebService com ASP.NET 2.0 Publicado em: 25 de Agosto de 2007 Por Herman Ferdinando Arais ASP.NET > WebService herman_arais@yahoo.com.br 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

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

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

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

MANUAL DO ANIMAIL 1.0.0.1142 Terti Software

MANUAL DO ANIMAIL 1.0.0.1142 Terti Software O Animail é um software para criar campanhas de envio de email (email Marketing). Você pode criar diversas campanhas para públicos diferenciados. Tela Principal do sistema Para melhor apresentar o sistema,

Leia mais

Office 365 Manual Outlook 365 Web Application

Office 365 Manual Outlook 365 Web Application Office 365 Manual Outlook 365 Web Application Requisitos para usar o Office 365: Ter instalado pelo menos a versão 7 do Internet Explorer, Mozilla Firefox 15, Google Chrome 21 ou Safari no Mac. O que é

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

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

Um pouco do Java. Prof. Eduardo

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.

Leia mais

O aplicativo de desktop Novell Filr é compatível com as seguintes versões do sistema operacional Windows:

O aplicativo de desktop Novell Filr é compatível com as seguintes versões do sistema operacional Windows: Readme do aplicativo de desktop Novell Filr Abril de 2015 1 Visão geral do produto O aplicativo de desktop Novell Filr permite que você sincronize os seus arquivos do Novell Filr com o sistema de arquivos

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

Inserindo Dados no Banco de Dados Paradox.

Inserindo Dados no Banco de Dados Paradox. Inserindo Dados no Banco de Dados Paradox. - Construção do Banco de Dados: Para podermos inserir algo em um banco precisaremos de um Banco de Dados, para isto iremos montar um utilizando o Programa Database

Leia mais

Manual do Teclado de Satisfação Online WebOpinião

Manual do Teclado de Satisfação Online WebOpinião Manual do Teclado de Satisfação Online WebOpinião Versão 1.2.3 27 de novembro de 2015 Departamento de Engenharia de Produto (DENP) SEAT Sistemas Eletrônicos de Atendimento 1. Introdução O Teclado de Satisfação

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 PARANÁ

UNIVERSIDADE FEDERAL DO PARANÁ CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 05 APRESENTAÇÃO: Nesta aula vamos ver como se faz a criação de Métodos

Leia mais

Criar uma aplicação JPA2 com EclipseLink e H2

Criar uma aplicação JPA2 com EclipseLink e H2 Criar uma aplicação JPA2 com EclipseLink e H2 1) Criar uma aplicação Java no NetBeans. File > New Project > Java, Java Application > Project name: JPA2 Finish. 2) Acrescentar ao Projeto NetBeans a biblioteca

Leia mais

Professora Martha Spalenza Professora de Informática da Faetec

Professora Martha Spalenza Professora de Informática da Faetec Ambiente de Desenvolvimento JCreator Como criar um programa utilizando o JCreator O kit de programas da linguagem Java fornecido pela Sun Microsystems, a criadora do Java, compõe-se do compilador (o gerador

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

TUTORIAL DE INSTALAÇÃO APACHE 2.2.4 + PHP 5.2.1 + POSTGRESQL 8.2

TUTORIAL DE INSTALAÇÃO APACHE 2.2.4 + PHP 5.2.1 + POSTGRESQL 8.2 TUTORIAL DE INSTALAÇÃO APACHE 2.2.4 + PHP 5.2.1 + POSTGRESQL 8.2 Para instalação baixemos todos os arquivos do site www.simonsen.br/aulas/servidor/ e vamos criar uma pasta em nossa maquina chamada C:\servidor\

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

Tutorial Administrativo (Backoffice)

Tutorial Administrativo (Backoffice) Manual - Software ENTRANDO NO SISTEMA BACKOFFICE Para entrar no sitema Backoffice, digite no seu navegador de internet o seguinte endereço: http://pesquisa.webbyapp.com/ Entre com o login e senha. Caso

Leia mais

Como já foi muito bem detalhado no Capítulo IV, o jcompany Developer Suite pode ser

Como já foi muito bem detalhado no Capítulo IV, o jcompany Developer Suite pode ser A1Criando um módulo de negócio Capítulo 27 Aplicação dividida em módulos - Introdução Como já foi muito bem detalhado no Capítulo IV, o jcompany Developer Suite pode ser compreendido como uma solução de

Leia mais

Android Banco de Dados. Ivan Nicoli

Android Banco de Dados. Ivan Nicoli Android Banco de Dados Ivan Nicoli SQLite O Android tem suporte ao SQLite (http://www.sqlite.org), um leve e poderoso banco de dados. Cada aplicação pode criar um ou mais banco de dados, que ficam localizados

Leia mais

UNIVERSIDADE TECNOLOGIA FEDERAL DO PARANÁ. Owncloud SERVIÇO DE COMPARTILHAMENTO EM NUVEM. Manual

UNIVERSIDADE TECNOLOGIA FEDERAL DO PARANÁ. Owncloud SERVIÇO DE COMPARTILHAMENTO EM NUVEM. Manual UNIVERSIDADE TECNOLOGIA FEDERAL DO PARANÁ Owncloud SERVIÇO DE COMPARTILHAMENTO EM NUVEM Manual DIRETORIA DE GESTÃO DE TECNOLOGIA DA INFORMAÇÃO DIRGTI 2015 Sumário 1. Introdução... 3 2. Acessando o serviço...

Leia mais

Manual Instalação Pedido Eletrônico

Manual Instalação Pedido Eletrônico Manual Instalação Pedido Eletrônico 1 Cliente que não utiliza o Boomerang, mas possui um sistema compatível. 1.1 Instalação do Boomerang Inserir o CD no drive do computador, clicar no botão INICIAR e em

Leia mais

02 - Usando o SiteMaster - Informações importantes

02 - Usando o SiteMaster - Informações importantes 01 - Apresentação do SiteMaster - News Edition O SiteMaster foi desenvolvido para ser um sistema simples de gerenciamento de notícias, instalado em seu próprio computador e com configuração simplificada,

Leia mais

Manual do Usuário. Tag List. Tag List Generator. smar FIRST IN FIELDBUS JUL / 02. Tag-List VERSÃO 1.0 TAGLSTC3MP

Manual do Usuário. Tag List. Tag List Generator. smar FIRST IN FIELDBUS JUL / 02. Tag-List VERSÃO 1.0 TAGLSTC3MP Tag List Tag List Generator Manual do Usuário smar FIRST IN FIELDBUS JUL / 02 Tag-List VERSÃO 1.0 TAGLSTC3MP www.smar.com.br Especificações e informações estão sujeitas a modificações sem prévia consulta.

Leia mais

Passo 1: Abra seu navegador e digite http://www.no-ip.com. Passo 2: Na tela que surgir, clique em Get Started.

Passo 1: Abra seu navegador e digite http://www.no-ip.com. Passo 2: Na tela que surgir, clique em Get Started. 1 - Como obter seu DNS Dinâmico no No-IP O No-IP, é um sistema de DNS (Domain Name Server), que converte o seu endereço IP em um nome. O que o No-IP faz, é converter o nome do tipo minhacameraip.no-ip.org

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

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

JDBC. Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos.

JDBC. Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos. JDBC CRIANDO O BANCO DE DADOS: Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos. CRIANDO O PROJETO JAVA PARA DESKTOP: Crie um projeto Java chamado Prograd Crie um pacote chamado

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

Manual de Instalação e Configuração. Módulo Remote. (G2KA) para NFSE. v1.0

Manual de Instalação e Configuração. Módulo Remote. (G2KA) para NFSE. v1.0 Manual de Instalação e Configuração Módulo Remote (G2KA) para NFSE v1.0 Página 1 Sumário 1 Download e Instalação... 3 2 Configuração... 5 3 Inicialização Manual... 8 4 Inicialização via serviço do Windows...

Leia mais

Manual de Gerenciamento de Conteúdo

Manual de Gerenciamento de Conteúdo Manual de Gerenciamento de Conteúdo 1 Sumário 1) O que é um Gerenciador de Conteúdo...3 2) Como o Site está Estruturado...3 3) Como Gerenciar o Conteúdo do Site...5 3.1) Adicionar Itens no Menu de Navegação...6

Leia mais

MANUAL DO PVP SUMÁRIO

MANUAL DO PVP SUMÁRIO Manual PVP - Professores SUMÁRIO 1 INTRODUÇÃO... 6 2 ACESSANDO O PVP... 8 3 TELA PRINCIPAL... 10 3.1 USUÁRIO... 10 3.2 INICIAL/PARAR... 10 3.3 RELATÓRIO... 10 3.4 INSTITUIÇÕES... 11 3.5 CONFIGURAR... 11

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

Lotus Notes 8.5 para o Office 365 para empresas

Lotus Notes 8.5 para o Office 365 para empresas Lotus Notes 8.5 para o Office 365 para empresas Faça a migração O Microsoft Outlook 2013 pode parecer diferente do Lotus Notes 8.5, mas você rapidamente descobrirá que o Outlook permite fazer tudo o que

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

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

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

WampServer. Instalação do WampServer. Nota: Essas instruções são baseadas em uma instalação para o sistema operacional Windows.

WampServer. Instalação do WampServer. Nota: Essas instruções são baseadas em uma instalação para o sistema operacional Windows. WampServer Para configurar o WordPress e o Joomla!, você precisa ter um servidor Web e um banco de dados instalado. A maneira mais fácil de configurar um servidor web e um banco de dados no seu computador

Leia mais

Moodle - CEAD Manual do Estudante

Moodle - CEAD Manual do Estudante Moodle - CEAD Manual do Estudante Índice Introdução 3 Acessando o Ambiente 4 Acessando o Curso 5 Navegando no Ambiente do Curso 5 Box Participantes 5 Box Atividades 5 Box Buscar nos Fóruns 5 Box Administração

Leia mais

Capture Pro Software. Introdução. A-61640_pt-br

Capture Pro Software. Introdução. A-61640_pt-br Capture Pro Software Introdução A-61640_pt-br Introdução ao Kodak Capture Pro Software e Capture Pro Limited Edition Instalando o software: Kodak Capture Pro Software e Network Edition... 1 Instalando

Leia mais

TUTORIAL GOOGLE DRIVE

TUTORIAL GOOGLE DRIVE TUTORIAL GOOGLE DRIVE Armazenar e compartilhar arquivos ou pastas no google drive. Para compartilhar e armazenar arquivos no google drive é necessário ter uma conta google ou conta no gmail. Após criar

Leia mais

Como funciona? SUMÁRIO

Como funciona? SUMÁRIO SUMÁRIO 1. Introdução... 2 2. Benefícios e Vantagens... 2 3. Como utilizar?... 2 3.1. Criar Chave / Senha de Usuário... 2 3.2. Recursos da Barra Superior... 2 3.2.1. Opções... 3 3.2.1.1. Mover Para...

Leia mais

Orientação a Objetos Programação em C++

Orientação a Objetos Programação em C++ OO - Engenharia de Computação/Eletrônica Orientação a Objetos Programação em C++ Slides 17: Programação Visual ou Orientada a Objetos Gráficos (Formulários, Botões, Caixas de Texto etc) - Exemplificado

Leia mais

Guia do Usuário. idocs Content Server v.2.0-1 -

Guia do Usuário. idocs Content Server v.2.0-1 - Guia do Usuário idocs Content Server v.2.0-1 - 2013 BBPaper_Ds - 2 - Sumário Introdução... 4 Inicializando a aplicação... 6 Ambiente... 7 Alterando o ambiente... 8 Senhas... 10 Alterando senhas... 10 Elementos

Leia mais