Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Req. No funcionales (https://www.clubdelphi.com/foros/showthread.php?t=91826)

andresenlared 08-05-2017 21:04:56

Req. No funcionales
 
Buenas tardes foristas.

Perdón por abusar de su tiempo. En el momento se trabaja en delphi7, y se adquirio delphi tokyo, apenas estamos en proceso de adquirir una consultoria para mirar la herramienta, tecnologia, usos etc, pero como apenas vamos a aprender, tengo un proyecto nuevo donde se que se puede hacer todo lo que piden en delphi, pero necesito detallar como se abordara con la nueva herramienta, solo seria que me indicaran, que componente usar o tipo de proyecto delphi usar, para que pueda profundizar y explicar de mejor manera en la empresa, de lo contrario se desarrollaría en otro framework. lo que piden es lo siguiente.

1. Que se pueda cambiar la base de datos entre postgresql, oracle, sql server, sin hacer cambios significativos.
2. Se pueda trabajar de manera desconectada en los clientes, solo en ciertos momento, se envie y se actualiza la informacion en el cliente.
3. descargar actualizaciones en linea del cliente o del servidor.
4. interfaz web
5. Se permita cierta funcionalidad para android.
6. separación de funcionalidades las propias del cliente y las del core. (Se usaria BPL??).
7. Diseño en capas.
8. Compatibilidad para sistemas windows a 32 y 64 bist.

La idea es que pueda aprovechar todo lo que trae la nueva herramienta, y también para ver los temas de la consultoria.

Muchas gracias por su tiempo.

jhonny 08-05-2017 21:24:01

Todo lo que acabas de indicar se puede hacer con Delphi Tokyo:

Cita:

1. Que se pueda cambiar la base de datos entre postgresql, oracle, sql server, sin hacer cambios significativos.
Usas FireDAC

Cita:

2. Se pueda trabajar de manera desconectada en los clientes, solo en ciertos momento, se envie y se actualiza la informacion en el cliente.
Hay varias maneras de hacer esto, sin embargo no podría decirte una... pues esto depende de muchos factores. Pero de que se puede hacer con Delphi se puede... incluso en otros casos sería con la misma base de datos... pero comot e digo depende de dichos factores.

Cita:

3. descargar actualizaciones en linea del cliente o del servidor.
Si vas a hacerlo con lo que mencionaste en el punto 6 (usar BPLs) es genial para lograr este cometido... si no, pues igual se puede lograr con Delphi.

Cita:

4. interfaz web
Puedes usar por ejemplo UniGUI para esto, incluso puedes hacer un servidor WEBBroker si quieres hacer algo más WEB (Podrías usar el Razor de MarcoCantú, que es muy nuevo pero se ve muy interesante)... o como vas a trabajar en capas, pueden hacer la interfaz web a parte y pegar la lógica de negocio a por ejemplo un server datasnap con RESTFull hecho en Delphi.

Cita:

5. Se permita cierta funcionalidad para android.
Con FireMonkey, eso sí, moderniza tu forma de programar para obtener una mejor calidad en tu producto final.

Cita:

6. separación de funcionalidades las propias del cliente y las del core. (Se usaria BPL??).
7. Diseño en capas.
He unido esos 2 puntos porque por un momento parece que hablas de lo mismo, aunque no es lo mismo que tu sistema esté hecho en capas que usar BPLs...

Para trabajar en capas, debes definir bien el modelo que quieres trabajar (Por ejemplo con 3 capas), crear tu grupo de proyectos, defines cuales será tu Backend, tu FrontEnd y dónde vas a administrar tus datos. Todo eso lo puedes hacer con Delphi, incluso el modelado gráfico si tu edición es Architect.

Cita:

8. Compatibilidad para sistemas windows a 32 y 64 bist.
Bueno, Delphi es especialista en esto, sólo seleccionas la plataforma par ala cual quieres compilar, compilas y ya.

Espero te sirva de algo lo que te he comentado.

andresenlared 09-05-2017 00:37:09

Muchisimas gracias Jhonny, voy a mirar con mas profundidad los temas que me indicas, para contar con mas argumentos, y poder planear y construir un buen proyecto en Delphi...

Excelente...^\||/

Neftali [Germán.Estévez] 09-05-2017 08:49:18

Cita:

Empezado por andresenlared (Mensaje 516363)
1. Que se pueda cambiar la base de datos entre postgresql, oracle, sql server, sin hacer cambios significativos.

FireDAC te puede dar esta funcionalidad.

Cita:

Empezado por andresenlared (Mensaje 516363)
2. Se pueda trabajar de manera desconectada en los clientes, solo en ciertos momento, se envie y se actualiza la informacion en el cliente.

Eso de por si (y a nivel general) no es una buena política, porque normalmente los sistemas de sincronización suelen ser complicados. Los tienes que programar manualmente (porque no hay nada que haga eso de forma automática) y suelen ser fuente de grandes problemas.
Das pocos detalles así que tampoco se puede decir más...
Tal vez algún proceso concreto si se pueda aislar de forma sencilla, pero trabajar con un programa de B.D. de forma desconectada, para luego conectar y sincronizar los datos (desde varios puestos) puede ser un "festival".


Cita:

Empezado por andresenlared (Mensaje 516363)
3. descargar actualizaciones en linea del cliente o del servidor.

Sin problemas utilizando las Indy. Sea desde FTP, HTTP, HTTPs,...
También puedes utilizar los nuevos componentes REST.

Cita:

Empezado por andresenlared (Mensaje 516363)
4. interfaz web

Vaya por delante que Delphi no es la mejor herramienta para desarrollar entornos web.
Si TODA la aplicación es web, te recomiendo que te decantes por otro framework.
Otra cosa es que tu aplicación sea un ejecutable y desees crear un cliente "ligero" para web. En ese caso puedes utilizar para esa parte otros frameworks y dejar la parte "servidor" para Delphi.
Hay muchas combinaciones y puedes revisar los siguientes enlaces para hacerte una idea:
* Mobile jQuery Client for Delphi REST Server
* Delphi XE5 | Demo incluyendo Bootstrap en una aplicación Delphi DataSnap Web
* Delphi + Intraweb + Bootstrap parte I
* Coderage XI - Modern Web Applications with Intraweb and Bootstrap
* Delphi DataSnap REST server and jQueryMobile web client tutorial available
* ... (si buscas encontrarás otros similares)


Cita:

Empezado por andresenlared (Mensaje 516363)
5. Se permita cierta funcionalidad para android.

La respuesta es la misma que la anterior. Creo que estás hablando de aplicaciones separadas. Debes pensar en un cliente Android que se conecte a un Servidor o directamente à la Base de Datos (preferiblemente a un servidor y este a la Base de Datos).

Cita:

Empezado por andresenlared (Mensaje 516363)
6. separación de funcionalidades las propias del cliente y las del core. (Se usaria BPL??).

Si estás pensando en usar BPL's es que estás pensando en usar Delphi.
En cualquier caso eso es un tema de diseño. Puedes crear BPL's en Delphi o DLL's en delphi o DLL's en otros lenguajes e interactuar con ellas desde tu programa Delphi.

Cita:

Empezado por andresenlared (Mensaje 516363)
7. Diseño en capas.

Seguramente para para todo lo que comentas sea lo que necesitas. A la capa del servidor de datos será à la que se conecten los diferentes clientes.

Cita:

Empezado por andresenlared (Mensaje 516363)
8. Compatibilidad para sistemas windows a 32 y 64 bist.

Con las últimas versiones dse Delphi no tendrás problemas para hacer esto. Permiten generar aplicaciones para 32 y 64 bits.

Planteas un escanario complejo uy con muchos requisitos, así que yo no descartaría revisar y finalmente utilizar diferentes Frameworks.


La franja horaria es GMT +2. Ahora son las 19:15:49.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi