sexta-feira, 29 de outubro de 2010

Front End Isolado - Parte 2 - WebCenter

Seguindo os Post de integrações e interfaces gráficas isoladas do UCM, nesse post vou falar de uma integração nativa e out of box. A integração do UCM com o WebCenter.

Para quem não conhece, o WebCenter é uma das peças mais importantes na estratégia de unificação das plataformas de Middleware da Oracle. O objetivo dele é servir como front-end de todas as soluções de Middleware. Para ter uma idéia, ao instalar o Oracle BPM 11g ou o Oracle BPEL, ele instala o Webcenter e utiliza taskflows (um tipo portlet) para a interação com os usuários.

WebCenter sendo utilizado como front-end do BPM.


Voltando ao UCM

O WebCenter possui recursos de interface para o UCM bem mais... digamos, UserFriendly, do que a interface padrão do UCM. Como irei demonstrar abaixo:


Criei um Espaço de Grupo chamado IsSoap















Apliquei um modelo de comunidade, e o Spaces já fez o resto.


Tenho varias abas, uma delas documentos. Nesse Taskflow, pode-se inserir, localizar e abrir documentos do UCM, além de criar pastas e ter uma exibição mais parecida com o Windows Explorer.

Carreguei dois documentos. O formulário de checkin é bem simples, só tem o arquivo mesmo, por isso nem coloquei imagens.

Uma vez os documentos carregados pelo Spaces, eles vão direto para o repositório do UCM.


Como nesse taskflow em especial, são documentos de um espaço de grupo, o Spaces cria um ID para cada espaço de grupo e cadastra o documento com o ID como account, garantindo que somente pessoas do grupo, tenham acesso a esse account.


Claro que utilizando o Webcenter Spaces como front-end para o UCM, se perdem alguns recursos, mas com o tempo a tendência é que essa integração seja cada vais mais forte.
O Patch Set 3 do WebCenter já promete bastante novidade nesse sentido... É Só aguardar.

Mas lembrem-se que o Webcenter, além dos taskflows, suporta todos os portlets do UCM. É possível fazer bastante coisa, incluindo os workflows!.


Abraços e até o próximo post!

quinta-feira, 30 de setembro de 2010

WSLD Generator - Deploy dos Webservices

Bem,

Para finalizar os post sobre o WSDL Generator ficou faltando o principal.
Como fazer deploy dos serviços nele criado? Como criar em desenvolvimento e levar para produção?

Existem maneiras mais elegantes, mas a mais fácil é copiar o arquivo wsdl_custom.hda na pasta ucm/data/soap/custom de um servidor UCM para outro.

Depois é só mandar gerar os wsdl pelo wsdl generator e pronto.

Falei que era fácil.

Até o próximo post!

quinta-feira, 2 de setembro de 2010

BPM X UCM

Meu colega Marcelo França de BPM resolveu me imitar e está blogando!

Primeiro post dele foi da integração UCM x BPM via webservices, tudo a ver com esse blog. Abaixo o Link:

http://bpmbrasil.blogspot.com/2010/08/bpm-ucm.html

Abraços

sexta-feira, 6 de agosto de 2010

Usando os WebServices do UCM 11g como no 10g

Esse post eu vi no blog do Kyle[http://blogs.oracle.com/kyle/2010/08/using_wsdls_in_ucm_11g_like_yo.html].

Background:
O UCM10g utiliza Basic Authentication para se autenticar via SOAP. O 11g utiliza a infra do weblogic para configurar, que é um pouco diferente.

Então para termos no UCM11g o mesmo comportamento de autenticação do UCM 10g, o Kyle sugere usar webdav, adicionando o _dav antes do nome da instância do UCM.


Bom, por hora é isso.

Post original:

Using WSDLs in UCM 11g like you did in 10g

But if you want to use WSDLs and call the services with Basic Authentication like you did in the 10g version, you can do that as well. But there is a bit of a trick to get it to work.

When you install 11g, the WsdlGenerator component will be installed automatically. You can then go to Administration -> Soap Wsdls to create and modify the Wsdls. But if you try to access them through the browser, you'll get a 403 Forbidden error. You need to access the WSDLs directly from the file system in the \groups\secure\wsdl\custom\ directory.

Once you have the WSDL, you need to make a small change to the server URL to use Basic Authentication. At the bottom of the WSDLs, you'll find a section that looks like:

<service name="Workflow"></service>


<port name="WorkflowSoap" binding="s0:WorkflowSoap">

<soap:address location="http://server:16200/cs/idcplg" />

</port>

</service>




You'll want to change the path and include _dav.






<service name="Workflow">

<port name="WorkflowSoap" binding="s0:WorkflowSoap">

<soap:address location="http://server:16200/_dav/cs/idcplg" />

</port>

</service>


That is the URL you want to call over web services.



terça-feira, 3 de agosto de 2010

Agora na OTN

Post para anunciar que o IsSoap agora faz parte dos blogs da OTN :)

sexta-feira, 23 de julho de 2010

Front End Isolado - Parte I

Continuando os posts passados, nesse vou mostrar como é fácil criar um front-end isolado usando webservices do UCM. A idéia é que uma aplicação web qualquer mostre um resultado da busca do UCM.

Lembrando que para o UCM 11g, deve-se primeiro configurar o acesso aos webservices (http://download.oracle.com/docs/cd/E14571_01/doc.1111/e10807/web_services004.htm)

Vou usar o Visual Web Developer da Microsoft justamente para mostrar a total compatibilidade dos webs services!



Vamos lá!


Após criar um novo projeto WEB no VS Express, adiciono a referencia para o Web Services:




Coloco a URL do Web Service do Search (Mais informações de como achar a URL no post anterior)

Depois de alguns prompts de login e senha, ele já mostra os métodos do Web Service. Chamo o Pacote de UCM, e pronto, referencia adicionada!


Agora a Interface Gráfica:



Adiciono uma GridView para mostrar o resultado da busca.

Por estética, vou editar as colunas para não mostrar todo o resultSet.É só alterar a propriedade columns da grid.




Coloquei uma coluna de hyperlink que mostra o ID do conteúdo e ao clicar, ele direciona para a URL externa dele. E depois o Titulo.



Vamos finalmente para o código!


Importei o pacote UCM (Ao adicionar o WebService chamei de UCM o pacote)

No Page_load, declaramos a variável search que tem dois métodos princiapis, QuickSearch e AdvancedSearch. Para facilitar vou utilizar o Quick Search, pois o resultado já vem ordenado com o mais recente na frente.



O código final fica assim:

protected void Page_Load(object sender, EventArgs e)

{

Search search = new Search();

search.Credentials = new System.Net.NetworkCredential("sysadmin", "idc");

QuickSearchResult result = search.QuickSearch("dDocType <matches> `ADACCT`", null);

GridView1.DataSource = result.SearchResults;

GridView1.DataBind();

}




Reparem que passei o usuário e senha, se não ele daria erro de acesso negado!



E é isso! Front End .Net com serviços do UCM :)

Até lá!

sexta-feira, 28 de maio de 2010

WSDL Generator

Certa vez eu estava participando de uma demonstração para o time de BPM de como era fácil integrar com o nosso ECM via WebServices nativos da ferramenta. Fizemos checkin, checkout, pesquisamos, baixamos o binário, aprovamos documentos, até que o consultor responsável me perguntou:
"Tudo bem, agora só temos que excluir o documento, me passa o wsdl de exclusão por favor!"
(alguns segundos de silencio)

Ai eu comecei a frase com o "Bem... Na verdade é que ainda temos que criar-lo"

Para minha felicidade que não escrevo um código Java a 3 anos, era do UCM que estavamos falando!

Saquei da manga o famoso WSDL Generator, componente que já vem instalado por padrão instalado há algum tempo.
Passo 1 - Achar o item SOAP WSDL

Passo 2 - Criar um novo item


Passo 3- Dar um nome e descrição (esse não tem imagem por motivos óbvios)

Passo 4 - Consultar a documentação do serviço do UCM para saber os parâmetros ou utilizar o grande IsSoap=1 (esse não tem imagem por preguiça do autor)

Passo 5 - Adicionar um novo serviço



Passo 5 - Clicando no edit do recém adicionado serviço, você será redirecionado para a a tela de inclusão de parâmetros

Passo 6 - Escolher a opção de UPDATE_REQUEST_PARAMETERS

Passo 7 - Adicionar os parâmetros, nesse caso só o dID


Passo 8 - Adicionar o UPDATE_Response_Parameters, como era um demo foi só o status mesmo


Passo 9 - Agora é só gerar o WSDL no menu principal, aquele da imagem 1.

Passo 10- Pronto!
http://servidorUCM/ucm/groups/secure/wsdl/custom/Delete_Rev.wsdl

Agora basta usar uma ferramenta de webservice como Soapui e etc para testar.

Chamada:
Retorno:



Até mais.