DONDE EJECUTAR LA APLICACION

Re: DONDE EJECUTAR LA APLICACION

Postby LuisPonce » Tue Jul 21, 2015 4:41 am

Hola Adrian

Entiendo que corres la aplicación desde tu PC en el servidor, con el acceso directo apuntado al servidor j:\ProvIVA2.exe, si esto es asi entonces corres la aplicación en
el servidor.

La pregunta es como corre tu aplicación, imagino que bien, pero en cuanto a la velocidad de acceso a las tablas?

Para no hacer el mapeo, debemos hacer lo que recomienda Adhemar :

WinExec("Net use \\sphmar\Empresas contraseña /user:usuario /persistent:yes",0)

SET DEFAULT TO \\sphmar\Empresas

excelente por que incrementa la seguridad de nuestros datos, ya no tendríamos una unidad J: donde todos los usuarios tienen acceso, luego correr la aplicación en el PC local

c:\ProvIVA2.exe

y que lea los datos desde la unidad definida por WinExec(), que apunta al servidor

Cual resulta ser mas veloz, al manipular la información del servidor ?
Last edited by LuisPonce on Tue Jul 21, 2015 5:03 pm, edited 1 time in total.
Luis Ponce
User avatar
LuisPonce
 
Posts: 192
Joined: Tue Jul 01, 2008 6:34 pm
Location: PERU

Re: DONDE EJECUTAR LA APLICACION

Postby carlos vargas » Tue Jul 21, 2015 12:56 pm

Para eliminar la posibilidad de que se elimine info en carpetas compartidas se tienen las sig altenativas
Dbf
------
Ads server (comprado)
Leto server (gratis)
Netio (gratis)
Estos usa conexion por purtos (socket) eliminando las carpetas compartidas.
No dbf
-------
Ado
Dolphin
Sqlrdd (comprada)
Adordd
Sqlmix
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1683
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: DONDE EJECUTAR LA APLICACION

Postby ACC69 » Tue Jul 21, 2015 2:42 pm

LuisPonce wrote:Hola Adrian

Entiendo que corres la aplicación desde tu PC en el servidor, con el acceso directo apuntado al servidor j:\ProvIVA2.exe, si esto es asi entonces corres la aplicación en
el servidor.

La pregunta es como corre tu aplicación, imagino que bien, pero en cuanto a la velocidad de acceso a las tablas?

Para no hacer el mapeo, debemos hacer lo que recomienda Adhemar :

WinExec("Net use \\sphmar\Empresas contraseña /user:usuario /persistent:yes",0)

SET DEFAULT TO \\sphmar\Empresas

excelente x que incrementa la seguridad de nuestros datos, ya no tendríamos una unidad J: donde todos los usuarios tienen acceso, luego correr la aplicación en el PC local

c:\ProvIVA2.exe

y que lea los datos desde la unidad definida x WinExec(), que apunta al servidor

Cual resulta mas veloz, al manipular la información del servidor ?


Hola buenos dias Luis Ponce, gracias por tu tiempo, estando en el servidor ejecuta rapido la aplicacion y sin ningun problema con las bases de datos,al igual estando en el modulo de captura de movimientos, abre veloz los registros en xBrowse... y estando en cada estacion de trabajo ,es minima la diferencia la lentitud que casi no se nota, ya que yo evito estar usando SET FILTER TO...eso me ocasionaba lentitud en cada estacion de trabajo del usuario asi como en el servidor, ahora todos en cada modulo, uso indices .cdx y en la captura OrdScope(), solo hay uno que no he dado con la solucion es con los reportes de movimientos auxiliares contables,que tengo varios indices ,pero me resulta lento por el filtro que hago,no me refiero al comando SET FILTER TO, sino lo que se pide a filtrar en mi reporte y no he tenido tiempo de mejorarla,pero bueno es otro rollo,que espero darme mi tiempo y ver que solucion darle a mi reporte.

En todos los sistemas instalado en el servidor, y ejecutar desde cada estacion de trabajo, siempre sera lento...te comento porque tenemos tres sistemas de paga, de compac i, Contabilidad, facturacion electronica,sistemas de nomina, en cada estacion de trabajo, la lentitud es minima y mi sistema operativo del servidor es windows 8 server,memoria ram de 8 GB....y es como en todos los sistemas por muy buena aplicacion que tengas, la lentitud sera minima en cada estacion.

Otra duda respecto a esta instruccion de comando.
SET DEFAULT TO \\sphmar\Empresas

En mi sistema puedo llamarle por ejemplo:

USE RUTA.DBF y dentro de la base de datos el campo UBICARUTA

cRuta := RUTA->UBICARUTA

SET DEFAULT TO cRuta

Pero me marcara error, por no encontrar la tabla ruta.dbf antes de abrir la ruta \\sphmar\Empresas ???

O como lo hace Adhemar en su sistema de aplicacion ,para que me quede mas claro y modificar mi codigo .

Saludos y gracias pro tu tiempo Luis Ponce.

Atte: Adrian C. C.
Last edited by ACC69 on Tue Jul 21, 2015 2:48 pm, edited 1 time in total.
ACC69
 
Posts: 632
Joined: Tue Dec 12, 2006 7:34 pm

Re: DONDE EJECUTAR LA APLICACION

Postby ACC69 » Tue Jul 21, 2015 2:45 pm

carlos vargas wrote:Para eliminar la posibilidad de que se elimine info en carpetas compartidas se tienen las sig altenativas
Dbf
------
Ads server (comprado)
Leto server (gratis)
Netio (gratis)
Estos usa conexion por purtos (socket) eliminando las carpetas compartidas.
No dbf
-------
Ado
Dolphin
Sqlrdd (comprada)
Adordd
Sqlmix



Gracias Carlos Vargas, he estado migrando en TDholpin ,pero me quede atorado en algunas cosillas, que ya luego le continuo migrando, gracias por tu tiempo amigo.

Saludos .

Atte: Adrian C. C.
ACC69
 
Posts: 632
Joined: Tue Dec 12, 2006 7:34 pm

Re: DONDE EJECUTAR LA APLICACION

Postby LuisPonce » Tue Jul 21, 2015 5:01 pm

Adrian C.C.

Se me ocurre que:

SET DEFAULT TO &cRuta
Last edited by LuisPonce on Tue Jul 21, 2015 5:22 pm, edited 1 time in total.
Luis Ponce
User avatar
LuisPonce
 
Posts: 192
Joined: Tue Jul 01, 2008 6:34 pm
Location: PERU

Re: DONDE EJECUTAR LA APLICACION

Postby hmpaquito » Tue Jul 21, 2015 5:18 pm

ACC69 wrote:En mi sistema puedo llamarle por ejemplo:

USE RUTA.DBF y dentro de la base de datos el campo UBICARUTA

cRuta := RUTA->UBICARUTA

SET DEFAULT TO cRuta

Pero me marcara error, por no encontrar la tabla ruta.dbf antes de abrir la ruta \\sphmar\Empresas ???


En ese caso hay dos opciones.
1. Que la ruta este de forma fija en el propio exe.
2. Que este contenida en un archivo.

Yo utilizo el 2. Lo que hago es tener un archivo de texto que contiene la ruta de los datos en la misma carpeta donde esta el .exe. Se puede utilizar tambien un archivo .ini. Tambien se podria hacer que el archivo se llame como el .exe por si hubiera varios .exes que accedieran a distintas carpetas. Ejemplo, si el programa es Lentejuelas.exe, el archivo de configuracion se llamaria Lentejuelas.Rutas o Lentejuelas.ini.


Ahora pregunto yo. Los compañeros hablan de usar el NET USE para poder acceder sin tener que compartir. ¿ No habrá vulnerabilidad en los datos el tiempo en que el programa está abierto porque el NET USE está vigente ?
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: DONDE EJECUTAR LA APLICACION

Postby acuellar » Tue Jul 21, 2015 7:51 pm

Lo mejor es migrar a MariaDB/MySql y usar TDolphin, pero mientras tengamos alguno sistemas con dbfs para mi la forma mas segura es usando NET USE.

El EXE lo ejecutamos desde la PC del usuario, para actualizarlo colocamos el nuevo EXE en una carpeta compartida y preguntamos si la fecha del nuevo EXE es mayor reemplazamos el que se está ejecutando.

Así:
Code: Select all  Expand view

  ExeOn:=hb_CurDrive()+":\"+CURDIR()+"\CONTAB.EXE"
  ExeNew:="
\\COMPARTIDA\CONTAB.EXE"
  FecExeOn:=dToS(FILEDATE(ExeOn))
   FecExeNew:=dToS(FILEDATE(ExeNew))
 IF FecExeNew > FecExeOn
        DBRENAME ("
CONTAB.EXE","CONTAB.EX")  //RENOMBRAMOS EL EXE
       COPYFILE( ExeNew,ExeOn )
       WinExec(ExeOn)
       Quit
 Endif


Esto colocar al comienzo del sistema, para que lo actualice.

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1593
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: DONDE EJECUTAR LA APLICACION

Postby Armando » Tue Jul 21, 2015 10:10 pm

Adhemar:

En principio estoy de acuerdo en que debemos pensar en SQL (MySql, SqlServer o MariaDB,
Cliente/Servidor) en donde no estoy de acuerdo es en que lo mejor es TDolphin, OJO no estoy
diciendo que TDolphin sea malo, noooo, todo lo contrario, Es un excelente trabajo, mi opinión
es que para aplicaciones que ya están hechas en DBF y urge pasarlas a SQL, lo mejor es TDolphin
pero para aplicaciones nuevas lo mejor es irse directo por ADO, total solo hay que aprender
como 7 comandos, y ahí TDolphin nos ha hecho apáticos para aprenderlos (sin ofender)

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3061
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: DONDE EJECUTAR LA APLICACION

Postby Willi Quintana » Thu Jul 23, 2015 4:16 am

HOla amigos...
Uso TDolphin desde casi un principio, siempre he usado el modo "directo", con aplicaciones desde "cero", y funciona perfectamente...
•CREATE DATABASE,
•DROP DATABASE
•CREATE TABLE
•ALTER TABLE
•DROP TABLE
•SELECT
•INSERT
•UPDATE
•DELETE
•REPLACE
•TRUNCATE
User avatar
Willi Quintana
 
Posts: 1002
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú

Re: DONDE EJECUTAR LA APLICACION

Postby jnavas » Thu Jul 23, 2015 10:25 am

Luis
Saludos cordiales

Desarrolle una aplicacion en clipper para DOS y para ganar rendimiento el programa binario se instala en el PC local y instalar guardaba en un archivo DRIVE.MEM la ruta en donde se encuentran las tablas, logrando asi mejorar el rendimiento del sistema.

Otra recomendacion es: Establecer READOLNY el programa binario en la red, se ejecuta más rapido,
User avatar
jnavas
 
Posts: 472
Joined: Wed Nov 16, 2005 12:03 pm
Location: Caracas - Venezuela

Re: DONDE EJECUTAR LA APLICACION

Postby TecniSoftware » Thu Jul 23, 2015 1:22 pm

En una época guardaba los ejecutables del sistema en cada pc pero luego comencé a guardarlos en el servidor mas que nada por el tema de las actualizaciones del software ya que con esto evito que cada pc tenga que estar actualizando en forma separada y que quepa la posibilidad que una pc este trabajando con una versión y en otra, con otra versión con los problemas que puede llegar a ocasionar. En cuanto a velocidad, el exe tarda apenas un poquito mas en levantar pero después prácticamente no veo la diferencia.

Saludos
Alejandro Cebolido
Buenos Aires, Argentina
User avatar
TecniSoftware
 
Posts: 233
Joined: Fri Oct 28, 2005 6:29 pm
Location: Quilmes, Buenos Aires, Argentina

Re: DONDE EJECUTAR LA APLICACION

Postby Maggiro » Fri Sep 04, 2015 4:16 pm

Luis Ponce:

Tu forma de trabajo ejecutando desde el servidor es la correcta ...

No te preocupes por el problema de velocidad que hace tiempo ha sido solucionado
por computadoras y sistemas operativos mas veloces y potentes que antes.
El hardware no es lo nuestro como programadores.

Lo que si debes tener muy en cuenta es el tamaño de tu EXE, mientras mas compacto sea
carga y corre mas veloz, para eso, tu entorno de programacion te tiene que ayudar cargando
unicamente lo que tu EXE necesita para ser construido.
Esta si es tarea dura pues tendrás que depurar opciones no utiles para tu desarrollo en las
classes o funciones de tus herramientas en aras de un mejor EXE.

Otro aspecto a considerar ... La seguridad, Backups diarios al cerrar tu sistema en el servidor,
hacia una unidad hard disk no compartida. De hecho tu servidor no puede tener un solo disco duro. Lo peor que puedes perder es ... un dia de trabajo.

Adelante !!

Julio César Gómez Cortéz
Godryc Experiencias
Lima Perú
User avatar
Maggiro
 
Posts: 84
Joined: Thu Oct 14, 2010 3:26 am
Location: LIMA - PERU

Previous

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 86 guests