Building Your First Process with Oracle BPM 11g
Excelente artigo de como construir a primeira aplicação em BPM.
http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/obpm/11g/r1/firstProcess/firstprocess_obpm11g.htm#top
Excelente artigo de como construir a primeira aplicação em BPM.
http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/obpm/11g/r1/firstProcess/firstprocess_obpm11g.htm#top
Nos projetos de BPM que tenho participado utilizando o Oracle BPM como solução BPMS, dificilmente faço o uso de presentations, é muito mais comum eu optar em utilizar páginas JSP como camada de apresentação dos meus processos. Isso se dá pelo fato de que as presentations são bastante limitadas, e quando se faz por necessário ter interfaces mais elaboradas e customizadas, o JSP passa a ser a melhor opção.
Usando JSP, um novo leque de opções passou a existir e uma dessas opções passou a ser a possibilidade de usar Ajax. Ajax, para quem nunca ouviu falar, não é uma linguagem, uma API, tão pouco um framework, Ajax é o acrônimo de Asynchronous Javascript And XML e nada mais é que um conjunto de técnicas usadas para criar aplicações web interativas (RIA). Um dos pilares do Ajax é permitir comunicação assíncrona entre cliente e servidor utilizando requisições HTTP.
O Oracle BPM oferece uma maneira bem interessante de usar Ajax nas páginas JSP, mesmo não sendo nativa e também não tendo nada a respeito dizendo na documentação, é possível fazer a integração da camada de apresentação de um processo BPM com o próprio processo de uma maneira bem tranquila.
Para exemplificar isso melhor, criei um projeto bem simples no Oracle BPM, que na verdade só serve para mostrar como funciona essa integração entre páginas JSP e métodos dentro de um BPM Object através de Ajax.
Para começar, criei um BPM Object bem simples, que possui 3 atributos: name (String), mail (String), documents (String[]). Os dois primeiros atributos, que representam o nome e o email de alguém, são do tipo String e o terceiro atributo, que no caso representa os documentos de uma pessoa, é do tipo Array de String. Chamei esse objeto de: BpmObject.
Nesse mesmo objeto (BpmObject), criei ainda um método, esse método será responsável por retornar os documentos de um usuário. Na verdade esse é o método que irei chamar via requisição Ajax através de uma página JSP. O nome desse método ficou definido como getDocuments().
No futuro precisarei alterar esse objeto, mas eu explico depois.
No Oracle BPM, para informar que a apresentação de determinado BPM Object deva se dar por meio de uma página JSP, se faz por necessário a utilização de Screenflows. Screenflow é um fluxo semelhante ao de um processo normal, mas a principal diferença é que o mesmo é executado por um participante único, ou seja, dentro de um Screenflow não existem lanes.
Após ter criado um processo normal, apenas com uma atividade do tipo Global Creation (para criar uma instância do processo) e também com uma Interactive Activity (para apontar para o Screenflow), parti para criação do Screenflow de fato. O Screenflow em questão, será tão simples quanto o processo no qual ele está associado, no caso contará apenas com uma única atividade do tipo Interactive Component Call, que será a responsável por “chamar” uma página JSP associando-a ao BPM Object criado no passo anterior.
Para chamar uma página JSP, se faz por necessária associar um BPM Object a mesma, então nesse caso criei um váriavel de instância do tipo BpmObject (o mesmo criado no primeiro passo) e dei o seu nome de bpmObject. Após isso, criei uma página JSP dentro de: /projetoBPM/webRoot/customJSP/ajaxPage.jsp.
O nome da página em questão é ajaxPage.jsp, e por enquanto ela irá possuir o seguinte código:
<%@ page session=“true”%>
<%@ taglib uri=“http://java.sun.com/jstl/core” prefix=“c”%>
<%@ taglib uri=“http://fuego.com/jsp/ftl” prefix=“f”%>
<html xmlns=“http://www.w3.org/1999/xhtml”>
<head>
<title>Teste Ajax/title>
<script type=“text/javascript” src=“<f:webResources relativePath=’js/prototype-1.6.0.3.js’/>”></script>
</head>
<body leftmargin=“0″ topmargin=“0″>
Teste Ajax
<br/><br/>
Nome: <c:out value=“${bpmObject.nome}” />
<br/><br/>
<div id=“teste”></div>
</body>
</html>
Então, relembrando os passos até aqui:
1) Criação de BPM Object com 3 atributos e um método;
2) Criação de processo com uma atividade do tipo Global Creation e outra do tipo Interactive Activity;
3) Criação de Screenflow;
4) Associação (Implementation Type) da Interactive Activity do processo ao Screenflow criado;
5) Criação de atividade do tipo Interactive Component Call no Screenflow;
6) Criação de váriavel de instância no Screenflow com o tipo sendo o mesmo do BPM Object que foi criado no primeiro passo;
7) Definição do Implementation Type da Interactive Component Call como BPM Object Interactive Call;
Associação do BPM Object criado como váriavel de instância da Interactive Component Call do Screenflow;
9) Definição da página ajaxPage.jsp como JSP Presentation da Interactive Component Call do Screenflow.
Feito os passos acima, a estrutura do processo está pronta para criação da página JSP que irá fazer a requisição via Ajax a um método do BPM Object que foi criado no primeiro passo.
Para criação do mecanismo que irá fazer a requisição Ajax, se faz por necessário a utilização da taglib do Oracle BPM, sem ela não seria possível usar Ajax, ou então seria bastante árduo fazer tal integração.
Por exemplo, para incluir a biblioteca Prototype, que no caso será a responsável por fazer o “trabalho sujo” e criar o objeto XMLHttpRequest para fazer a requisição assíncrona, utilizei a tag f:webResources (linha 10). Esta tag inclui os resources inclusos no projeto BPM, sem que seja necessário informar explicitamente o context path da aplicação para inclusão de imagens, CSS ou Javascripts.
Outra tag importante é a f:invokeUrl, que no caso irá gerar a URL para execução de um método dentro de um BPM Object. Dessa forma, a página JSP precisa ser alterada, pois agora irá contar com uma função Javascript que irá fazer a chamada via Ajax ao método getDocuments() do BPM Object criado no primeiro passo, retornando o output do método para div teste.
Página JSP alterada:
<%@ page session=“true”%>
<%@ taglib uri=“http://java.sun.com/jstl/core” prefix=“c”%>
<%@ taglib uri=“http://fuego.com/jsp/ftl” prefix=“f”%>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
<html xmlns=“http://www.w3.org/1999/xhtml”>
<head>
<title>Teste Ajax/title>
<script type=“text/javascript” src=“<f:webResources relativePath=’js/prototype-1.6.0.3.js’/>”></script>
<script>
function callAjaxMethod () {
var bpmUrl =‘<f:invokeUrl var=”bpmObject” methodName=”getDocuments” />’;
return bpmUrl;
}
new Ajax.Updater(‘teste’, callAjaxMethod());
</script>
</head>
<body leftmargin=“0″ topmargin=“0″>
Teste Ajax
<br/><br/>
Nome: <c:out value=“${bpmObject.nome}” />
<br/><br/>
<div id=“teste”></div>
</body>
</html>
Repare que foi criada a função JS callAjaxMethod. Abaixo dessa função existe ainda a função JS Ajax.Updater, que no caso é uma função da biblioteca Prototype que irá fazer a chamada ao método do BPM Object, retornando seu output para a div teste.
Finalmente essa é a última parte desse pequeno tutorial. Agora a única coisa que falta é criar um output para o método do BPM Object que irá ser chamado via requisição Ajax.
Antes de mais nada, preciso dizer algo a respeito da tag f:invokeUrl, pois para ela funcionar corretamente existem algumas peculiariades.
Para um método de um BPM Object ser reconhecido por esta tag, ele deve ter uma das quatro assinaturas abaixo:
No caso, eu optei por utilizar a primeira opção, pois para usar a função Ajax.Updater da Prototype, eu preciso escrever diretamente no output do método, ao invés de setar as informações necessárias através dos seus atributos.
Em virtude disso, o método getDocuments do objeto BpmObject agora passará a ter a seguinte assinatura:
getDocuments(Fuego.Net.HttpRequest request, Fuego.Net.HttpResponse response)
Agora, finalmente o código do método getDocuments, que ficará da seguinte maneira:
for (String doc : documents) {
response.bodyTextContent(arg1 : doc);
}
No código acima, estou percorrendo o atributo documents (array) e imprimindo no output todos os documentos definidos para aquele atributo, dessa forma, quando a função callAjaxMethod é chamada na página JSP, ela automaticamente chama (assincronamente) este método contido dentro do BPM Object, imprimindo todos os documentos definidos para dentro da div com o ID teste.
Utilizando os recursos corretos do Oracle BPM, como sua taglib e seus componentes, não é muito difícil fazer uma tela de apresentação mais interativa usando Ajax. No exemplo acima, foi criado um projeto bem simples, apenas para ilustrar, com o intuito de mostrar a atualização do conteúdo de uma div feita assincronamente através de uma requisição Ajax.
por http://www.marcuscavalcanti.net/blog/2009/03/23/oraclebpm-com-jsp-e-ajax/
Recently while working on a specific use case for an enterprise where I had to develop a mechanism of notifying organizational users in case a human workflow task is assigned to them. The enterprise in consideration here had a need to create an Microsoft Exchange Task for the user once he is assigned with a BPM Human Task and need to act on it.
In this blog post I would be covering as how we can achieve this. This may also be useful in case you are required to use Exchange Web Services in Oracle SOA Suite. Before i begin I would like to cover a little bit of rationale behind this approach.
The Rationale to this Approach
Oracle Human Workflow Tasks allow us to configure Notification settings through which we can can Email/SMS notifications through the Notification service. For a human task we can choose to set reminders at preset intervals, send actionable links in notification emails, attach task attachments, add custom headers etc.
However our need was quite simple. What we needed was to simply create a Outlook Task for the assigned user that will take care of Reminders. Imagine a task in which we have some bulky attachments. Retrying from the Notification Service by leveraging the Oracle Taskflow Messaging mechanism is quite expensive as this leads to multiple emails being sent.
Creating a Recurring Task saves us from repetitive emails. We can use recurring Outlook Task for reminders.
Readying the Backbone
A bit about Exchange Web Service APIs
Microsoft provides a very rich and exhaustive set of API as well as Developer SDK’s for Exchange web services.
You can see the whole list of operations provided by the API in the link below
http://msdn.microsoft.com/en-us/library/bb409286%28v=EXCHG.140%29.aspx
In this post however i will be demonstrating how to invoke the “CreateItem” operation to create a user Task in outlook.
The WSDL for the exchange web services can be obtained at by typing the following in your browser.
https://exchangeServerURL/EWS/Services.wsdl
You can obtain the Exchange Service URL by opening Outlook->File->Account Settings
I was able to get this web service running from a web service client like SOAPUI to see it in action.
The Exchange Web Services are on HTTPS and require HTTP Basic Authentication credential to invoke the caller. They are no different from your NT Credentials.
However Off course we would need to invoke this service from within our SOA Suite domain. But this gives us a heads up about the working of Exchange web services.
Oracle Service Bus Plumbing to Invoke The Exchange Web Services
This part is somehow tricky. We would need to invoke the Exchange service from the Human Task Service. Since Oracle Service Bus is the place where we organize our enterprise wide reusable services i choose to implement the service call to the Exchange endpoint from within the bus.
That shouldn’t be difficult.
Create a Proxy Service in OSB based on the Exchange service WSDL. Also copy the dependent XSD’s in the service bus project.
This is the place I had hit my first roadblock. The Exchange Web Services need a NTLM Authentication mechanism where as OSB doesn’t support NTLM out of the box. The workaround for this is that we have to create a custom Java class for doing this which can be invoked from OSB by a Java Callout action.
Create a simple Java Project in Eclipse and use the Java Class below. It works like a treat to get this thing done.
01 |
package blog.soatech; |
02 |
import java.io.IOException;</pre> |
03 |
import org.apache.commons.httpclient.HttpClient; |
04 |
import org.apache.commons.httpclient.HttpException; |
05 |
import org.apache.commons.httpclient.HttpStatus; |
06 |
import org.apache.commons.httpclient.NTCredentials; |
07 |
import org.apache.commons.httpclient.auth.AuthScope; |
08 |
import org.apache.commons.httpclient.methods.PostMethod; |
09 |
import org.apache.commons.httpclient.methods.StringRequestEntity; |
10 |
11 |
public class ExchangeServices { |
12 |
private static final String userAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13"; |
13 |
@SuppressWarnings("unused") |
14 |
public static String invokeExService(String endPoint, String messageHeader, String messageBody, String userName, String password, String operation) throws HttpException, IOException |
15 |
{ |
16 |
StringBuffer soapMessage = new StringBuffer(); |
17 |
soapMessage.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"); |
18 |
soapMessage.append("<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\” xmlns:typ=\”http://schemas.microsoft.com/exchange/services/2006/types\” xmlns:mes=\”http://schemas.microsoft.com/exchange/services/2006/messages\”>\n”); |
19 |
soapMessage.append(messageHeader); |
20 |
soapMessage.append(messageBody); |
21 |
soapMessage.append("</soapenv:Envelope>\n"); |
22 |
//System.out.print("Request : " + soapMessage.toString()); |
23 |
HttpClient client = new HttpClient(); |
24 |
String soapAction ="http://schemas.microsoft.com/exchange/services/2006/messages/“+operation;</a> |
25 |
PostMethod postMethod = new PostMethod(endPoint.trim()); |
26 |
postMethod.setRequestHeader("SOAPAction", soapAction); |
27 |
postMethod.setRequestHeader("Content-Type", "text/xml; charset=UTF-8"); |
28 |
postMethod.setRequestHeader("SOAPAction", soapAction); |
29 |
postMethod.setRequestHeader("User-Agent", userAgent); |
30 |
postMethod.setRequestEntity(new StringRequestEntity(soapMessage.toString().trim(), "text/xml; charset=UTF-8", null)); |
31 |
String errorMessage =""; |
32 |
String responseBodyString =""; |
33 |
NTCredentials ntCredentials = new NTCredentials(userName, password, "hostName", "domainName"); |
34 |
client.getState().setCredentials(new AuthScope(null,-1,null), ntCredentials); |
35 |
int status = client.executeMethod(postMethod); |
36 |
if(status != HttpStatus.SC_OK) |
37 |
{ |
38 |
errorMessage = "Method Failed :" + postMethod.getStatusLine(); |
39 |
// System.out.println(errorMessage); |
40 |
} |
41 |
responseBodyString= postMethod.getResponseBodyAsString(); |
42 |
//System.out.println("Response Message ;" +responseBodyString); |
43 |
return responseBodyString; |
44 |
} |
45 |
} |
The above class is needs a few Apache Jar’s as dependent jars in the build path.
Package this as a JAR file by exporting it as a JAR from eclipse. Next we will have to import this JAR in our OSB project so that the ExchangeService.class inside it can be used for Java Callout.
Add a line the setDomainEnv.cmd file in the OSB Domain so that it can locate these classpath entries at runtime.
| set POST_CLASSPATH=%DOMAIN_HOME%\lib\commons-codec-1.5.jar;%DOMAIN_HOME%\lib\commons-httpclient-3.1.jar;%DOMAIN_HOME%\lib\commons-logging-1.1.1.jar;%POST_CLASSPATH% |
The second thing that we need to do is add the Exchange service certificate to the Keystore of the OSB domain. Remember the Exchange services are https services.
Obtain the X.509 certificate from the exchange server and save it as a .pem file. Locate the location of the DemoKeyStore from the weblogic server console.
The X.509 certificate from the exchange server can be imported in the keystore by running the Keytool command below
| keytool -import -trustcacerts -file <FileLoc>\cert.pem -keystore <KeyStoreLoc>\DemoTrust.jks |
The default keystore password is DemoTrustKeyStorePassPhrase
Reboot the OSB Domain after applying these changes for them to take affect.
Lastly export the OSB Proxy Service as a WSDL so that it can be used in our BPM composite.
We can now move on to create the BPM process with a Human task that will invoke this OSB service.
Creating the BPM Composite with a Human Task
For the purpose of demonstration here I will be creating the most basic BPM process that has one message start event, one user task event (implemented as an Oracle Human Task) and an end event.
The process can be exposed as a web service since it has a Message Start event. This is a simple Card Approval Process in which a Credit Card Approver is presented with a Credit Card request that he has to either approve or reject.
The Task Activity is implemented as a Human Workflow Task. Open the .task for this task in JDeveloper.
We can enter additional task details from here like Task Title, Task Deadlines, Assignees, Notification Setting etc.
Add a Fixed Duration Deadline to this Task in the Deadlines tab.
This will set the expirationDate element in the task payload.
This is also where lies the crux of this article.
Since we want to create an Exchange Task for the assignee as soon as the Human Task is assigned to him we have to create and implement an onAssigned Event for this task.
You are allowed to create different events based on the task status from here. For now we are only interested in the first event i.e onAssigned event.
When a workflow event is triggered the in build EDN (Event Delivery Network) framework throws an event that contains the assigned Task Message payload containing the complete task information.
Learn more about EDN in Oracle SOA Suite here.
http://beatechnologies.wordpress.com/2011/06/14/lightweight-introduction-to-oracle-soa-suite-11g/
http://blogs.oracle.com/soabpm/entry/event_delivery_network_chapter
Creating a Mediator to Subscribe to Workflow Events
We have raised an event from the Human Task. We now have to implement a listener for this event that can listen to it and do something (calling the Exchange Service operations in this case).
Doing this couldn’t have been much simpler. What you need to do is create a composite application that has a Mediator component listening to this event.
The Event Definition File (EDL) for subscribing to Human Workflow events can be found in the MDS Repository under soa/shared/workflow/HumanTaskEvent.edl.
The mediator can subscribe to any one or all of the events and will fan out the process depending upon the event it receives.
Next create a Web service reference in the composite that is based on the Exchange Service OSB Proxy and wire the Mediator to Create Item of this service.
Open the Mediator Routing Definition to see that the a Static Routing Rule has been created for OnTaskAssigned event.
We can use the an XSL based Transformation to transform a task request to the CreateItemRequest message for the Exchange webservice.
Deploy the BPM Application for Card Approval Process and also the composite application containing the Event Subscribing Mediator component to a running soa server so see everything in action together.
Seeing Everything in Action
Go to the Enterprise Manager console where the Card Approval BPM composite is deployed.
Test the composite with a card approval request message from the composite. You will see that a running instance of the composite is created.
Looking at the Audit Trail of this instance will reveal an interesting thing. You will see that as soon as the the process flow reaches the ApproveCard user activity an OnTaskAssigned event is fired.
A WorkflowEventSubcriber Mediator Component that is listening to this type of event processes the event and calls the external web service. Opening the trace will further reveal that the service has returned a success response.
An outlook Task with a recurring reminder has now been created in the user inbox.
The Ending Conclusion
Another thing we did was to delete this Outlook task once a Human Workflow participant has acted on the it.
This is quite simple and achievable by raising an OnTaskCompleted event from the Human Task, extending the composite to subscribe to this type of event as well and call the DeleteItem operation on the Exchange web service.
por http://beatechnologies.wordpress.com/2011/09/09/oracle-bpm-human-task-management-using-human-task-events-to-invoke-microsoft-exchange-web-services/
Neste estudo de caso veremos todo o ciclo de vida de um projeto BPM com o Oracle BPM Suite 11g. Dado o tamanho deste estudo de caso, o mesmo será dividido em várias partes, conforme o plano a seguir:
Contextualização do Estudo de Caso da Biblioteca Nínive
Criação da Aplicação e do Projeto
Conhecendo Melhor sua Área de Trabalho do BPM Suite 11g

Elementos do Processo
Todo processo de negócio possui os seguintes elementos:
Criação dos Papéis
Inclusão dos Papéis no Processo
Desenhando as Atividades do Processo de Negócio





por http://www.portalbpmsoa.com/category/bpm/oracle-bpm-suite-11g/
Download do BPM Suite 11g
Faça o download do JDK 1.6 (não do 1.7) no site da Oracle em http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u27-download-440405.html
Escolha a opção “Accept License Agreement” e escolha o sistema operacional desejado, neste tutorial iremos escolher o Windows
Expanda Prerequisites e baixe os seguintes softwares (ao requerer a instalação, será necessário se registrar):
Database (Oracle XE 10g)
Repository Creation Utility 11.1.1.5.0
JDeveloper 11.1.1.5.0 (este instalador também instala o WebLogic)
Em Product Installation baixe os arquivos SOA Suite 11.1.1.5.0 Part 1 e Part 2 (neste instalador, o BPM Suite também está incluído)
Descompactação dos Arquivos
Descompacte o arquivo ofm_rcu_win_11.1.1.5.0_disk1_1of1 no diretório de sua escolha, será criado o diretório rcuHome
Descompacte os arquivos ofm_soa_generic_11.1.1.5.0_disk1_1of2 e ofm_soa_generic_11.1.1.5.0_disk1_2of2 no diretório de sua escolha, serão criados os diretórios Disk1, Disk2, Disk3, Disk4 e Disk5
Não é necessário descompactar os demais arquivos, eles podem ser executados diretamente
Instalação da JDK 1.6
Clique 2 vezes em jdk-6u26-windows-x64 (ou no nome de instalador de jdk escolhido por você ao baixar o arquivo)
Espere algum tempo até que o assistente de instalação apareça.
Clique em Next >
No campo Install to, altere o diretório de instalação clicando no botão change, e escolha um caminho de diretório que não seja de Arquivos de Programa ou qualquer outra que tenha espaço na composição do nome. Sugiro o valor
C:\Java\jdk1.6.0_27\. Clique em Next >
A Instalação irá começar, espere pela conclusão da mesma.
Logo em seguida, iremos instalar o JRE, aceite todas as sugestões e clique em Next > Espere pelo final da instalação e clique em Finish
Instalação do Banco de Dados Oracle
Clique duas vezes em OracleXEUniv. Espere algum tempo até que o assistente de instalação apareça
Clique no botão Próximo >
Aceite os termos da licença e clique em Avançar >
Aceite o diretório da Pasta de Destino sugerido e clique em Próximo >
Escolha a senha de administrador do banco de dados, sugerimos a senha welcome1 e clique em Próximo >
Clique em Próximo e no botão Instalar
Espere pela conclusão da instalação
Desmarque o checkbox Acionar a Homepage do Banco de Dados e clique em Finalizar
Precisamos preparar o banco de dados para suportar os produtos que serão
instalados sobre o mesmo. Assim, execute os seguintes comandos a partir da linha de comandos (chame no executar do windows cmd) do windows ou linux:
| sqlplus sys/welcome1@XE as sysdba SQL> alter system reset sessions scope=spfile sid=’*’; SQL> alter system set processes=300 scope=spfile; SQL> shutdown immediate SQL> startup SQL> show parameter session SQL> show parameter processes Obs.: podemos também fazer o shutdown e startup (ou seja, reiniciar) usando Painel de Controle > Serviços > Escolha OracleXE e reinicie o serviço após a execução dos comandos |
Instalação do JDeveloper 11g e WebLogic
Clique 2 vezes em jdevstudio11115install. Espere algum tempo até que o
assistente de instalação apareça
Clique em Próximo
Aceite a sugestão de diretório Home de Middleware sugerido pelo instalador e clique em Próximo
Marque a opção Típica para assim instalar tanto JDeveloper e WebLogic e clique em Próximo
Clique no botão Procurar… para apontar onde está instalado o JDK. Escolha o diretório onde está o JDK (no caso deste tutorial está instalado em C:\Java\jdk1.6.0_27) e clique selecionar
A tela retorna com o JDK marcado. Clique em Próximo
Nesta tela é informado o diretório de instalação do Jdeveloper e WebLogic, apenas clique em Próximo
É apresentada a tela de Resumo da Instalação, clique em Próximo.
O produto vai ser instalado, bastando aguardar Desmarque Executar Quickset e clique Concluído
Instalação do RCU
O RCU é uma ferramenta utilizada para criar os esquemas de banco de dados do
BPM, SOA e demais produtos caso seja necessário Vá na linha de comando (executar o cmd no executar do windows) e vá até o diretório onde o RCU foi descompactado, entre no diretório rcuHome, entre no diretório bin (<diretório onde descompactou>/rcuHome/bin)
Para iniciar o RCU execute o seguintes comandos de dentro do diretório bin:
set
RCU_JDBC_TRIM_BLOCKS=TRUE
rcu
Espere pelo assistente do RCU, quando o mesmo aparecer, clique em Próximo >
Selecione a opção Criar e clique em Próximo >
Informe as informações de conexão do banco de dados conforme a seguir:
Nome do Host: localhost
Porta: 1521
Nome do Serviço: XE (ou outro nome, caso seu banco oracle não seja o Express)
Nome do Usuário: sys
Senha: a senha escolhida na instalação do banco de dados (no caso deste tutorial welcome1)
Clique Próximo. Irá começar a validação da conexão, se surgir mensagem de banco incompatível, clique Ignorar
Clique Ok na validação
Selecione Criar um novo Prefixo e escolha o valor padrão DEV
Na lista de Componentes selecione SOA Infrastructure e BPM Infrastructure. Neste momento, todas as dependências deste componente também são marcados. Clique em Próximo
Novamente é feita uma validação. Clique em OK
Marque a opção Use as mesmas senhas para todos os esquemas. Digite a senha que desejar, sugiro o valor welcome1 e confirme a senha e clique
Próximo
São listados os tablespaces, clique em Próximo e clique em Ok na tela de
mensagem
Espere pela criação dos namespaces e clique OK
Clique no botão Criar e espere por toda a criação dos tablespaces e
clique em Fechar
Instalação do SOA Suite
Vá na linha de comando (executar o cmd no executar do windows) e vá até o diretório onde o SOA Suite foi descompactado, entre no diretório Disk1
Quando a tela do Instalador aparecer clique em Próximo
Selecione “Ignorar atualizações de software” e clique em Próximo
Espere pela pré-validação e clique em Próximo
Aceite os valores padrão para Oracle Middleware Home e Diretório Oracle Home e clique em Próximo
Vai aparecer WebLogic Server marcado, clique em Próximo
Vai aparecer uma tela com o resumo das escolhas das telas anteriores, clique em
Instalar
Espere pela Instalação, quando concluir os 100% clique em Próximo, clique em Finalizar
Criando o Domínio do SOA/BPM no WebLogic
Após instalar o SOA/BPM, temos que criar o domínio dele dentro do WebLogic
Na primeira tela do instalador escolha a primeira opção (Criar um novo domínio Weblogic) e clique em Próximo
Selecione a opção Oracle BPM Suite for Developers, ele irá marcar todas dependências automaticamente Selecione também a opção Oracle Enterprise Manager (é a ferramenta de administração da Oracle)
Selecione também a opção Oracle Business Activity Monitoring (é o BAM da Oracle usado para criar relatórios, gráficos e dashboards). Clique em Próximo
Em nome do Domínio digite o valor bpm_soa_domain, aceite os demais valores de campo e clique em Próximo
Em nome (user name) deixe a opção weblogic e senha (password) coloque welcome1 e clique em Próximo
Escolha as opções Modo de Desenvolvimento e SUN SDK e clique em Próximo
Na próxima tela marque o checkbox de todos os itens que aparecem na tabela (5 itens), em seguida em Senha do Esquema digite welcome1, DBMS/Serviço digite XE, em Nome do Host localhost e port 1521. Clique em Próximo
As conexões são testadas, clique em Próximo Clique
em Próximo novamente
Na tela de resumo, clique em Criar
Espere alguns instantes e clique em Concluir (se deixar a opção Iniciar Admin Server, ele imediatamente já irá subir seu Weblogic)
Atualizando O JDeveloper para ter os plugins do SOA e do BPM
Entre no JDeveloper Já no JDeveloper vá no menu Help > Check for Updates…
Clique em Next
Escolha as opções Oracle Fusion Middleware Products e Official Oracle Extensions and Updates e clique em Next
Escolha as opções Oracle SOA Composite Editor e BPM Extension for JDeveloper e clique em Next
Ele vai baixar os plug-ins, quando terminar, clique em Finalizar. Reinicie o JDeveloper e Pronto! Terminamos!
por http://www.portalbpmsoa.com/category/bpm/oracle-bpm-suite-11g/