domingo, 27 de maio de 2007

Lotus Component Designer

Com a integração da família de Websphere Portal dentro do portifólio da Lotus, abriu-se um novo leque de desenvolvimento utilizando Java. Para programadores Domino, que na maioria das vezes não tem muita afinidade com Java, visto que o desenolvimento para Lotus Domino/Notes é baseado em @Formulas e LotusScript (uma variação do VBScrip), fica mais complicado a aderência dessa comunidade a esse novo mundo. Vendo esse cenário, a Lotus começou a investir na criação de ferramentas para facilitar o desenvolvimento de aplicativos para Java. Com a aquisição da Bowstreet, e o lançamento do Websphere Portlet Factory, o desenvolvimento em Java já começou a ficar mais simples. Mas com a existência de um grande número de desenvolvedores Domino a Lotus decidiu criar uma ferramenta muito parecida com o Lotus Domino Designer, que é o Lotus Component Designer. Com essa nova ferramenta, programadores Lotus Domino/Notes podem estar desenvolvendo componentes (portlets) para o WebSphere Portal sem a necessidade de estar aprendendo uma nova linguagem de programação. Neste post estarei falando um pouco mais sobre esse produto.

O Lotus Component Designer é um ferramenta de desenvolvimento baseada em documento, como o Lotus Domino Designer, seu objetivo é dar para o desenvolvedor uma possibilidade de criação de aplicações sem a necessidade de escrever código, ou muito pouco. Aplicações mais comuns encontradas em Lotus Component Designer são Relatórios de Despesas, Gerência de Projetos, Aprovação de Documentos, entre outros.

A base do Lotus Component Designer é o Eclipse 3.2. Nele você pode estar utilizando @Furmulas, JavaScripts, consumindo WebServices e integrando informações vindas das bases de dados do Lotus Domino no desenvolvimento da aplicação. Como repositório podemos estar utilizando o próprio repositório do Websphere Portal, ou um banco de dados remoto (DB2, Oracle ou SQL Server).



Figura 1 - Visão do Lotus Component Designer 6.0


Uma funcionalidade que a Lotus copiou do ambiente Domino foi a possibilidade de utilizar templates para a criação de novas aplicações. Junto com o Lotus Component Designer 6.0 são disponibilizados alguns templates como Blog, Contatos, Gerência de Projetos e Discussão.

Elementos do Lotus Component Designer 6.0

Para quem já trabalha com interface Eclipse, o Lotus Component Designer acaba sendo um pouco diferente, mas para as pessoas que utilizam o Lotus Domino Designer a interface é muito familiar. No Lotus Component Designer cada aplicação criada é considerada um Componente e dentro desse componente podem ser criados diversos elementos como Páginas, Conexões com Banco de Dados, entre outros.



Figura 2 - Visão do Lotus Component Designer 6.0 com descrição da interface












Elemento
Descrição
Component Options
Opções de configuração geral que podem ser aplicadas no componente. Por exemplo, você pode definir o estilo padrão, compartilhamento de controles customizados e recursos com outros componentes, definição da criação de portlets e opções de configuração dos dados do componente.
Pages
Páginas são como forumários no Lotus Domino Designer, nelas você pode estar construindo toda a interface de sua aplicação utilizando os elementos disponíveis na barra UI Controls. Essa barra de UI Controls pode aceitar elementos customizados, ou seja, caso você tenha um vários controles para compor o cadastro de clientes, você pode transformar esses controles em um único e reutilizar em outros componentes.
Custom Controls
Um controle customizado é uma coleção de controles de interface (UI) que são armazenados como um único objeto. Isso é similar a objetos de subforms usados no Lotus Domino Designer.
XML Schemas
O Lotus Component Designer armazena seus dados em Bancos de Dados relacionais, a estrutura de tabelas e definição de campos são criandos utilizando XML. Nesse elemento você estará definindo a estrutura de dados do seu componente.
View Queries
Diferente do Lotus Domino Designer, o View Queries é para você montar a "SELEÇÃO" da sua visão, toda a apresentação da visão deve ser feita em uma Página.
External Data
Você pode estar conectando seu componente a uma bando de dados relaciona, webserver ou até em uma base de dados do Lotus Domino.
Resources
Dentro de Resources você pode estar anexando figuras, Style Sheets e Script Library.
Composite Application
Neste item você pode estar configurando seu componente para trabalhar como uma aplicação composta dentro do WebSphere Portal. Por exemplo, você pode definir como os dados são trocados entre os portlets.


Criação de aplicações compostas

Aplicação Composta pode ser definida como uma aplicação construída através da combinação de componentes, de outras aplicações ou serviços.

Como o Lotus Component Designer 6.0 e o Websphere Portal 6 é possível a criação de aplicações compostas. Essa criação é bem simples, você pode ver o seqüência de criação de uma aplicação composta na figura 3.



Figura 3 - Criação de uma aplicação composta utilizando o Lotus Component Designer 6.0



Arquitetura do Lotus Component Designer 6.0

A arquitetura do Lotus Component Designer é bem simples.


  1. Na máquina do desenvolvedor é instalado o Lotus Component Designer que pode estar sendo utilizando com Windows ou Linux;
  2. O Lotus Component Designer faz a instalação dos componente no Websphere Portal através de sua ferramenta de Deployment;
  3. No Websphere Portal existe o Runtime para os componentes do Lotus Component Designer;
  4. Todos os dados do Lotus Component Designer são gravados no banco do portal ou em um banco externo ao do portal;
  5. Os componentes podem estar lendo dados vindos de entidades externas;
  6. Por fim, quando um usuário requisita uma página o Websphere Portal faz a gerência desta, verificando níveis se acesso do usuário, personalização, entre outros.



Figura 4 - Visão da Arquitetura do Lotus Component Designer 6.0


O Lotus Component Designer 6.0 pode se integrar com o Lotus Expeditor e irá se integrar com o Lotus Notes 8. O Lotus Expeditor é uma plataforma de construção de aplicações para desktop (Rich Client) e o Lotus Notes 8 utiliza essa plataforma em sua arquitetura. Com a integração entre o Lotus Component Designer 6.0 e o Lotus Expeditor, os benefícios são os seguintes:


  • Os componentes podem rodar off-line;
  • Preview da aplicação no Lotus Expeditor;
  • O Websphere Portal pode provisionar esses componentes no Lotus Expeditor.

Abaixo está o diagrama do Lotus Component Designer com o Lotus Expeditor:



Figura 5 - Visão da Arquitetura do Lotus Component Designer 6.0 com Lotus Expeditor




O Lotus Component Designer 6.0 é um produto que pode ser utilizado para desenvolver aplicações simples ou com uma complexidade média. Para desenvolvedores Lotus Domino eu acho que é um bom começo para estarem criando aplicações para o Websphere Portal.

Maiores informações sobre o produto podem ser encontradas aqui. Para detalhes técnicos você pode estar acessando o site do DeveloperWorks onde existe uma sessão somente sobre o Lotus Componente Designer com artigos bem interessantes.

O InfoCenter do produto pode ser encontrado aqui. No site Alphaworks você pode encontrar uma versão do Lotus Component Designer customizada para trabalhar com o Websphere Application Server 6.0 Express. A versão trail do Lotus Component Designer pode ser baixada através deste link.

Um comentário:

Anônimo disse...

o que eu estava procurando, obrigado