verde que te quiero verde

RPG For Web
 
Preguntas y Respuestas

 

pero ésto qué és lo que és?

Tienes una pregunta que no está aquí? dímela


pero ésto qué és lo que és?

Puede ser que usted haya llegado a ésta página pero no sabe qué és RpgForWeb....

RpgForWeb es un Sistema Integrado y Completo que permite y facilita el Desarrollo y la Ejecución de Aplicaciones Gráficas con el estándar Web/HTML y sin necesidad de usar otros lenguajes o servidores. Usando lo que sabemos y sabemos que anda: IBM AS/400 con RPG.
Esto permite centrarse rápidamente en crear, mantener y correr nuevas aplicaciones modernas pero usando principalmente lo que ya se conoce.


 

Sólo funciona con RPG IV ?

Funciona con Lenguajes ILE.
Los ejemplos y citas que proporcionamos se basan en RPG IV (a veces tambien llamado ILE RPG), aunque cambiando el formato de llamada a las funciones puede ser compatible con otros lenguajes, como ILE Cobol.

Pero si sólo conozco RPG tradicional?...

Los programas se deben hacer con lenguajes ILE, tal como RPG4, no con RPG/400 (tambien llamado RPG III o RPG3), pero es muy fácil que un programador de RPG3 aprenda los rudimentos de RPG4, ya que básicamente puede usar lo mismo que antes más algunas estupendas adiciones.

El tema es que el programa se debe compilar con ILE, pero RPG4 soporta practicamente todas las operaciones del RPG tradicional.

Para las llamadas "especiales" a funciones RpgForWeb se usan operaciones EVAL o CALLP, etc pero que estan documentadas en ejemplos y esqueletos proporcionados y que casi simplemente es cuestion de copiar&pegar.
La transicion desde RPG a RPG4 entonces es minima, y en cualquier caso se aprende en muy poco tiempo, en cuanto se hagan unos ejemplos.

Por supuesto si se tiene por ejemplo una rutina en RPG que se quiere reutilizar, puede usarse CvtRpgSrc (incluida en todo iSeries) para convertirla, pero no se debe tener miedo, un MOVE y un Z-ADD y un CHAIN (y muchisimas mas) se soportan igualmente, solo que escritas en posiciones diferentes por soportar campos de 10 posiciones etc.

Ademas, con RPG4 se pueden hacer CALL a programas (batch, tal como programas que calculen cosas etc) "antiguos" y de todo tipo (RPG, Cobol, CL, C, etc) sin problemas.

En realidad es mas importante el hecho de que programar para la web se hace algo diferente, pero tambien se aprende con una formacion inicial básica y unos ejemplos.

En cualquier caso nuestros servicios tecnicos (y de otras empresas especializadas) pueden usarse tanto para formacion, como para desarrollar conjuntamente casos practicos, etc.


Es compatible con ADP 400?

ADP 400 es un Sistema de Desarrollo de Aplicaciones en 400, que incluye generadores RPG y Cobol. (información de ADP en la Web).

La version "Tradicional" de ADP genera RPG/400 (RPG3), y no es compatible con ILE. Por tanto no sería compatible con Rpg For Web. Pero los programas compilados SI pueden ser llamados.

La version "Force1" genera RPG4 y es, por tanto, compatible con RPG For Web.

En cualquier caso, las bases de datos creadas con ADP, así como los programas batch (sin pantallas) creados con ADP son, por supuesto, compatibles con RPG For Web.

Sin embargo, RPG For Web no es parte de ADP ni está especialmente asociado con ADP en éste momento.
RPG For Web está pensado para ser utilizado por programadores RPG sin necesitar ninguna adición más que el propio RPG For Web.

Una parte importante de la calidad, productividad y facilidad de mantenimiento que aporta ADP está basado en las labores de desarrollo de programas de pantalla y listados (aunque hay quien opina que sólo las funciones de bases de datos ya valen su precio), por tanto el nivel de productividad que puede aportar ADP al desarrollo con RPG For Web será menor que en aplicaciones normales 400.


Qué hace falta instalar en el 400?

Básicamente, el propio RPG For Web, todos los demas requerimientos ya los tienes!.


Qué hace falta instalar y pagar en cada PC?

Se puede trabajar con un navegador de internet (Browser) tal como Microsoft Internet Explorer, Netscape, FireFox, Opera, Compatible Mozzilla, etc.

El PC, por tanto, puede funcionar con Windows, Linux o Apple. Incluso desde terminales de mano (PDA) y teléfonos móviles.

Esto es muy importante, porque podemos hacer que al instante cualquier persona, en cualquier parte del mundo, con casi cualquier pc o dispositivo, con un simple navegador, sea compatible!

Los PC que usen los programadores de RPG For Web necesitarán quizá instalar algún Editor html (excepto los muy valientes, porque tenemos oido que usan el notepad!) .
La información en línea de RPG For Web puede ser también instalada en cualquier PC Windows. En un PC no Windows, como un Mac, puede usarse el manual en formato PDF directamente.


Se pueden usar programas ya existentes?

SI, siempre que sean "batch" (esto es: que no tengan pantallas).

Se pueden hacer CALL (o CALLP etc) a programas RPG, Cobol, CL, etc.

Tambien se pueden usar, obviamente, trozos de código, rutinas, COPYs, etc.

Todo el conocimiento acumulado en el iSeries puede integrarse con RpgForWeb, porque de eso se trata.


Se pueden convertir Aplicaciones Tradicionales existentes a Web?

RPG For Web no está pensado para ésto, sino para crear nuevas aplicaciones, módulos o programas. Con trabajo podrían convertirse programas de pantalla actuales a programas R4W, pero no de forma sencilla.
Por lo que pueda venir, y si quieres darnos ideas, mándanos una nota...

debemos comentar aquí una consideración importante:
Las aplicaciones web o client/server no se deben hacer del mismo modo que funciona una aplicacion tradicional. Muchas frustraciones pueden venir de querer que ande una aplicacion del mismo modo y con "poco" esfuerzo.
Este razonamiento lleva a que, al final, las aplicaciones web no deben tener los mismos paneles o conceptuados similarmente.

En una pantalla verde tradicional tenemos unas limitaciones (24x80 caracteres como tope general) que puede mejorarse en paneles web usando cierto tipo de fonts, imágenes, links, etc.

Por ejemplo, supongamos un programa que presenta un subfichero de ventas por delegacion y tenemos 30 delegaciones. En pantalla verde solo podemos presentar la mitad y pulsar la tecla de giro para avanzar, etc: no podemos dar una vision global.
En una pagina web podemos tener una visión completa: poner una tabla de las 30 delegaciones con un total etc en un simple vistazo, que ademas el usuario final puede imprimir tal cual. Ademas podemos incluir subtotales y totales con colores diferenciados, etc.

Tambien es bastante posible que no sea necesario que toda una aplicación tradicional sea convertida a Web:
muchos programas quiza solo se usan internamente y pueden quedar como estan, pero se puede crear un módulo, un grupo de programas que se pueden reconstruir (hacer nuevos, quiza copiando partes de codigo). Ese módulo puede ser un grupo de programas que use la direccion de la Empresa o los Clientes o Proveedores, pero seguramente con un "modo de uso" diferente que el que hacen los usuarios internos que está orientado más a la productividad (rápidez, seguridad...).

Otro ejemplo puede ser un programa de entrada de pedidos que se usa internamente y se quiere poner la misma funcionalidad para los Clientes.
Con total seguridad que será mejor pensar la forma de entrar pedidos de forma diferente, incluso con datos diferentes.

Pero, en fin, si realmente se quiere convertir una aplicacion, para ésto será mejor usar un producto como IBM WebFacing + IBM Websphere Application Server, pero teniendo en cuenta que pueden adicionarse programas ad-hoc (específicos) hechos con RpgForWeb.

RpgForWeb cuenta con algunas utilidades opcionales para mejorar la conversion y/o creación de funciones.


Cómo se diseñan las "pantallas"?

Las "pantallas" son páginas web definidas básicamente con HTML.

Si no tienes suficiente experiencia (no digamos si no tienes ninguna...) puedes diseñar las páginas web utilizando un editor con diseño visual (WYSIWYG = what you see is what you get = lo que ves es lo que obtienes ) tal como Microsoft Frontpage o Macromedia Dreamweaver, Namo, y otros, los cuales permiten "pintar" las páginas casi sin (o sin) saber html, con la ventaja de que se puede curiosear el código html que van generando, lo cual puede ser una buena forma de aprender.

Existen otros muchos editores, incluso freeware (gratis).

Tambien existen varios interesantes libros para aprender html (y javascript), así como tutoriales en internet que pueden ser de mucha ayuda.

Para quitar el miedo, con RpgForWeb no hay porqué saber todo sobre html, sino unos rudimentos o una base. Además. html es el fundamento de Internet y es muy interesanto conocerlo un poco.

Comentamos algunos editores en la pagina de "Utiles Web" en www.RpgForWeb.com.

RpgForWeb cuenta con dos utilidades opcionales que pueden ayudar en el proceso de crear páginas web con campos ("pantallas").
Especialmente, RpgForWeb Page Wizard permite diseñar paginas web:


Vale también para hacer aplicaciones cliente/servidor?

Por supuesto!

Las aplicaciones creadas con RPG For Web son también Cliente / Servidor, con la ventaja adicional de que


Tengo que poner mi 400 con una dirección pública internet? (seguridad)

No hace falta que todo el AS/400 sea visible desde internet, sino sólamente algún puerto en el que corra el http server de la configuración necesaria. Además ése puerto sólo puede usarse para transacciones Web, y todos los directorios asociados son de sólo lectura, aparte de otras medidas de seguridad fáciles de implementar.

Por ejemplo, se puede contratar una linea (adsl, etc) con una direccion IP públlica y asociar el puerto del router adsl al puerto xxxx del 400, con lo que se eliminan muchas posibilidades de problemas. El router puede incluir un Firewall, o ponerlo adicionalmente por poco coste.

Además, las usuales medidas de seguridad pueden tomarse, aunque ahora en muchas instalaciones puede estar el 400 con mas riesgo que ésto que comentamos conque algún pc de la red tenga salida a internet o con controladores firewall.

Por supuesto, los usuarios pueden conectarse por medio de VPN con encriptación y password, o usar medidas de seguridad incluidas en el HTTP Server.

Además, RPG For Web puede usarse tambien para hacer Aplicaciones para la Red Local de la Empresa (Intranet), sin conexión real a Internet.

más sobre seguridad

El iSeries 400 soporta ampliamente las medidas de seguridad usuales en internet, cómo SSL (incluido en el operativo), otorgación de certificados digitales, etc.

Además, RpgForWeb incluye en sí mismo medidas de seguridad como otorgación y validación de UserId y Password independientes, conservando el password en modo no visible y encriptado.


qué formación hay que tener?

ver el apartado de diseño de pantallas

CPI Software, y otro Agentes autorizado de RpgForWeb, puede ayudar a la etapa básica de formación, así como realizar algun proyecto piloto conjunto.


yo sé mucho de Java. es compatible?

No opinamos sobre Java ni sobre otras plataformas o lenguajes.

Lo que pretendemos es que los profesionales AS/400 y RPG tengan una vía más cercana para hacer aplicaciones Web y que éstas residan en el mejor Servidor de Aplicaciones que existe.

En cualquier caso, es posible incluir en las páginas web componentes java.
También seria posible que en un mismo iSeries se tuviera una Aplicación mixta (parte en java, parte en RpgForWeb), del mismo modo que una aplicación tradicional puede tener programas RPG, Cobol, etc.


RpgForWeb es un generador?

No. Con RpgForWeb se tiene libertad total.

Las Funciones de RpgForWeb se incluyen libremente en los programas, sin necesitarse una determinada metodologia o plantilla.

RpgForWeb es un conjunto de funciones que facilitan y permiten el desarrollo y funcionamiento de Aplicaciones Web Html en el entorno del iSeries 400 usando RPG.

El diseñador o programador tiene total libertad (no está encasillado) para usar todo aquello que conozca y aprenda en el entorno. Por tanto, no debe sentirse coartado porque quiza el sistema no le permita adecuar a sus necesidades el funcionamiento.

En la parte de diseño de paginas web no obligamos a usar nada en concreto, se pueden usar todos los editores de html, así como incluir elementos adicionales como javascript, css, etc.
En la pagina www.RpgForWeb.com puede ver un enlace a "Utilidades Web" donde enumeramos algunos editores conocidos y otros links, pero hay docenas, incluso el html se puede escribir con cualquier editor como notepad, editores gratuitos, etc.

Opcionalmente, se puede usar además RpgForWeb Page Wizard, que permite crear páginas Web rápida y fácilmente.

En la parte de desarrollo 400 se pueden usar todas las tecnicas tradicionales como copys, calls, overrides, copiar trozos de codigo, usar toda clase de ficheros, colas de datos, etc.

Si tiene que desarrollar aplicaciones tradicionales (verdes), CPI Software tiene un Sistema de Desarrollo de Aplicaciones (ADP 400) que incluye generadores de codigo. Puede ver mas información sobre ADP y ADP/Force1 en la web.


Realmente no se necesita nada mas que RPG+HTML ?

No se necesita aprender ni implementar ningun nuevo lenguaje, ni usar servidores pc, ni otras plataformas, ni aprender ningun diseñador en concreto ni ningun software para servidor de aplicaciones etc.

En la parte de html puede necesitarse algun complemento natural de html como javascript (que no es ni forma parte de java) o css (cascade style sheets). Además, con RpgForWeb Page Wizard es mucho más fácil crear páginas html.


Cómo se relacionan los "campos" entre HTML y RPG ?

De una forma realmente sencilla, y lo más parecido a lo que ya conocemos.

Los campos de entrada de la aplicación o programa se definen, como siempre, en DDS.

0024.00 A      CODPROV    2       TEXT('PROVINCIA')

Los campos de entrada se definen en el html en su formato natural de html (no solo campos de tecleo, tambien check-box, radio-button, listas de seleccion, etc). Simplemente, en la pagina web se coloca un campo de entrada con el mismo nombre y listo.

<input type="text" name="CodProv" size="2">

En el programa se lee (con una sola linea de codigo) la "pantalla" y, simplemente, los campos de entrada están disponibles en el programa con sus nombres y atributos naturales DDS.

  CodProv   Chain Provincias ...

Los campos de salida son todavía más fácil de definir: simplemente colocar en cualquier parte de la página web el contenido especial %cw-campo% tal como el ejemplo:

El total de su pedido es %cw-TotPedido% €. Muchas gracias por su compra.

Por tanto, en el programa sólo necesitamos acumular el Total del Pedido en un campo de calculo TOTPEDIDO. y al enviar la respuesta (con funciones simples incorporadas en RpgForWeb) al usuario, se vería como

Ver ejemplos de codigo fuente aquí


Que hay del performance o rendimiento?

Al tener tan pocas capas o elementos que intervengan (no se necesitan servidores adicionales, ni odbc, ni otros lenguages, ni runtime en los pc, ni consolas administrativas o de control, ni servidores de java beans, ni servlets...), el programa del 400 dialoga directamente con el servidor iSeries 400, y este directamente con el browser (el navegador del pc).

 RPG    iSeries 400    Navegador/Browser PC

Los programas no usan interactivo, por lo que funciona en maquinas con menos recursos, y tampoco se necesita en el 400 recursos para otros servidores de aplicaciones no necesarios, como tomcat o websphere y otros. Obviamente tampoco se necesitan comunicaciones con servidores de otras plataformas.

Todo ese dinero y esfuerzo puede ser invertido en lo que conocemos que funciona: nuestro 400 y nuestro lenguaje preferido!


Cómo funciona realmente?

RpgForWeb es un Sistema Integrado y Completo que permite y facilita el Desarrollo y la Ejecución de Aplicaciones Gráficas con el estándar Web/HTML y sin necesidad de usar otros lenguajes o servidores. Usando lo que sabemos y sabemos que anda: IBM AS/400 con RPG.

RpgForWeb Incluye funciones poderosas en las dos fases:
- Desarrollo
- Ejecución

Esto permite centrarse rápidamente en crear, mantener y correr nuevas aplicaciones modernas pero usando principalmente lo que ya se conoce.

Los componentes que se usan para funcionar son los siguientes:


algun ejemplo de pagina web?

no hay ninguna limitación en cuanto a diseñar paginas web, por lo que la experiencia y el arte de cada uno puede conseguir efectos diferentes. RpgForWeb cuenta con la utilidad opcional Page Wizard, la cual ayuda en el diseño de páginas Web para hacerlo más rápido, más fácil.

algun ejemplo puede verse en la web. Para ver ejemplos más elaborados, o con acceso real, llámenos.

Si tiene alguna pregunta concreta, por favor contacte con nosotros.


es RpgForWeb un GUI ?

muchas veces se llama un GUI a una capa adicional (un programa, a veces ademas un hardware adicional) que convierte las pantallas verdes normales de 400 a formato grafico.

RpgForWeb no es un GUI.

Sin embargo, GUI significa en realidad "Graphical User Interface" (traducido "interfaz grafica de usuario").
Desde este punto de vista, RpgForWeb SI hace Aplicaciones en modo GUI (Aplicaciones Graficas).

RpgForWeb NO es un convertidor de apariencia. Las aplicaciones se diseñan y ejecutan en modo Grafico directo, usando el procesador Batch del AS/400 y el Servidor HTTP.


Alguna utilidad de ayuda adicional ?

RpgForWeb cuenta con utilidades opcionales que pueden ayudar en el proceso de crear páginas web con campos ("pantallas")


Qué pasa con los Listados?

Los listados pueden presentarse directamente en el navegador, en formato html, o pueden generarse en formato PDF, incluso enviarlos automáticamente por e-mail.

Nuestro producto CoPrint puede usarse para generar documentos PDF, e incluso para enviarlos por e-mail. Por ejemplo, un programa "antigüo" podría generar un listado como normalmente, y llamar a una función que automáticamente genera un PDF y opcionalmente lo envía por e-mail.


cómo puedo mejorar mis aplicaciones tradicionales?

ADP y ADP/Force1 para Desarrollo de Aplicaciones

Adorno de Aplicaciones tradicionales

vea nuestros productos en la web


es que tengo necesidades especiales...

Podemos estudiar cualquier necesidad especial, en colaboración con su personal y el personal de su empresa de Software o Consultoría favoritos.
Podemos también colaborar en proyectos piloto, consultoría en general, etc.


mi Empresa es una Casa de Software, o IBM BP, o Consultora...

Estamos encantados con ello.

Podemos ser tu Socio Tecnológico para que sea tu Empresa la que desarrolle, instale, implante soluciones en tus Clientes.

Nosotros sólo trabajaremos directamente con Clientes que no nos vengan a través de una Empresa de Consultoría o Software, o bien si somos requeridos por ambos para colaborar en proyectos.

Es simple, nosotros te apoyamos si tu apoyas nuestro producto.


Requisitos para instalar

Version del Operativo:
Generalmente intentamos soportar dos o tres versiones previas a la actual IBM.
Por ejemplo, en el momento de escribir esta nota la version actual es V5R2, por lo que soportamos ademas V5R1 y V4R5. Adicionalmente podemos soportar alguna anterior como V4R4. Por favor, consultar en caso de versiones antiguas.
En cualquier caso, para versiones no recientes es impresdindible actualizar el nivel de PTF, pidiendo una acumulativa o especialmente para los productos TCP/IP y HTTP.

Otros requisitos:
Básicamente los inherentes a la actividad: TCP/IP y HTTP Server (incluidos en todo iSeries 400) y las utilidades basicas de programacion: Compilador, Editor SEU o Code, etc.

Así que ya vemos: pocos prerequisitos.

Como toda aplicación, a mejores recursos mejor rendimiento, pero RpgForWeb funciona virtualmente en cualquier modelo de 400 con la version de operativo y la configuracion de tcp/ip adecuados.


Soporte Multi Lenguaje (diferentes idiomas)

RpgForWeb permite utilizar el módulo opcional R4/MultiLang como una ayuda a la necesidad de tener Aplicaciones Gráficas y Web que soporten Páginas HTML en diferentes idiomas que el propio usuario final puede seleccionar.

Una vez que un usuario final ha seleccionado su idioma preferido, se recuerda su preferencia y se usa ésa por defecto en posteriores conexiones.


Si tiene alguna pregunta o comentario, por favor contacte con nosotros.

    www.cpi.es