quarta-feira, 14 de maio de 2014

Console Extension no SOA Suite 11g

O Console Extension é uma ferramenta que nos prove relatórios em tempo real e monitoração de métricas que podem ser configuradas manualmente no WebLogic Diagnostic Framework (WLDF). O Console Extension vem na instalação do Weblogic, vamos ver como instalar e configurar metricas.

Copie o jar diagnostics-console-extension.jar que se encontra em <WL_HOME>\server\lib\console-ext para o diretório <DOMAIN_HOME>/console-ext.

exemplo de comando no linux:
cp <WL_HOME>\server\lib\console-ext <DOMAIN_HOME>/console-ext

inicio o seu dominio, ao logar no console verá a aba "WLDF Console Extension"


Clique na aba e verá um descritivo do Console Extension e pedindo para acessar a URL http://hostname:port/console/dashboard


Abra a URL http://localhost:7001/console/dashboard e verá a seguinte tela:


Em "Built-in Views" temos já pré-configurados 3 views:

JVM Runtime
JVM Runtime Heap
Thread Pool Runtime

Selecione a view "JVM Runtime Heap" e clique no botão "Start" (está em verde) e deixe executando por um tempo para coleta, e verá algo parecido como a seguinte tela:

  

Configurando Métricas

Logue no console e clique em "Diagnostic Modules" que se encontra no grupo "Diagnostic"


Clique em "Module-FMWDFW"


Clique na aba "Collected Metrics"


Clique em "New" e depois em "Next", aceitando o valor default em "MBean Server location"


Em "MBean Type" escolha "soainfra_message_processing"  e clique em "Next"


Escolha as opções "requestProcessingTime_avg", "requestProcessingTime_maxTime" e "requestProcessingTime_minTime" e clique em "Next"


Seleciona a opção "oracle.dms.name=/soainfra/engines/message_processing/bpel" e clique em "Finish"


Configurando uma View no Dashboard

Volte ao dashboard (http://hostname:port/console/dashboard) em "View List" clique em "New View", vai aparecer em "My View" uma caixa de texto, preencha com "Message Processing"


Vá em "Metric Browser" e execute os passo a baixo:
Selecione o checkbox "Collected Metrics Only"
Irá aparecer "soainfra_message_processing" em "Types" e selecione o mesmo
Clique na seta ao lado do titulo e selecione "New Chart"



Em "Instance" selecione "oracle.dms.name=/soainfra/engines/message_processing/bpel"
Em "Metrics", selecione "requestProcessingTime_avg"
Clique na seta ao lado do titulo e selecione "Add Metric"
Faça o mesmo para as outras duas metricas


Clique em "Start" e rode alguns composites, apó isso verá algo parecido com a tela abaixo:


Pode ser configurados metricas para MDS, ADF, etc... todos disponivel em MBean type.

quarta-feira, 7 de maio de 2014

Manipulando dateTime via xpath no BPEL


 Irei demonstrar algumas maneiras para formatar e manipular data e hora no bpel.

 

current-dateTime


Esta função retorna a data corrente no formato ISO (CCYY-MM-DDThh:mm:ss.sTZD).

Utilização:
xp20:current-dateTime()

 

format-dateTime


Esta função retorna uma string formatada a partir de um formato fornecido.

Utilização:
xp20:format-dateTime(dateTime as string, format as string)
  • dateTime = String da data a ser formatada
  • format = Formato que deseja
 Ex:
xp20:format-dateTime(xpath20:current-time(), '[D01]-[M01]-[Y0001]')

Saída: 
'01-01-2014'

Para formatar o ano, podemos utilizar os seguintes formatos:
[Y0001] – 2014
[Y] – 2014
[Y01] – 14

Para formatar o mês, podemos utilizar os seguintes formatos:
[M01] – 03
[M] – 3
[MNn] - March
[MN] - MARCH
[MNn, *-3] - Mar

Para formatar o dia, podemos utilizar os seguintes formatos:
[D01] – 04
[D] – 4
[FNn] - Friday

Para formatar a hora, podemos utilizar os seguintes formatos:
[H01] – 04
[H] – 4

Para formatar minutos, podemos utilizar os seguintes formatos:
[m01] – 04
[m] – 4

Para formatar segundos, podemos utilizar os seguintes formatos:
[s01] – 04
[s] – 4

Para formatar AM/PM, podemos utilizar os seguintes formatos:
[PN] – PM
[Pn] – Am

 Para formatar GMT, podemos utilizar os seguintes formatos:
[z] -  GMT+03:00

add-dayTimeDuration-to-dateTime


Esta função retorna um novo dateTime com o resultado do valor de duração passado por parâmetro adicionado a data.

Utilização:
xp20:add-dayTimeDuration-from-dateTime(dateTime as string, duration as string)
  • dateTime = String da data a ser adicionada a duração.
  • duration = Duração a ser adicionada (dia, mês, ano, hora, minutos, segundos).
Duração:
P1D - um dia
P7D - uma semana
P10D - dez dias
P1M - um mês
P1Y1M1DT1H - Um ano, um mês, um dia e uma hora
PT5M - 5 minutos
PT10S - 10 segundos

Ex:
xp20:add-dayTimeDuration-to-dateTime(xp20:current-date(), 'P10D')

subtract-dayTimeDuration-from-dateTime


Esta função retorna um novo dateTime com o resultado do valor de duração passado por parâmetro subtraído da data.
 Utilização:
xp20:subtract-dayTimeDuration-from-dateTime(dateTime as string, duration as string)
  • dateTime = String da data a ser adicionada a duração.
  • duration = Duração a ser adicionada (dia, mês, ano, hora, minutos, segundos).
Duração:
P1D - um dia
P7D - uma semana
P10D - dez dias
P1M - um mês
P1Y1M1DT1H - Um ano, um mês, um dia e uma hora
PT5M - 5 minutos
PT10S - 10 segundos

Ex:
xp20:subtract-dayTimeDuration-from-dateTime(xp20:current-date(), 'P10D')

Obs: para as funções de adição e subtração, se o parâmetro de duração for negativo, a função fará o inverso, na adição irá subtrair e na subtração irá adicionar.