Dúvidas modelo de domínio - Part II e III da OCMJEA 5

22 respostas
P

Olá Fernando Franzini,

Estou elaborando meu projeto para a part II e III da OCMJEA 5 e, tentando esclarecer algumas dúvidas encontrei seus posts no Javaranch.

Pelo que percebi estou com o mesmo assignment que você. (GemstonesInternational).

Até o momento eu comprei o EPractize Labs SCEA 5 Part 2 and 3 Certification Training Lab que por sinal é horrível, e também a revista Mundo Java com o artigo da SCEA. O último eu gostei bastante.

Estou com algumas dúvidas e, agradeceria muito se você puder me ajudar.
Minhas maiores dúvidas estão no modelo de domino.

Você chegou a remover as quatro entidades que não são citadas nos casos de uso? Até o momento estou pensando em mantê-las e tentar fazer alguma referencia no diagrama de sequencia. Se não conseguir vou justificar dizendo que não achei nenhuma referencia nos casos de uso.

Outra dúvida seria sobre a parte de Inventory. Existe um caso de uso onde é preciso obter a quantidade de pedras disponíveis no Inventory mas, não tem nada de Inventory no modelo de domino. Estou pensando em adicionar o Inventory no modelo de domínio e fazer relacionamentos com todas as precious e semiPrecious. Minha justificativa seria que, para conseguir obter a quantidade de pedras disponíveis no momento preciso ter o Inventory.
Eu posso fazer uma alteração deste nível no modelo de domínio ?

Obrigado.

22 Respostas

FernandoFranzini

Pois…eu até pensei em comprar mas o pessoal do javaranch comentou mesmo que não era aquelas coisas…como eu tinha bastante livro sobre …dai decidi não comprar.

Estou com algumas dúvidas e, agradeceria muito se você puder me ajudar.
Minhas maiores dúvidas estão no modelo de domino.
Você chegou a remover as quatro entidades que não são citadas nos casos de uso? Até o momento estou pensando em mantê-las e tentar fazer alguma referencia no diagrama de sequencia. Se não conseguir vou justificar dizendo que não achei nenhuma referencia nos caso de uso.

Aqui vc faz o que eu disse no meu post (http://fernandofranzini.wordpress.com/2013/05/03/my-tips-on-ocmjea/)…ou vc deleta e justifica ou vc faz suposições para a situação que esta em falta. Quando recebi o essay ja tinha em mente q eu iria deletar, mas depois eu consegui supor uma coisa muito coerente se encaixou perfeitamente.

Outra dúvida seria sobre a parte de Inventory. Existe um caso de uso onde é preciso obter a quantidade de pedras disponíveis no Inventory mas, não tem nada de Inventory no modelo de domino. Estou pensando em adicionar o Inventory no modelo de domínio e fazer relacionamentos com todas as precious e semiPrecious. Minha justificativa seria que, para conseguir obter a quantidade de pedras disponíveis no momento preciso ter o Inventory.
Eu posso fazer uma alteração deste nível modelo de domínio ?

Vc é o arquiteto responsável e pode fazer qualquer coisa que vc quiser!!! Desde que tenha justificativas coerentes que apoie sua decisão! Sua nota vai partir dessa premissa…

Aquele domínio que vc recebe é como se fosse um “domínio de análise inicial”. No projeto ele deve ser acrescentado com as outras classes de arquitetura e outros domínios que venha a surgir. No meu acrescentei vários outros novos domínios usando DDD que foram aparecendo no design. Eu até cheguei a modificar os domínios inicial, por exemplo: crie uma interface padrão para as pedras poderem fazer comportamento polimórfico nas outras camadas da solução para reuso.

Vc pode usar essa thread aqui para postar todas suas duvidas q eu irei te ajudar.

P

Muito obrigado Fernando,

Vou pensar melhor em como justificar minhas decisões e construir o diagrama de classes.

Surgindo novas duvidas eu posto aqui.

P

Olá Fernando,

Para a parte do RNF onde o sistema precisa acessar três web services em intervalos de um em um minuto eu vou utilizar o @Schedule do EJB 3.1.
Vou utilizar também o @Singleton e justificar que o cluster do timer irá ser gerenciado pelo servidor de aplicação.

Minha duvida é como você representou este timer no diagrama de sequencia?

Como não posso chegar ao nível de anotação no diagrama de sequencia pensei em colocar um Stereotype <> e um <> na classe onde eu utilizaria o @schedule e @singleton.

Você considera esta opção valida? Teria alguma outra forma de representar este timer no diagrama de sequencia?
Obrigado.

FernandoFranzini

phillipgs:
Olá Fernando,

Para a parte do RNF onde o sistema precisa acessar três web services em intervalos de um em um minuto eu vou utilizar o @Schedule do EJB 3.1.
Vou utilizar também o @Singleton e justificar que o cluster do timer irá ser gerenciado pelo servidor de aplicação.

Minha duvida é como você representou este timer no diagrama de sequencia?

Como não posso chegar ao nível de anotação no diagrama de sequencia pensei em colocar um Stereotype <> e um <> na classe onde eu utilizaria o @schedule e @singleton.

Você considera esta opção valida? Teria alguma outra forma de representar este timer no diagrama de sequencia?
Obrigado.

O pessoal representa no diagrama de classe e de componentes…no de sequencia não.
Diagrama de componentes:

  • Eu usei o esteriótipo <> e é o mais clássico, outras usam outras variações como <>, etc…qualquer um serve.
  • Ja vi gente colocando uma NOTA na classe dizendo que é um EJB Timer.
    No diagrama de classe é só vc colocar a anotação @Scheduler em cima dos métodos para indicar que é timer EJB.
    No diagrama de sequencia não fazemos…vc apenas apresenta as chamadas dos metodos…
P

Eu confundi os diagramas (:, era o de componente e classe mesmo.
Vlw Fernando, estou fritando minha mente com esta segunda etapa kekeke.
Pior é que minha data limite esta chegando, tenho ate 20 de janeiro para entregar esta parte e fazer a prova.

FernandoFranzini

phillipgs:
Eu confundi os diagramas (:, era o de componente e classe mesmo.
Vlw Fernando, estou fritando minha mente com esta segunda etapa kekeke.
Pior é que minha data limite esta chegando, tenho ate 20 de janeiro para entregar esta parte e fazer a prova.

Tranquilo…manda ver brother!

P

Oi Fernando,

Como você tratou aquela parte no caso de uso ?system executes the order?? Não tem nada falando sobre executar uma order. Pensei em não colocar nada ou criar um ator System e simplesmente fazer uma chamada para ele.

Também tem aquela parte ?agent log in the system?. Não tem nenhum caso de uso falando sobre isto. Pensei em criar um método na pagina JSF que faz referencia para o caso de uso e justificar que o login já esta implementado.

Para finalizar (: tem uma outra parte ?System send notification to agent?. Pensei em criar um mailService do tipo stateless e criar um método sendEmail. Justificar dizendo que para esta parte resolvi tratar enviando um e-mail.

Nas suas assumptions você chegou a citar jars etc ? Tipo para o e-mail usar o Java Mail etc ?
Você chegou a utilizar JSF ou ficou só no JSP e Servlet mesmo ? Ainda não decidi se vou te JSF porque não tem nada falando de interface rica para o usuário justificando o JSF.

Muito obrigado pela ajuda Fernando.

FernandoFranzini

phillipgs:
Oi Fernando,

Como você tratou aquela parte no caso de uso ?system executes the order?? Não tem nada falando sobre executar uma order. Pensei em não colocar nada ou criar um ator System e simplesmente fazer uma chamada para ele.


Isso é algo especifico do seu assignament…vc precisa entender o contexto geral da solução e propor algo que faça sentido…

Autenticação e autorização e algo básico de qualquer solução…deixar de fazer ou citar que ja existe…é perder pontos…

Enviar email é uma possível solução de muitas outras…veja o contexto geral do produto…

phillipgs:

Nas suas assumptions você chegou a citar jars etc ? Tipo para o e-mail usar o Java Mail etc ?

Não…a solução é feita em alto nivel…vc só cita provedor quando vc decidir usar algo proprietário e não esqueça da justificativa…eu usei email no meu projeto e apenas disse que usaria um provider de JavaMail.

phillipgs:

Você chegou a utilizar JSF ou ficou só no JSP e Servlet mesmo ? Ainda não decidi se vou te JSF porque não tem nada falando de interface rica para o usuário justificando o JSF.

Eu usei sim…
Vou te dar um dica…essa prova pesa muito para as especificações JCP…mesmo que vc não tivesse requisito explicito para interface rica, não teria motivo para não usar JSF…JSF acrescenta muita coisa na solução…da mesma forma fique esperto com outros produtos…

FernandoFranzini

Veja um exemplo de minhas suposições…

[i]Presentation Layer
I decided to use JavaServer Faces because of the following reasons:

  • It is a standard and part of JEE.
  • A usable and functional specification.
  • Many free and open source products with enterprise level support.
  • Portability between providers, application servers, avoiding vendor lock-in.
  • Uses the Model View Controller architecture.
  • Ease of development.
  • Higher productivity.
  • Provides automatic features support such ui component model, multiples front-ends, hides HTTP infrastructure, clean separation between behavior and presentation, event handling, server side validations and conversion, ajax, I18N, I10L and so on, improving the solution quality and reducing development time.
    I decided to use Facelets templates for reuse of XHTML pages with the aim of centralizing the common parts facilitating future maintenance.
    I decided to use Composite Components for create and reuse jsf components with the aim of centralizing the common parts facilitating future maintenance.[/i]

Vc ainda quer fazer em Servlet??

P

Você me convenceu kekeke, vou ficar com JSF mesmo.
Vlw Fernando.

FernandoFranzini

phillipgs:
Você me convenceu kekeke, vou ficar com JSF mesmo.
Vlw Fernando.

Veja que qualquer produto JCP tem essas features ai…se liga…
Pra vc optar em alguma coisa proprietária…só se não tiver algum produto JCP…caso contrario…vc vai perder pontos…

P

Até o momento eu não estou usando nada fora da especificação do JEE 6 justamente para não correr o risco.
Vou ficar esperto nesta questão do JCP. O osso é que quanto mais eu vou tentando tirar duvidas mais vão aparecendo rsrs.
Já comprei até aquele ultimo livro da certificação mais atualizado que você cita no seu blog.
Paguei 85 pila para o Kindle, dinheiro jogado fora…
Vamos que vamos!!!

P

Oi Fernando,

Eu entreguei meu projeto semana passada e amanha vou fazer o essay. Vamos ver o que que vai sair ekkekeke.
Estou respondendo as perguntas do seu site, mas estou um pouco confuso com o que colocar no Reliability.
Ele é uma mistura de scalability, availability e performance.
Se eu citar que estou utilizando multi-tier cluster, vertical e horizontal scalability, EJB pool para conseguir escalar e ainda manter o desempenho atual seria valido?

Obrigado.

FernandoFranzini

phillipgs:
Oi Fernando,

Eu entreguei meu projeto semana passada e amanha vou fazer o essay. Vamos ver o que que vai sair ekkekeke.
Estou respondendo as perguntas do seu site, mas estou um pouco confuso com o que colocar no Reliability.
Ele é uma mistura de scalability, availability e performance.
Se eu citar que estou utilizando multi-tier cluster, vertical e horizontal scalability, EJB pool para conseguir escalar e ainda manter o desempenho atual seria valido?

Obrigado.


Sim… é por ai mesmo…

P

blza, vlw Fernando.

P

Fiz a prova Fernando, agora é torcer kekeke.
Muito obrigado pela ajuda.

FernandoFranzini

phillipgs:
Fiz a prova Fernando, agora é torcer kekeke.
Muito obrigado pela ajuda.

Como foi? conta ai…

P

Olá, caiu muitas perguntas parecidas com as que estão no seu site. Eu cheguei a responder todas, mas como meu inglês não é muito bom e eu entreguei meu projeto muito em cima da hora, tive pouco tempo para me preparar para o essay.

Demorei muito para escrever as respostas e não sei se consegui colocar a quantidade de informações suficientes para cada questão.

Não achei a prova difícil, para quem dedicou um bom tempo elaborando o projeto e tem um bom domínio do inglês, duas horas são mais do que suficientes.

FernandoFranzini

phillipgs:
Olá, caiu muitas perguntas parecidas com as que estão no seu site. Eu cheguei a responder todas, mas como meu inglês não é muito bom e eu entreguei meu projeto muito em cima da hora, tive pouco tempo para me preparar para o essay.

Demorei muito para escrever as respostas e não sei se consegui colocar a quantidade de informações suficientes para cada questão.

Não achei a prova difícil, para quem dedicou um bom tempo elaborando o projeto e tem um bom domínio do inglês, duas horas são mais do que suficientes.


Verdade…bom…de qualquer forma boa sorte!

P

Passei Fernando!!!

Congratulations! You have achieved the highest level of Java Certification one can achieve. You are among the elite group of individuals who can call themselves a Java Enterprise Edition 5 Enterprise Architect Cer. Your new Java Enterprise Edition 5 Enterprise Architect Cer credential is being processed. This credential will be mailed to you at the address we have on file for you in your testing profile. Please check your profile at http://certview.oracle.com for your most current mailing address.

Your Score: 128 Passing Score: 114 Result: Pass

Agora só tenho que fazer o curso para receber o certificado. Qual você chegou a fazer ? Tem prova no final ?

Muito obrigado pela ajuda Fernando. Me ajudou muito mesmo.

FernandoFranzini

phillipgs:
Passei Fernando!!!

Congratulations! You have achieved the highest level of Java Certification one can achieve. You are among the elite group of individuals who can call themselves a Java Enterprise Edition 5 Enterprise Architect Cer. Your new Java Enterprise Edition 5 Enterprise Architect Cer credential is being processed. This credential will be mailed to you at the address we have on file for you in your testing profile. Please check your profile at http://certview.oracle.com for your most current mailing address.

Your Score: 128 Passing Score: 114 Result: Pass

Agora só tenho que fazer o curso para receber o certificado. Qual você chegou a fazer ? Tem prova no final ?

Muito obrigado pela ajuda Fernando. Me ajudou muito mesmo.

Parabéns e bem vindo ao time!
Agora é so fazer o curso, pegar o ID do curso e entrar no site da Oracle e postar dizendo que vc fez o curso. Logo depois disso já é disparado o envio dos sua credencial. Não existe teste no curso.

Flavio_Luiz

Parabéns cara, certamente é uma grande conquista.
Estou iniciando os estudo e em outro post aqui do guj (http://www.guj.com.br/java/299182-ocmjea-6-disponivel) nós criamos um grupo para compartilhar experiência, informações tudo referente a certificação de arquiteto. Gostaria de participar phillipgs do grupo (https://groups.google.com/d/forum/ocmjea), assim como o Fernando Franzini.

Criado 31 de outubro de 2013
Ultima resposta 21 de jan. de 2014
Respostas 22
Participantes 3