Antigas aplicações Oracle Forms/Reports. O que fazer com elas?

Ciclo de vida

Inicio este artigo falando sobre o ciclo de vida das ferramentas de desenvolvimento Oracle. Ciclo de vida, compreende um produto desde sua fase de lançamento, aquisição de maturidade através de inúmeras correções, patchsets e minipatches, até a sua completa substituição por uma nova versão/release, mudança de arquitetura ou o lançamento de um novo produto.

Obsolescência

Atualmente, muitas empresas ainda possuem aplicações grandes e complexas em releases antigos da plataforma Oracle, mais específicamente em Forms/Reports 4.5, 6i ou anterior. Estas versões já encerraram seu ciclo de vida, o que singnifica que suas aplicações estão fora da matriz de suporte e compatibilidade, e que se torna mandatório planejar em seus próximos orçamentos de T.I., investimentos para sua modernização. Oracle declara em seu documento “SOD – Statement of Direction (2009) para ferramentas de desenvolvimento”, que as ferramentas Forms/Reports não serão descontinuadas, porém a Oracle recomenda fortemente que as empresas se mantenham no topo de sua pilha de tecnologia (últimas versões), para garantir a plena estabilidade de seus produtos.

Modernização e Refactoring

A sequência de modernização recomendada ficaria da seguinte forma:
Duas camadas (Client-Server 4.5/6i ou anteriores) -> Três camadas (adição de Middletier em 11g) -> 100% Web/J2EE em ADF 11g.

Para aquelas empresas que pensam em simplesmente modernizar suas aplicações Forms/Reports, o caminho mais adequado, seria um projeto de migração de para a última versão (11g), modificando sua arquitetura de duas para três camadas. Para aquelas que alêm de modernizar suas aplicações, também têm o objetivo de seguir a tendência da tecnologia Oracle, o caminho mais adequado seria um projeto de refactoring (reescrita de parte do código) de suas aplicações para a arquitetura J2EE ADF 11g. A arquitetura ADF 11g utiliza o paradigma MVC (Model-View-Controller), dividindo a lógica da aplicação em camadas distintas: Controle, Modelo e Visual, o que permite o isolamento da lógica de negócios da aplicação da camada visual (front-end). Neste último modelo, o projeto certamente ficaria mais extenso e com custo mais elevado, porém garante um ciclo de vida mais longo e um visual mais leve e moderno às antigas aplicações.

Em resumo, seja qual for o caminho adotado: migrar ou refazer, o ponto é que existem caminhos viáveis para a modernização destas aplicações. É muito importante também optar por um profissional ou consultoria que tenha experiência e casos de sucesso neste tipo de projeto.

Eduardo Arruda – eduardo.arruda@domainconsult.com.br

ADF11g – Fazendo deploy de sua aplicação

O processo de instalar (Deployment) uma aplicação  ADF11g compreende duas etapas:

1) Configurar a conexão entre o JDeveloper 11g e o servidor de aplicações (Fusion Middleware 11g – Weblogic);

2) Verificar Libraries necessárias para a geração do arquivo WAR e a instalação da aplicação;

Entao vamos para a explicação passo-a-passo da primeira etapa:

Configurar a conexão com o Servidor de Aplicações

Fig. 1.1 – Na pasta application server, clicar com o botão direito em Application Servers e em seguida, New Application Server

Application Servers TAB

Fig 1.2- Selecionar Standalone Server

Server Type

Fig. 1.3 -Dar um nome à conexão e selecionar Connection Type: Weblogic 10.3

Connection Name

Fig. 1.4 -Digitar as credenciais do Administrador do Servidor

Server Administrator Credentials

Fig. 1.5 -Informar o Endereço IP do servidor de aplicações e o Dominio Weblogic.

Obs.: O nome do domínio weblogic pode ser consultado através da console do servidor (http://<ip_servidor_weblogic_11g&gt;:<porta>/console)

Server information

Fig. 1.6 -A configuração está pronta para receber a instalação de sua aplicação ADF 11g, clique em finish.

Configuration Done

Agora vamos para a explicação passo-a-passo da segunda etapa:

Realizar a instalação (Deploy) de sua aplicação ADF 11g

Existem duas formas de se fazer o deployment de uma aplicação ADF11g. Uma delas é diretamente via JDeveloper 11g (por isso a explicação detalhada da primeira etapa). A segunda forma é criando um arquivo .WAR e instalando-o diretamente via console do servidor Weblogic. Neste post explicarei como realiza-la diretamente via JDeveloper11g.

Fig. 2.1 -Clicar com o botão direito em ViewerControler e em seguida, Project Properties

Project Properties

Fig. 2.2 -Clicar em Deployment e em seguida, Edit, para configurar o deployment profile.

Deployment File Name

Fig. 2.3 – Definir o nome do arquivo .WAR e o contexto da aplicação.

Obs.: Depois de instalada a aplicação sera acessada em: http://<ip_servidor_weblogic_11g&gt;:<porta>/<contexto_da_aplicacao>/faces/<pagina_principal>.jspx

Name and Application Context

Fig. 2.4 – Clicar em Libraries and Classpath e em seguida, verificar se as bibliotecas abaixo listadas estão disponíveis para aplicação. Caso falte alguma biblioteca, clique em Add JAR/Directory para disponibilizar a biblioteca à sua aplicação. Libraries podem variar de aplicação para aplicação, porém aqui listadas estão as comuns para uma aplicação ADF 11g, verifique se todas estão em seu projeto e depois clique em OK.

Bibliotecas necessárias:

JSF 1.2
JSTL 1.2
JSP Runtime
ADF Page Flow Runtime
ADF Controller Runtime
ADF COntroller Schema
ADF Faces Runtime 11
ADF Common Runtime
ADF Web Runtime
MDS Runtime
MSD Runtime Dependencies
Commom Beanutils 1.6
Commom Logging 1.0.4
Commons Collections 3.1
ADF DVT Faces Runtime
ADF DVT Databinding Runtime
JPS Designtime
Commons Digester 1.7
Java Cache
ADF Faces Databinding Runtime
Trinidad Runtime 11
Oracle JEWT
ADF Common Web Runtime
BC4J Security
BC4J Tester
Resource Bundle Support
Resource Bundle Variable Resolver
JSTL 1.2 Tags
Oracle XML Parser v2
JDeveloper Runtime
SQLJ Runtime
ADF Model Runtime
BC4J Runtime
Oracle JDBC
Connection Manager
BC4J Oracle Domains
Adfm.jar
Adfmweb.jar
Bc4j-mbeans.jar
Bc4jimdomains.jar
Ordhttp.jar
Ordim.jar
Adflibfilter.jar
Ojsp.jar

Verify Jar Libraries

Fig. 2.5 -Clique novamente em ViewerController, em seguida deploy e depois em <sua_applicacao>_ViewerController_webapp1>

Starting the deployment

Fig. 2.6 -Clique em Deploy to Application Server e next.

Deploy to application server

Fig. 2.7 – Selecione seu servidor (que foi configurado inicialmente), next.

Select your server

Fig. 2.8 – Clique em Deploy to selected instances in the domain, em seguida selecione a instância weblogic a receber sua aplicação (default: AdminServer), selecione Deploy as standalone Application e clique next.

Select instance do deploy

Fig. 2.9 -Clicar em finish e aguardar até o final do processo de instalação.

Confirm Deployment

Comentários, dúvidas e sugestões são sempre bem-vindos – Eduardo Arruda

por eduardoarruda Postado em ADF 11g

Instalando BI Publisher no Oracle Fusion 11g (Weblogic 10.3)

O Oracle BI Publisher (anteriormente chamado de XML Publisher), normalmente vem preparado para a instalação sobre uma instância OC4J ou Oracle Application Server, mas quando a instalação é sobre Weblogic, Websphere, Tomcat ou JBOSS, as coisas podem se complicar um pouco mais. Como tive a necessidade de realizar a instalação sobre Weblogic e não encontrei muita coisa que pudesse me ajudar em português, resolvi traduzir um tutorial que me foi de muita ajuda (vide fonte no final do post).

– Crie o usuario BIPUBLISHER no seu banco de dados Oracle (Veja comandos abaixo):

CREATE USER bipublisher
IDENTIFIED BY <pw_bipublisher>
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;

GRANT CONNECT, RESOURCE TO bipublisher;

GRANT CREATE SESSION TO bipublisher;

GRANT CREATE TABLE TO bipublisher;

– Baixe o pacote de instalação do WebLogic 11g na pagina do OTN (http://otn.oracle.com). Após a instalação, utilize o utilitário de configuração para criar um novo domínio do WebLogic para receber a aplicação de BI Publisher.

Weblogic - Criacao do dominio

– O BI Publisher pode ser instalado automaticamente utilizando o Instalador Universal se a instalação for para OC4J ou Oracle Application Server. Se você estiver instalando sobre o WebLogic (Fusion Middleware 11g) , você vai precisar fazer a instalação manualmente. Descompacte o arquivo de download do Oracle BI Publisher (como mostra a seguinte estrutura de pastas).

Estrutura de pastas da instalacao do BI Publisher

– Vá até a pasta manual, nela há tudo o que sera necessário para a instalação:

wls3

– Na pasta:  manual > generic estão os arquivos com extensão WAR e EAR, para esta instalação sera necessario somente o arquivo WAR. Em manual / XMLP esta o repositório do BI Publisher, juntamente com os arquivos de configuração para o Scheduler, dentre outras coisas. Para descompactar o arquivo xmplserver.war, será necessário criar uma pasta dentro do servidor de aplicações que irá conter o aplicativo. No exemplo, uso a seguinte estrutura: /u01/app/oracle/product/xmlpserver/. Copie o arquivo xmlpserver.war da pasta manual > generic para essa nova pasta, como segue:

wls4

Agora, para descompactar o arquivo .war utilize o comando java xvf, desta forma:

cd /u01/app/oracle/product/xmlpserver
jar xvf xmlpserver.war
rm xmlpserver.war

A estrutura final de diretórios ficara assim:

wls5

Voltando para a estrutura de instalação do Oracle BI Publisher, copie a pasta manual > XMLP para dentro da estrutura de pastas acima, de forma que a pasta XMLP fique no mesmo nível da pasta WEB-INF, xdo, etc.

wls6

Dentro da pasta WEB-INF da aplicacao, edite o arquivo: xmlp-server-config.xml, conforme o exemplo:

<?xml version="1.0" encoding="UTF-8"?>
<xmlpConfig xmlns="http://xmlns.oracle.com/oxp/xmlp">
  <resource>
     <file path="${oracle.home}/xdo/repository"/>
   </resource>
</xmlpConfig>

Para:

<?xml version="1.0" encoding="UTF-8"?>
<xmlpConfig xmlns="http://xmlns.oracle.com/oxp/xmlp">
  <resource>
     <file path="/u01/app/oracle/product/xmlpserver/XMLP"/>
   </resource>
</xmlpConfig

É extremamente importante fornecer o caminho do arquivo corretamente.

Para fazer o deployment da aplicação, entre no console da administração do Weblogic (se seu console não estiver em development mode, clique no botao: lock and edit, para habilitar a opcao para a instalacao da aplicacao).

Na pagina de deployment, clique no botao install, e navegue para a pasta onde estao os arquivos da aplicacao BI Publisher, como no exemplo seguinte:

wls7

Em seguida, clique em next, selecione Install this deployment as an application, selecione DD Only como security option e marque I will make this deployment accessible from the following location, em seguida clique em avançar, concluir e depois em salvar.

Agora, a aplicaçao deverá ser exibida da seguinte forma (em deployments):

wls8

Navegue para a página do BI Publisher e efetue o login como Administrator/Administrator em http://localhost:7001/xmlpserver, e voce vera seu repositorio da seguinte forma:

wls9

Como o Oracle BI Publisher utiliza o TOP Link para a camada de persistência, você precisará realizar uma configuração no script de inicialização do WebLogic (<dominio>/bin/startWebLogic.sh) adicionando -Dtoplink.xml.platform=oracle.toplink.platform.xml.jaxp.JAXPPlatform, da seguinte forma:

de:

if [ "${WLS_REDIRECT_LOG}" = "" ] ; then
	echo "Starting WLS with line:"
	echo "${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS}  ${PROXY_SETTINGS} ${SERVER_CLASS}"
	${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS}  ${PROXY_SETTINGS} ${SERVER_CLASS}
else
	echo "Redirecting output from WLS window to ${WLS_REDIRECT_LOG}"
	${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS}  ${PROXY_SETTINGS} ${SERVER_CLASS}  >"${WLS_REDIRECT_LOG}" 2>&1
fi

para:

if [ "${WLS_REDIRECT_LOG}" = "" ] ; then
	echo "Starting WLS with line:"
	echo "${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS} -Dtoplink.xml.platform=oracle.toplink.platform.xml.jaxp.JAXPPlatform ${PROXY_SETTINGS} ${SERVER_CLASS}"
	${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS} -Dtoplink.xml.platform=oracle.toplink.platform.xml.jaxp.JAXPPlatform ${PROXY_SETTINGS} ${SERVER_CLASS}
else
	echo "Redirecting output from WLS window to ${WLS_REDIRECT_LOG}"
	${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS} -Dtoplink.xml.platform=oracle.toplink.platform.xml.jaxp.JAXPPlatform ${PROXY_SETTINGS} ${SERVER_CLASS}  >"${WLS_REDIRECT_LOG}" 2>&1
fi

Em seguida, Reinicie o WebLogic.

Va para a opcao Admin > Scheduler configuration e configure a conexão com o banco de dados (utilize o usuario criado no inicio deste post).

wls10

Teste a conexão e depois clique em Install Schema para a criação das tabelas necessárias.

 

Referência: Tradução e adaptação do texto postado em 22/11/2009 por Mark Rittman em http://www.rittmanmead.com/2009/10/22/installing-bi-publisher-into-weblogic-servier-11g/

Nintendo Wii. Um ótimo presente, mas cuidado com as atualizações !

                Recentemente, presenteei minha filha com o mais novo console da Nintendo, o Wii. Optei por adquirir uma versão desbloqueada (que utiliza o mod-chip D2Ckey) para executar jogos backup além dos jogos originais. Me surpreendi com a interatividade deste video-game, que na minha opinião é o console ideal para todas as idades.
Mas como nem tudo são flores, resolvi rodar o jogo Mario Tennis (PAL) que baixei da internet via Torrent e me deparei com uma tela de atualização. Ingênuamente, confirmei a atualização e descobri posteriormente em blogs na internet que este procedimento poderiar ter “brickado” minha console. “Brickar“, vem da palavra “brick” que quer dizer bloco ou tijolo, que é no que sua console se transforma quando você realiza algum procedimento inadequado em consoles Nintendo Wii. Procedimento, que no meu caso foi rodar um jogo da uma região diferente da original de minha console (Regiao original da console: NTSC USA / Região do jogo: EUR PAL ).
Felizmente (ou infelizmente), com esta atualização consegui “semi-brickar” a console, o que significa que eu não teria mais acesso as funções de configuração e acesso a internet. Após ter lido este post até aqui, você deve estar se perguntando: Mas e daí? Em que me ajudaria este post ?
Bom, resolvi escrever este post, após muito pesquisar em blogs e foruns de discussão uma forma de resolver este “semi-brick”, fazendo o downgrade do menu do Wii de 3.4 ou 3.3V2, para 3.2.

Segue abaixo os passos que realizei e suas fontes de referência:

ATENÇÃO:

  • O autor deste blog não se responsabiliza por uso inadequado destas informações, bem como a não observancia de todos os detalhes deste texto. 
  • Esse texto NÃO SE APLICA a consoles Wii com certos modelos de placas-mãe. Olhe na etiqueta que fica no seu console o número serial do mesmo. Se o serial do seu Nintendo Wii começar com LU64 esse tutorial –NÃO– É COMPATÍVEL COM SEU CONSOLE. Caso você prossiga, seu console será bricado.
  • Mantenha seu PC ligado e certifique-se que é possivel ler o SDCard a partir dele. Alguns procedimentos deverão ser realizados no PC.

Passo 1) Adquira um SDCard com pelo menos 2 GB, e formate-o (não deixe nenhum arquivo dentro dele).

Passo 2) Instalar o HomeBrewChannel (sem WI-FI)

Material necessário:

Procedimentos:

   1. Baixe o pacote de instalação e descompacte as 3 pastas (apps, private e WAD ) na raiz do seu SD Card;
   2. Copie o arquivo boot.dol da pasta CMDVDX34 para a raiz do seu SD Card;
   3. Coloque seu SD no Wii, vá até >> Data Management>> Channels >> SD. Uma mensagem será exibida. Selecione “YES”;
   4. O programa CMDVDX34 será aberto. Escolha a opção: “Downgrade IOS35” e aguarde. Ao término do processo, pressione o botão HOME duas vezes para sair do programa;
   5. Tire o SD do seu console e coloque-o no PC. Delete o arquivo boot.dol da raiz do SD, abra a pasta Wad Manager que está dentro da pasta Apps e copie o boot.dol que está ali para a raiz do seu SD card;  
   6. Coloque o SD Card no seu console e vá novamente em >>Data Management >> Channels >> SD. Selecione “YES” e o Wad Manager será iniciado;
   7. Instale o arquivo “IOS35.wad”. Depois da instalação, feche o Wad Manager pressionando HOME duas vezes;
   8. Reinicie seu Wii. Abra o Wad Manager novamente ( >> Data Management >> Channels >> SD (YES)) e dessa vez instale o arquivo “CIOSv7.wad”. Aguarde a instalação terminar e saia do Wad Manager;
   9. Tire o SD do seu console e coloque novamente no PC. Apague o arquivo boot.dol da raiz do SD, vá até a pasta apps e dentro dela até a pasta IOS Downgrader, copie o arquivo boot.dol que está ali para a raiz do seu SD;  
  10. Coloque o SD no Wii e vá mais uma vez em >>Data Management >> Channels >> SD. Selecione “YES” e o IOS Downgrader será iniciado. Confirme com A e aguarde o downgrade;
  11. Pressione qualquer botão para reiniciar seu console. Retire o SD, coloque no PC mais uma vez e apague o arquivo boot.dol da raiz do mesmo. Agora, copie novamente o boot.dol da pasta do Wad Manager para a raiz do seu SD;
  12. Por fim, coloque o SD novamente no seu console, vá em >> Data Management >> Channels >> SD, confirme com YES e abra o Wad Manager. Dentro dele, dessa vez instale o “HBC.wad” e aguarde;
  13. Depois de todo o processo, saia dos programas e reinicie seu Wii, o Homebrew Channel vai estar instalado 🙂

Este processo é diversas vezes mais complicado do que se você tiver internet no seu console. Caso você tenha, tente o outro método já que com ele as chances de funcionar são bem maiores.

Passo 3)
  
   Procedimentos:
  
   1. Copie para a pasta apps do SD: o conteúdo de 3.4-3.3V2 A 3.2_offline\apps
   2. Copie os arquivos .WAD (de 3.4-3.3V2 A 3.2_offline\WAD) para a pasta WAD do SD
   3. Ligue seu Wii e va até o HomeBrewChannel >> “WAD Manager” (não CONFUNDIR com o CUSTOM WAD MANAGER).
   4. Dentro do Wad Manager instalar o “IOS16-64-v257-prod.wad” (para instalá-lo aperte o botão +), quando terminar reinicie o Wii apertando o botão home.
   5. Agora novamente com o HomebrewChannel abra o “CUSTOM WAD MANAGER” ( Atenção: CUSTOM WAD MANAGER !!! ). Instale o “cIOS249-v7.wad” (para instalá-lo aperte o botão +), quando terminar reinicie o Wii apertando o botão home
   6. Novamente com o HomebrewChannel abra o “WAD Manager”.
   7. Instale com o wad manager o arquivo “IOS30-64-v1040.wad” (para instalá-lo aperte o botão +)
  
   ESSE PASSO É MUITO IMPORTANTE, JA QUE SE INSTALAR UM SYSTEM MENU DE OUTRA REGIÃO VOCÊ VAI BRICAR SEU WII!!
   8. Instale com o Wad Manager o arquivo da mesma região do seu Wii (para instalá-lo aperte o botão +)  
   SystemMenu-v288.wad se tem um console ntsc-j (Japones)
   SystemMenu-v289.wad se tem um console ntsc-u (Americana)
   SystemMenu-v290.wad se tem um console pal (Europea)
  
   Quando terminar de instalar, reinicie o Wii apertando o botão home. Neste momento o downgrade para 3.2 ja foi realizado, agora só falta o downgrade dos IOS
  
   9 – Abra de novo o Wad Manager e instale na ordem em que aparecem os seguientes arquivos (para instalar aperte o botão +):
  
   IOS11-64-v10.wad
   IOS12-64-v6.wad
   IOS13-64-v10.wad
   IOS14-64-v257.wad
   IOS15-64-v257.wad
   IOS17-64-v512.wad
   IOS20-64-v12.wad
   IOS21-64-v514.wad
   IOS22-64-v772.wad
   IOS28-64-v1288.wad
   IOS31-64-v1040.wad
   IOS33-64-v1040.wad
   IOS34-64-v1039.wad
   IOS35-64-v1040.wad
   IOS36-64-v1042.wad
   IOS37-64-v2070_Patched.wad
   IOS38-64-v3609_Patched.wad
   IOS53-64-v4113_Patched.wad
   IOS55-64-v4633_Patched.wad
   IOS9-64-v516.wad
  
   Agora seu wii ja está com o firmeware 3.2 (esse é o momento em que você irá configurar a conexão Wi-fi, podendo mais tarde atualizar seu wii pela internet) e com todos os IOS com o bug trucha restituido (inclusive os IOS37, 38, 53 e 55).

 
Agradecimentos aos autores dos tutoriais e informações dos sites citados como referência.

Referências:
http://www.newsinside.org/tutoriais/wii/como-instalar-o-homebrew-channel-no-wii-com-firmware-40-sem-wifi (Como instalar o Homebrew Channel no Wii com firmware 4.0 sem WiFi)
http://forum.outerspace.ig.com.br/showthread.php?t=218347 (Downgrade Wii 3.4 / 3.3 para 3.2 sem internet (Offline)

por eduardoarruda Postado em Gadgets

HTC Touch Pro

Adquiri recentemente um Smartphone da empresa HTC (HTC Touch Pro). O Design do aparelho é nota 10. Um ótimo aparelho para quem quer um “tudo-em-um”, ele possui uma boa câmera, WI-FI, um teclado externo QWERTY, um touch screen tão sensível quanto o do IPHONE. Mas como nem tudo são flores, tive alguns problemas e gostaria de compartilhá-los para que pessoas que também o adquiriram não se desencoragem. Apesar dos problemas que encontrei,é um ótimo aparelho.

1º Para resolver algums problemas de funcionalidades

é necessário atualizar o ROM (que pode ser baixado diretamente do site da HTC em http://www.htc.com/www/support.aspx). Selecione o modelo do aparelho e depois na pasta software downloads, depois procure o link  HTC Touch Pro ROM update. Para atualizar o ROM é bastante simples, mas não esqueça de carregar a bateria do aparelho, pois é pré-requisito ter pelo menos 50% de carga na bateria.

2º Para fazer o aparelho conectar usando a rede 3G da TIM, via HDSPA não funciona direito (fonte: PALMFORUM)

Vá até settings>phone>band> select your network type ( deixar AUTO ) > Select your GSM/UMTS band ( deixar AUTO ), depois vá  até settings>connections>advanced Network> HSDPA/HSUPA ( deixar Disable ) > GPRS ( deixar PAP ). Feito isto,
reiniciar o aparelho, e pronto ! Antes aparecia o “H”, hoje não aparece mais. Fica a maior parte do tempo em 3g e quando oscila o sinal cai para “E” (EDGE), muito raramente em “G” (GPRS).

3º E por último a mais complexa das configurações. Como fazer funcionar o GPS interno

Primeiro: Atualizar o QuickGPS. Segundo o manual, o QuickGPS é um software que permite a conexão mais rápida entre o GPS interno do aparelho e os satélites, mas para isto, periódicamente você precisa fazer o download das configurações.

Pagina Manual HTC Touch Pro

Pagina do Manual do HTC Touch Pro

Vamos fazer o que sugere o manual:

cel_post_02

cel_post_03


Feita a atualização do QuickGPS. Agora faça o download dos seguintes programas:
Microsoft .NET Compact Framework 3.5 (Advanced Configuration Tool vai precisar disto)
Advanced Configuration Tool 3.3
Total Commander 7.04a

No Advanced config 3.3

  1. disable A-GPS
  2. disable GPS logging
  3. logfile name must be empty
  4. old logfile name must be empty
  5. maximum size of logfile must be 0
  6. delete the files :
    \windows\GPSLogFile.txt and \windows\GPSLogFileBack.txt

As mudanças acima, são necessárias para habilitar o uso do GPS.

Editar o registro com o TotalCommander (Para tunning do GPS)
Em  HKLM\SYSTEM\CurrentControlSet\GPS Intermediate Driver\

  • Drivers\GpsOneDevice\PollInterval -> 100 (default is 1000)
  • Drivers\InputBufferSize -> 512 (default is 4096)
  • Drivers\OutputBufferSize -> 512 (default is 4096)
  • Drivers\SleepOnNoData -> 100 (default is 1000)
  • Multiplexer\MaxBufferSize -> 512 (por default esta chave não existe, você vai ter que criá-la)

Abrindo o Advanced Config

O A-GPS estará desabilitado por default. Caso não esteja, desabilite-o

O A-GPS estará desabilitado por default. Caso não esteja, desabilite-o

Vá até Log File option. Double click, e mude a opção para No Logging

Vá até Log File option. Double click, e mude a opção para No Logging

Então, delete a entrada Old Log File. Max. log file size é configurado como 0 (zero) by default. Assim é como ficará a tela de configuração final. Não se esqueça de ao fechar este programa, reiniciar o aparelho para que as mudanças tenham efeito.

Verificar se as configurações ficaram assim e fechar o programa.

Verificar se as configurações ficaram assim e fechar o programa.

Agora vamos abrir o Total Commander para editar o registro

Total Commander

Total Commander

Agora vamos editar o registro. Primeiro, double click na pasta \\Plugins.

… E você vai ver o seguinte

Navegue até este local HKLM\SYSTEM\CurrentControlSet\GPS Intermediate Driver\. Inicie por HLKM.

e faça todo o caminho até  HKLM\SYSTEM\CurrentControlSet\GPS Intermediate Driver\Drivers\GpsOneDevice\, editar a chave PollInterval neste local. Double click para editar a chave e atribuir o novo valor.

Repita o mesmo para todas as outras chaves, abaixo está o resumo do que precisa ser editado e seus respectivos valores.

  • Drivers\GpsOneDevice\PollInterval -> 100 (default is 1000)
  • Drivers\InputBufferSize -> 512 (default is 4096)
  • Drivers\OutputBufferSize -> 512 (default is 4096)
  • Drivers\SleepOnNoData -> 100 (default is 1000)

A última chave, que é  Multiplexer\MaxBufferSize, não existe você terá que criá-la. Para isso, faça o seguinte: Clique em +Add Value+

Especifique o nome da chave: MaxBufferSize. Certifique-se que DWORD está selecionado como o tipo adequado para esta chave e clique OK para confirmar.

O valor para a chave será requisitado, informe 512 como decimal e clique OK.

A nova chave recém criada, ficara assim:

Pronto seu GPS interno está configurado ! Todas as alterações de funcionais e de performance foram realizadas. Saia do programa e não se esqueça de reiniciar seu aparelho.

E para finalizar este post, espero que este documento seja de alguma ajuda aos novos proprietários de HTC Touch Pro. Afirmo que para que tudo funcione corretamente, todos os passos descritos acima, precisam ser seguidos com muita calma e cuidado.

Fique à vontade para fazer seus comentários.

por eduardoarruda Postado em Gadgets

Exemplo de uso do componente XMLDB para a carga de arquivos XML para tabelas Oracle

A Oracle implementou o componente XMLDB (pacote de funções para a manipulação de arquivos XML) desde pelo menos a versão 9i do banco de dados. Esta “feature” do banco de dados pode ser bastante útil quando se precisa fazer a carga de arquivos do tipo XML para tabelas Oracle, para posterior leitura e manipulação dos dados. Vou tentar exemplificar (sem a pretensão de utilizar todo o poder do XMLDB) de uma forma bastante simplificada como se realiza a carga de um arquivo XML e posteriormente a leitura de suas TAGS através de uma instrução SQL.

1º) Verificar se o componente XMLDB está instalado no banco de dados

select comp_name from dba_registry where comp_name like ‘%XML%’;

COMP_NAME
Oracle XML Database

2º) Criar um diretório no banco de dados apontando para o diretório físico (dentro do servidor de banco de dados), onde está o arquivo XML

SQL>create or replace directory XMLDIR as ‘/u01/xml’;

3º) Criar uma tabela para armazenar o arquivo XML a ser carregado

SQL> create table INFO_XML (
id number primary key,
data_atualizacao date default sysdate,
conteudo XMLType);

4º) Criar um procedimento para realizar a carga do arquivo para a tabela INFO_XML

SQL>

CREATE OR REPLACE PROCEDURE load_xml ( p_id IN NUMBER,
p_filename IN VARCHAR2) AS
l_bfile BFILE := BFILENAME( ‘XMLDIR’, p_filename);
targetfile BFILE;
l_clob CLOB;
BEGIN

targetfile := l_bfile;

DBMS_LOB.createtemporary (l_clob, TRUE);

DBMS_LOB.fileopen(targetfile, DBMS_LOB.file_readonly);
DBMS_LOB.loadfromfile(l_clob, targetfile, DBMS_LOB.getlength(targetfile));
DBMS_LOB.fileclose(targetfile);

INSERT INTO INFO_XML (
id,
data_atualizacao,
conteudo
)
VALUES (
p_id,
sysdate,
XMLTYPE.createXML(l_clob)
);
COMMIT;

DBMS_LOB.freetemporary (l_clob);
END;
/

5º) Realizar a carga do arquivo XML para dentro da tabela

SQL>BEGIN
load_xml(p_id=>1, p_filename => ‘xml_teste.xml’);
END;

6º) Verificar o conteudo carregado para a tabela INFO_XML

SQL> select conteudo from info_xml;

CONTEUDO
——————————————————————————–

1
EDUARDO ARRUDA
RUA TESTE, 598
VILA OLIMPIA
SAO PAULO
SP
03233-999

7º) Selecionar o conteúdo da tabela INFO_XML no formato de colunas

Resultado da tabela INFO_XML (formatado em colunas)

Se o arquivo XML possuir uma estrutura com mais de uma linha de PESSOA e a tag principal for TABELA_PESSOA (conforme o formato abaixo)

1
EDUARDO ARRUDA
RUA TESTE, 598
VILA OLIMPIA
SAO PAULO
SP
03233-999

2
EMILIA SHIDA
RUA TESTE, 999
BUTANTA
SAO PAULO
SP
04440-000

O comando SQL para a recuperação das informações no formato de tabela Oracle seria o seguinte:

select ExtractValue( value( pes ) , ‘/PESSOA/ID’ ) ID,
ExtractValue( value( pes ) , ‘/PESSOA/NOME’ ) NOME,
ExtractValue( value( pes ) , ‘/PESSOA/ENDERECO’ ) ENDERECO,
ExtractValue( value( pes ) , ‘/PESSOA/BAIRRO’ ) BAIRRO,
ExtractValue( value( pes ) , ‘/PESSOA/CIDADE’ ) CIDADE,
ExtractValue( value( pes ) , ‘/PESSOA/ESTADO’ ) ESTADO,
ExtractValue( value( pes ) , ‘/PESSOA/CEP’ ) CEP
from info_xml, TABLE( XMLSequence( Extract ( conteudo, ‘/TABELA_PESSOA/PESSOA’ ) ) ) pes
order by 1

Chamada de relatórios Discoverer 10g em aplicações WEB

Recebi recentemente a missão de fazer a chamada de relatórios desenvolvidos via discoverer 10g em um portal desenvolvido pela empresa em Oracle PL/SQL WEB que está em outro servidor. O primeiro desafio foi, como fazer duas aplicações que utilizam mecanismos de autenticação diferentes possam conversar entre si. A solução adotada, segue descrita passo-a-passo abaixo. Não sei se esta é a melhor forma de resolver este problema, mas neste caso foi a alternativa que melhor se adaptou ao problema.

1º Passo: Acessar o Enteprise Manager – Instância Middle e clicar em Discoverer

discov11

2º Passo: Clicar na pasta Administração e em seguida no link Conexões Públicas.

discov2

3º Passo: Em Conexões Publicas, clicar no botão Criar Conexão.

discov31

4º Passo: Digitar as informações necessárias para a conexão com sua EUL, lembrando de deixar a senha em branco conforme a figura abaixo.

discov4

5º Passo: conectar-se ao discoverer viewer e capturar o link de seu relatório. O link original é mais ou menos assim:

http://<seu_aplication_server>:<porta>/discoverer/app/open?event=openWorksheet&worksheetName=<NOME_DO_RELATORIO>%2F1&stateStr=eNrtktFu2yAUhl8GW5tQIuO40Xrhq07dVVWpaa8jDMQ4wcYBCnaevscmkbxV615gvuBHPz/nHD4ZhZOVDiV5wf2eW9Ak356V3Q9JTopk8/PV4Fbzd6XXr6CYab4IbCDwqJWkmKyfIIXPDiLU1BRLbSjujbCiw7u3J7h0aCE9tGpxn/zWYK7ABQyxpTrA0YEqKxbxuz/beaquxW$R/HNFXdlFIPsciG$i5rxoybn1woBBZjSwDKcVaRUG1za6uwSyzgI$jQP3uKKXkIVx6Bn2cBCO43DkfoRLASoX15pF/R/xXxErNnMB1K76ErarxqFqrHKTMKkn4jPwq3mcI5G2jLBha1uQLLo37$tO9b9bVU09r6ui4U5ityKXcL/dTpGqkaKppYsm$bGJ5i9DeSM6h5m8/SexyLG$jR38NDSBb6YxPwGxDqWeudJ6nrLuVLLDnpKsQLRHE8g==&stateID=

6º Passo: Remover o &stateID da URL acima e adiciona-lo á sua aplicação.

A remoção do parâmetro stateID, da URL do seu relatório, fara com que o Discoverer Viewer 10g verifique se o usuário efetuou a conexão antes de exibi-lo. Caso a conexão não tenha sido realizada, será solicitada a senha do usuário para a conexão ao Discoverer Viewer. Esta senha será solicitada uma única vez por sessão, ou seja, uma vez digitada, nas próximas chamadas do relatório a senha não será mais requisitada. Ela somente voltará a ser requisitada quando o browser na sessão corrente for fechado.