"Manter Agregação Mestre/Detalhe"

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

Download ""Manter Agregação Mestre/Detalhe""

Transcrição

1 6Implementand Padrã "Manter Agregaçã Mestre/Detalhe" Capítul 8 Implementand UC002 Manter Funcinári! - Analisand a especificaçã A terceira especificaçã de Cas de Us que irems implementar está definida n diagrama da Figura B8.1. Figura B8.1. Especificaçã para UC002 Manter Funcinári!. Este diagrama ainda é bem sucint prque se trata de um terceir Cas de Us Padrã cm nme Manter Agregaçã Mestre/Detalhe, definid n módul jcmpany Patterns & Methds e autmatizad pels móduls jcmpany FS Framewrk (generalizações da arquitetura) e jcmpany IDE (geradres de artefat)*. O Mdel de Classes e Prjet de Interfaces cm Usuári (GUI) sã agra de uma dimensã inaprpriada para serem diagramads juntamente cm a visã estrutural d Cas de Us. Pr este mtiv, fram representads em pactes diferentes na ferramenta CASE. O cnteúd d pacte Graf Funcinári pde ser vist abaix. * Nta de especificaçã: É primeir ds Cass de Us que implementams até agra, d nível d mar, u seja, de um nível que representa um interesse diret d usuári/cliente, que pdems ntar pel símbl de exclamaçã (!) e cr azul clara (cas estejams visualizand clrid). Smente para rememrar capítul 5, s utrs dis Cass de Us anterires, smads, representavam um únic bjetiv d usuári.

2 Capítul B8 Figura B8.2. Graf d mdel de dmíni incluind a agregaçã a ser mantida e classes referenciadas O prjet de GUI para Manutençã pde ser vist na Figura B8.3. Figura B8.3. Prjet de GUI para frmuláris de manutençã (assistente e tab-flder). O prjet de GUI para Seleçã pde ser vist na Figura B8.4.

3 Implementand Padrã Manter Agregaçã Mestre/Detalhe Figura B8.4. Prjet de GUI para Seleçã de Funcinári. - Obtend Classes de Dmíni em Java Nte que, neste Cas de Us, irems lidar cm um Graf de Classes bem mais próxim ds que encntrams em aplicações d mund real*. Desta vez, para evitar trabalh braçal, vams cpiar as classes de Entidades d diretóri [jcmpany]\jcmpany_dcumentaca\rhtutrial\funcinari n frmat em que viriam após a geraçã pr uma ferramenta CASE. 1. Cpie este diretóri inteir e cle em nss prjet rhtutrial_cmmns, abaix d diretóri cm.empresa.rhtutrial.entity, cm indicad pela Figura B8.5 e Figura B8.6. Figura B8.5. Classes Java para prsseguir n rhtutrial dispníveis n diretóri de instalaçã. Figura B8.6. Clar diretóri funcinari em cm.empresa.rhtutrial.entidade n prjet rhtutrial_cmmns. * Na verdade, em aplicações reais númer de classes em geral cstuma ser mair, bem cm númer de prpriedades. Prém, iss nã interfere na cmplexidade da estrutura sintática d Graf, que significa que Cas de Us Padrã que utilizarems permanecerá útil e cntinuará prvend excepcinal prdutividade, mesm se escalarms númer de classes d mdel.

4 Capítul B8 Perceba que as classes Dependente e Funcinari apresentam prblema de cmpilaçã após a cópia, já que referenciam a Enumeraçã Sex, que nã fi dispnibilizada. Este esqueciment prpsital ns permitirá exemplificar uma facilidade adicinal d Pwerlgic jcmpany Artifact Generatr, de geraçã de Enumerações I18n, chamadas de Classes de Dmíni Discret. - Gerand Enumerações I18n Classes de Dmíni Discret I Pderíams criar nssa Enumeraçã Sex dentr d subdiretóri funcinari, já que inicialmente será reutilizad smente dentr da sua agregaçã. Mas se já prevems uma pssibilidade de que seja utilizada pr mais Entidades, também nã é uma má idéia já prmvê-la para um nível acima, deixand-a n diretóri raiz entity *. 1. Acine Assistente de Criaçã para Enumeraçã I18n, selecinand pacte desejad e, em seguida, acinand clique direit -> New -> Other.... Figura B8.7. Acinand Assistente de Criaçã de Enumeraçã I18n, n pacte raiz. 2. Acine agra a pçã 02 Classe de Dmíni Discret (Enumeraçã). * Obs.: Cm nã tems um utr us previst para Sex neste prjet (a cntrári d cmpnente Enderec, pr exempl, que previms usar em UnidadeOrganizacinal e Funcinari ), alguns irã preferir mantê-l inicialmente em funcinari", psterirmente efetuand uma refatraçã se e quand necessári fr. É pssível que agra s plugins d Pwerlgic jcmpany Artifact Generatr sejam apresentads cm default pel Eclipse (se nã frem, abra-s na lista).

5 Implementand Padrã Manter Agregaçã Mestre/Detalhe Figura B8.8. Selecinand Assistente de Criaçã para Enumeraçã I18n. 3. Na página de definiçã, digite nme da Enumeraçã e uma relaçã de valres d tip Códig e Descriçã, que irã representar s valres discrets pssíveis. Para adicinar valres à lista, clique em Adicinar Item, cm exemplificad na Figura B8.9. Figura B8.9. Clicand em Adicinar Item após digitar M em códig e Masculin em Descriçã Nte que há uma pçã de se usar internacinalizaçã em Enum, que segue a cnvençã d padrã Bean Validatin (chaves I18n vem entre parênteses). A Figura B8.10 traz uma explicaçã cmpleta d diálg d Assistente de Criaçã.

6 Capítul B8 Figura B8.10. Diálg de criaçã de Classe de Dmíni Discret (Enumeraçã I18n). #1. Camps para se infrmar nme da Enumeraçã e seu pacte. #2. Camp para se infrmar códig, que n cas de Entidades persistentes será valr armazenad n SGBD*. #3. Camp para se infrmar a descriçã, em idima prtuguês. #4. Indica para que as descrições n Enum sejam geradas em um arquiv de idima (Ex: ApplicatinResurces_pt_BR) para Internacinalizaçã. D cntrári serã geradas diretamente n Enum. #5. Btões para se adicinar itens à lista u para se remver. Para segund cas, psicine na linha desejada e em seguida clique n btã Remver Item. #6. Lista de valres pssíveis (dmíni discret). 4. Cnfira resultad gerad cm a Figura B8.11. Figura B8.11. Anatmia de uma Enumeraçã I18n. * A cntrári da ba prática recmendada para Enumerações transientes, n cas das persistentes pde-se manter estes códigs pequens para nã gerar desperdíci desnecessári de armazenament, muit embra iss também seja questinável. O imprtante é que esta questã seja debatida entre DBA e Arquitet OO para que se faça uma definiçã crprativa.

7 Implementand Padrã Manter Agregaçã Mestre/Detalhe #1. Valres pssíveis cm descrições crrespndentes. Quand usand I18n sã geradas as chaves ds rótuls, seguind a mesma cnvençã d padrã Bean Validatin (BV), u seja: se um text estiver entre chaves {} trata-se de uma chave de mensagem; senã trata-se d us diret da mensagem. #2. Prpriedade privada que armazena a descriçã para um valr crrente de Enum. #3. Cnstrutr que recebe também a descriçã. #4. Métd auxiliar, útil para btençã das descrições (labels) de cada valr de Enum. 5. Para finalizar, vams acertar as imprtações em Funcinari e Dependente, uma vez que criams Sex n diretóri raiz d pacte de Entidades. Edite cada uma destas classes e digite Cntrl+Shift+O (letra O, nã númer Zer) para que as imprtações sejam ajustadas pel Eclipse autmaticamente. A final, nenhum err de cmpilaçã nas Entidades deve ser mais exibid. - Entendend a Classe de Dmíni Edite a classe Funcinári para uma rápida inspeçã. Figura B8.12. Prpriedades que representam assciações. Perceba que prpriedades de assciaçã que nã estavam presentes n mdel da Err! Fnte de referência nã encntrada. agra aparecem na classe, tais cm Enumerações, Cmpnentes e utras. Qualquer ferramenta CASE razável, tal cm Enterprise Architect, utilizad neste livr, cnseguirá gerar estas prpriedades a partir das assciações e agregações mdeladas. Cas nã se pssua nenhuma, naturalmente, deve-se criá-las manualmente ( que é também um trabalh trivial). Mas neste cas específic, já que Funcinari pssui ligaçã bidirecinal cm seus detalhes (na verdade, tda assciaçã cm detalhes deve ser bidirecinal para que funcine aprpriadamente), entã deveríams esperar também pr uma cleçã de Dependente e uma de HistricPrfissinal em Funcinari, mas elas nã existem. Seria pssível gerarms estas cleções utilizand recurss de nssa ferramenta CASE, mas nã fizems em nss exempl para expr uma cmdidade ferecida pels plugins d jcmpany IDE. Estes plugins irã realizar este ajuste para desenvlvedr e criar as cleções, cas ele as esqueça*. * Apesar diss, s plugins de mapeament Objet-Relacinal d jcmpany nã devem ser utilizads para crrigir mdelagem. As classes Java para Entidades já devem, preferencialmente, pssuir uma estrutura crreta de assciações antes de serem mapeadas u utilizadas n jcmpany.

8 Capítul B8 Cmpreendend iss, estams prnts para iniciar mais uma iteraçã de mapeament Objet-Relacinal. - Gerand Mapeament para Classes e Cmpnentes - Objet-Relacinal III 1. Decidind a rdem de mapeament. Tems várias classes a mapear, em nssa agregaçã. Pr nde cmeçams? Fi sugerid anterirmente que deveríams iniciar mapeament, preferencialmente, pelas classes mais estáveis, u seja, que referenciam (u imprtam, u dependem de) mens bjets. Esta sugestã tem uma mtivaçã simples em nss cas: cm nã tems ainda a classe cncreta, de Entidades referenciadas, s mapeaments de assciaçã ficariam cm a cláusula targetentity= apntand para uma referência abstrata. Cm esta clásula é que indica a instância real a ser utilizada, iss prvcaria err. Exempl: Cas a classe UnidadeOrganizacinal nã estivesse pré-mapeada, plugin de criaçã de mapeament para Funcinari iria gerar uma assciaçã cm targetentity = UnidadeOrganizacinal.class (abstrata) a invés de uma referência a targetentity = UnidadeOrganizacinalEntity.class (cncreta). O targetentity é únic incnveniente, afetad pela rdem em que se mapeia. Uma vez que tenha cnsciência diss, Desenvlvedr pde gerar mapeaments Objet-Relacinal em qualquer rdem - e ajustar targetentity em seguida. Uma utra ntável dificuldade para se utilizar a dica de rdem pela menr dependência sã as cmpsições Mestre-Detalhe, pis estas pssuem referências bidirecinais*... Pr qual lad cmeçar? Neste cas específic, sugerims que se inicie mapeament na rdem Raiz/Mestre e, em seguida, Detalhes. Se analisarms nss mdel na Err! Fnte de referência nã encntrada., tirand as Enumerações e as classes já mapeadas, cm UnidadeOrganizacinal e cmpnente Enderec, restam as classes candidatas Funcinari, Dependente, HistricPrfissinal e Ft. Pela análise de dependência simplesmente, a classe Ft seria a primeira pr ter mens referências ( Funcinari é que referencia Ft ). Pderíams mapeá-la agra, mas esta classe tem peculiaridades que serã discutidas cm mais detalhes n próxim capítul. Obs.: mitims também d diagrama UML a cleçã de "Curricul", pis esta assciaçã será reslvida juntamente cm "Ft". Resta entã a nssa Agregaçã Mestre/Detalhe (Cmpsiçã Bidirecinal). Iniciarems mapeament, neste cas, pela classe Raiz/Mestre, Funcinari. 2. Edite esta classe e pressine Cntrl+N para iniciar seu mapeament, selecinand Assistente de Criaçã númer 01. As infrmações de mapeament para esta classe se encntram na Figura B8.13. Basicamente, aplicams as mdificações presentes na especificaçã. * Perceba que explicitams tdas as referências n diagrama UML cm as setas de direçã das assciações para facilitar a análise de dependência u referência. Nrmalmente mitiríams bidirecinaments para cmpsições e direcinaments simples para agregações cmpartilhadas, que pdem ser inferids.

9 Implementand Padrã Manter Agregaçã Mestre/Detalhe Figura B8.13. Mapeament Objet-Relacinal para Funcinari" cm partes mdificadas em amarel. Nte que a marcarms exclusã lógica, verems uma nva prpriedade padrã ser gerada em nssa entidade, cm nme "sithistricplc". Um valr "A" nesta prpriedade indica um registr Ativ, e um valr "I" um registr inativ (excluíd d pnt de vista d usuári mais cmum). Perceba que as classes referenciadas já sã identificadas pel jcmpany e assciações aprpriadas assumidas cm padrã (cm para cmpnente diferenciand-se de manytone). O restante d mapeament já deve ser de cmpreensã d leitr. O resultad gerad é exibid nas Figura B8.14 e Figura B8.15 smente cm as partes nvas em destaque. Figura B8.14. Classe Funcinári mapeada. #1. A precisã d tip tempral pde ser definida n padrã JPA. A precisã assumida é TIMESTAMP, que inclui a parte temp n item de data. Ajustar para DATE. #2. As Enumerações sã mapeadas cm cláusula necessária para que sejam persistidas cm alfanumérics (STRING) n SGBD.

10 Capítul B8 Figura B8.15. Classe Funcinári mapeada segunda parte. #1. A assciaçã manytone cm UnidadeOrganizacinal é gerada aprpriadamente, explicitand padrã JPA de FetchType.LAZY e cm nme de Freign Key significativa*. #2. Para a assciaçã cm Enderec, que é um Cmpnente, mapeament é específic O "@Valid" garante que validações BV d "Enderec" também serã executadas quand validand "Funcinari". #3. As prpriedades de ft e cleçã de currículs devem ser cmentadas neste capítul, apenas para ns cncentrarms nelas em um capítul específic sbre arquivs anexads, mais a frente. 3. Vams prsseguir agra para nssa primeira classe de Detalhe, Dependente. Edite esta classe e pressine Cntrl+N para iniciar seu mapeament, selecinand Assistente de Criaçã númer 01. Preencha a primeira página d Assistente de Criaçã para mapeaments Objet-Relacinal, cm na Figura B8.16. Figura B8.16. Mapeament Objet-Relacinal de Dependente, cm partes mdificadas em amarel. #1. Perceba que, para mapeament de detalhe e cas nã haja uma cleçã para receber mapeament netmany, jcmpany trará a pçã de us de List (recmendad) u Set. O padrã de acess pde sempre ser Lazy, pis jcmpany irá frçar recuperações n graf que cntrla, quand necessári, especialmente neste cas. * Repare que jcmpany mantém as assciações na camada d prjetista cm abstrações, utilizand UnidadeOrganizacinal (que é abstract) cm prpriedade e UnidadeOrganizacinalEntity (que é cncreta), n targetentity. Esta prática é mais rica em pssibilidades de flexibilizaçã e refatraçã futuras (verems um bm us de nvs descendentes cncrets para Entidades quand fizerms a implementaçã de Auditria Rígida).

11 Implementand Padrã Manter Agregaçã Mestre/Detalhe #2. A selecinar Detalhe n Estereótip um nv camp Classe Mestre irá requisitar que se selecine a classe FuncinariEntity, neste cas. Cuidad para nã selecinar a classe abstrata Funcinari errneamente. #3. Um recurs adicinal d jcmpany é a pssibilidade de se declarar valres de multiplicidade entre a classe raiz (Funcinari) e a cmpsiçã de detalhe (Dependente), que serã autmaticamente verificads. N cas acima, infrmams um máxim de "2", que é especificad cm máxim de Dependentes de um Funcinari em nss mdel UML. 4. Clique em Finish. O resultad padrã btid pr mapeament de detalhes tem similaridade cm mapeament que usams para "Uf" n padrã "Manter Classe". Tal cm neste cas, cada entidade de "detalhe" também usa a técnica de "@NtNull cm Grup para cnseguirms bter várias linhas de entrada simultânea para usuáris finais. Ver Figura B8.17. Figura B8.17. Classe Dependente mapeada, cm relacinaments abstrats. #1. Cm us d grup, "@NtNull" das prpriedades nã será herdad pels cmpnentes JSF ds frmuláris cm é default n padrã Java EE 6 (integraçã JSF 2.1 cm BV).. #2. O "@RequiredIF" extensã a BV d framewrk MyFaces ExtVal garante a validaçã cndicinada a preenchiment da linha. O resultad: linhas em branc sã desprezadas para entrada de dads, de md que usuári fica mais livre e prdutiv para preencher frmuláris que se parecem cm seus dcuments de negóci. 5. Acine Cntrl+Clique sbre tip Funcinári para navegar diretamente para a classe Funcinari. Cnfira utr lad da assciaçã bidirecinal, gerada pel Assistente de Criaçã. Figura B8.18. Classe Funcinari alterada para cnter mapeament bidirecinal netmany para Dependente. #1. Cláusula netmany padrã JPA. A recuperaçã "LAZY" permite a jcmpany assumir cntrle e timizar a recuperaçã de dependentes (verems us da "recuperaçã sb demanda" mais adiante, cm um excepcinal efeit prátic deste cntrle)

12 Capítul B8 #2. As pções de "cascade" e "mappedby" sã aprpriadas para assciações "bidirecinais" para agregações "mestre/detalhe". Obs.: a cláusula mappedby, se mitida, nã causa prblemas funcinais, mas irá prduzir SQLs em excess, a mens quand se utiliza Hibernate cm implementaçã JPA, que é nss cas. Muitas vezes um pequen detalhe cm este gera transtrns em prduçã, trazend quedas de perfrmance desnecessáris. Esse tip de esqueciment é, aliás, um ds errs frequêntes n us d JPA que jcmpany ajuda a prevenir. #3. A validaçã invariante padrã BV "@PlcValDuplicity" garante que nã haverá duplicidade de nmes de dependentes de um funcinári. Nte que aqui, cm tems a cleçã de "Depenentes" presente em uma entidade JPA, pudems realizar a validaçã de duplicidade n padrã BV. Já na classe "Uf", esta sluçã cm BV nã é pssível. #4. Outra validaçã invariante padrã BV é "@PlcValMultiplicity" que garante a multiplicidade máxima de dis depenentes pr funcinári, cnfrme especificad. Pde-se neste cas também especificar a multiplicidade mínima. Uma mensagem i18n fi definida e também gerada n arquiv "ApplicatinResurces_pt_BR.prperties". #5. Pr fim, "@Valid" garante que as validações padrã BV que estiverem definidas em "Dependente" também serã chamadas a se validar "Funcinari". Este é um princípi OO: quand validand a Entidade Raiz de uma Agregaçã, tda a Agregaçã deve ser validada. 6. Após a explicaçã para "Dependente" mapeament Objet-Relacinal para HistricPrfissinal traz pucas nvidades, cm pdems ver na Figura B8.19. Figura B8.19. Mapeament Objet-Relacinal para HistricPrfissinal, cm partes mdificadas em amarel. #1. Multiplicidade mínima infrmada para que Funcináris pssuam n mínim "1" registr de Históric Funcinal, cnfrme especificad n mdel UML. #2. O Assistente de Criaçã prcura sempre assumir a primeira prpriedade d tip String, cm implementaçã para tstring (Lkup). #3. O tamanh para tips cm decimais, cm s mnetáris, devem ser infrmads separads pr vírgula, cm frmat [tamanh ttal],[precisã da parte decimal]. O resultad smente apresenta mapeament para valr mnetári cm nvidade, cm relaçã a Dependente, expst na Figura B8.20.

13 Implementand Padrã Manter Agregaçã Mestre/Detalhe Figura B8.20. Mapeament utilizand precisã e escala. #1. Lembre-se de sempre ajustar a precisã para prpriedades d tip "Date" #2. O mapeament JPA padrã para salari" define as partes inteiras e de fraçã para camps decimais na antaçã "@Digits". Terminams mapeament de tda a Agregaçã, cm a exceçã das classes de arquivs Ft e "Curricul", que verems em separad. Partirems agra para acrescentar as antações de validaçã invariável, cnfrme declaradas na especificaçã. - Implementand Validações de Dmíni Validaçã de Entrada III 1. Vams cmeçar pelas restrições definidas na classe Funcinári: datanasciment deve ser menr que atual e datanasciment nã deve incluir temp Já reslvems a segunda regra cm a mdificaçã na d JPA. A segunda reslverems apenas acrescentand uma validaçã nativa d Bean Validatr, Figura B8.21. Cmplementand validações para datanasciment

14 Capítul B8 Se já nã fez ns passs anterires, psicine em seguida após TempralType., e digite Cntrl+Space para ver pções. Selecine DATE para eliminar a pssibilidade da gravaçã da precisã de temp para esta data*. cpf deve ser válid Figura B8.22. Seleçã de validaçã invariável PlcValCpf d jcmpany. Cm já prpusems, e Cntrl+Space para ver pções de validaçã d jcmpany e selecine PlcValCpf. Nã deve existir cpf duplicad A validaçã de duplicaçã de cpf, tal cm n cas de nme na UnidadeOrganizacinal é uma validaçã em nível de classe que pde também ser reslvida cm as Named Queries padrões nadeveexistir, cm representad abaix. Figura B8.23. Validaçã de duplicidade de CPF, cm Named Query padrã nadeveexistir. Imprtante: nã é padrã JPA, mas se desejarms definir um índice únic (unique index) n mapeament Objet-Relacinal para acelerar a cnsulta pr cpf (que utilizarems para verificar a duplicidade) pde-se usar uma cláusula específica d na prpriedade cpf, cm na Figura B8.24. Figura B8.24. Definiçã de índice para prpriedade específica. Se a implementaçã JPA nã fr Hibernate esta antaçã será simplesmente desprezada e terems (u DBA da rganizaçã) de garantir que esquema de índices seja crretamente definid nas DDLs de md cmplementar, aliás cm é tradicinalmente feit nas empresas. deve ser válid * Este aparente detalhe é um utr cas de err recrrente de prgramaçã, nã smente em Java mas em qualquer linguagem que trabalhe cm SGBD-R relacinais. Sem recurs acima, crre-se risc de algum Desenvlvedr nã infrmad armazenar a parte tempral em determinadas situações casinand cm cnsequência váris errs na cmparaçã de datas. Pr exempl, datas cm dias iguais pdem ser cnsideradas diferentes prque pssuem a parte tempral diferente. A Pwerlgic nã julga aprpriad mdificar s padrões de nmenclatura de framewrks reutilizads. Pr iss, validações e utras d Hibernate Validatr sã dispnibilizadas cm estã, u seja, infelizmente sem nenhuma cnvençã específica. Declarações de índices que envlvem múltiplas prpriedades pdem ser feitas em nível da classe.

15 Implementand Padrã Manter Agregaçã Mestre/Detalhe Este é utr exempl para qual nã existe uma validaçã nativa n padrã Bean Validatin. Mas existe na implementaçã utilizada pel jcmpany, Hibernate Validatr. Utilize a para esta finalidade, cnfrme abaix: Figura B8.25. Definiçã de validaçã de frmat de específica d Hibernate Validatr 2. Cm iss terminams as restrições definidas para Funcinari" pssíveis de serem reslvidas de frma declarativa para "Funcinari". Mas tems ainda três utras a serem definidas em nível d HistricPrfissinal (cmpsiçã de detalhe) que, cnfrme estabelecems, também serã executadas quand validand "Funcinari". salari nã deve ser negativ, datainici deve ser menr que atual e datainici nã deve incluir temp Smente a primeira é uma nvidade. As demais estã ilustradas na Figura B8.26 de frma similar a utras que fizems. Figura B8.26. Validações declarativas em HistricPrfissinal. #1. A d Hibernate Validatr permite que se valide valres numérics. N cas, cm a prpriedade é brigatória, estabelecems "1" cm um valr mínim. - Prgramand Validações Invariáveis de Dmíni Prgramaçã de Dmíni I Neste tópic verems validações um puc mais interessantes d que as que vims até agra, pis exigirã que façams prgramaçã Java pela primeira vez nestes tutriais. Felizmente a prgramaçã BV é tã simples quant pssível e sempre elegante, encapsulada nas Entidades! Funcináris devem ter idade mair u igual a MAIORIDADE Para implementar esta validaçã, crie um métd na classe Funcinari (na parte abstrata, pis afinal é uma regra de negóci), chamad validamairidade. Este tip de métd é chamad de assertiva pr devlver um blean e nã cnter arguments (trabalha smente cm valres interns à agregaçã). Devid à adçã d padrã Bean Validatin, métds que devlvem blean, iniciam cm "valida" e nã recebem arguments sã disparads junts da validaçã invariável (desde que a classe pssua a Figura B8.27. Métd de validaçã cm cdificaçã Java. #1. Declaraçã crreta para btençã de instância de utilitáris d jcmpany (classes cmeçadas cm Plc e terminadas cm Util) gerenciads pel CDI, quand estes utilitáris sã necessáris em entidades! Nte que em Entidades a injeçã declarativa d CDI nã funcina cm em classes de MB u

16 Capítul B8 Repsitry, pis as entidades sã criadas prgramaticamente, seja pel JPA, seja pel jcmpany (ns métds de "factry" ds MBs). Para este cas específic a classe PlcCDIUtil traz métd "getinstancebytype" que recebe a declaraçã estática da classe a ser btida e a pçã de qualificaçã "QPlcDefaultLiteral.INSTANCE". #2. Cmentári Javadc! Essencial em métds de negóci. Em nss exempl, cm a implementaçã nã está perfeita e finalizada, entã um prefix "TODO" fi criad cm lembrete. #3. Mensagem de err n padrã Bean Validatin. Para mensagens I18n deve-se usar chaves "{". #4. A assinatura de um métd de assertiva deve retrnar blean, iniciar cm "is" (padrã JavaBean) e nã pde receber arguments. #5. Algritm de implementaçã (prgramaçã prcedimental) da regra de negóci. Obs.: a regra está simplificada pr nã cnsiderar ans bissexts, principalmente. #6. A extraçã de valres cnstantes presentes nas regras de negóci para variáveis de classe nã é smente mais elegante pr trnar a regra mais legível, cm permite reús destes valres pr diversas regras. Vams agra editar arquiv ApplicatinResurces.prperties (Cntrl+R!) e acrescentar a mensagem para a validaçã que fizems. Figura B8.28. Mensagens I18n para validações prgramadas. - Gerand Artefats Nã-Java Geraçã de Artefats III Finalizada a etapa de mapeament Objet-Relacinal, vams agra implementar Cas de Us em si. 1. Acine rteir Cheat-Sheet para padrã Manter Agregaçã Mestre/Detalhe, via menu Help -> Cheat-Sheets. 2. Prssiga n rteir para segund pass, Utilizand Assistente. Vems na

17 Implementand Padrã Manter Agregaçã Mestre/Detalhe Figura B8.29 a primeira janela d Assistente de Criaçã d jcmpany preenchida para nss Cas de Us. Figura B8.29. Tela inicial d Assistente de Criaçã para Padrã Manter Agregaçã Mestre/Detalhe. Tdas as mdificações que tivems de realizar manualmente estã grifadas e nesta altura já nã devem ser nvidade. Mas nte que, para este padrã, infrmams númer de classes de detalhe envlvidas na Agregaçã, em Númer de detalhes. N nss cas sã duas: Dependente e HistricPrfissinal. 3. Vams agra, pela primeira vez, entender em detalhes a segunda janela d Assistente de Criaçã. Figura B8.30. Segunda janela d Assistente de Criaçã. #1. Títul, cnfrme aparecerá n item de menu e títul da página. #2. A pçã de Entrada em Lte influi n cmprtament generalizad ds frmuláris, reslvid na camada Cntrle. Marcar esta pçã prduzirá uma variaçã n cmprtament que frmulári seguirá após uma gravaçã cm sucess e esta variaçã dependerá d padrã utilizad: - Em frmuláris que mantêm uma Agregaçã de Objets pr vez, cm plccrud, plcmestredetalhe etc., padrã após a gravaçã cm sucess é manter s dads recém

18 Capítul B8 gravads dispníveis para alterações, cnferências u clnagens. Cm Entrada em Lte marcad, a invés diss, um frmulári em branc será exibid para uma nva inclusã. - Em frmuláris padrã plctabular, padrã após uma gravaçã cm sucess é fazer uma nva recuperaçã de tds s bjets da classe. Cm a variaçã da Entrada em Lte, a recuperaçã nã é realizada e sã adicinads nvs bjets em branc para nvas inclusões. - Já em frmuláris plccrudtabular, padrã após a gravaçã cm sucess é manter tda a cleçã recém gravada. Cm a variaçã da Entrada em Lte, a cleçã recém gravada é substituída pr nvs bjets em branc enquant s itens de cabeçalh d frmulári sã mantids*. Cm achams remta a pssibilidade d usuáris clnar dads de funcináris cm frequencia, vams marcar a pçã de Entrada em Lte, neste cas. #3. A pçã de Exclusã Lógica indica para jcmpany nã excluir fisicamente bjets da agregaçã (u seja, nã remver as Tuplas crrespndentes das Tabelas d SGBD-R). Cas seja marcada cm lógica, jcmpany irá utilizar transfrmar exclusões pr uma alteraçã padrã, de valr da prpriedade sithistricplc, de A (Ativ) para I (Inativ). Esta prpriedade é recnhecida pel framewrk, que entã passa a tratar bjets cm situaçã Inativ cm excluíds, d pnt de vista ds usuáris. Em nss Cas de Us, bservand a especificaçã, verems que fi mdelada a Inclusã Padrã para Cas de Us, de Exclusã Lógica. Prtant, irems marcar a exclusã cm Lógica. #4. Neste camp pdems indicar para que frmulári de seleçã utilize paginaçã. Se infrmarms um númer mair que zer nesta pçã, váris cmprtaments genérics serã alterads para a seleçã, em tdas as camadas MVC: As classes genéricas de DAO smente recuperam d SGBD, n máxim, númer de bjets infrmads de cada vez; Barras de navegadres na camada Visã e cntrladres serã renderizads para permitir a usuári paginar uma cnsulta e também dar salts para páginas específicas, além da primeira e da última. Infrmarems númer 5 apenas para facilitar nsss testes. Númers mais aprpriads para situações de prduçã estariam entre 15 e 50, dependend de cada cas. #5. Opçã para geraçã u nã da Clabraçã (Frmulári) de Seleçã. Pde-se gerar um nv frmulári de seleçã, reutilizar algum existente (uma mesma Clabraçã de Seleçã pde servir a edições em mais de um Cas de Us) u nã gerar, situaçã em que se deve prver alguma frma de seleçã de bjets para ediçã pr cnta própria - cm pr exempl hiperlinks a partir de utrs frmuláris. #6. Cm a pça Usar GRIDj Query pta-se pr usar um cmpnente JQGrid Web 2.0 (puramente Javascript) cm grade de seleçã. Cas a pçã seja desmarcada, uma lista para seleçã inteiramente mntada cm cmpnentes JSF 2.0 será utilizada. N primeir cas, a cmunicaçã cm servidr crre via chamadas Ajax/REST trafegands dads n frmat JSON; e n segund cas a chamada é mais cnvencinal, trafegand HTML mixad cm dads. Dica: Em geral us de cmpnentes RIA é mais interessante e tendência para futur. Prém, se precisar custmizar em demasiad cmpnente JQGride e nã pssuir cnheciments sólids em Javascript, sugere-se desmarcar esta pçã e trabalhar cm JSF. #7. Opçã para incluir a geraçã de chamadas de menu para Cas de Us. Registra a chamada n arquiv geralmenu.xhtml chamand a clabraçã de manutençã pr default. #8. Opçã para incluir a geraçã de XHTMLs para Cas de Us. Em situações de desenvlviment para utras tecnlgias de Cliente que nã pretendam utilizar XHTMLs, esta pçã pde ser utilizada. * Verems esta Clabraçã, n módul C (Cass de Us de Manutençã Secundáris).

19 Implementand Padrã Manter Agregaçã Mestre/Detalhe #9. Opçã para incluir a geraçã de mensagens I18n. 4. O próxim diálg já ns fi apresentad, mas algumas pucas nvas pções serã utilizadas. A Figura B8.31 exibe em amarel as partes mdificadas cm relaçã a padrã assumid pel jcmpany para bterms resultad especificad e numeraçã nas nvidades. Figura B8.31. Definind Clabraçã de Seleçã, cnfrme especificaçã. #1. A especificaçã prevê a acmdaçã de dads em um leiaute de pastas, cnhecidas cm Tab-Flders, para evitar a rlagem de tela e melhrar a cmpreensã pr parte de usuáris. A marcarms esta pçã, Assistente de Criaçã já irá ns prver uma rganizaçã d frmulári cm base em Tab-Flder, em nível d leiaute, que segue a seguinte regra padrã: - As prpriedades da classe Raiz/Mestre e Cmpnentes sã distribuídas pr pastas em cnfrmidade cm a Separaçã de Cmpnentes definida. Cm padrã, as prpriedades de classes Cmpnentes ficam agrupadas também visualmente e, prtant, em uma aba distinta de Tab-Flder. Pde-se mudar iss desmarcand a caixa Separaçã de Cmpnentes u alterand-se a segmentaçã destes, que pde ser feit n últim diálg deste Assistente, que verems ainda neste capítul. - Já as prpriedades das classes de Detalhe, cm serã exibidas cm várias crrências, sã rganizadas cm padrã em uma aba de Tab-Flder pr Classe de Detalhe.

20 Capítul B8 O recmendad é que se assuma um padrã mais próxim pssível da especificaçã e depis se custmize leiaute cnfrme desejad, utilizand basicamente cnheciments de Facelets e lógicas de Cntrle genéricas d jcmpany*. #2. Obs.: A pçã Separaçã de Cmpnente gera arquivs XHTML separads para as principais seções da parte principal (mestre) d frmulári de manutençã, de md a mantê-ls mais simples. #3. Se analisarms prjet de GUI para a parte de seleçã da Err! Fnte de referência nã encntrada., verems que fi slicitada uma pesquisa pr interval de idade d Funcinári. Cm este dad nã existe prnt na Entidade, esta slicitaçã exigirá que realizems nã smente uma prgramaçã de cntrle cmplementar, mas também uma custmizaçã na parte visual, de arguments. Para atenderms a este cas, deixams uma lacuna (Cluna 2 da Linha 2) n frmulári dispnível para alteraçã e incluíms a data cm argument, prvisriamente. #4. Algumas utras frmatações e ajustes ainda estã pendentes, tais cm frmat exat para exibir UnidadeOrganizacinal (assumida cm cmb, mas devems alterar para vinculad ) e de rótuls tais cm Cpf, que deve ser CPF. Irems ajustar estes itens durante a cnfecçã da parte de manutençã. 5. Para prduzir frmulári da Clabraçã de Manutençã, veja as mdificações em detalhe, na Figura B8.32. * Os Assistentes de Criaçã, cm plugins de Prcess, fazem um esfrç para bter uma primeira versã de Interfaces cm Usuári cm qualidade de prduçã e que sigam melhres práticas de O&M, Usabilidade em Geral e Web-Design, tend cm base de referência s Padrões da Arquitetura. Eles nã pretendem ser editres artesanais genérics de Interfaces cm Usuári, que deve ser btid cm editres WTP/JBss Tl, Facelets, XHTMLs e JSF.

21 Implementand Padrã Manter Agregaçã Mestre/Detalhe Figura B8.32. Definind Clabraçã de Manutençã, cnfrme especificaçã. A mair parte ds ajustes em crdenadas de camps é cnsequência de terms que remver Object-Id d frmulári para atender à especificaçã. O que tems de mais relevante, neste cas, sã prtunidades de us de frmatações mais interessantes para camps, relacinadas abaix: #1. As prpriedades cuj tip seja Enumeraçã sã assumidas em frmuláris cm Cmb Estátic, u seja, listas de valres cujs dads nã pdem ser mdificads pels usuáris. Este padrã é aprpriad para a prpriedade estadcivil. #2. N cas da prpriedade sex, cm sã apenas dis valres, frmat Radi é mais interessante, pis nã cupa mais espaç que Cmb e já permite a visualizaçã das pções existentes. Nrmalmente, indicams Radi para Enumerações que cntenham dis u três valres, n máxim, dependend d tamanh da descriçã destes valres, e Cmb Estátic para três u mais. #3. O frmat Caixa Marcaçã (Checkbx) é assumid para prpriedades cm valr Blean, que sã persistidas cm S u N em SGBDs pel padrã autmatizad n framewrk. Ele é aprpriad para temcurssuperir. #4. O frmat Vinculad, que já vims antes para implementar a recursividade cm UnidadeOrganizacinal, será aqui mais uma vez utilizad, ferecend um diálg Ppup que permite seleções sfisticadas, paginadas cm diverss arguments, cm bjetiv de facilitar a usuári a análise e esclha d bjet que deseja vincular a frmulári principal*. #5. O camp bservaca, pr ter um tamanh grande, pde ser mais bem apresentad através d frmat Área, que ferece várias linhas de entrada de text. Neste cas, altere tamanh para cnter númer de linhas e de caracteres pr linha desejads, n frmat: [Númer de Linhas],[Númer de Caracteres]. Utilizams três linhas e itenta caracteres para a prpriedade bservaca. * Perceba que s Vinculads reusam Clabrações de Seleçã pré-criadas! Um vinculad nã funcinará cas sua Entidade já nã tenha sid utilizada anterirmente cm raiz em uma Clabraçã de Seleçã.

22 Capítul B8 #6. O camp uf fi crretamente assumid cm Cmb Dinâmic, já que seu tip é uma classe Raiz de agregaçã. Este é frmat aprpriad para classes mantidas em caching pel padrã Manter Classe. #7. Pr últim, vams remver a prpriedade ft d frmulári, já que exigirá um tratament especial n próxim capítul. 6. O Assistente prsseguirá agra apresentand um diálg para permitir a definiçã da primeira classe de detalhe, e assim pr diante, até atingir númer de detalhes infrmads n iníci (dis, em nss cas). A janela e instruções de preenchiment para detalhe Dependente sã exibidas na Figura B8.33 cm partes mdificadas em destaque. Figura B8.33. Definiçã de frmulári e metadads para Detalhe Dependente. #1. Classe de Detalhe. Deve-se selecinar a classe cncreta que represente primeir detalhe. #2. Em Títul infrme títul d Detalhe cnfrme irá aparecer n tp de seu cmpnente (subseçã d frmulári) u na aba d Tab-Flder, cas a pçã de Tab-Flder tenha sid marcada. #3. Marque Detalhe paginad para utilizar paginaçã neste detalhe. Neste cas um camp text será exibid para se preencher númer de detalhes pr página. Nã utilize essa pçã para nss exempl. #4. A visualizaçã d trech de frmulári (markup) que representa Detalhe será realizada apenas mstrand- abaix da parte principal, d mestre, já que esta é uma visualizaçã lcal e que nã pssui gestã de leiaute atuante. A visualizaçã d us de Tab-Flder, pr exempl, smente será pssível após a liberaçã para teste. #5. Em Prp. Referência, devems selecinar uma das prpriedades da Classe que servirá de referência para que framewrk cnsidere a linha cm preenchida. Em utras palavras: cas usuári nã frneça um valr para a prpriedade aqui infrmada, tda a linha (bjet) será descnsiderada. Nrmalmente, esta prpriedade representa uma chave alternativa d negóci, u parte dela, e é a primeira prpriedade a aparecer em cada linha n frmulári. O Assistente habitualmente assume um bm padrã, mas este deve sempre ser cnferid. Para cas d Dependente, a prpriedade será nme. #6. Em Num. Nvs, pdem-se infrmar tamanh d blc de bjets em branc que será criad n frmulári para este detalhe (u linhas em branc) n mment da inicializaçã d frmulári. Blcs deste mesm tamanh também serã criads a cada clique n btã Nv

23 Implementand Padrã Manter Agregaçã Mestre/Detalhe pr parte d usuári, se este detalhe estiver cm fc. O padrã sã quatr mas, em nss cas, pdems diminuir para dis. #7. Em Ps. Títul, é pssível ptar pr gerar s rótuls de títul de cada cluna n tp, u seja, uma única vez, acima de tdas as linhas de detalhe; u em linha, de maneira entremeada, acima ds camps de cada linha. Em geral, padrã tp é mais adequad, a nã ser que a quantidade de prpriedades exija mais d que uma linha pr registr. #8. A marcar Pr Demanda trna-se pssível retardar a recuperaçã de bjets desta classe de Detalhe. Neste cas eles que passam a nã mais serem recuperads juntamente cm a recuperaçã d bjet Mestre raiz da Agregaçã. Esta pçã deve ser utilizada sempre que pssível pis timiza cnsideravelmente a perfrmance. Prém deve entender que, neste cas, nem tds s dads estarã recuperads para situações em que lógicas de prgramaçã precisem de tds s dads da agregaçã em memória. Pr exempl, uma validaçã de Salári Mínim para Curs Superir nã funcinaria se Detalhe Históric Prfissinal fsse declarad cm Pr Demanda! O desenvlvedr deve estar cnsciente e ter cnheciments suficientes sbre cm fazer lógicas de prgramaçã cm estas neste cenári. Pr utr lad, quand númer de classes de detalhe fr muit grande e nã fr pssível se subdividir padrã em mais Clabrações, entã us d Pr Demanda pde ser um fatr de timizaçã imprtante. As demais infrmações desta Tela sã similares às que cnhecems para ajuste de crdenadas e frmat para prpriedades d Detalhe. 7. O próxim pass d Assistente de Criaçã exibe mesm diálg agra para definiçã d próxim detalhe, dispensand mais explicações. Perceba apenas ajuste de alinhament de tdas as prpriedades na mesma linha, para efeits de estética. Figura B8.34. Definiçã de frmulári e metadads para Detalhe HistricPrfissinal. 8. Vams entã finalizar Assistente de Criaçã, clicand em Finish. - Entendend artefats gerads Ediçã de Camada Visã III Na camada Visã deste Cas de Us Padrã fram gerads 6 (seis) arquivs XHTML, alterads 2 (dis) arquivs de XHTML e 1 (um) arquiv de Prperties, para mensagens. funcinarisel.xhtml : Arquiv que define frmulári de "Pesquisa e Seleçã (Grid)". Ele cntém a seçã de arguments de pesquisa e a de pesquisa (GRID) em si. funcinari.xhtml : Arquiv que define frmulári de "Manutençã". Ele basicamente herda de um template genéric chamad /fcls/client/frmularimestredetalhetabplc.xhtml", que pr sua vez inclui s arquivs abaix. Este arquiv em si, prtant, nã traz definições XHTML mas smente declarações úteis de metadads utilizadas para tabulaçã de Tab-Flder e utras. Ele pde ser utilizad para se redefinir seções d leiaute de manutençã.

24 Capítul B8 funcinarimdt.xhtml *: Seçã (markup) d frmulári de manutençã, relativ à entidade raiz da agregaçã "Funcinari". funcinarimdt2.xhtml : Seçã (markup) d frmulári de manutençã relativ a cmpnente Enderec. funcinaridet.xhtml : Seçã (markup) d frmulári de manutençã relativ à entidade Dependente" (primeir detalhe). funcinaridet2.xhtml : Seçã (markup) d frmulári de manutençã relativ à entidade HistricPrfissinal (segund detalhe). geralmenu.xhtml : Alterad para cnter uma nva entrada de menu, incluída n últim blc encntrad, e cm chamada para a URL de manutençã cm padrã. ApplicatinResurces_pt_BR.prperties : Alterad para incluir as mensagens (rótuls e títuls) envlvidas n Cas de Us. Obs.1: Perceba que a separaçã d frmulári em arquivs XHTML especializads cada um em uma seçã mantém baixa a cmplexidade de cada arquiv individualmente, emuland as bas práticas de cesã em prgramaçã Java. Além diss, reús fica facilitad. Obs.2: Nvamente, us de nmenclatura padrã em tds s XHTMLs é suficiente para que template genéric Facelets saiba mntá-ls da frma aprpriada. Deste md, ganhams duas vezes: evitand a criaçã de leiautes e refrçand a padrnizaçã. Neste tópic, vams editar XHTML "funcinarisel.xhtml em mair prfundidade d que fizems até aqui, pis precisarems: Trcar us de datanasciment pr interval de idade, cnfrme a especificaçã; Retirar Object-Id d vinculad; Melhrar leiaute, diminuind tamanh de camps textuais usads para busca pr iniciais. Mas antes de efetuar essas mdificações, vams entender um puc mais a fund a anatmia básica da seçã de argument deste XHTML: Figura B8.35. Anatmia de um arquiv XHTML de seleçã típic: Parte 1. #1. O nme padrã d XHTML é [URL d frmulári]sel.xhtml. Os leiautes genérics para frmuláris de seleçã esperam este sufix padrã. #2. Blc cm declaraçã ds elements que sã utilizads na página. Exempl: plcf d jcmpany, que pr sua vez especializa s cmpnentes JSF d Apache Trinidad. * Perceba a mdificaçã d padrã de sufix, de Man para Mdt, para este padrã, cm relaçã a Manter Agregaçã Simples. N cas de rótuls, smente se fi utilizada a pçã I18n. Cas cntrári s rótuls sã gerads n XHTML diretamente.

25 Implementand Padrã Manter Agregaçã Mestre/Detalhe Este desacplament ds XHTMLs de tecnlgias específicas de cliente (Apache Trinidad, etc.) é um benefíci muit imprtante da arquitetura, pis pssibilita a jcmpany evluir, readaptar e substituir implementações atuais pr utras que pssam surgir n futur, preservand grande parte d códig ds XHTMLs prduzid pels clientes*. Quand usand a geraçã RichFaces, n entant, geradr prduz tags JSF mais primitivas, para facilitar entendiment de base. #3. Um cmpnente tabela prvê a estrutura mair, que delineia trech d frmulári, renderizand um element HTML table abaix de um fieldset. #4. Cmpnentes linha renderizam element HTML tr. #5. Cmpnentes celula envlvem s rótuls e s camps. Este agrupament facilita variações em leiautes d frmulári, cm alinhaments verticais (rótuls à esquerda de camps). Este cmpnente irá renderizar uma trama cm elements HTML span e td. #6. O cmpnente titul renderiza rótuls, traduzind-s para idima crrentemente cnfigurad se fr utilizand a prpriedade titulchave. Se fr infrmada a prpriedade titul, a renderizaçã será direta, sem I18n. #7. O cmpnente text renderiza camps de entrada de dads em frma textual. #8. Tds s cmpnentes sã gerads cm a prpriedade id, deste md facilitand sua identificaçã em prgramações Javascript. #9. A expressã para valr de camps de argument deve ser infrmada cm #{prpriedade de argument].valr}. A sequência de cmunicaçã ds cmpnentes JSF cm Backing Bean (Actin), envlvend lógica de Cntrle genérica será explicada mais a fund n módul E. #10. Tds s cmpnentes de entrada de dads sã gerads cm a prpriedade ajudachave **, que pr sua vez renderiza um element HTML title. Este é um element brigatóri, que além de prver ajuda sensitiva em nível de camp (balões amarels na sbrepsiçã d muse), também é chave para prver acessibilidade, pis cntém text lid pr dispsitivs de api à peraçã pr deficientes visuais quand camp entra em fc. #11. O cmpnente cmbestatic renderiza um element HTML select, cntend uma lista de pções exibida de frma Pull-Dwn. É um cmpnente muit interessante pr nã cupar espaç em demasiad n frmulári, prém nã aplicável quand númer de itens a ser exibid fr crescente u muit grande (pr exempl, acima de 100 bjets). #12. O atribut dmíni permite que se infrme uma classe de Enumeraçã, cujs valres serã utilizads pel cmpnente JSF para renderizar as pções d cmbestatic (funcina * Vale aqui uma bservaçã: Smente a bibliteca de cmpnentes Apache Trinidad que vem cm jcmpany traz mais de uma centena de cmpnentes JSF, fra utras biblitecas JSF que se pssa utilizar cncmitantemente! Prtant, desacplament d jcmpany é restrit a algumas dezenas de cmpnentes mais cmuns, tais cm inputtext, Radi, Cmb etc.. Nã é desencrajad a desenvlvedr utilizar utrs cmpnentes JSF quaisquer, quand se faça necessári, e iss nã invalida benefíci de desacplament em 99% ds cass. Muit embra s leiautes privilegiem us de CSS e tags HTML div sempre que pssível, tags HTML table sã mais aprpriadas para us em frmuláris, se cmprtand melhr em redimensinament de janelas ds Navegadres e em variações de resluçã de víde. Nte que jcmpany nã mdifica padrã básic de renderizaçã ds cmpnentes reutilizads d Apache Trinidad. Para se pegar valr de um camp de qualquer frmulári d jcmpany via Javascript, em JSF, deve-se utilizar prefix crp:, antes d identificadr definid em id. Pr exempl, para pegar valr infrmad n camp , em uma seçã Javascript, pde-se cdificar: var = get('crp: '); Este prefix é assumid pel Apache Trinidad, uma vez que td frmulári é gerad dentr de um div HTML cm identificaçã id= crp, que pr sua vez está definid abaix de um element f:view. ** Se a geraçã crresse sem a pçã I18n ligada, valr seria gerad utilizand a prpriedade ajuda, cm text diret em prtuguês.

26 Capítul B8 também de frma similar para cmpnentes radi )*. Imprtante: Para funcinar, a classe de dmíni utilizada deve estar declarada n arquiv de metadads em nível da aplicaçã, na relaçã de classes de dmíni discret (s geradres já fazem esta declaraçã na mair parte ds cass). Exempl, em cm.pwerlgic.jcmpany.cnfig.app/package.inf.java : Figura B8.36. Classes de dmíni discret (Enumerações) e de lkup ( plctabular ) declaradas em metadads da aplicaçã. #13. O atribut exibebranc exibe uma linha adicinal na lista de pções d cmbestatic que, quand esclhida, selecina valr null. Deve ser utilizada sempre que a prpriedade aceitar nuls. Figura B8.37. Anatmia de um arquiv XHTML de seleçã típic: Parte 2. #14. A cntrári ds demais cmpnentes até aqui, vinculad nã pssui um crrespndente muit próxim n Apache Trinidad. Ele renderiza dis camps em HTML: um de códig (pcinal) e utr de descriçã, além de um btã que acina (via Javascript) um diálg Ppup. Este diálg reutiliza uma página de seleçã permitind a usuári selecinar valres de utrs bjets e vinculá-ls a frmulári principal. #15. Para que a devluçã d valr selecinad n diálg Ppup retrne crretamente, atribut prpselpp deve cincidir cm atribut prpagregada da Tag linhaseleca, presente na página de seleçã reutilizada. Ist é necessári para que as funções Javascript genéricas d jcmpany cnsigam cpiar s valres selecinads, d diálg Ppup para frmulári, sem necessidade de cdificaçã pel Desenvlvedr. Cnfira valr d atribut prpagregada a final da página unidaderganizacinalsel.xhtml : * Cm já vims, as descrições em I18n serã utilizadas para exibiçã a usuári de acrd cm a cnvençã (Ex.: sex.m=masculin) e s valres da Enumeraçã gravads cm códig alfanumérics (ex: M ) n SGBD-R. Se esta pçã nã fr usada, a lista d cmbestatic irá aparecer cm primeir valr selecinad. Nestes cass, recmendável é incluir na Entidade um valr inicial para a prpriedade explicitamente.

27 Implementand Padrã Manter Agregaçã Mestre/Detalhe Figura B8.38. Valr para retrn de valres selecinads n diálg de seleçã para frmulári. Obs.: Repare também que já utilizams idexibe= N para que camp de id nã seja exibid pel cmpnente vinculad, cm já fizems n Cas de Us anterir. Após as mdificações, este trech da Figura B8.39 deve ficar alterad cnfrme a figura abaix. Figura B8.39. Vinculad ajustad para atender à especificaçã. #16. O atribut autrecuperacaclasse indica a classe que será utilizada para a busca pel camp de códig ( id ), se ele estiver exibid e nã prtegid. Pde-se acrescentar a prpriedade autrecuperacaprpriedade para utilizar utra prpriedade diferente de id (Ex.: uma chave de negóci) para a recuperaçã de bjets vinculads. Irems utilizar este recurs em tutriais d módul C. #17. O atribut actinsel indica a URL final d frmulári de seleçã a ser reutilizad pel diálg Ppup. Este frmulári deve ter sid previamente desenvlvid. Em nss cas, desenvlvems para permitir a seleçã para ediçã de bjets de UnidadeOrganizacinal, bem cm vínculs recursivs. Da frma em que sã cncebidas na arquitetura, ideal é que frmuláris de seleçã se trnem padrões para busca de determinadas Entidades, reutilizadas pr tda a rganizaçã. É pssível, inclusive, reutilizar este frmulári mesm que esteja embalad em utra aplicaçã - preferencialmente cnfigurada cm alguma estratégia de unificaçã de lgins (single-signn) para evitar uma nva janela de lgin a chamar diálg! Para este cas, bastaria definir cntext de base para frmaçã d hiperlink para utras aplicações, cm n exempl da Figura B8.40, reutilizand a seleçã de utra aplicaçã cm nme de cntext utraapl : Figura B8.40. Exempl de reús inter-aplicações, em temp de execuçã. Evita a reembalagem. #18. O atribut nkeydwn é utilizad em váris cmpnentes, permitind a cdificaçã de um códig Javascript tda vez que usuári pressina uma tecla sbre cmpnente. N cas d vinculad, chamams a funçã Javascript d jcmpany selecinaprtecla tda vez que usuári aperta seta para baix cm fc n cmpnente Vinculad. Neste cas, esta funçã ativa diálg Ppup via teclad. Esta é uma pçã fundamental para us em aplicações cm entradas de dads massivas. A analisarms a página de um md geral, pdems bservar que está em um estági minimalista, cntend mínim necessári de infrmações: Nã cntém nenhum atribut decrativ (cr, fnte) e nem referências a estils; nenhum códig HTML; nada a respeit de leiaute extern (nem includes); nada sbre tamanh e brigatriedade ds camps; nada sbre valres de Enumerações; nada de um idima específic e ainda cm mínim de dependências e nme padrnizad, pr exigência ds leiautes universais. Tud iss gera inúmeras vantagens, tais cm:

28 Capítul B8 Internacinalizaçã (I18n) Us pssível de utras tecnlgias de cliente (WML, XML etc.), bastand que se crie Renders JSF diferentes. Pssível readaptaçã de tecnlgia n nível d jcmpany, a lng d temp. Baixa curva de aprendizad (A grande quantidade de dcumentaçã trna a tarefa de entender as páginas XHTML para JSF fácil!) Reús de cmpnentes visuais, a partir d cnceit de pele e ajustes dinâmics de leiaute (cm entre a página de seleçã e diálg ppup). Eliminaçã de redundância, a partir da herança de tamanh e nulidade d mdel de Dmíni. Ex.: Se tamanh de nme é alterad, nã é precis alterar nenhuma página. Facilidade de lcalizaçã de XHTMLs, devid à frte cnvençã de nmenclaturas. Facilidade de manutençã para alterações de valres de listas e btões de rádi. Valres adicinads u remvids de Enumerações também refletem autmaticamente, dispensand revisões em páginas. Ex.: Para acrescentar um nv tip de Estad Civil, pr exempl, bastaria apenas criar a nva pçã, na Enumeraçã EstadCivil. Estils CSS assumids cm padrã internamente a cmpnente, deste md evitand errs e precupaçã d desenvlvedr cm a cnfiguraçã de peles (pdem, ainda assim, ser alterads, especializand-se a prpriedade classecss, para exceções) Arquitetura OO. A divisã de páginas em cmpnentes menres é útil para se preservar cntrle da cmplexidade, mesm quand tamanh e quantidade de páginas aumentam ( Dividir para Cnquistar, um ds princípis OO mais imprtantes) Pr fim, que é muit imprtante, a página cntinua ttalmente custmizável. Arraste um cmpnente JSF da palheta d Apache Trinidad e ele será renderizad em cnjunt cm a página. - Editand XHTMLs de Seleçã. Vams agra ajustar, para este cas específic, tamanh de alguns camps, já que para cas de arguments nã precisams d tamanh ttal. 1. Altere tamanh padrã de nme e lgradur para 20, cnfrme a Figura B8.41 (Lembre-se: psicine a final d element e utilize Cntrl+Space para ativar aut-cmplete d Eclipse).

29 Implementand Padrã Manter Agregaçã Mestre/Detalhe Figura B8.41. Tamanhs especializads. Os demais cntinuam assumind tamanh definid na Entidade. 2. Outra mdificaçã bem mais imprtante diz respeit à recuperaçã pr arguments, de interval de idade. Lembre-se que gerams um argument pr datanasciment smente para ns prver espaç na página para fazerms a adaptaçã. Vams entã editar a página para fazer esta mdificaçã: N cas d interval de idade, divida cnteúd da célula "datanasciment" pr duas, retirand clumnspan= 2 e alterand seu cnteúd para cnter tags de númer (idade), cnfrme exempl da Figura B8.42. Figura B8.42. Trech de XHTML de argument alterad para interval de idade. Perceba que alterams rótuls e text de ajuda, mantend a cnvençã em I18n. Alterams as tags de data para um frmat numéric. Os texts crrespndentes estã na Figura B8.43. Figura B8.43. Mensagens criadas para interval de idade, seguind a cnvençã de nmenclatura. Pr hra vams cntinuar na ediçã de XHTMLs, mas nte que este códig nã irá rdar pis as prpriedades "idademin" e "idademax" nã existem na entidade Funcinari. Farems uma implementaçã cmpleta para s arguments de interval de idade na seçã 'Custmizand a Manipulaçã de Arguments para Pesquisa nas Entidades' mais adiante, neste mesm capítul. - Editand XHTMLs de Manutençã. Vams agra aprender sbre nvs elements visuais e editar nssa página de manutençã funcinarimdt.xhtml.

30 Capítul B8 Figura B8.44. Anatmia de um XHTML de Mestre utilizand Tab-Flder. #1. O atribut asair é uma especializaçã d jcmpany FS Framewrk a cmpnente HTMLTableLayut d Trinidad, que permite a execuçã de um Javascript, n mment em que usuári tabula para fra da frnteiras da tabela. Neste cas, jcmpany IDE gera uma chamada à funçã cmutaaba, que irá autmaticamente acinar a próxima aba d leiaute na medida em que usuári encerre preenchiment de uma anterir. Este recurs cntribui para uma peraçã de entrada de dads massiva - que nã deve frçar usuári a recrrer a muse para cmutar de abas. #2. Em frmuláris de manutençã, a declaraçã d valr para prpriedades de classes segue a sintaxe declarada abaix: Sintaxe: #{[cmpnente, se existir].[prpriedade]}. #3. Datas pssuem um cmpnente específic chamad data, similar a cmpnente text (também renderiza uma Tag HTML input type= text ), mas que intrduz máscaras Javascript de entrada de dads*, pçã de calendári Ppup, dentre utras pequenas especializações para este tip específic. #4. O cmpnente radi renderiza um element HTML input type= radi, utilizand s valres da Enumeraçã infrmada em dmíni para renderizar s valres pssíveis ds btões de rádi (tal cm n cas d cmbestatic ). Figura B8.45. Cntinuaçã da anatmia de um XHTML de Mestre. * dd/mm/yyyy é default. Opções sã dd/mm/yy, MM/yy u MM/yyyy, definidas n atribut mascara.

31 Implementand Padrã Manter Agregaçã Mestre/Detalhe #1. O cmpnente caixamarcaca renderiza a Tag HTML input text= checkbx. #2. Já mdificams cmpnente vinculad para nss cas, que nã querems Object- Id exibid. Nã se esqueça de aplicar esta mdificaçã. #3. O cmpnente área renderiza a Tag HTML input text= area, que permite múltiplas linhas de entrada de dad. Ele exige a declaraçã d tamanh e númer de linhas (cnfrme já fi gerad). - Custmizand a geraçã de artefats Pdems ns perguntar, neste pnt, se terems que sempre prceder estas mdificações ns XHTMLs (cm idexibe= N ), se há um padrã rganizacinal que define estas pequenas diferenças. Felizmente, iss nã é necessári. A arquitetura de geraçã de artefats d Pwerlgic jcmpany Artifact Generatr fi cncebida cm base em mdels de arquivs (templates), exatamente para permitir a custmizaçã d padrã cm que s artefats sã gerads. Estes templates sã, inclusive, rganizads de frma bastante granular. Pr exempl, template utilizad para geraçã de elements d tip vinculad fica dentr d diretóri [jcmpany]/eclipse/pluginsplc/pwerlgic/eclipse/plugins/cm.pwerlgic.plugins_6.*/te mplates/velcity/cmpnentes/vinculad.vm *. Veja cnteúd deste arquiv na Err! Fnte de referência nã encntrada. cm as partes que tems editad em destaque. Figura B8.46. Template velcity custmizável para geraçã de element vinculad em XHTML. Pde-se acrescentar u remver prpriedades e alterar valres, tend apenas cuidad de nã mdificar inadvertidamente as linhas iniciadas cm tken # u trechs cm "&". Estas sã as partes interpretadas dinamicamente pel Velcity para cada cas. Imprtante 1: Salve uma cópia ds templates mdificads, prque uma atualizaçã de versã d jcmpany pderá sbrepô-ls. Após cada atualizaçã retrne cm as mdificações u as reaplique, cas template tenha sid alterad. Imprtante 2: Os templates para geraçã de artefats sã uma parte nã dcumentada, pr ser puc usada, mas seu entendiment é na mair parte d temp intuitiv para quem cnhece Velcity. Entre em cntat cm a Pwerlgic se precisar de mais infrmações para persnalizações neste nível de prfundidade. - Editand chamadas de menus Existe ainda uma pequena mdificaçã que tems que realizar na camada Visã n que diz respeit à chamada de menu. Perceba que, na especificaçã das Clabrações (Prjet Físic), Atr interage primariamente cm a Clabraçã de Seleçã. Ou seja, prjetista deseja que, a clicarms n item de menu Funcinári, a URL de seleçã seja acinada e nã a de manutençã, que é padrã gerad. Vams mdificar esta chamada. 1. Edite arquiv geralmenu.xhtml (lembre-se: Cntrl+R) e faça uma alteraçã na URL para disparar a seleçã, /f/n/funcinarisel. * O nme agregad era anterirmente utilizad em lugar d atual vinculad. Alguns arquivs ainda guardam esta nmenclatura.

32 Capítul B8 2. Em seguida, passe a URL de manutençã cm parâmetr utilizand padrã?fwplc=[url de manutençã], cnfrme exibid na Figura B8.47. Esta pequena técnica ns permitirá indicar para a seleçã, dinamicamente, para qual URL de manutençã desviar, trnand-a mais reutilizável cm temp. Verems a utilidade desta técnica em próxims tutriais. Figura B8.47. Mdificaçã da chamada para /f/n/funcinarisel cm a URL de manutençã cm parâmetr. Neste pnt encerrams tdas as mdificações necessárias ns artefats da camada Visã e pdems passar para a camada Cntrle. - Editand metadads de Cntrle Ediçã de Camada Cntrle II Existem diversas pções de cnfiguraçã para cmprtaments que pdem ser antadas na classe de ManagedBean, n cas FuncinariMB, dentr da antaçã PlcCnfigCllabratin. Para descbrí-las, basta declarar a antaçã e cm "cntrl+space", analisar as pções e valres pssíveis. Figura B8.48. Acessand cnfigurações de metadads de nível de frmulári n FuncinariMB. Vams agra cnferir grup de cmprtament "behavir" cnfrme abaix, cm pçã "batchinput=true". Esta antaçã fi gerada prque marcams "Entrada em Lte" n assistente. Iss fará cm que frmulári, após gravad, seja limp para uma nva entrada pel usuári, que é cnhecid pr "entrada em lte u massiva". Figura B8.49. Variações relevantes ns metadads de cntrle para funcinari. - Metadads de Definiçã da Agregaçã Para cada Cas de Us Padrã, jcmpany gera na classe "FuncinariMB.java" declarações que definem graf de classes envlvid (Entidade raiz, detalhes, cmpnentes, vinculads, lkup, enumerações etc.) e padrã da clabraçã prpriamente dit (plccrud, plctabular etc.).

33 Implementand Padrã Manter Agregaçã Mestre/Detalhe A Figura B8.502 explica as nvidades ns metadads cmuns para a Clabraçã de Manutençã. Figura B Metadads de definiçã da agregaçã. Já apresentams a mairia das antações deste arquiv n Cas de Us anterir. As diferenças imprtantes estã numeradas. #1. Se a prpriedade que representa uma classe d tip Cmpnente nã tiver a nmenclatura padrã ( mesm nme da classe cm inicial minúscula), seu nme deve ser declarad em prpriedade. O mesm padrã é exigid para assciações um para um. Neste cas, tivems entã que explicitar nme enderecresidencial. #2. Cada classe d tip Detalhe que pertencente a graf de classes utilizad pela Clabraçã é declarada, cm prpriedades que definem preferências para sua manipulaçã, geradas em cnfrmidade cm pções que infrmams nas telas d Assistente de Criaçã. Para mdificar alguma pçã após a geraçã, prtant, basta editá-las diretamente neste arquiv. Imprtante: Uma expectativa cmum em iniciantes em jcmpany é esperar muit ds plugins de criaçã d jcmpany IDE (pr exempl que funcinem cm editres genérics também para manutençã). Prém, cm temp e prática, percebe-se que também é bem prdutiv editar metadads e arquivs diretamente, que ferece uma flexibilidade impssível de se bter cm Assistentes. Prtant, nã utilize s geradres de códig em excess! Os melhres resultads advém da cmpreensã mais prfunda da arquitetura d jcmpany FS Framewrk e de seus metadads. - Intrduçã as Template Methds. A mair parte das especializações ds métds de cntrle d PlcBaseMB pdem ser realizadas na classe específica de cntrle ("FuncinariMB", em nss cas crrente) u genérica para a aplicaçã "AppMB". Os métds mais cmumente especializads sã "save", "delete", "edit" e "create", que pdem ser sbrepsts u cmplementads ns descendentes cm códigs antes u depis da execuçã genérica, que pde ser acinada cm "super.[métd ancestral]". Para especializações mais minucisas, pde-se sbrepr as classes especializadas em cada peracã, para quem PlcBaseMB delega esta respnsabilidade. O Design Pattern que usarems para especializar as classes de cntrle PlcBaseCreateMB, PlcBaseEditMB, PlcBaseSaveMB, PlcBaseDeleteMB e PlcBaseFileMB, dentre utras, é Template Methd [Gamma, Erick 200]. De um md resumid, cenári é representad abaix:

34 Capítul B8 1. Cada açã d usuári em btões d framewrk (Gravar, Pesquisar etc.) é atendida pr métds de cntrle d framewrk inicialmente pela classe PlcBaseMB, que delega para as acima relacinadas. A mair parte das especializações pde ser feita em descendentes desta classe principal, mas em cenáris mais refinads, pde-se precisar estender as classes especialistas em cada peracã. 2. Cada uma destas classes especialistas cntém um métd principal cm prgramações genéricas que pdem ser estendidas. Estes métds implementam DP Template Methd, dispnibilizand pnts de extensã n crp ds algritms genérics, seguind um esquema padrã descrit abaix: O métd principal chama utrs, vazis, destinads a prgramaçã pr exceçã em classes descendentes. /** * 1. Métd de Cntrle cm prgramações generalizadas */ public String metdcntrle() thrws PlcExceptin { // 2 If (metdcntrlebefre(<arguments>)) { (...) // 3. Algritm genéric inici. // 4 metdcntrleapi(<arguments>); (...) // 5. Algritm genéric cntinuaçã. // 6 } return metdcntrleafter(<arguments>); } /* * 7. Métds vazis para especializações. */ public blean metdcntrlebefre(<arguments>) thrws PlcExceptin { // 8 return true; } public vid metdcntrleapi(<arguments>)thrws PlcExceptin { // Vazi } public String metdcntrleafter(<arguments>)thrws PlcExceptin { // 9 return mesmapagina ; } Códig B8.1. Esquema exempl de "Template Methd". #1. Métd principal utilizand DP Template Methd. #2. Chamada a um primeir métd de extensã. Quand é chamad antes das prgramações genéricas principais, ele é batizad cm a cnvençã [nme d métd principal]befre. #3. Algritm genéric principal, eventualmente utilizand metadads da camada Cntrle. #4. Chamada a um segund métd de extensã. Se fr necessári um pnt de extensã n mei d algritm genéric, ele é batizad cm a cnvençã [nme d métd principal]api. Nte que este tip de métd é pcinal nem sempre é necessári, em tds s métds de cntrle. #5. Cntinuaçã d algritm genéric principal. #6. Chamada a um terceir métd de extensã. Quand é chamad após as prgramações genéricas principais, ele é batizad cm a cnvençã [nme d métd principal]after". Obs.: Este últim métd, n cas da camada Cntrle, irá devlver uma String que define flux de apresentaçã para a interaçã crrente, segund a arquitetura de cntrle d JSF. Esta String identifica uma nva visã para apresentaçã definida n arquiv facescnfig.xml *. Nas Clabrações padrões d jcmpany, a mair parte das ações mantêm * Para aprfundament nesta área pde ser necessári um estud d funcinament básic de flux de cntrle deste framewrk, para quem nã s cnhece.

35 Implementand Padrã Manter Agregaçã Mestre/Detalhe usuári na mesma página (String mesmapagina ). Mas desenvlvedr pde especializar este métd e alterar seu flux de execuçã, mudand valr de retrn. #7. Os métds de extensã estã sempre vazis u cm implementaçã trivial, send destinads à especializaçã smente*. #8. O métd "Befre" retrna um valr blean que pr default é true, permitind que métd principal prssiga cm prcessament principal genéric. Retrnad false neste métd impede-se prcessament principal para uma sbrepsiçã refinada de prcessament. #9. O métd After" pssui apenas desvi padrã de flux, sem nenhuma utra implementaçã. Deste md, pde ser especializad sem risc de sbrepsiçã ds algritms genérics. Cm sã cncebids s arguments e pnts exats de extensã ds Template Methds? Em seu livr Test Driven-Design [Beck, Kent 2003], Kent Beck explica assim esta questã: Um Template Methd é mais bem identificad através da experiência d que prjetad antecipadamente. Tda vez que dig para mim mesm: Ah, esta é a sequência e aqui estã s seus detalhes, eu sempre me peg depis cpiand códig para métds descendentes e trnand a extrair as partes verdadeiramente variáveis. Ref. B8.1. Kent Beck em Test Driven-Design. Págs. 170 e 171. Assim, nte que esta é uma questã que evlui cm a experimentaçã, cm a explraçã prática. Quand surgem necessidades em pnts chave de algritms que ainda nã pssuem pnts de extensã, s desenvlvedres ainda pdem sbrepr métd principal, de visibilidade public, eventualmente cpiand seu cnteúd para descendente e mdificand-. Feit cm exceçã, ist nã é nada demais, mas se huver uma necessidade recrrente, pssivelmente é cas de se criar um nv métd de extensã e é assim que eles vem send criads pela Pwerlgic, mediante identificaçã de demandas de us. - Mdificand prgramações genéricas para manipulaçã de arguments de seleçã Após esta breve intrduçã, pdems agra retrnar a análise de nss cntext específic: existem situações nde precisams interceptar mecanism de arguments e pesquisa, e iss pde exigir prgramações de camada cntrle que devem ser feitas em uma classe descendente de PlcBaseMB u PlcBaseSearchMB. Um exempl é a nssa implementaça de busca pr "interval de idade". Até a versã 5.5. d jcmpany, seria necessári especializar s MB (u Actins) para se prgramar este tip de alteraçã. Na versã 6.0 cnseguirems implementar este tip de funcinalidade apenas cm "getters e setters" de adaptaçã nas entidades, dispensand uma prgramaçã mais cmplexa em 90% ds cass mais cmuns de pesquisa (earch). Ainda assim, aprveitarems para cnhecer mecanism típic de us de Template Methds para quand este se fizer necessári. 1. Crie uma classe "FuncinariSearchMB" descendente de "PlcBaseSearchMB". 2. Vams agra utilizar algumas funções d Eclipse que ns apiarã na descberta ds Template Methds. Psicine n crp da classe e acine Clique-Direit -> Surce -> Override/Implement Methds.... * Cm se fssem abstrats. Na verdade, as classes PlcBase*MB smente nã sã definidas cm abstratas prque pde atender de frma direta a 80% ds cass de cntrle.

36 Capítul B8 Figura B8.53. Acess à pçã de exibiçã de métds de ancestral para sbrepsiçã. 3. Após acinar a pçã, tda a hierarquia ancestral será exibida, send que s métds cm implementaçã serã facilmente identificáveis pr terem a visibilidade public, exibids cm blinhas em cr verde. Os métds dedicads a extensã sã dispnibilizads cm visibilidade prtected e visíveis cm lsangs amarels - e terminads cm "After, Befre u Api". a nmenclatura d jcmpany também visa rdenar s métds de extensã, clcand-s mais próxims d métd principal, de md a facilitar a descberta das pções de especializaçã. Veja na Figura B8.4.

37 Implementand Padrã Manter Agregaçã Mestre/Detalhe Figura B8.54. Diálg para seleçã de métds para especializaçã. #1. Sã s métds principais, públics e cm prcessament genéric implementad. #2. Sã s métds para extensã, vazis e cm sufix padrã, para prgramações de diferenciaçã. 4. Marque alguns métds e experimente clcar pnts de depuraçã n mesm para descbrir em que pnt d cicl de vida da requisiçã eles atuam. Após clicarms, Eclipse já trará um métd n descendente prnt para implementaçã, que pdems mdificar cnfrme mstra a Figura B8.515.

Implementando o Padrão "Manter Agregação Mestre/Detalhe"

Implementando o Padrão Manter Agregação Mestre/Detalhe 8 Capítul Implementand Padrã "Manter Agregaçã Mestre/Detalhe" 6 Implementand UC002 Manter Funcinári! - Analisand a especificaçã A terceira especificaçã de Cas de Us que irems implementar está definida

Leia mais

Agenda. A interface de Agendamento é encontrada no Modulo Salão de Vendas Agendamento Controle de Agendamento, e será apresentada conforme figura 01.

Agenda. A interface de Agendamento é encontrada no Modulo Salão de Vendas Agendamento Controle de Agendamento, e será apresentada conforme figura 01. Agenda Intrduçã Diariamente cada um ds trabalhadres de uma empresa executam diversas atividades, muitas vezes estas atividades tem praz para serem executadas e devem ser planejadas juntamente cm utras

Leia mais

Aula 11 Bibliotecas de função

Aula 11 Bibliotecas de função Universidade Federal d Espírit Sant Centr Tecnlógic Departament de Infrmática Prgramaçã Básica de Cmputadres Prf. Vítr E. Silva Suza Aula 11 Biblitecas de funçã 1. Intrduçã À medida que um prgrama cresce

Leia mais

Novo Sistema Almoxarifado

Novo Sistema Almoxarifado Nv Sistema Almxarifad Instruções Iniciais 1. Ícnes padrões Existem ícnes espalhads pr td sistema, cada um ferece uma açã. Dentre eles sã dis s mais imprtantes: Realiza uma pesquisa para preencher s camps

Leia mais

Manual. Autorizador da UNIMED

Manual. Autorizador da UNIMED Manual Prtal Autrizadr da UNIMED Pass a Pass para um jeit simples de trabalhar cm Nv Prtal Unimed 1. Períd de Atualizaçã Prezads Cperads e Rede Credenciada, A Unimed Sul Capixaba irá atualizar seu sistema

Leia mais

2º Passo Criar a conexão via ODBC (Object DataBase Conection)

2º Passo Criar a conexão via ODBC (Object DataBase Conection) Prjet de Sexta-feira: Prfessra Lucélia 1º Pass Criar banc de dads u selecinar banc de dads. Ntas: Camps nas tabelas nã pdem cnter caracteres acentuads, especiais e exclusivs de línguas latinas. Nã há necessidade

Leia mais

1 Criando uma conta no EndNote

1 Criando uma conta no EndNote O EndNte Basic (anterirmente cnhecid pr EndNte Web), é um sftware gerenciadr de referências desenvlvid pela Editra Thmsn Reuters. Permite rganizar referências bibligráficas para citaçã em artigs, mngrafias,

Leia mais

Boletim Técnico. CAGED Portaria 1129/2014 MTE. Procedimento para Implementação. Procedimento para Utilização

Boletim Técnico. CAGED Portaria 1129/2014 MTE. Procedimento para Implementação. Procedimento para Utilização Bletim Técnic CAGED Prtaria 1129/2014 MTE Prdut : TOTVS 11 Flha de Pagament (MFP) Chamad : TPRQRW Data da criaçã : 26/08/2014 Data da revisã : 12/11/2014 País : Brasil Bancs de Dads : Prgress, Oracle e

Leia mais

Processo TCar Balanço Móbile

Processo TCar Balanço Móbile Prcess TCar Balanç Móbile Tecinc Infrmática Ltda. Av. Brasil, 5256 3º Andar Centr Cascavel PR 1 Sumári Intrduçã... 3 Funcinalidade... 3 1 Exprtaçã Arquiv Cletr de Dads (Sistema TCar)... 4 1.1 Funcinalidade...

Leia mais

Manual do Novo Pátio. Revenda. Versão 2.0

Manual do Novo Pátio. Revenda. Versão 2.0 Manual d Nv Páti Revenda Versã 2.0 1 Cnteúd INTRODUÇÃO... 3 1.LOGIN... 4 2.ANUNCIANTE... 4 2.1 Listar Usuáris... 4 2.2 Criar Usuári... 5 2.2.1 Permissões:... 6 3.SERVIÇOS... 7 3.1 Serviçs... 7 3.2 Feirã...

Leia mais

MTUR Sistema FISCON. Manual do Usuário

MTUR Sistema FISCON. Manual do Usuário MTUR Sistema FISCON Manual d Usuári Índice 1. INTRODUÇÃO... 3 2. DESCRIÇÃO DO SISTEMA... 3 3. ACESSAR O SISTEMA... 4 4. UTILIZANDO O SISTEMA... 5 4.1. CADASTRAR CONVENENTE... 5 4.2. INSERIR FOTOGRAFIAS/IMAGENS

Leia mais

UNIVERSIDADE FEDERAL DE RONDÔNIA

UNIVERSIDADE FEDERAL DE RONDÔNIA UNIVERSIDADE FEDERAL DE RONDÔNIA Manual de Us (Para Detentres de Bens) Infrmações adicinais n Prtal da Crdenaçã de Patrimôni: www.cpa.unir.br 2013 Cnteúd O que papel Detentr de Bem pde fazer?... 2 Objetiv...

Leia mais

Versões Todos os módulos devem ser atualizados para as versões a partir de 03 de outubro de 2013.

Versões Todos os módulos devem ser atualizados para as versões a partir de 03 de outubro de 2013. Serviç de Acess as Móduls d Sistema HK (SAR e SCF) Desenvlvems uma nva ferramenta cm bjetiv de direcinar acess ds usuáris apenas as Móduls que devem ser de direit, levand em cnsideraçã departament de cada

Leia mais

Sistema de Comercialização de Radiofármacos - Manual do Cliente

Sistema de Comercialização de Radiofármacos - Manual do Cliente Sistema de Cmercializaçã de Radifármacs - Manual d Cliente O IEN está dispnibilizand para s seus clientes um nv sistema para a slicitaçã ds radifármacs. Este nv sistema permitirá a cliente nã só fazer

Leia mais

FKcorreiosg2_cp1 - Complemento Transportadoras

FKcorreiosg2_cp1 - Complemento Transportadoras FKcrreisg2_cp1 - Cmplement Transprtadras Instalaçã d módul Faça dwnlad d arquiv FKcrreisg2_cp1.zip, salvand- em uma pasta em seu cmputadr. Entre na área administrativa de sua lja: Entre n menu Móduls/Móduls.

Leia mais

Linguagem de. Aula 07. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br

Linguagem de. Aula 07. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagem de Prgramaçã IV -PHP Aula 07 Prfa Cristiane Kehler cristiane.kehler@canas.ifrs.edu.br Banc de Dads Manipulaçã de Banc de Dads HTML básic códigs cm páginas estáticas HTML + PHP códigs cm páginas

Leia mais

MTUR Sistema FISCON. Manual do Usuário

MTUR Sistema FISCON. Manual do Usuário MTUR Sistema FISCON Manual d Usuári Índice 1. INTRODUÇÃO... 3 2. DESCRIÇÃO DO SISTEMA... 3 3. ACESSAR O SISTEMA... 4 4. UTILIZANDO O SISTEMA... 5 4.1. CADASTRAR CONVENENTE... 5 4.2. INSERIR FOTOS DOS CONVÊNIOS...

Leia mais

SMART CONTROLE DO ESTOQUE DE GONDOLA

SMART CONTROLE DO ESTOQUE DE GONDOLA SMART CONTROLE DO ESTOQUE DE GONDOLA O prcess de cntrle de estque de gôndla fi desenvlvid cm uma prcess de auxili a cliente que deseja cntrlar a quantidade de cada item deve estar dispnível para venda

Leia mais

Design Patterns ABSTRACT FACTORY EMERSON BARROS DE MENESES

Design Patterns ABSTRACT FACTORY EMERSON BARROS DE MENESES Design Patterns ABSTRACT FACTORY EMERSON BARROS DE MENESES 1 Breve Históric Sbre Design Patterns A rigem ds Design Patterns (Padrões de Desenh u ainda Padrões de Prjet) vem d trabalh de um arquitet chamad

Leia mais

Casos de Uso Centrados em Dados (Primários)

Casos de Uso Centrados em Dados (Primários) B Módul Cass de Us Centrads em Dads (Primáris) A. Este é um módul prátic que traz tutriais cm passs para implementaçã de Cass de Us Padrões d jcmpany Develper Suite, incluind variações típicas (Inclusões

Leia mais

COMO CONFIGURAR SUA(S) CONTA(S) NO MICROSOFT OFFICE OUTLOOK

COMO CONFIGURAR SUA(S) CONTA(S) NO MICROSOFT OFFICE OUTLOOK COMO CONFIGURAR SUA(S) CONTA(S) NO MICROSOFT OFFICE OUTLOOK Use as instruções de acrd cm a versã d seu Outlk (2010, 2007 u 2003) Para saber a versã de seu Outlk, clique n menu Ajuda > Sbre Micrsft Office

Leia mais

Exercícios de Java Aula 17

Exercícios de Java Aula 17 Exercícis de Java Aula 17 Link d curs: http://www.liane.cm/2013/10/curs-java-basic-java-se-gratuit/ 1. Faça um prgrama que peça uma nta, entre zer e dez. Mstre uma mensagem cas valr seja inválid e cntinue

Leia mais

MANUAL DOS GESTORES DAA

MANUAL DOS GESTORES DAA UNIVERSIDADE FEDERAL DO PIAUÍ UFPI NÚCLEO DE TECNOLOGIA DA INFORMAÇÃO - NTI MANUAL DOS GESTORES DAA MÓDULOS: M atrícula e P rgramas e C DP [Digite resum d dcument aqui. Em geral, um resum é um apanhad

Leia mais

SGCT - Sistema de Gerenciamento de Conferências Tecnológicas

SGCT - Sistema de Gerenciamento de Conferências Tecnológicas SGCT - Sistema de Gerenciament de Cnferências Tecnlógicas Versã 1.0 09 de Setembr de 2009 Institut de Cmputaçã - UNICAMP Grup 02 Andre Petris Esteve - 070168 Henrique Baggi - 071139 Rafael Ghussn Can -

Leia mais

MANUAL DE INSTALAÇÃO

MANUAL DE INSTALAÇÃO ÍNDICE QUE VALORES [MASTERSAF DFE] TRAZEM PARA VOCÊ? 1. VISÃO GERAL E REQUISITOS PARA INSTALAÇÃO... 2 1.1. AMBIENTE... 2 1.2. BANCO DE DADOS... 4 2. BAIXANDO OS INSTALADORES DO DFE MASTERSAF... 5 3. INICIANDO

Leia mais

Tutorial de criação de um blog no Blogger

Tutorial de criação de um blog no Blogger Tutrial de criaçã de um blg n Blgger Bem-vind a Blgger! Este guia pde ajudar vcê a se familiarizar cm s recurss principais d Blgger e cmeçar a escrever seu própri blg. Para cmeçar a usar Blgger acesse

Leia mais

ALTERAÇÕES NO SISTEMA ORION

ALTERAÇÕES NO SISTEMA ORION ALTERAÇÕES NO SISTEMA ORION Orin Versã 7.74 TABELAS Clientes Na tela de Cadastr de Clientes, fi inserid btã e um camp que apresenta códig que cliente recebeu após cálcul da Curva ABC. Esse btã executa

Leia mais

WEBSITE LOJAS JOMÓVEIS

WEBSITE LOJAS JOMÓVEIS WEBSITE LOJAS JOMÓVEIS Manual d Usuári Elabrad pela W3 Autmaçã e Sistemas Infrmaçã de Prpriedade d Grup Jmóveis Este dcument, cm tdas as infrmações nele cntidas, é cnfidencial e de prpriedade d Grup Jmóveis,

Leia mais

Código: Data: Revisão: Página: SUMÁRIO

Código: Data: Revisão: Página: SUMÁRIO UC_REQ-MK_ACF-001 27/01/2015 00 1 / 12 SUMÁRIO INTRODUÇÃO... 2 Objetiv... 2 Públic Alv... 2 Escp... 2 Referências... 2 DESCRIÇÃO GERAL DO PRODUTO... 2 Características d Usuári... 2 Limites, Supsições e

Leia mais

Vensis PCP. Rua Américo Vespúcio, 71 Porto Alegre / RS (51) 3012-4444 comercial@vensis.com.br www.vensis.com.br

Vensis PCP. Rua Américo Vespúcio, 71 Porto Alegre / RS (51) 3012-4444 comercial@vensis.com.br www.vensis.com.br Vensis PCP Vensis PCP O PCP é módul de planejament e cntrle de prduçã da Vensis. Utilizad n segment industrial, módul PCP funcina de frma ttalmente integrada a Vensis ERP e permite às indústrias elabrar

Leia mais

Processo de envio de e-mail de marketing

Processo de envio de e-mail de marketing Prcess de envi de e-mail de marketing Intrduçã Visand um melhr gerenciament ns prcesss de marketing das empresas, fi desenvlvid uma nva funcinalidade para sistema TCar, que tem pr finalidade realizar envis

Leia mais

Sistema OnixNet / TrucksNet Contagem de Estoque pelas oficinas

Sistema OnixNet / TrucksNet Contagem de Estoque pelas oficinas Versã: 3.0.0.48 Empresa: TrucksCntrl Slicitante: Diretria Respnsável: Fernand Marques Frma de Slicitaçã: e-mail/reuniã Analista de Negóci: Fábi Matesc Desenvlvedr: Fabian Suza Data: 24/09/2012 Sistema

Leia mais

Modelagem, qualificação e distribuição em um padrão para geoinformações

Modelagem, qualificação e distribuição em um padrão para geoinformações Mdelagem, qualificaçã e distribuiçã em um padrã para geinfrmações Julia Peixt 14h, 14 de junh de 2010. Mtivaçã Acerv de dads desde 1994 em diferentes áreas de pesquisa; Muitas pessas fazend muits trabalhs

Leia mais

Event Viewer - Criando um Custom View

Event Viewer - Criando um Custom View Event Viewer - Criand um Custm View Qui, 06 de Nvembr de 2008 18:21 Escrit pr Daniel Dnda Cnhecend Event Viewer Muit imprtante na manutençã e mnitrament de servidres Event Viewer é uma ferramenta que gera

Leia mais

INTRODUÇÃO A LOGICA DE PROGRAMAÇÃO

INTRODUÇÃO A LOGICA DE PROGRAMAÇÃO INTRODUÇÃO A LOGICA DE PROGRAMAÇÃO A Lógica de Prgramaçã é necessária à tdas as pessas que ingressam u pretendem ingressar na área de Tecnlgia da Infrmaçã, send cm prgramadr, analista de sistemas u suprte.

Leia mais

Documentação de Versão Projeto Saúde e Segurança do Trabalho

Documentação de Versão Projeto Saúde e Segurança do Trabalho Dcumentaçã de Versã Prjet Saúde e Segurança d Trabalh DATA: tt/3/yy Pág 1 de 6 ÍNDICE ALTERAÇÕES IMPLEMENTADAS NA VERSÃO 2.1 DO SST... 2 ITENS DE MENU CRIADOS PARA A VERSÃO 2.1... 2 PRESTADOR... 2 CLIENTE...

Leia mais

Manual de Instalação

Manual de Instalação Manual de Instalaçã Prdut: n-hst Versã d prdut: 4.1 Autr: Aline Della Justina Versã d dcument: 1 Versã d template: Data: 30/07/01 Dcument destinad a: Parceirs NDDigital, técnics de suprte, analistas de

Leia mais

Interfaces com o Usuário. Capítulo. Entendendo o resultado produzido para UC002 Manter Funcionário!

Interfaces com o Usuário. Capítulo. Entendendo o resultado produzido para UC002 Manter Funcionário! 6Testand e Aprimrand Interfaces cm Usuári Capítul 10 Entendend resultad prduzid para UC002 Manter Funcinári! - Frmulári Padrã para Manter Agregaçã Mestre/Detalhe - Usabilidade III A clicarms na pçã Menu

Leia mais

Dissídio Retroativo. Cálculos INSS, FGTS e geração da SEFIP

Dissídio Retroativo. Cálculos INSS, FGTS e geração da SEFIP Dissídi Retrativ Cálculs INSS, FGTS e geraçã da SEFIP A rtina de Cálcul de Dissídi Retrativ fi reestruturada para atender a legislaçã da Previdência Scial. A rtina de Aument Salarial (GPER200) deve ser

Leia mais

Tribunal de Contas do Estado de Minas Gerais Diretoria de Tecnologia da Informação

Tribunal de Contas do Estado de Minas Gerais Diretoria de Tecnologia da Informação 1.1.1.1 Cas de us Descmpactar e Cnverter arquivs d módul de Instruments de Planejament 1.1.1.1.1 Precndições 1. O cas de us de envi deve ter sid cncluíd cm sucess 1.1.1.1.2 Flux principal 1. O SICOM descmpacta

Leia mais

Lumine Database Mapping for PHP. Treinamento Básico

Lumine Database Mapping for PHP. Treinamento Básico Lumine Database Mapping fr PHP Treinament Básic Cnhecend as características básicas de um ds framewrks de mapeament de banc de dads relacinais mais fáceis de ser utilizad. Hug Ferreira da Silva 13/12/2010

Leia mais

MANUAL DO USUÁRIO FINANCEIRO

MANUAL DO USUÁRIO FINANCEIRO SIGIO Sistema Integrad de Gestã de Imprensa Oficial MANUAL DO USUÁRIO FINANCEIRO S I G I O M A N U A L D O U S U Á R I O P á g i n a 2 Cnteúd 1 Intrduçã... 3 2 Acess restrit a sistema... 4 2.1 Tips de

Leia mais

Versão 14.0 Junho 2015 www.psr-inc.com Contato: sddp@psr-inc.com. Representação mais detalhada da operação em cada estágio: 21 blocos

Versão 14.0 Junho 2015 www.psr-inc.com Contato: sddp@psr-inc.com. Representação mais detalhada da operação em cada estágio: 21 blocos Versã 14.0 Junh 2015 www.psr-inc.cm Cntat: sddp@psr-inc.cm SDDP VERSÃO 14.0 Nvidades Representaçã mais detalhada da peraçã em cada estági: 21 blcs Tradicinalmente, a peraçã de cada estági (semana u mês)

Leia mais

Informática II INFORMÁTICA II

Informática II INFORMÁTICA II Jrge Alexandre jureir@di.estv.ipv.pt - gab. 30 Artur Susa ajas@di.estv.ipv.pt - gab. 27 1 INFORMÁTICA II Plan Parte I - Cmplementar cnheciment d Excel cm ferramenta de análise bases de dads tabelas dinâmicas

Leia mais

Plano de aulas 2010 1ª série 1ª aula 2ª etapa

Plano de aulas 2010 1ª série 1ª aula 2ª etapa Plan de aulas 2010 1ª série 1ª aula 2ª etapa Escla Clégi Eng Juarez Wanderley Prfessr Fernand Nishimura de Aragã Disciplina Infrmática Objetivs Cnstruçã de um website pessal para publicaçã de atividades

Leia mais

Manual de Operação WEB SisAmil - Gestão

Manual de Operação WEB SisAmil - Gestão Manual de Operaçã WEB SisAmil - Gestã Credenciads Médics 1 Índice 1. Acess Gestã SisAmil...01 2. Autrizaçã a. Inclusã de Pedid...01 b. Alteraçã de Pedid...10 c. Cancelament de Pedid...11 d. Anexs d Pedid...12

Leia mais

BANKSYNC ALGORITMO PARA GERAÇÃO DO CÓDIGO DE BARRAS (DLL)

BANKSYNC ALGORITMO PARA GERAÇÃO DO CÓDIGO DE BARRAS (DLL) OBJETIVO O algritm para geraçã d códig de barras (dll) utilizad n SAP Business One (SBO) deve ser instalad e cnfigurad adequadamente para pssibilitar a visualizaçã e impressã de blets lcalmente, assim

Leia mais

GUIA DE USO DO TECLADO VIRTUAL

GUIA DE USO DO TECLADO VIRTUAL GUIA DE USO DO TECLADO VIRTUAL A Indra, através das Cátedras de Tecnlgias Acessíveis que prmve em clabraçã cm a Fundaçã Adecc e diversas universidades espanhlas, apiu desenvlviment em cnjunt cm a Universidade

Leia mais

com jcompany Extensions Capítulo Expandindo o Poder do jcompany Developer Suite - Entendendo as melhores práticas de customização

com jcompany Extensions Capítulo Expandindo o Poder do jcompany Developer Suite - Entendendo as melhores práticas de customização A6Extensões Arquiteturais cm jcmpany Extensins Capítul 23 Expandind Pder d jcmpany Develper Suite - Entendend as melhres práticas de custmizaçã Exercitams em váris capítuls as pssibilidades de extensã

Leia mais

DOCUMENTAÇÃO DA VERSÃO

DOCUMENTAÇÃO DA VERSÃO DOCUMENTAÇÃO DA VERSÃO V2.04 S4 Página 1 de 14 INDICE ALTERAÇÕES IMPLEMENTADAS NA VERSÃO 2.04 DO SST...3 ITENS DE MENU CRIADOS PARA A VERSÃO 2.04...3 PRESTADOR...3 Relatóri de Metas...3 CLIENTE...4 Tela

Leia mais

Guia Sphinx: Instalação, Reposição e Renovação

Guia Sphinx: Instalação, Reposição e Renovação Guia Sphinx: Instalaçã, Repsiçã e Renvaçã V 5.1.0.8 Instalaçã Antes de instalar Sphinx Se vcê pssuir uma versã anterir d Sphinx (versões 1.x, 2.x, 3.x, 4.x, 5.0, 5.1.0.X) u entã a versã de Demnstraçã d

Leia mais

Controle de Atendimento de Cobrança

Controle de Atendimento de Cobrança Cntrle de Atendiment de Cbrança Intrduçã Visand criar um gerenciament n prcess d cntrle de atendiment de cbrança d sistema TCar, fi aprimrad pela Tecinc Infrmática prcess de atendiment, incluind s títuls

Leia mais

Modelo de Negócios. TRABALHO REALIZADO POR: Antonio Gome- 2007009 // Jorge Teixeira - 2008463

Modelo de Negócios. TRABALHO REALIZADO POR: Antonio Gome- 2007009 // Jorge Teixeira - 2008463 Mdel de Negócis Trabalh n âmbit da disciplina de Mdelaçã de dads. Criaçã de uma platafrma utilizand as tecnlgias SQL PHP e Javascript.. TRABALHO REALIZADO POR: Antni Gme- 2007009 // Jrge Teixeira - 2008463

Leia mais

Número de cédula profissional (se médico); Nome completo; 20/06/2014 1/7

Número de cédula profissional (se médico); Nome completo; 20/06/2014 1/7 Mdel de Cmunicaçã Sistema Nacinal de Vigilância Epidemilógica Âmbit d Dcument O presente dcument traduz mdel de cmunicaçã entre Centr de Suprte da SPMS e clientes d Sistema Nacinal de Vigilância Epidemilógica.

Leia mais

Copyright 1999-2006 GrupoPIE Portugal, S.A. Manual Utilizador

Copyright 1999-2006 GrupoPIE Portugal, S.A. Manual Utilizador Reprts Relatóris à sua Medida Reprts Cpyright 1999-2006 GrupPIE Prtugal, S.A. Reprts 1. WinREST Reprts...5 1.1. Licença...6 1.2. Linguagem...7 1.3. Lgin...7 1.4. Página Web...8 2. Empresas...9 2.1. Cm

Leia mais

Desenho centrado em utilização

Desenho centrado em utilização Desenh centrad em utilizaçã Engenharia de Usabilidade Prf.: Clarind Isaías Pereira da Silva e Pádua Departament de Ciência da Cmputaçã - UFMG Desenh centrad em utilizaçã Referências Cnstantine, L.L., &

Leia mais

MTur Sistema Artistas do Turismo. Manual do Usuário

MTur Sistema Artistas do Turismo. Manual do Usuário MTur Sistema Artistas d Turism Manual d Usuári Índice 1. INTRODUÇÃO... 3 2. DESCRIÇÃO DO SISTEMA... 3 3. ACESSAR O SISTEMA... 4 4. UTILIZANDO O SISTEMA... 9 4.1. CADASTRAR REPRESENTANTE... 9 4.2. CADASTRAR

Leia mais

API de Integração E-Zoop Documentação de uso

API de Integração E-Zoop Documentação de uso API de Integraçã E-Zp Dcumentaçã de us Data de Atualizaçã: 10/06/2015 Índice 1. Intrduçã... 1 2. Características... 2 Cadastr de características... 2 Exclusã de características... 4 Listagem de características...

Leia mais

Documentação de Versão Projeto Saúde e Segurança do Trabalho

Documentação de Versão Projeto Saúde e Segurança do Trabalho Prjet Saúde e Segurança d Trabalh DATA: tt/3/yy Pág 1 de 8 ÍNDICE ALTERAÇÕES IMPLEMENTADAS NA VERSÃO 2.2 DO SST... 2 ITENS DE MENU CRIADOS PARA A VERSÃO 2.2... 2 SEGURANÇA... 2 SAÚDE... 2 SAÚDE/AUDIOMETRIA...

Leia mais

Inscrição do Candidato ao Processo de Credenciamento

Inscrição do Candidato ao Processo de Credenciamento Inscriçã d Candidat a Prcess de Credenciament O link de inscriçã permitirá que candidat registre suas infrmações para participar d Prcess de Credenciament, cnfrme Edital. Após tmar ciência de td cnteúd

Leia mais

Orientações para a Escrituração Contábil Digital (Sped Contábil) Versão 14.01 Soluções SPDATA

Orientações para a Escrituração Contábil Digital (Sped Contábil) Versão 14.01 Soluções SPDATA 2015 Orientações para a Escrituraçã Cntábil Digital (Sped Cntábil) Versã 14.01 Sluções SPDATA Equipe SAT Análise Desenvlviment e Qualidade de Sftware 07/04/2015 Sumári Objetiv... 3 Cnsiderações gerais...

Leia mais

MANUAL DE PROCEDIMENTOS PARA INSCRIÇÕES ON-LINE

MANUAL DE PROCEDIMENTOS PARA INSCRIÇÕES ON-LINE MANUAL DE PROCEDIMENTOS PARA INSCRIÇÕES ON-LINE N prcess de renvaçã de matrículas para an lectiv 2008/2009, e na sequência d plan de melhria cntínua ds serviçs a dispnibilizar as aluns, IPVC ferece, pela

Leia mais

CTH - ALERT REFERRAL NOVAS FUNCIONALIDADES/Perfil Administrativo Centro de Saúde

CTH - ALERT REFERRAL NOVAS FUNCIONALIDADES/Perfil Administrativo Centro de Saúde Cnsulta a Temp e Hras CTH - ALERT REFERRAL NOVAS FUNCIONALIDADES/Perfil Administrativ Centr de Saúde 2013 ALERT Life Sciences Cmputing, S.A.. Tds s direits reservads. A ALERT Life Sciences Cmputing, S.A.

Leia mais

Banco de Dados. DIEGO BARCELOS RODRIGUES dbarcelos@ifes.edu.br 2015 (2015/1) 1. Ifes - Campus Cachoeiro de Itapemirim

Banco de Dados. DIEGO BARCELOS RODRIGUES dbarcelos@ifes.edu.br 2015 (2015/1) 1. Ifes - Campus Cachoeiro de Itapemirim Ifes - Campus Cacheir de Itapemirim Banc de Dads DIEGO BARCELOS RODRIGUES dbarcels@ifes.edu.br 2015 (2015/1) 1 Agenda Breve revisã ds Cnceits Básics SQL (Linguagem de Cnsulta Estruturada) Subdivisões da

Leia mais

Legenda da Mensagem de Resposta à Verificação de Elegibilidade (respostaelegibilidade)

Legenda da Mensagem de Resposta à Verificação de Elegibilidade (respostaelegibilidade) Legenda da Mensagem de Respsta à Verificaçã de Elegibilidade (respstaelegibilidade) Mensagem : Respta à verificaçã de elegibilidade (respstaelegibilidade) - Flux : Operadra para Prestadr Códig da mensagem

Leia mais

CURSO PREPARATÓRIO PARA CERTIFICAÇÃO

CURSO PREPARATÓRIO PARA CERTIFICAÇÃO Cnteúd prgramátic CURSO PREPARATÓRIO PARA CERTIFICAÇÃO Este é cnteúd prgramátic d curs preparatóri n nv prgrama CDO-0001 para a certificaçã CmpTIA CDIA+. CONCEITUAL ECM Apresentaçã ds cnceits envlvids

Leia mais

Um controlador de domínio baseado em Linux para laboratório vsphere - parte 4

Um controlador de domínio baseado em Linux para laboratório vsphere - parte 4 Um cntrladr de dmíni basead em Linux para labratóri vsphere - parte 4 Essa é uma série de quatr artigs, que explicam cm instalar e cnfigurar um appliance basead em Linux em seu ambiente de labratóri vsphere

Leia mais

RECOMENDAÇÕES GERAIS PARA AQUISIÇÃO DE IMAGENS RADIOLÓGICAS PARA CRIAÇÃO DE RÉPLICAS FETAIS ATRAVÉS DE IMPRESSÃO 3D

RECOMENDAÇÕES GERAIS PARA AQUISIÇÃO DE IMAGENS RADIOLÓGICAS PARA CRIAÇÃO DE RÉPLICAS FETAIS ATRAVÉS DE IMPRESSÃO 3D RECOMENDAÇÕES GERAIS PARA AQUISIÇÃO DE IMAGENS RADIOLÓGICAS PARA CRIAÇÃO DE RÉPLICAS FETAIS ATRAVÉS DE IMPRESSÃO 3D ULTRASSONOGRAFIA OBSTÉTRICA RESSONÂNCIA MAGNÉTICA FETAL ANEXO 1 TUTORIAL PARA EXPORTAÇÃO

Leia mais

Acesso ao menu da presença de Carga Exportação WEB

Acesso ao menu da presença de Carga Exportação WEB Manual de Utilizaçã Presença de Carga Exprtaçã WEB Acess a menu da presença de Carga Exprtaçã WEB Acessar site d TECON RG (HTTP://www.tecn.cm.br); Clicar em Tecn Online; Infrmar usuári e senha de acess

Leia mais

MANUAL DE PROCEDIMENTOS

MANUAL DE PROCEDIMENTOS MANUAL DE PROCEDIMENTOS Etapa 3 Cadastr d Prcess Seletiv O Presidente da CRM cadastra s dads d prcess n sistema. O prcess seletiv é a espinha drsal d sistema, vist que pr mei dele regem-se tdas as demais

Leia mais

Manual de Instalação e Configuração

Manual de Instalação e Configuração Manual de Instalaçã e Cnfiguraçã Prdut:n-ReleaserEmbedded fr Lexmark Versã 1.2.1 Versã d Dc.:1.0 Autr: Lucas Machad Santini Data: 14/04/2011 Dcument destinad a: Clientes e Revendas Alterad pr: Release

Leia mais

UNIVERSIDADE ESTADUAL DE CAMPINAS FACULDADE DE CIÊNCIAS APLICADAS Cidade Universitária de Limeira

UNIVERSIDADE ESTADUAL DE CAMPINAS FACULDADE DE CIÊNCIAS APLICADAS Cidade Universitária de Limeira DIRETRIZES PARA ESTÁGIO CURRICULAR OBRIGATÓRIO DOS CURSOS DE GESTÃO 1 Sumári I. O Estági em Gestã...3 II. O Estági curricular...4 III. Acmpanhament e avaliaçã...5 IV. Mdels de Plan de Atividades e de Relatóri...5

Leia mais

Anexo 03 Recomendação nº 3: estatuto padrão, estatuto fundamental e contrato social

Anexo 03 Recomendação nº 3: estatuto padrão, estatuto fundamental e contrato social Anex 03 Recmendaçã nº 3: estatut padrã, estatut fundamental e cntrat scial 1. Resum 01 Atualmente, Estatut da Crpraçã da Internet para a atribuiçã de nmes e númers (ICANN) tem um mecanism únic para alterações.

Leia mais

Channel. Colaboradores. Tutorial. Atualizado com a versão 3.9

Channel. Colaboradores. Tutorial. Atualizado com a versão 3.9 Channel Clabradres Tutrial Atualizad cm a versã 3.9 Cpyright 2009 pr JExperts Tecnlgia Ltda. tds direits reservads. É pribida a reprduçã deste manual sem autrizaçã prévia e pr escrit da JExperts Tecnlgia

Leia mais

Vensis Manutenção. Rua Américo Vespúcio, 71 Porto Alegre / RS (51) 3012-4444 comercial@vensis.com.br www.vensis.com.br

Vensis Manutenção. Rua Américo Vespúcio, 71 Porto Alegre / RS (51) 3012-4444 comercial@vensis.com.br www.vensis.com.br Vensis Manutençã Vensis Manutençã É módul que permite gerenciament da manutençã de máquinas e equipaments. Prgramaçã de manutenções preventivas u registr de manutenções crretivas pdem ser feits de frma

Leia mais

De acordo com estes critérios, uma sugestão de formato para nomes de tablespaces no banco de dados Oracle é a seguinte: S_O_T, onde:

De acordo com estes critérios, uma sugestão de formato para nomes de tablespaces no banco de dados Oracle é a seguinte: S_O_T, onde: Pedr F. Carvalh cntat@pedrfcarvalh.cm.br Tablespaces: Organizaçã e Nmenclatura Definir critéris para a divisã de um banc de dads Oracle em tablespaces é sempre uma questã imprtante para s DBAs na rganizaçã

Leia mais

PDF Livre com o Ghostscript

PDF Livre com o Ghostscript PDF Livre cm Ghstscript Um tutrial para criaçã de um geradr de arquivs PDF em Windws, basead em ferramentas gratuitas. Márci d'ávila, 05 de mai de 2004. Revisã 8, 20 de setembr de 2007. Categria: Text

Leia mais

GUIA RÁPIDO DE CONFIGURAÇÃO PARA WINDOWS

GUIA RÁPIDO DE CONFIGURAÇÃO PARA WINDOWS GUIA RÁPIDO DE CONFIGURAÇÃO PARA WINDOWS CONTEÚDO 1. Intrduçã... 3 2. Requisits de Sftware e Hardware:... 3 3. Usuári e Grups:... 3 3.1. Cnfigurand cm Micrsft AD:... 3 3.2. Cnfigurand s Grups e Usuáris:...

Leia mais

Sistema Hospitalar - Módulo Diagnóstico

Sistema Hospitalar - Módulo Diagnóstico Sistema Hspitalar - Módul Diagnóstic Manual d usuári Versã 2.3 [Este template faz parte integrante d Prcess de Desenvlviment de Sistemas da DTI (PDS-DTI) e deve ser usad em cnjunt cm as recmendações d

Leia mais

3 Fundamentos do Comportamento dos Hidrocarbonetos Fluidos

3 Fundamentos do Comportamento dos Hidrocarbonetos Fluidos 3 Fundaments d Cmprtament ds Hidrcarbnets Fluids 3.1. Reservatóris de Petróle O petróle é uma mistura de hidrcarbnets, que pde ser encntrada ns estads: sólid, líquid, u ass, dependend das cndições de pressã

Leia mais

Tutorial Sistema Porto Sem Papel

Tutorial Sistema Porto Sem Papel Tutrial Sistema Prt Sem Papel 8 ESTADIA CONVENCIONAL: A estadia cnvencinal é aquela em que a embarcaçã deseja executar uma peraçã de carga, descarga, carga/descarga, embarque/desembarque de passageirs

Leia mais

Anexo V. Software de Registro Eletrônico em Saúde. Implantação em 2 (duas) Unidades de Saúde

Anexo V. Software de Registro Eletrônico em Saúde. Implantação em 2 (duas) Unidades de Saúde Anex V Sftware de Registr Eletrônic em Saúde Implantaçã em 2 (duas) Unidades de Saúde Índice 1 INTRODUÇÃO... 3 2 ESTRATÉGIAS E PROCEDIMENTOS DE IMPLANTAÇÃO... 3 4 INFRAESTRUTURA NAS UNIDADES DE SAÚDE -

Leia mais

MANUAL DO USUÁRIO EVENTOS

MANUAL DO USUÁRIO EVENTOS SISTEMA DE INFORMAÇÃO E GESTÃO INTEGRADA POLICIAL Elabrad: Equipe SAG Revisad: Data: 17-09-2008 Data: Aprvad: Data: A autenticaçã d dcument cnsta n arquiv primári da Qualidade Referencia: Help_Online_Events.dc

Leia mais

Projetos, Programas e Portfólios

Projetos, Programas e Portfólios Prjets, Prgramas e Prtfólis pr Juliana Klb em julianaklb.cm Prjet Segund PMBOK (2008): um prjet é um esfrç temprári empreendid para criar um nv prdut, serviç u resultad exclusiv. Esta definiçã, apesar

Leia mais

CRC-MG Central de Registro Civil de Minas Gerais Certidão Online - Serventia. Manual do usuário

CRC-MG Central de Registro Civil de Minas Gerais Certidão Online - Serventia. Manual do usuário CRC-MG Central de Registr Civil de Minas Gerais Certidã Online - Serventia Manual d usuári Prefáci Data: 30/01/2015 Versã dcument: 1.0 1. COMO ACESSAR O MÓDULO DA CERTIDÃO ONLINE... 04 2. OPÇÕES DE PEDIDOS

Leia mais

Todos os direitos reservados Versão 1.2

Todos os direitos reservados Versão 1.2 Guia de Relatóris Tds s direits reservads Versã 1.2 1 Guia de Relatóris Índice 1 Pedids... 3 1.1 Mnitr de Pedids... 3 1.2 Pedids... 4 1.3 Estatísticas de Pedids... 5 1.4 Acess e Cnsum... 7 1.5 Pedids pr

Leia mais

UML. Diagrama de Classes de Projeto e Diagrama de Objetos Análise e Projeto de Software. Profª. Cibele da Rosa Christ

UML. Diagrama de Classes de Projeto e Diagrama de Objetos Análise e Projeto de Software. Profª. Cibele da Rosa Christ UML Diagrama de Classes de Prjet e Diagrama de Objets Análise e Prjet de Sftware Prfª. Cibele da Rsa Christ cibele@senacrs.cm.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC

Leia mais

MANUAL DE PROCEDIMENTOS PARA REGISTO DE. Técnicos de Instalação e Manutenção de Edifícios e Sistemas. (TIMs)

MANUAL DE PROCEDIMENTOS PARA REGISTO DE. Técnicos de Instalação e Manutenção de Edifícios e Sistemas. (TIMs) MANUAL DE PROCEDIMENTOS PARA REGISTO DE Técnics de Instalaçã e Manutençã de Edifícis e Sistemas (TIMs) NO SISTEMA INFORMÁTICO DO SISTEMA NACIONAL DE CERTIFICAÇÃO ENERGÉTICA NOS EDIFÍCIOS (SCE) 17/07/2014

Leia mais

III.3. SISTEMAS HÍBRIDOS FIBRA/COAXIAL (HFC)

III.3. SISTEMAS HÍBRIDOS FIBRA/COAXIAL (HFC) 1 III.3. SISTEMAS HÍBRIDOS FIBRA/COAXIAL (HFC) III.3.1. DEFINIÇÃO A tecnlgia HFC refere-se a qualquer cnfiguraçã de fibra ótica e cab caxial que é usada para distribuiçã lcal de serviçs de cmunicaçã faixa

Leia mais

GT-ATER: Aceleração do Transporte de Dados com o Emprego de Redes de Circuitos Dinâmicos. RT3 - Avaliação dos resultados do protótipo

GT-ATER: Aceleração do Transporte de Dados com o Emprego de Redes de Circuitos Dinâmicos. RT3 - Avaliação dos resultados do protótipo GT-ATER: Aceleraçã d Transprte de Dads cm Empreg de Redes de Circuits Dinâmics RT3 - Avaliaçã ds resultads d prtótip Sand Luz Crrêa Kleber Vieira Cards 03/08/2013 1. Apresentaçã d prtótip desenvlvid Nesta

Leia mais

Transformadores. Transformadores 1.1- INTRODUÇÃO 1.2- PRINCÍPIO DE FUNCIONAMENTO

Transformadores. Transformadores 1.1- INTRODUÇÃO 1.2- PRINCÍPIO DE FUNCIONAMENTO Transfrmadres 1.1- INTRODUÇÃO N estud da crrente alternada bservams algumas vantagens da CA em relaçã a CC. A mair vantagem da CA está relacinada cm a facilidade de se elevar u abaixar a tensã em um circuit,

Leia mais

Aplicação Hibernate1 no NetBeans

Aplicação Hibernate1 no NetBeans Aplicaçã Hibernate1 n NetBeans Hibernate é um framewrk que frnece ferramentas para efetuar mapeament bjet/relacinal para Java. Mapeament bjet/relacinal é prcess de cnversã bidirecinal entre bjets e tabelas

Leia mais

Guia Prático do Estágio. Seu Estágio em 5 Passos

Guia Prático do Estágio. Seu Estágio em 5 Passos Guia Prátic d Estági Seu Estági em 5 Passs O que é Estági? A atividade de estági é um fatr significativ na frmaçã d prfissinal, pr prprcinar a interaçã d alun cm a realidade da prfissã e a cmplementaçã

Leia mais

Formulários para Consulta Apenas

Formulários para Consulta Apenas 6Dispnibilizand Frmuláris para Cnsulta Apenas Capítul 11 Implementand UC003 Cnsultar/Imprimir Ficha Funcinal!" - Entendend Md de Visualizaçã de Dcument A cnsulta e impressã da Ficha Funcinal, nss próxim

Leia mais

Operação Metalose orientações básicas à população

Operação Metalose orientações básicas à população Operaçã Metalse rientações básicas à ppulaçã 1. Quem é respnsável pel reclhiment de prduts adulterads? As empresas fabricantes e distribuidras. O Sistema Nacinal de Vigilância Sanitária (Anvisa e Vigilâncias

Leia mais

Roteiro de Implantação Estoque

Roteiro de Implantação Estoque Rteir de Implantaçã Estque Revisã: 23/07/2004 Abrangência Versã 7.10 Cadastrs Básics Dicas: Explique a necessidade d preenchiment ds brigatóris (camps na cr azul). Verifique se cliente necessita que mais

Leia mais

Integração Ayty CRM e Altitude

Integração Ayty CRM e Altitude Dcumentaçã Elabrada pr: Ayty CRM Data / Lcal: 30/10/2011 Prjet: Ayty CRM cm Discadr Altitude Versã: 1.0 Dcument: Integraçã AytyCRM e Discadr Altitude Integraçã Ayty CRM e Altitude Sumári: Principais Fluxs:...

Leia mais

HARDWARE e SOFTWARE. O Computador é composto por duas partes: uma parte física (hardware) e outra parte lógica (software).

HARDWARE e SOFTWARE. O Computador é composto por duas partes: uma parte física (hardware) e outra parte lógica (software). HARDWARE e SOFTWARE O Cmputadr é cmpst pr duas partes: uma parte física (hardware) e utra parte lógica (sftware). Vcê sabe qual é a diferença entre "Hardware" e "Sftware"? Hardware: é nme dad a cnjunt

Leia mais

Processos de Apoio do Grupo Consultivo 5.5 Suporte Informático Direito de Acesso à Rede

Processos de Apoio do Grupo Consultivo 5.5 Suporte Informático Direito de Acesso à Rede Prcesss de Api d Grup Cnsultiv 5.5 Suprte Infrmátic Direit de Acess à Rede Suprte Infrmátic - Dcuments 5.5 Âmbit e Objectiv Frmuláris aplicáveis Obrigatóris Obrigatóris, se aplicável Frmulári de Mapa de

Leia mais

3 Formulação da Metodologia 3.1. Considerações Iniciais

3 Formulação da Metodologia 3.1. Considerações Iniciais 53 3 Frmulaçã da Metdlgia 3.1. Cnsiderações Iniciais O presente capítul tem cm finalidade prpr e descrever um mdel de referencia para gerenciament de prjets de sftware que pssa ser mensurável e repetível,

Leia mais