Documente Academic
Documente Profesional
Documente Cultură
NET on Linux
Sybase nos dio con PB11 lo que hace mucho tiempo esperbamos los desarrolladores; la posibilidad de tomar una aplicacin creada en arquitectura cliente/servidor, y convertirla en una aplicacin web, casi sin tener que mover el cdigo, y lo me or es sin usar servidores de aplicaciones! "na ve# lista nuestra aplicacin web$orms lo primero que pensamos es que tenemos nuestra aplicacin %multiplata$orma& y desde cualquier sistema operativo podrn usar nuestra aplicacin! Pero la $elicidad termina cuando vamos a una maquina linu' a ver nuestro sistema en web!!!!abrimos el (eb Browser y digitamos la ")*!!!!! y nos ponemos a llorar; porque ni siquiera sale bien la ventana que pide el usuario y el password! +mag,nese ahora como e ecutar una aplicacin windows en linu'!!! +mposible- .o, este articulo pretende dar indicaciones puntuales para poder e ecutar aplicaciones hechas en PowerBuilder 11 sobre sistema operativo *inu'! Para organi#ar la in$ormacin mas $cilmente he dividido el articulo en dos partes, la primera es como e ecutar una aplicacin PowerBuilder web$orm en linu' y la segunda parte como e ecutar una aplicacin PB cliente servidor en linu'!
Aplicacin Web For ! "#ili$an%o opera &er!ion '()* b"il% ++, !obre lin" .o $unciona el chec0bo' *os radiobuton $uncionan correctamente 3l dropdown listbo' no $unciona, no despliega nada *os edit mas0 no $uncionan 3l date pi0er no $unciona, recarga la pagina y no hace nada el verical scroll bar $unciona correctamente el hori#ontal scroll bar $unciona correctamente 3l picture bitton, no muestra la imagen *os tab pages no $uncionan el list bo' no $unciona el derecho no $unciona Pens@ entonces que ese navegador no era el adecuado, entonces prob@ con un browser mas conocido para mi , use $ire$o' que yo uso bastante en windows :versin que utilice en linu' $ue la 1!2!2!4; pero los resultados no $ueron tampoco nada alentadores, bsicamente las pantallas salen descon$iguradas, y ni siquiera los edit mas0 $uncionan, algunos te'tos salen cortados y algunos controles como los listbo' no $uncionan con clic :como deber,a; sino con doble clic!
3l resumen de el uso de la aplicacin con $ire$o' es este Aplicacin Web For ! "#ili$an%o .ire.o- &er!ion ).,.,.+ !obre lin" no $unciona el chec0bo' los radiobuton aparecen sin te'tos, al hacer clic0 encima del radio button aparece el te'to cortado 3l dropdown listbo' no $unciona, no despliega nada *os edit mas0 no $uncionan 3l date pi0er no $unciona, recarga la pagina y no hace nada el vertical scroll bar no $unciona el hori#ontal scroll bar no $unciona 3l picture bitton, no muestra la imagen *os tab pages no $uncionan el list bo' no de a seleccionar con un clic0, $unciona con doble clic0 el derecho no de a seleccionar con un clic0, $unciona con doble clic Auy desmotivado por lo que vi, conclu, que las aplicaciones web hechas en PowerBuilder con !.3B no sirven para otras plata$ormas di$erentes, a windows! Sin embargo no me di por vencido y busque la solucin que para mi $unciono muy bien LA SOLUCION 3n vista que los navegadores %nativos& de *inu' no dan los resultados necesarios, entonces lo que se hacer es utili#ar el browser recomendado, es decir instalar el
In#erne# E-plorer sobre *inu'! Cl principio parece una locura pero despu@s de investigar un poco me encontr@ con un proyecto brasilero llamado IE! / Lin"- que hace bastante tiempo implemento el +nternet 3'plorer para *inu' con un script de $cil instalacin :http?//www!tatan0a!com!br ;! Cl ver su descripcin lo que me di cuenta es la clave para poder e ecutar +nternet 3'plorer era tener instalado (+.3! Cl averiguar que era (+.3 encontr@ que (ine is an 6pen Source implementation o$ the (indows CP+ on top o$ D, 6penE*, and "ni'! (ine as a compatibility layer $or running (indows programs! (ine does not require Aicroso$t (indows, as it is a completely $ree alternative implementation o$ the (indows CP+ consisting o$ 122F nonGAicroso$t code, however (ine can optionally use native (indows 9**s i$ they are available! :http?//www!winehq!org/ ; Para instalar +3 primero veri$ique desde una consola de comandos que este instalado (+.3 y cabe'tract as,? rpm Hq wine rpm Hq cabe'tract Si estn instalados saldr la versin la cual tiene instalada! Si no tiene instalado wine, puede ba arlo de http?//www!winehq!org/site/download y el cabe'tract puede ba arlo de http?//www!cabe'tract!org!u0/ ! 3n mi caso yo tenia cabe'tract pero no tenia instalado (ine entonces lo ba e y lo instale instale as,? )pm Hi wineG2!=!42G1!<!iIJ4!rpm 7a teniendo (ine instalado, lo que hice $ue instalar el +nternet e'plorer sobre *inu', inicialmente utilice +3s K *inu' , pero luego descubr, que e'iste una herramienta gra$ica que permite hacer mas $cil aun esta instalacin y la de otros productos sobre *inu' 0&er in!#alan%o !o.#1are 1in%o1! en Lin"-2. Lale la pena aclarar que para instalar +nternet e'plorer se debe contar con una licencia de (indows :ver http?//www!tatan0a!com!br/iesKlinu'/page/*egalMnotices ;! Para instalar el +3s K *inu' lo puede hacer desde una consola de comandos de *inu' asi?
wget http://www.tatanka.com.br/ies4linux/downloads/ies4linuxlatest.tar.gz tar zxvf ies4linux-latest.tar.gz cd ies4linux-* ./ies4linux
7 listo! .o es di$,cil, ya quedo instalado y $uncionando el +nternet 3'plorer en *inu'! Chora lo que quedaba era ver mi aplicacin sobre *inu' corriendo con el Browser de Aicroso$t! Para e ecutarlo lo hice desde una consola de comandos as,? (ine ie'plorer!e'e 6 desde el modo gra$ico busca en la seccin de +nternet el Ccceso directo al +nternet 3'plorer asi?
*uego accedemos a nuestro sitio de traba o y vemos nuestra aplicacin correctamente en una ventana como la siguiente?
Cll, los controles como los edit mas0 , los calendarios, list bo' y demas controles $uncionaron correctamente! 3n conclusin para e ecutar una aplicacin PB web /orms correctamente desde *inu' todav,a no es posible utili#ando /ire$o' o 6pera, pero si es posible utili#ando +nternet 3'plorer para *inu'! 3n mi caso particular he instalado +3 4 en las estaciones *inu', que usan mi aplicacin y utili#arla correctamente, aunque todav,a e'ist,an peque8os detalles gr$icos la $uncionalidad se soluciono a un 122F pues ya todos los controles $uncionaron correctamente!
haci@ndole clic derecho encima del archivo wineGdoorsG2!1!1G1!i<J4!rpm que descargamos :en el caso de open suse;, o desde una consola puede instalarlo )pm Hhiv wineGdoorsG2!1!1G1!i<J4!rpm 9e cualquiera de las dos $ormas podemos instalar el wine doors :tenga en cuenta que adems de wine tiene algunos requerimientos de so$tware;! "na ve# instalado usted lo e ecuta y aparece una pantalla como la siguiente donde podemos seleccionar cual aplicacin vamos a instalar sobre wine!
+nicialmente instalamos los componentes bsicos como el mdac, el internet e'plorer, para no tener luego dependencia $altantes a la hora de e ecutar nuestro programa! *a instalacin de estos programas en (ine doors es muy sencilla, simplemente se hace clic encima del programa que se desea instalar, y se hace luego clic en el botn aplicar! 7a con esto comien#a la instalacin del so$tware seleccionado! 3s por eso que es mas $cil con esta herramienta instalar el +nternet 3'plorer, y en general el so$tware para correr en (ine es mas $cil con esta herramienta! *uego desde PowerBuilder en una maquina (indows creamos un paquete para instalar los runtimes de PowerBuilder, utili#ando la herramienta para esto en Program $iles/sybase/powerbuilder 11/PowerBuilder runtime pac0ager, esta herramienta generara un archivo de e'tensin msi para instalarlo, 3ste archivo lo copiamos al cd o memoria usb o medio electrnico con el cual vamos a instalar la aplicacin en las estaciones linu'! *uego de haber generado el e ecutable de nuestra aplicacin copiamos nuestra aplicacin :e ecutable y dlls o pbds; al medio magn@tico donde ya ten,amos previamente el runtime de PB :yo lo hice a trav@s de una memoria "SB, pero podr,amos copiarlo directamente desde la red local;! 7a teniendo el runtime y el e ecutable los lleve a el equipo linu' y cpielos en una carpeta, por e emplo /home/myuser/e'amplepb! Primero instale los runtimes de PowerBuilder! Para en el wine doors en el men> $ile, haga clic en la opcin install $rom cd, y all, haga clic en browse para buscar de la carpeta /home/myuser/ e'amplepb y seleccionamos y corremos el programa msi de instalacin del runtime de PB11!
3l siguiente paso es instalar los controladores de la base de datos o en este caso instalar la base de datos que vamos a usar :Sql Cnywhere;! Para esto insertamos el P9 de PowerBuilder en la maquina *inu' e instalamos el SN* anywhere, usando wine doors,
usando tambi@n la opcin instalar desde un cd! 3n mi caso instale una base de datos sql anywhere =, como se ve en la .i3"ra.
*uego si es necesario podemos a ustar la con$iguracin del 69BP en (+.3 usando el 69BP Cdministrador! /inalmente como *inu' es case sensitive entonces debemos renombrar dos archivos que el busca a may>sculas, para ello puede correr el siguiente comando en la carpeta donde instalo el runtime de PB! .ormalmente es la misma carpeta del usuario :/home/myusr/!wine/driveMc/program $iles/sybase/shared/power builder? Pp Pbvm11!dll PBLA11!9** Pp Ctl51!dll CB*51!9** *uego desde una consola de comando podemos e ecutar nuestra aplicacin usando wine as,; (ine /home/myuser/appe'ample!e'e 7 all, podremos ver nuestra aplicacin e ecutando cobre *inu'Ras,
Siguiere traba ando en esto pero, por ahora podemos traba ar en aplicaciones PB en *inu' sin problema! 6scar
L3)S+S. 3. +.E*3S
T$e %ro&le'
Bo run a web application and made with PowerBuilder! .et (eb $orms on *inu' we must ta0e into account various aspects! /irst o$ all we must bear in mind that asp' pages and others generated through the $ramewo0 1!2 are basically designed to run on microso$t +nternet 3'plorer, pre$erably version 4 or 5! Bhe problem then is to see the application correctly with browsers TnativeT *inu', such as /ire$o' or 6pera! + did a small application to test the compatibility environment in web controls most common, as 9atawindows, chec0bo', radiobuttons, edit mas0 among others :see picture;, and obviously the conduct in (indows with +nternet 3'plorer 4 or 5 but i$ we thin0 o$ a web application, one hopes that this is multiplat$orm and can use it in other operating systems such as *inu'! Bo see how it wor0s on *inu', access the application $rom a *inu' 6pensuse 12!< this time using the 6pera browser :version =!1< build 442;, where the results were surprising, but surprising $or the bad, because nothing wor0ed as it should, only chec0s that were operated radiobuttons and vertical and hori#ontal scroll bar, the other controls have not wor0ed!
(eb applications using /orms opera version =!1< build 442 on linu' l does not wor0 chec0bo' l radiobuton wor0ing properly l Bhe dropdown listbo' does not wor0, does not display anything l edit mas0 do not wor0 l Bhe date Pi0e does not wor0, reload the page and does nothing l verical the scroll bar wor0ing properly l the hori#ontal scroll bar wor0ing properly l Bhe picture Bitton, not pictured l Bhe tab pages do not wor0 l the list bo' does not wor0 l law does not wor0 + thought then that this was not the proper browser, then tried a browser with more 0nown $or my use $ire$o' that + use a lot in windows :version that was used in the *inu' 1!2!2!4; but results were not encouraging either nothing, basically decon$iguration screens leave, and even edit mas0 wor0, leaving some cut and some te'ts as the listbo' controls do not wor0 with clic0s :as it should; but with doubleGclic0!
Bhe summary o$ the use o$ this application is $ire$o' (eb applications using /orms $ire$o' version 1!2!2!4 on *inu' l does not wor0 chec0bo' l radiobuton appear without the te'ts, by clic0ing the radio button appears above the te't cut l Bhe dropdown listbo' does not wor0, does not display anything l edit mas0 do not wor0 l Bhe date Pi0e does not wor0, reload the page and does nothing l the vertical scroll bar does not wor0 l the hori#ontal scroll bar does not wor0 l Bhe picture Bitton, not pictured l Bhe tab pages do not wor0 l the select list bo' does not leave with a clic0, wor0s with doubleclic0 l law leaves no selection with a clic0, wor0s with doubleGclic0 Lery discouraged by what + saw, + concluded that web applications made with PowerBuilder! .3B is not used $or other plat$orms di$$erent to windows! But + do not up and $ind the solution that wor0ed very well $or me
T(E SOL"TION
Eiven that browsers TnativeT *inu' does not give the necessary results, then what is done is to use the browser recommended, namely install +nternet 3'plorer on *inu'! Ct $irst it seems cra#y but a$ter a little research + $ound a pro ect called Bra#ilian +3S K *inu' $or quite some time implement +nternet 3'plorer $or *inu' with an easy installation script :http?//www!tatan0a!com!br; ! Seeing his description what + reali#ed is the 0ey when you run +nternet 3'plorer was to have installed (in! Ct $ind out that wine was $ound that (ine is an 6pen Source implementation o$ the (indows CP+ on top o$ D, 6penE*, and "ni'! (ine as a compatibility layer $or running (indows programs! (ine does not require Aicroso$t (indows, as it is a completely $ree alternative implementation o$ the (indows CP+ consisting o$ 122F nonGAicroso$t code, however (ine can optionally use native (indows 9**s i$ they are available! :http?//www!winehq!org/; Bo install +3 $irst chec0 $rom a console command that this wine and cabe'tract installed as $ollows? rpmGq (ine rpmGq cabe'tract +$ they are installed the version which will have installed! +$ wine is not installed, you can download it $rom http?//www!winehq!org/site/download and cabe'tract can download it $rom http?//www!cabe'tract!org!u0/! +n my case + had cabe'tract but had not installed (ine then download and install the install as $ollows? )pmGi wineG2!=!42G1!<!iIJ4!rpm Since ta0ing (ine installed, what + did was install +nternet 3'plorer on *inu', initially using *inu' +3S K, but then + discovered that there is a graphic tool that allows even easier this $acility and other products on *inu' :see installing windows so$tware *inu';! +t is worth clari$ying that to install +nternet 3'plorer should have a license $or (indows :see http?//www!tatan0a!com!br/iesKlinu'/page/*egalMnotices;! Bo install the +3S K *inu' can do $rom a console *inu' command li0e this? wget http?//www!tatan0a!com!br/iesKlinu'/downloads/iesKlinu'Glatest!tar!g# tar #'v$ iesKlinu'Glatest!tar!g# V P9GiesKlinu' !/iesKlinu'
Cnd ready! +t is not di$$icult, + am already installed and running +nternet 3'plorer on *inu'! .ow what remained was to see my application running on *inu' with the browser $rom Aicroso$t! Bo run + did $rom a console command? (ine ie'plorer!e'e
6r $rom loo0ing at how graphic section o$ the +nternet Cccess to the +nternet 3'plorer li0e this?
Bhen agree to our wor0 site and see our application correctly in a window li0e this?
Bhere controls such as edit mas0, schedules, list bo'es and other controls $unctioned properly! +n conclusion to launch an application PB (eb /orms correctly $rom *inu' is not yet possible using /ire$o' or 6pera, but i$ possible using +nternet 3'plorer $or *inu'! +n my particular case + installed +3 4 on *inu' wor0stations, using my application and use it properly, although there were still minor details graphics $unctionality is a 122F $i' it and all controls $unctioned properly!
pageMidQ<, then installs it graphically by clic0ing right above the $ile wineGdoorsG2!1!1G 1!i<J4!rpm that downloaded :in the case o$ open suse;, or $rom a console you can install )pm hivGwineGdoorsG2!1!1G1!i<J4!rpm 3ither ways we can install the doors wine :note that besides wine has some requirements so$tware;! 6nce installed you and you run a screen as the ne't where we can select which application we will install on wine!
+nitially installed the basic components such as A9CP, +nternet 3'plorer, then to avoid having dependency missing in achieving our program! +nstallation o$ these programs in (ine doors is very simple, simply clic0 on top o$ the agenda you want to install, and is then clic0ed apply! Clready this begins with the installation o$ selected so$tware! BhatUs why it is easier with this tool to install +nternet 3'plorer, and in general the so$tware to run on (ine is easier with this tool! Bhen $rom PowerBuilder in a (indows machine created a pac0age to install the runtimes o$ PowerBuilder, using the tool $or this in Program $iles / sybase / PowerBuilder 11/PowerBuilder runtime pac0ager, this tool will generate a $ile e'tension $or msi install Bhis $ile is copied the P9 or "SB memory or electronic means with which we will install the stations in linu'! C$ter having generated an e'ecutable copy o$ our application our application :e'ecutable and dlls or pbds; in the middle magnetic where we had previously runtime PB :+ did via a "SB memory, but we could copy it directly $rom the local area networ0; ! Since ta0ing the runtime e'ecutable and carry the team linu' and copy them into a $older, $or e'ample / home / myuser / e'amplepb! /irst install the runtimes o$ PowerBuilder! /or the wine doors in the $ile menu, clic0 install $rom P9, and then clic0 browse to $ind the $older / home / myuser / e'amplepb and select and run the installation program msi runtime PB11!
Bhe ne't step is to install the drivers o$ the database or in this case install the database that we will use :SN* Cnywhere;! Bo insert this P9 PowerBuilder in the *inu' machine and install the SN* anywhere, using wine doors, also using the option to install $rom a P9! +n my case install a database sql anywhere =, as shown in the $igure!
Bhen i$ necessary we can ad ust the settings in (in 69BP using 69BP Cdministrator! /inally as *inu' is case sensitive then we should rename the two $iles that see0s to
uppercase, $or it can run the $ollowing command in the $older where + install the runtime PB! +t is usually the same user $older :/ home / myusr / !wine / driveMc / program $iles / sybase / shared / builder power? Pp Pbvm11!dll PBLA11!9** Pp Ctl51!dll CB*51!9** Bhen $rom a command console can run our application using wine as well; (ine / home / myuser / appe'ample!e'e Cnd there we can see our application running *inu' copper wellR
3'ecutive PB!.3B (+.96(S CPP*+PCB+6. /6)AS +. *+."D "n$ortunately windows applications $orms! .3B made with PB still do not wor0 properly on *inu'! + am still doing tests and see0ing the cause o$ the error, but to summari#e the situation, he installed in the wine! /amewor0 .3B 1, $or that + too0 into account the recommendations o$ http?//wi0i!winehq!org/Aicroso$t9ot.et and install easily using a utility called winetric0s :http?//wi0i!winehq!org/winetric0s; can be downloaded and installed as $ollows? wget http?//www!0egel!com/wine/winetric0s winetric0s dotnet12 chmod 555 winetric0s But when the program runs + get an error li0e this? continue wor0ing on this but $or now we can wor0 in PB applications on *inu' without problem! 6scar