Liferay e seus Web Services 7

Posted by Alê! Wed, 28 Jul 2010 22:19:00 GMT

<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”> Liferay Web Services O post de hoje será um pouco mais técnico que de costume.


Quem acompanha de perto a rotina da SEA, seja pelo Twitter, pelo site ou nos corredores da vida, já sabe o quão envolvidos estamos com o Liferay Portal Server. Tornamo-nos sua primeira parceria oficial no Brasil e comemoramos agora o título de primeira parceria nível Gold da América Latina.




Neste tempo, vários projetos foram desenvolvidos e o aprendizado foi enorme,  No intuito de divulgar a tecnologia, disponibilizamos alguns slidecasts básicos, fizemos alguns posts, mas ainda ficamos na dívida de uma continuação mais avançada, que eu espero reverter a partir de agora.

Arquitetura Liferay

Internamente, o Liferay nada mais é do que um monte de entidades de negócio que compartilham serviços entre si para a composição do que chamamos de portal. Cada portlet presente constitui-se de algum conjunto de serviços que podem ser acessados por outros portlets do portal ou mesmo por outros aplicativos externos ao servidor.


Esses serviços, geralmente criados a partir de uma ferramenta interna da Liferay chamada de Service Builder,  compartilham de uma arquitetura padrão, que até podemos tratar em outro post. Isso quer dizer que, se você aprender a trabalhar com uma entidade de negócio do Liferay, você automaticamente terá aprendido a lógica por trás de todas as demais entidades. Em síntese, a arquitetura escolhida define uma estratégia de classes utilitárias, service locators e a possibilidade de exposição local e remota da interface de serviços em criação.


Dito isso, este post trata de como podemos utilizar a camada de Web Services do Liferay para acesso remoto à sua interface pública de serviços.

Liferay Web Services

Todos os testes apresentados a seguir foram realizados numa instalação virgem do liferay-portal-5.2-ee-sp4 e num Eclipse Galileo com todo aquele suporte a JEE.


Primeiro de tudo, vamos ver a lista de serviços disponíveis para acesso remoto. Para isso, inicie o Liferay e acesse  http://localhost:8080/tunnel-web/axis




Perceba que cada Web Service possui, além de um link para seu WSDL, um conjunto de operações que podem ser invocadas.


O próximo passo é a criação das classes que farão o acesso  a esses Web Services. Você pode fazê-las na mão ou utilizar-se de alguma ferramenta de apoio. Como não sou mané, vou gerar todo este código utilizando um recurso do próprio Eclipse.


Com o Eclipse abert, clique em File > New > Other > Web Services > Web Service Client.




Em seguida, escolha o Web Service a ser acessado, copie o link de seu WSDL para o clipboard (Ctrl + C) e informe-o na primeira tela de criação do Web Service Client.





Clique em Finish e aguarde a geração do código de acesso ao Web Service escolhido.




Analise o código gerado e veja o tamanho do galho que a ferramenta nos quebrou.


 

Por fim, utilizando as classes geradas, implemente o código para acesso ao serviço remoto (clique na imagem para ampliar).



Repare bem nos três passos executados (criação do service locator, obtenção de referência ao serviço remoto e invocação do serviço), pois eles serão repetidos em praticamente todos os Web Services disponíveis no portal, conforme listagem da primeira listagem feita no início do tutorial.

Pode até ser trabalhoso, mas é bem mais simples do que pensou, não? Como exercício, tente cadastrar, via Web Service, um novo artigo (JournalArticle) no portal.

[]s

OxenteRails 2010

Posted by Alê! Wed, 21 Jul 2010 12:59:00 GMT

<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”> OxenteRails 2010



Salve galera!


Estamos afim de montar uma caravana brasiliense pro OxenteRails 2010. Anima?


Já somos 5 da SEA e precisamos de mais 5 pessoas para configurar uma caravana e ter desconto nas inscrições >:-)


O orçamento que fizemos de passagem e hospedagem, no hotel do evento, indo dia 05/08 a noite e retornando no dia 08/08 de madrugada, saiu por volta de R$680,00 por cabeça.


E, mesmo que Rails não seja a sua praia, não esquente. Rails é só uma desculpa pra dar nome ao evento. A maior parte das discussões é sobre valores, cultura, agilidade e empreendedorismo, num modelo muito semelhante ao do RailsSummit, do qual já falei aqui no blog:


Como andei tuitando, blogando e já disse para vários colegas, o grande lance do RailsSummit não é o RubyOnRails, mas a comunidade que em torno dele se formou. Não sei é pelo fato de ser constituída de gente de diversos outros mundos tecnológicos ou simplesmente por ter nascido no umbigo do pensamento 2.0, mas a essência dos debates é de singular admiração. Não vou repetir aqui o que já disse no passado.

Dá uma sacada na grade de palestras que você vai entender melhor. É um dos melhores exemplos de eventos 2.0 que conheço no Brasil: miscigenado, democrático, informal e muito mais NxN do que 1xN. Pra exemplificar sua originalidade, veja um trecho da última newsletter enviada:

Ói que vem gente de tudo que é canto desse mundo! Austrália, Chile, Estados Unidos, Rio de Janeiro, São Paulo, Brasília, Vitória… Pense numa ruma de gente falando de um balaio de coisa boa!! São palestras sobre Empreendedorismo, Agilidade, Ruby e Rails… Além disso Coding Dojos, Games, Hacking Lounge, Open Spaces, Desconferência e a imperdível Hora Extra pra proseá e enchê a cara se é do seu feitio. Você não pode nem pensar em ficar de fora. É Oxente Rails que pela segunda vez será realizado em Natal. Ômi, faça logo sua inscrição! Se aveche que o negócio é arretado mermo!

E aí macho véi, tu vai né? Nem pense em pedir penico que isso é coisa de meninu réi buxudo, é idéia de jerico! Deixe de lero-lero e se inscreva já! O Oxente Rails 2010 vai ser um pipôco só.

Se tiver afim de ir conosco, deixe um comentário, ou fale diretamente com o ian.gallina no email da seatecnologia com br.


[]’s bixim!

Pensamento 2.0 goes mainstream 6

Posted by Alê! Tue, 20 Jul 2010 12:53:00 GMT

<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”> Pensamento 2.0 goes Mainstream Cedo ou tarde isso ia acontecer. Em janeiro de 2009, escrevemos o Manifesto 2.0, uma grande reflexão sobre a falência do pensamento industral na era do conhecimento. Tradicionalistas criticaram-nos. Disseram ser nada além que o esboço de uma utopia. Um ano e meio depois, a mesma constatação vira matéria de capa em uma das principais publicações nacionais sobre business. Estará uma nova escola de pensamento (2.0)  finalmente prevalecendo no debate dos “entendidos”? Será que a ficha caiu?



Em nosso post original, comparamos modelos seculares de trabalho com novas propostas de relacionamento, produção e gestão. Ecoando nosso discurso, vários outros autores corroboraram com a discussão com pontos de vistas complementares. Desde então, fizemos inúmeras apresentações sobre o assunto (video, slides) e muita saliva foi gasta em ótimas rodadas de bate-papo. A última, a propósito, foi no evento AgileBrazil, já relatado em vários posts pela Internet.



     

Na matéria da Revista ÉpocaNegócios, de título ”Você já era!”, assinada por Alexandre Teixeira, desenvolve-se um raciocínio muito semelhante ao nosso, inclusive com uma tabela comparativa nos mesmos moldes à original do Manifesto 2.0. Transcrevo abaixo alguns trechos, para inspiração. Que tal dar uma ao seu chefe?


Em grande parte, sua empresa está sendo administrada, neste exato momento, por um pequeno grupo de teóricos e profissionais que já morreram há muito tempo e criaram as regras e convenções da gestão ‘moderna’ nos primeiros anos do século 20

Sacudidas de um torpor de décadas para um recessão global, muitas companhias se deram conta de que, em um período crítico de suas histórias, estão sendo comandadas por líderes do século passado.

(…) o executivo do século 21 é um generalista.

O profissional tem de se colocar de maneira proativa. Estar disposto a um movimento lateral.

Adquirir competências fora da sala de aula é um caminho incontornável para os candidatos a líderes da era pós-autoritária.


Obrigado ÉpocaNegócios por endossar nossa bandeira 2.0.

Salada de Arduino 2

Posted by BrunoPedroso Thu, 15 Jul 2010 21:00:00 GMT

No último sábado a gente se reuniu na SEA pra conversar livremente sobre Arduino e os aprendizados que nós andamos tendo no Karmonitor.

O empolgado aqui resolveu filmar, e brincar de diretor de cinema. :-D

O vídeo ficou um pouco longo (18min), mas tem bastante do conteúdo que rolou na conversa (que foi massa! diga-se de passagem).

 Vejam aí e dêem qq feedback plz ;-)

Saladão Arduino - DojoSEA 10/jul/2010 from Bruno Pedroso on Vimeo.

 

[update 18:30]

O pessoal está se reunindo nessa lista, caso tenham perguntas ou queiram participar, de qq forma:

http://groups.google.com.br/group/arduino-brasilia

Go Dojo! 1

Posted by BrunoPedroso Thu, 08 Jul 2010 18:29:00 GMT

Muito legal saber que o movimento CodingDojo está ganhando asas!

Cada vez mais grupos estão se organizando. Toda semana ouvimos falar de um novo dojo nascendo, e ficamos muito contentes de participar disso!

Esses dias o Serge organizou um primeiro encontro com o pessoal do JavaBahia, e fez esse slide cast muito legal (parabéns meu rei!)

 

 

De quebra, ainda ouvi citarem outra iniciativa de dojo em Salvador, e no Ceará. Aí fiquei com vontade de listas os dojos que sei que estão rolando na terrinha :-)

Lembrando rapidamente, sem tentar ser exaustivo, vem:

- DojoSP

- DojoFloripa

- DojoRio

- DojoVitória

- DojoSalvador

- DojoCE

- DojoGuma (RS)

Em empresas, me lembro que já tem dojo na Bluesoft e na Locaweb, em Sampa.

Aqui em Brasília, temos o DojoBrasília e DojoSEA.

Se vc ainda não viu, deveria dar uma olhada no

codingdojo.org

. Lá tem uma bela lista também.

Tenho certeza que já tem muitos outros Dojos por aí. Se quiserem deixar registrados outros nos comentários… ;-)

E você, onde tem praticado?

 

O AntiAgileBrazil 2010 6

Posted by Willi Thu, 08 Jul 2010 17:11:00 GMT

Calma pessoal, deixa eu esclarecer o título primeiro: não vou meter pau no evento que foi um sucesso absoluto, e de que inclusive fui um dos organizadores! =) Na verdade, li tantos bons relatos (li todos os 34 que estão nessa lista, e incluirei o meu como 35o.), que resolvi só relatar aqui o que não foi dito em algum deles, a título de curiosidade mesmo… Um título mais adequado seria "o outro lado do Agile Brazil", ou "o que ainda não foi dito…", mas não ia ficar tão legal! A idéia foi inspirada na antibiblioteca do Umberto Eco.

Se você não foi e quiser sentir um pouco do clima do evento antes de ler o resto do post, assista a esse filme produzido pela galera da @bluesoftbr, que a gente admira muito.

Agile Brazil 2010 from Bluesoft on Vimeo.

Tem outro falando do evento no Blog deles. Altamente recomendado! =)

Na verdade eu tinha muito interesse em ler os relatos pra saber o feedback dos participantes, e inclusive saber o que rolou e aprender com os outros palestrantes, pois as únicas apresentações em que estive presente 100% do tempo foram a minha com o Alê e a do Klaus! =P Faz parte!

Comecemos do início, que não foi na terça-feira dia 22/06, mas dia 09/10… de 2009! No Ágiles2009, quando o Rafael falou conosco da SEA sobre a idéia do evento, e fiquei encarregado de ser o nosso representante no evento. Em novembro começaram as reuniões de planejamento entre os organizadores, que eram via skype, e para esse evento de apenas 4 dias, foram 8 meses de preparação…

Esse é o primeiro ponto que vou destacar: a necessidade de bastante tempo pra organizar algo dessa grandeza.

Inclusive a duração do evento foi muito discutida: Muita gente pediu mais dias de evento e menos threads paralelas (inclusive indo até o sábado, que de fato é boa idéia). Hoje é possível pensar no assunto e tomar algumas medidas, a gente já sabe que deu certo uma vez e tem tudo pra dar certo de novo - aliás, o que vocês acham? 5 dias? menos threads?

Mas imaginem pensar nisso quando nem se sabia se teríamos verba/público/local e etc?
Fazer um evento pela primeira vez é meio que Campo dos Sonhos - "se você construir, eles virão"! Tem que ter uma dose de fé e coragem! A gente já tem essa experiência dos Marés, e felizmente tem dado tudo certo. Sinal de que há uma grande demanda reprimida pelo assunto. Muitos patrocinadores inclusive já têm interesse em continuar no ano que vem, alguns inclusive ampliando a participação.

Dimensionamos o evento inicialmente pra aproximadamente 500 pessoas, com salas menores, onde ocorrem normalmente os Agile Weekends. Para nossa surpresa, as vagas se esgotaram e ainda restou uma lista de espera de mais de 200 pessoas, o que nos deu confiança para tentar um local novo. O detalhe é que isso ocorreu bem perto do evento e há um grande mérito do Rafael e da PUC terem gerenciado essa mudança de grande impacto. No final, foram aproximadamente 815 pessoas ao evento, fazendo deste, o maior já ocorrido na América Latina no contexto de métodos ágeis. (Viu? Mudanças são boas! =)

Continuando, no começo tinha um grupo grande de organizadores, que se auto-organizaram sob a coordenação do Rafael Prikladnicki e restaram 14 que estavam realmente comprometidos.


Foto do @screscencio
Mas olha, bota comprometido nisso! Na verdade esse é outro ponto que merece destaque: uma equipe nota 1000! Foi realmente um privilégio trabalhar com esse povo. Todos altamente solícitos, comprometidos, atenciosos, dedicados, batalhadores, colaborativos, sinérgicos, amigáveis… Apesar de milhares de e-mails trocados (+8000) e diversas conversas por skype, não me lembro de sequer um desentendimento entre nós. Repito aqui - foi um privilégio trabalhar com vocês.

Dessa turma, só não conhecia antes a Teresa e o Paulo Caroli, que vim a conhecer na primeira reunião presencial do grupo, na segunda-feira antes do primeiro dia do evento, como o Giovanni destacou.

Conhecemos o local que seria nosso "QG", onde teríamos rádios disponíveis, anotaríamos decisões, recados, =), =( , faríamos dipés a cada coffee e intervalo [Comunicação em abundância - outro destaque!], e conhecemos também o Marcos e a Vanessa, do cerimonial da PUC, que foram também essenciais para o sucesso do evento (Obrigado a vocês!) Foi uma lição nossa contratar um cerimonial, ajudou demais.

Sala QG  Dipé
QG e Dipé dos organizadores

Depois, óbvio, churrascaria! (Vocês viram no vídeo acima).
No dia seguinte (terça 22/06), curso de CSM, CSPO e o nosso de XP. A curiosidade do curso é que foram trocados diversos e-mails, fizemos uma reunião via skype mas acabou que tudo foi resolvido só numa dipé 20 minutos antes da aula começar.
 

6 instrutores que nunca tinham dado esse curso juntos, tinha muita coisa que podia dar errado, mas graças à experiência de todos com o assunto e habilidades interpessoais desenvolvidas (sem egos atrapalhando o andamento), parece que deu tudo certo! Pelo menos o feedback que tivemos.
Apesar disso, na reunião de retrospectiva que fizemos após o evento, todos nós concordamos que deu certo, foi legal, mas admitimos que é melhor não brincar mais disso! =) Talvez tenha sido a primeira e única vez que tenhamos feito isso.

Depois, mais comilança, vinho, mais conversas muito interessantes, mais gente se conhecendo, licor cascata - tá, isso vocês viram em outros posts, assim como o curso do David Hussman (cara muito legal, comunicativo, sem estrelismos - "The Dude"), e a comilança do dia seguinte (quarta, 23/06).

Na quinta, 23/06, primeiro dia de palestras do evento, keynote do político Mr. Fowler (nem vou colocar foto), uns gostaram, outros acharam superficial - sem novidades, a frase dele que mais foi repetida foi "se algo causa dor, faça mais vezes", ou algo assim - só recomendo que não usem fora do contexto, como com a namorada/mulher…. não vai colar… =P

Durante o keynote, o Manuel Pimentel me convovou pra organizarmos uns Open Spaces que já estavam prometidos, entre eles o do Manifesto 2.0. Ali mesmo percebemos que em nenhum momento, todos os envolvidos poderiam estar disponíveis para participar, então resolvemos fazer naquele dia mesmo, eu coordenaria uma sala e daria uns "pulos" nos Open Spaces. Espero que os palestrantes da sala que coordenei não tenham se importado com minha ausência.

Mesmo me ausentando das salas, não deu pra participar muito discussões. Não li muito a respeito, mas parece que foram bem legais. Acompanhei um pouco o do Manifesto, que lotou, e um pouco o dos Marés, em que experiências foram trocadas entre o pessoal de BH (Marcos), Belém (pessoal do Tá Safo), Floripa (Ismael), Curitiba (Jonas) - ficou faltando o pessoal da Giran, do Maré-Vix.

     

Ainda na manhã, tinha que acertar os últimos detalhes da apresentação que faria (como comentarista), com o Alê. Fizemos isso durante a apresentação do Flávio Steffens de Castro, pois seria na mesma sala logo em seguida. Foi um recorde do Alê usar só 8 slides (normalmente são 200). O que faltou em slide, sobrou em polêmica, com direito a represálias (dizem por aí - e se for verdade, o lado bom é que finalmente fomos ouvidos!). Falamos da postura do governo em afirmar que desenvolvimento de software é serviço comum, não é predominantemente intelectual porque segue métodos, protocolos e técnicas pré-estabelecidas…


Essa era a vista que eu tinha da sala!

Fiquei de comentarista porque a apresentação que submeti não poderia entrar, pois só poderíamos participar uma vez palestrando. Essa foi uma regra criada pela organização que concordei e apoiei, mesmo tendo sido prejudicado por ela. O que aconteceu foi que, com tantos "feras" na organização, a primeira versão da grade praticamente era preenchida em sua maioria com nossos nomes. Tinha pouca renovação. Achamos que seríamos criticados por ter sido "panela", mesmo com a avaliação das submissões tendo sido feita por terceiros. Também gostaríamos de dar oportunidade a pessoas novas da comunidade, para fortalecê-la. Afinal, um dia também nos foi dada uma oportunidade que abraçamos e fizemos valer.

Apesar de mesmo assim termos tido críticas (teríamos de qualquer maneira), acho que foi um ótimo trade-off. Afinal, isso contribuiu para uma participação massiva, divulgação em grupos mais isolados, quem ficou de fora vai ter sempre muitas oportunidades de palestrar (e aparecer), e o pessoal novo que mandou mal, já está na nossa lista negra. =)

Outra crítica é que tinha muita apresentação iniciante. Acho pertinente, apesar de vermos que sempre há muita gente interessada, ainda entrando nesse mundo. O fato é que, conforme cometários do próprio Bruno Pedroso, que foi ao XP2010, não tem havido muitos avanços no conhecimento sobre Agile. O que tem rolado é reforço das técnicas já consagradas e muito "mais do mesmo"… Talvez no WBMA tenha surgido inovação, mas de lá não tivemos retrospectiva senão boa presença de público.

Falando em Bruno, a palestra dele também teve uma boa repercussão. O tempo era curto pra construir o raciocínio elaborado que ele desenvolveu, mas por trás de toda filosofia apresentada, havia uma idéia muito simples (da qual só me interei no sábado seguinte, numa conversa no carro), e aposto que ele teria prazer em discutir horas com interessados sobre o assunto (dinâmico x estático).

À noite rolou o John Bull com boa parte da turma… Aliás, só tinha a galera do evento lá e mais, no máximo, 10 outros perdidos. Rolaram altos papos cabeça. Essas oportunidades de conversar, conhecer o pessoal, trocar idéias; na minha opinião, são as melhores partes do evento. 

[Não rolou Antônio Nunes! Se tivesse rolado, poderíamos classificar o Agile Brazil como um "Marézão"]

Último dia do evento, 24/06, sexta, keynote com o Philippe Kruchten (também brother, só que às vezes dá umas viajadas no meio das conversas), e depois o Brasil NÃO jogou.

À tarde, a palestra do Manoel Pimentel sobre coaching foi muito bem comentada. Aliás, tenho visto uma atuação crescente de coaching nessa área. Acho que tem a ver com Agile ser uma cultura, e nada como um coach pra facilitar transferência de cultura e adaptação de comportamento. Vivemos esse desafio de expansão atualmente na SEA, e o limite é justamente o tempo de transferência da cultura SEArense entre novos colaboradores.

Ao final do evento, pelo menos para a maioria dos 800 participantes, um keynote excepcional do Klaus Wuestefeld (precursor do XP no Brasil), feito em notepad!! =D Foi muito sagaz mesmo, também muito bem comentado - um diferencial do evento.
Um dos pontos altos foi quando ele fez uma analogia entre cozinha de solteiro que mora sozinho (e vai acumulando bagunça, e chega uma hora que a gente quebra o miojo no meio pra fazer na leitera porque não tem mais panela limpa), e código sem refactoring. Muita gente se identificou e riu.  Essas sacadas são preciosíssimas na hora de argumentarmos com nossos clientes. Foi perfeito! Outra coisa foi o aprendizado por osmose: também muito bem encaixado.
Ele contou sua carreira e substituiu os 5 valores do XP por 2: Learning e Coolness, que foi traduzido como "Aprendizado e Ducaralhisse".


Depois agradecimentos, vídeo do Ken Schwaber prometendo participar do Agile Brazil 2011, brindes, fotos, uma retrospectiva dos organizadores muito bem conduzida pelo Paulo Caroli em que levantamos algumas melhorias e lições que já foram destacadas aqui, e muito prazer e orgulho de ter participado disso tudo.



Eis que nasce um novo movimento!

Após tudo isso, ainda restou oportunidade para alguns dos momentos mais nobres e mais filosóficos de todo evento: Fomos a outro restaurante, mais comilança, mais vinho e mais conversa. Conversa essa que perdurou num pequeno grupo, que saiu do restaurante e foi filosofar mais no Dado Pub. O Dado Pub fechou mas a conversa não acabou. Foi parar no saguão do Hotel e lá a conversa durou até precisamente 4:10 da matina (Timebox sugerido pelo Rodrigo de Toledo, que viajaria pra casa logo em seguida de manhã cedo). Assim nasceram os Agilistas Anônimos! =D

 

Que foi outro acontecimento brilhante, graças ao Agile Brazil 2010.

E que venha o próximo!

[]’s
Willi