Hola experto, seguramente ya me conoces, desde Junio de este año que me intereso aprender PB, creo haber aprendido algunas cosas, gracias a los expertos de esta página, estoy haciendo un sistema simple de existencias, y estoy seguro que lo terminare antes de fin de año, pero mis duda es la siguiente : Todo este sistema esta desarrollado en PB 7, ¿qué pasaría si lo quiero luego en entorno web?
¿Debo rehacer todo o simplemente debo adaptar solamenta lo que ya he programado? ¿Podrías orientarme al respecto? Muchas gracias
1 Respuesta
Respuesta de Antonio Garcia
1
1
Antonio Garcia, clipper todas sus versiones (manejo total) power builder todas...
Créeme que lo que me planteas esta más que suficiente, personalmente tengo un sistema de facturación de retail, en un almacen de tiendas por departamento, la afluencia de datos es aproximadamente unas 400 a 500 facturas diarias, eso sin contar movimientos de almacen, pedidos, despachos, etc. Estoy utilizando una base de datos SQL-SERVER 2000 y power builder 8.x, tengo 10 cajas facturando al mismo tiempo y aproximadamente unas 70 pcs, consultando cualquier variedad de datos. En lo que va del año tengo en la tabla de detalle de facturación un total de 250,000 registros. Creo que esto puede triplicarse o tal vez cuadriplicarse en el fin de año, así que si me hablas de 100,000 registros, en un año, pues estas muy holgado, lo que si tienes que tener en cuenta es la capacidad del servidor en su disco, y por supuesto, en su memoria y procesadores. Por ultimo, lo que me planteas como suficiente para una empresa mediana, es más que suficiente, como si me dijeras que en lugar de sql-server estas utilizando mysql o sql-anywhere que es la version windows de sybase, y que maneja una cantidad de registros bastante respetable. La base de datos nativa de power builder en un principio fue ORACLE, pues para esta fue construido, sin embargo los señores de sybase, compraron los derechos y lo proponen como parte de sus productos, por medio de POWER SOFT, que son los fabricandes originales, la base de datos que proponen son en unix, sybase (por supuesto), y en windows, sql-anywer (también nativo), sin embargo están muy metidos con el señor Bill, y están tratando de pegarse a los productos MICROSOFT, he allí el porque se niegan a trabajar con LINUX, Sin problema, entonces, lo único que tienes que cuidar, es el espacio en disco, y hacer tus copias periódicas, pensando que por lo menos una vez al año descargas tu base de datos con registros a un histórico (un DWH), o simplemente un respaldo, y una limpieza de esos datos, en el caso que tu espacio sea el limitante, (aunque es difícil.)
¿Cuál es la base de datos que viene con PB 7? ¿Tiene la capacidad suficiente como para manejar una mediana empresa cuya tabla más grande (cuentas corrientes) llega a 100 mil registros? ¿Sera lo más adecuado un servidor con windows 2000 server con sql-server y programado todo en pb? Gracias
En el caso que me expones, el problema es el vincular las plataformas, recuerda que power builder funciona con los objetos propios de windows, los cuales funcionan por medio de lo que podriasmos llamar librerías externas o APIS, esto es propio de windows, y no son compatibles con linux o unix, para eso tienes que utilizar un interprete, por ejemplo una maquina virtual, o un producto de terceros, sin embargo no he tenido aun la experiencia de hacer funcionar una aplicación con un intermediario entre 2 sistemas operativos. Casi te puedo adelantar que tratándose de cliente servidor, lo único que si puedes tener en unix es la base de datos, por ejemplo SYBASE, pero porque el producto es nativo en esta plataforma. Con respecto a la descentralización de las librerías, si discrepo un poco, pues copiar archivos o ficheros críticos como librerías o ejecutables, en cada cliente, aumenta el riesgo de error, pues tendrías que tener un patrón de actualización, muy cuadrado, para que no falle en un momento determinado. Lo ideal es mantener un único lugar de ejecución y que todo el mundo apunte a ese.
Una verdaera clase, me diste el empujón final para serle fiel a POWER BUILDER, desde ahora en adelante, no en vano me entusiasme tanto en aprenderlo cuando apenas conocía de el por algunos colegas. Gracias por todo.
Creo entender tu inquietud... Bien antes un poco de historia. Las versiones de power builder anteriores a la 9.x, utilian auxiliares para poder hacer una aplicación en un web, o mejor dicho una ampliación distribuida o en tres capas, recuerda que una aplicación cliente-servidor, posee 2 capas, el cliente y el servidor, y todo lo que el cliente solicita al servidor es el servidor el que lo procesa y envía la respuesta al cliente. En el caso de una aplicación distribuida entra en juego una 3era. Capa, la cual es el servidor de objetos. La idea es simple, tienes un browser en tu cliente, un servidor de base de datos, y uno de objetos, los cuales son enviados al browser y son manejados por este. Cuando el cliente solicita un proceso, envía la solicitud, al servidor de objetos, este informa al servidor de base de datos, procesa la petición en la misma base de datos. Y resuelve al servidor de objetos. Y finaliza en el cliente. Si piensas que el servidor de objetos, se encuentra en el mismo lugar que el servidor de aplicaciones, prácticamente la petición se resuelve en el mismo sitio, ahora solo queda refrescar el objeto, el cual viaja al cliente. Pues el resultado se plasma en el objeto que maneja el browser, no así con el cliente-servidor, Para poder hacer esto, en power builder existe una aplicación o aplicaciones adicionales que permiten el manejo de objetos, por ejemplo JAGUAR, este es un servidor de objetos, que modula todo lo que te expongo y otras cosas más. Sobre las versiones de la 9.x en adelante, JAGUAR ya no tiene sentido, pues este es incluido dentro de power builder. Hoy por hoy, el datawindow incluso desde su version 7.x, ya podía convertir una vista normal a una vista web, igual que la version 8.x aunque esta ya tiene propiedades propias del web. Y así sigue el crecimiento de pb. Con respecto a la modificación de tu aplicación, si vas a tener que hacer muchas, por ejemplo, no puedes utiliar variables del tipo ANY, pues estas no las entiende el servidor de objetos, igualmente todas tus funciones y procedimientos públicos, deberán estar inscritos en clases no visuales, pues una clase al final es un objeto y este puede ser transportado al cliente, que es lo que conocemos en sistemas como una instancia. Todos los objetos deberán recidir en el servidor de objetos. Sin embargo todo lo que te cuento con esto es muy muy muy resumido, los proveedores de power builderm, o mejor dicho, los representantes de power soft en mi país, tienen un curso de capacitación llamado APLICACIONES DE 3 CAPAS, en el cual instruyen como debe ser montada una aplicación para ser publicada al internet. Créeme que no es algo que se pueda aprender con el simple método de prueba y error, sino que tiene sus cositas. Mi recomendación es que cuando decidas que vas a publicar tu aplicación al web, tomes el curso, para poder adelantarte a los posibles problemas que puedan presentarse. Para finalizar, es posible que con tu inquietud de migrar a otras plataformas, se te pueda ocurrir utiliar una llamada LINUX, y antes que formules la pregunta, la respuesta es no se puede.