PDA

Ver la Versión Completa : Nueva Aplicación para Negocio


Rockin
13-02-2012, 23:59:25
Buenas a todos:

Llevo 4 años desarrollando una aplicación para mi empresa, la aplicación está hecha en Delphi 6 + Firebird, es totalmente a medida. En breve voy a a empezar a migrar a Delphi XE2 + SQL Server.

Vamos a montar una franquicia con mi familia que tiene unas 20 tiendas en España. La franquicia no tiene aplicación propia para el control de stock, ventas, inventario, pedidos, etc.. Voy a desarrollar una aplicación que tenga dos funciones, en las tiendas lleve todo el control de stock, ventas, inventarios, etc y además genere el pedido para que la central lo recoja y procese. Me surgen las siguientes dudas de como desarrolarlo, lo unico que tengo claro es que va a ser en Delphi XE2, os planteo mis dudas y vuestras sugerencias:

1º) Que base de datos uso? Firebird embebido o SQL Server Express. La idea es que las tiendas tengan su propia BD.
2º) La realizacion de pedidos, como aconsejais hacerlo, ¿enviar un fichero en XML, por ejemplo y que en la Central lo lean?. ¿directamente contra la BD del Servidor? ¿via internet por una web?
3º) Es fácil conectar un cajon de monedas para abrirlo y usar una pistola de codigo de barras?
4º) Impresora de ticket o normal?

Hace poco realize una aplicacion web para una empresa con PHP + AJAX pero es un coñazo el diseño y demás, pero me surge la duda si a la larga
es mejor hacerlo así en vez de una aplicación de escritorio.

Quien quiera y tenga o no experiencia en desarrollar este tipo de aplicaciones, espero me de su consejo.

Gracias y saludos a todos

Chris
14-02-2012, 00:15:59
1º) Que base de datos uso? Firebird embebido o SQL Server Express. La idea es que las tiendas tengan su propia BD.


En todo caso seria Firebird (OJO no embebido o empotrado). Los datos en la DB pueden muy facilmente estar dividos por tienda. Al tener una sola DB tienes la gran facilidad de consultar y analizar en forma general las ventas de todas juntas por ejemplo.


2º) La realizacion de pedidos, como aconsejais hacerlo, ¿enviar un fichero en XML, por ejemplo y que en la Central lo lean?. ¿directamente contra la BD del Servidor? ¿via internet por una web?

Si utilizas una DB centralizada esto ni siquiera sería tema de discusión.


3º) Es fácil conectar un cajon de monedas para abrirlo y usar una pistola de codigo de barras?

Hasta dónde sé, la pistola no tanto, solo imita el teclado. El cajón es otra cosa. Pero no es muy complicado.


4º) Impresora de ticket o normal?

Tickets por favor! Son más ahorrativas y amigables con el medio ambiente.


Hace poco realize una aplicacion web para una empresa con PHP + AJAX pero es un coñazo el diseño y demás, pero me surge la duda si a la larga
es mejor hacerlo así en vez de una aplicación de escritorio.

Mejor una app web. El único inconveniente es que necesitarás modulos especializados si para acceder al Hardware POS. He leído al respecto y parece que estos inconvenientes se pueden solucionar con un JavaApplet.

En el caso de la App Web, puede que montar tu propio servidor y mantenerlo no sea lo adecuado. Mejor consulta en servicios PaaS y ve si se ajustan a tus necesidades y presupuesto.

Saludos!

Casimiro Notevi
14-02-2012, 00:37:00
Lo que no entiendo es si se tiene ya un programa hecho en delphi 6 con firebird, ¿para qué se quiere pasar a delphi xe con ms sql? :confused:
¿Por qué no usas el programa que ya tienes hecho?

Rockin
14-02-2012, 08:28:39
Hola Casimiro, el programa que tengo hecho no tiene nada que ver con el nuevo, el actual está realcionado con el telemarketing, crm y seguimiento de ventas comerciales y el nuevo es principalmente un control de stock y ventas.

Voy a migrar a Delphi xe2 y MSSQL, por que hemos pasado de unos 20 a usuarios en una ofician a unos 200 en 4 oficinas repartidas por España y quiero implementar todas las mejoras del nuevo datasnap, sobre todo en cuanto a redundancia y failover. Además la aplicación se va a incrementar muchas funcionalidades y ya aprovecho y lo migro todo. También uno de nuestro proveedores usa un sistema que no es compatible con firebird y a mi me facilitaría mucho porder integrar su sistema con nuestro CRM para todo. Es un sistema de marcacion telefonica. Y varios temas que aconsejan el cambio.

Chris, no me he explicado bien, las tiendas tienen su propia base de datos en la tienda, ya que las franquicias son indepedidentes de la central. Es decir cada tienda tendrá su BD local para su gestion de su stock y la central otra donde recibirá los pedidos.

Creo que lo mejor es que las tiendas tengan su aplicacion en delphi para la gestion y hagan los pedidos via web o enviando un fichero, estilo las remesa de recibos de los bancos.

Espero puedan seguir ilustrandome.

olbeup
14-02-2012, 09:06:25
El motor de SQL SERVER EXPRESS es una buena opción, yo lo utilizo en la empresa y va muy muy bien en MS server 2003.
A la hora de consultar el stock local o del servidor que sera remoto, puedes hacer un servidor vinculado y consultar las tablas como si fueran locales vía Internet.

Eje.

SELECT
STL.ALMACENID
,STL.ARTICULOID
,AR.ARTICULO
,STL.STOCK AS STOCKLOCAL
,STR.STOCK AS STOCKREMOTO
FROM Stock AS STL
INNER JOIN srvlink.franquicia.dbo.Stock AS STR <-- Este es el servidor vinculado (remoto vía Internet)
ON STR.ARTICULOID = STL.ARTICULOID
INNER JOIN Articulos AS AR
ON AR.IDARTICULO = STL.ARTICULOID
WHERE AR.IDARTICULO = 278926

Espero haber contribuido y que te sirva de inspiración a tu proyecto.

newtron
14-02-2012, 10:13:52
1º) Que base de datos uso? Firebird embebido o SQL Server Express. La idea es que las tiendas tengan su propia BD.


En principio si puedes usar Firebird la ventaja que tendrás es que aquí la mayoría de la gente lo usan y te podrán ayudar con dudas sobre sintaxis sql, procedimientos almacenados, triggers, etc.


2º) La realizacion de pedidos, como aconsejais hacerlo, ¿enviar un fichero en XML, por ejemplo y que en la Central lo lean?. ¿directamente contra la BD del Servidor? ¿via internet por una web?


Yo en estos casos lo que hago es exportar los datos a ficheros temporales, comprimirlos y enviarlos a un sitio ftp para que en la central en el momento que consideren adecuado reciban ese fichero, lo descomprime e integre en la base de datos general.


3º) Es fácil conectar un cajon de monedas para abrirlo y usar una pistola de codigo de barras?


Solo tendrás que enchufarlos y podrás usar el lector de código de barras. El cajón si quieres que tenga apertura automática tendrás que conectarlo a una impresora de tickets. Para abrirlo solo tendrás que mandar una secuencia de escape a esa impresora y se abrirá el cajón.


4º) Impresora de ticket o normal?


Dependiendo del tipo de negocio te harán falta las dos, una para emitir tickets y poder conectar el cajón portamonedas y otra grande para imprimir albaranes, facturas, etc.


Hace poco realize una aplicacion web para una empresa con PHP + AJAX pero es un coñazo el diseño y demás, pero me surge la duda si a la larga
es mejor hacerlo así en vez de una aplicación de escritorio.


Si la idea tal y como la planteas es tener una aplicación independiente en cada tienda no es necesario aplicación web.

Saludos

Rockin
14-02-2012, 10:51:18
Lo del servidor vinculado suena bien, no tengo ni puta idea como se hace, pero lo buscaré.

Gracias a los que habéis respondido y los que lo haréis (si los hay). Seguiré pensando que es lo mejor. Aunque tengo que empezar casi ya.

Saludos.

olbeup
14-02-2012, 15:05:45
Mira esto (http://www.clubdelphi.com/foros/showthread.php?t=77236) haber si te vale.

Yo utilizo bastante los servidores vinculados, no se cual es el límite.

Si tienes 20 tiendas puedes vincularlas todas y desde un solo ordenador puedes ver el stock de todas con un consulta SQL, pudiendo ver quien tiene el artículo, también modificar como si fueran tuyas.

Un saludo.

Rockin
14-02-2012, 15:16:42
Tiene muy buena pinta. Pero no es eso realmente lo que busco, aunque si me vale para mi empresa actual.

Cada tienda es independiente, con dueños distintos, CIF distintosetc... y la central es también idependiente. La unica relacion entre ellas es que el pedido hay que hacerlo a la central.

Esta red de franquicia no tiene nada hecho en este aspecto y mi idea es desarrolar algo, para porder ofrecercelo y venderlo. A parte de que sirva para mi tienda en particular.

Seguimos pensando.

Saludos.

Al González
14-02-2012, 16:51:40
Hola Rockin.

Recuerda que Firebird es la base de datos que mejor se lleva con Delphi, y para el tipo de aplicación que describes está perfecta.

Abusando de tu confianza, si llegas a necesitar algún colaborador te recomiendo mirar la sección Trabajo (http://www.clubdelphi.com/trabajo.php). Ahí encontrarás que, además de ofertas de empleo, también aparecen compañeros Delphi disponibles.

Saludos.

Al González.

Rockin
14-02-2012, 17:01:10
Gracias, para nada abusas de ello. Tampoco quiero implicar a nadie todavia, porque puede que desarrolle esto y me la coma para mi, pero bueno. No te preocupes que en caso de tener que recurrir a alguen esa será mi primera opción.

Saludos.

javier7ar
14-02-2012, 17:33:56
puede que las tiendas sean independientes, pero si hacen hacen pedidos a la central todas deberian tener la misma base de articulos
Se puede unificar todo en una sola base de datos, donde algunos datos son iguales para todos (como el catalogo de articulos) y otros son especificos de cada sucursal (como las ventas y el stock).
La central tendria mas control sobre las sucursales (porque veria toda la info de ellas) pero no se si es lo que se quiere

Si vas a unificar bases de datos yo veo dos opciones:
1 - Sistema web (con php, .NET, JSP o lo que mas te guste), y que se conecten al servidor por medio de un navegador. El problema es que si no tienen internet no tienen sistema
2 - Replicas con SQL Server, similar a lo de vincularlos, pero cada uno mantiene una copia de los datos que necesita por si se corta internet. Es todo automatico, tenes que configurarlo una vez y sale andando. El problema es que necesitas una version Standard o Enterprise para la central, las demas pueden ser Express, y tenes que configurar cada sucursal.


Si no vas a unificar las Bases de datos, creo que lo mejor seria seguir con firebird que ya lo conoces bien y anda muy bien, empotrado quizas para las sucursales asi podes hacer un instalador para que las sucursales descarguen desde una pagina web por ejemplo, lo instalen y tu sistema salga andando.
El envio de datos lo podes hacer con generando un archivo XML con Midas y mandandolo por mail o conectandose a un servidor por medio de un web service; obvio que uno es mucho mas facil de implementar que el otro, pero bue'

Saludos

fide_uci
18-05-2012, 20:50:43
Contratame que yo te lo hago a un precio muy asequible. O bueno trabajamos en conjunto. Tengo experiencia en este campo y además 5 años de experiencia en desarrollo de aplicaciones con Delphi y BD (SQL Server, PostgreSQL, MySQL, Sybase, Paradox, etc.). Cualquier cosa me dejas el mensaje, saludos !

mamcx
18-05-2012, 21:18:56
Puedes explorar el usar una arquitectura 3 niveles. Yo uso y recomiendo RemObjects:

http://blog.elmalabarista.com/post/14696350553/presentacion-remobjects

Es ideal para estos casos...

Rockin
19-05-2012, 10:39:54
Hola, la aplicación ya está desarrollada, Ahora es solo ir añadiendo modulos. Al final me decante por Delphi XE2 + Fiorebird. Va perfecta.

Gracias a todos.

Delfino
21-05-2012, 13:46:05
Al final, por que diseño te has decantado? XML? Varias BD?

Rockin
21-05-2012, 14:40:06
Hola, en principio la aplicación, al ser cada tienda independiente tiene su propia BD en local, en un futuro si se gestionasen los pedidos por la aplicación tendria que hablar con la franquicia la manera de hacerlo. Eso no está todavía claro.

Saludos.