Este blog mostra coisas interesantes que passam pelo olhar de um arquiteto de softwares IBM que vê muita coisa interessante e agora está pronto para compartilhar.
terça-feira, 19 de maio de 2009
Autoria de Conteúdos WCM com Ephox EditLive!
A boa notícia é que a possibilidade de customização desse editor é nativa do produto, e quem viu bem essa oportunidade e se deu bem é uma empresa chamada Ephox, que desenvolveu um editor Rich Text avaçado para integração com o IBM Web Content Management em todas as suas versões.
Conforme anunciado no Lotusphere 2009, esse editor agora vem nativo nas versões 6.1+ do ILWCM, mas você pode baixar uma versão trial no próprio site da Ephox para as outras versões do produto.
A instalação é muito simples, ao fazer o download, é necessário apenas:
1. Editar o build.properties com os parâmetros de sua instalação.
2. Executar o install.sh|bat
3. Indicar, nas configurações do portlet de autoria, o arquivo EditLiveJavaEditor.jsp
Demo do produto:
Mais informações em:
http://www.ephox.com/products/editlive/
quinta-feira, 14 de maio de 2009
Gerenciar conteúdo Web com Lotus Web Content Management
Desta forma nada mais justo que um blog de portal dedicar uma parte do seu tempo neste segmento. O produto da IBM responsável por este gerenciamento é o Lotus Web Content Management (WCM).
O WCM ajuda a simplificar o processo de gerenciamento de conteúdo da Web administrando sites de Internet, intranet, extranet e portal. Ele permite que qualquer usuário crie rapidamente Web sites sem a programação de html, de forma que o conteúdo possa ser rapidamente canalizado nos sites.
Além disso, o WCM ajuda as empresas a gerenciar o ciclo de vida do conteúdo com um processo de aprovação, atualizando informações rapidamente. A versão deste produto acompanha a versão do WebSphere Portal e atualmente ele está disponível na versão 6.1.
Abaixo referencio uma apresentação bem completa do produto focando nas funcionalidades mais novas.
segunda-feira, 11 de maio de 2009
O que ocorre é que em um portal não são geradas URL's para Portlets e sim para PÁGINAS (API IBM ou JSR168). Existem algumas recursos para contornar este problema, umas passam por utilizar WSRP ou Click to Action (C2A), mas se ainda é necessário utilizar o recurso de URL's vejam abaixo alguns links que já me ajudaram a resolver este tipo de problema em alguns projetos.
How to create a link to target the action of a struts portlet
Portal 6.0 Advanced URL Generation Helper classes
How to create a link to a portlet (Standard API) that passes parameters to that portlet
Creating a link from a servlet to a page in a virtual Portal
quarta-feira, 22 de abril de 2009
Usando BI e relatório no Portal
Para integrá-las ao Portal há um wiki bem interessante que demonstra isso.
http://wiki.eclipse.org/Portlet_Example_(BIRT)_2.1

quarta-feira, 1 de abril de 2009
Video do Lotus Expeditor na IBM
Me orgulhei muito disso. Conquista pessoal.
Integrando o Lotus Forms no WebSphere Portal
O WPF tem um builder chamado Lotus Forms Embed onde você pode definir qual o formulário que será apresentado. A informação do formulário fica na propriedade Form Source. Nesta propriedade você pode definir a origem do formulário como InputStream sendo lido pelo Builder Variable retornando um object ou pelo Builder Linked Java Object no caso de manipulação dinâmica do xml (XFDL) do Lotus Forms.
O WebSphere Portal irá apresentar a página conforme figura abaixo:
sexta-feira, 20 de março de 2009
Escrevendo Código Java no Portlet Factory
Entretanto, há momentos em que você precisa escrever código Java para executar tarefas específicas que o ambiente gráfico não propicia e para estes casos você tem duas opções de builders. São eles:
- Linked Java Object (Você criar uma classe Java que pode ser ligada a qualquer builder)
- Method (Você criar um método Java que pode ser ligada a qualquer builder).
De posse deste objeto você pode manipular os objetos usados na portlet API. No exemplo abaixo eu mostro como setar valores no portlet preferences via API manipulando o portlet request.
String codCliente = webAppAccess.getVariables().getString("codigoCliente");
PortletRequest portletRequest = (PortletRequest) webAppAccess.getHttpServletRequest().getAttribute(Constants.PORTLET_REQUEST);
PortletPreferences prefs = portletRequest.getPreferences();
prefs.setValue("codigoCliente", codCliente);
prefs.store();
No próximo exemplo eu mostro como recuperar estes mesmos valores.
PortletRequest portletRequest = (PortletRequest) webAppAccess.getHttpServletRequest().getAttribute(Constants.PORTLET_REQUEST);
PortletPreferences prefs = portletRequest.getPreferences();
String codCliente = prefs.getValue("codigoCliente","");
webAppAccess.getVariables().setString("codCliente", codCliente);
Para finalizar gostaria de agradecer o Thiago Moretti por ter trabalhado comigo no entendimento desta solução.
segunda-feira, 2 de março de 2009
Estratégia IBM para mobilidade
Para esclarecer as dúvidas eu trago uma apresentação bem compacta que fala sobre os produtos que a IBM comercializa nesta linha. Se tiver dúvidas e queiram mais informações é só me procurar e mostro estes aplicativos no meu próprio celular.
terça-feira, 27 de janeiro de 2009
Desenvolvendo Wires com Portlet Factory
quarta-feira, 21 de janeiro de 2009
Mecanismo de Persistência ideal
Abaixo vou manifestar as minhas opiniões.
Caso você possa e queira deixar o controle da transação por responsabilidade do portal, voce pode usar o WebSphere Portlet Factory utilizando o SQL Call. Ele usa chamadas JDBC e no geral possui um bom tempo de resposta para operações de CRUD.
Entendo que há casos em que vc. precisa trabalhar com a granularidade de transações no banco de dados e até mesmo compartilhar o desenvolvimento de uma classe de persistencia com outros projetos que não necessariamente utilizem a plataforma de portal.
Para estes casos onde o desenvolvimento parece ser a melhor opção eu recomendo o uso de JPA utilizando anotações. Agora o problema é saber qual JPA Provider é mais adequado ao Portal. Posso adiantar que o melhor JPA Persitence Provider pode variar em função da sua experiencia, caracteristica da sua aplicação ou quantidade de registros.
Aqui vai um link com uma comparação bem interessantes entre alguns dos principais JPA de mercado.