Questions de debutant
Le
Philippe Dhondt
Bonjour
Nouveau venu dans le monde Java, j'ai quelques petites questions :
Je souhaite développer une appli boursière
Celle-ci est construite autour d'une base de données.
Chaque jour l'appli se connecte à un serveur est donwload les data «
brutes » (pour chaque titre : cours d'ouverture , cours de clôture, plus
haut, plus bas et volumes).
Les data sont incorporées à la DB
Un outil de calcul est alors lancé sur ces « data brutes » et produit des
« data corrigées » (indicateurs d'analyse technique, )
Un outil d'arbitrage est ensuite lancé sur ces « data corrigées » et permet
de gérer un (des) portefeuille de titres.
Un site web sera egalement connecté à la DB
Il permettra , entre autre, à ses abonnés de visualiser les graphiques des
data corrigées.
Donc, cette appli doit essentiellement faire
1.. Des calculs
2.. Des graphiques
L'aspect « Performances » est de toute première importance
1.. Performances pour les calculs :
Le nombre de calculs effectués est impressionant (+ de 6000 titres, + de 100
indicateurs, + 10 dérivés par indicateur )
Pour chaque calcul, on va chercher les data dans la db, on calcule, on
sauvegarde le résultat dans la db.
Comme on download chaque soir, il serait sympa que l'apppli ait terminé son
travail pour l'ouverture du lendemain J
De plus, si les résultats escomptés sont vérifiés, l'appli pourrait passer
en « temps réel » (on download toutes les 5 minutes)
2.. Performances pour les graphiques
Ceux-ci sont donc construits à partir de data qu'on va chercher dans la Db
et le temps d'affichage doit être minimisé au maximum.
Quels choix conseillez-vous ?
1 IDE : Eclipse ou NetBeans ?
2 DB : PostgreSQL ou ?
3 Quel outil pour les Graphiques (essentiellement de type « chandelier »)
4 L'étape UML est-elle indispensable ?
Les premières questions :
1 Java a parfois une réputation de « lenteur », qu'en est-il ?
2 Utiliser C++ changerait-il quelque chose en terme de performances ?
Enfin, quelles sont les bonnes lectures avant de se lancer dans un tel
projet ?
Dernière remarque, je ne suis pas informaticien, mais l'appli en question
existe bel et bien aujourd'hui. Je l'ai développé avec Access, Excel,
VBA et VB6 (et une centaine de titres seulement) . Elle est constituée d'un
nombre « déprimant » de « modules » (on appelle cela une usine à gaz je
pense)
C'est pour pouvoir continuer à la faire évoluer que je repars à 0 et qu'il
me semble que l'approche « objet » et intéressante. Tous les commentaires
sont les biens venus.
Merci à vous
Philippe Dhondt
Nouveau venu dans le monde Java, j'ai quelques petites questions :
Je souhaite développer une appli boursière
Celle-ci est construite autour d'une base de données.
Chaque jour l'appli se connecte à un serveur est donwload les data «
brutes » (pour chaque titre : cours d'ouverture , cours de clôture, plus
haut, plus bas et volumes).
Les data sont incorporées à la DB
Un outil de calcul est alors lancé sur ces « data brutes » et produit des
« data corrigées » (indicateurs d'analyse technique, )
Un outil d'arbitrage est ensuite lancé sur ces « data corrigées » et permet
de gérer un (des) portefeuille de titres.
Un site web sera egalement connecté à la DB
Il permettra , entre autre, à ses abonnés de visualiser les graphiques des
data corrigées.
Donc, cette appli doit essentiellement faire
1.. Des calculs
2.. Des graphiques
L'aspect « Performances » est de toute première importance
1.. Performances pour les calculs :
Le nombre de calculs effectués est impressionant (+ de 6000 titres, + de 100
indicateurs, + 10 dérivés par indicateur )
Pour chaque calcul, on va chercher les data dans la db, on calcule, on
sauvegarde le résultat dans la db.
Comme on download chaque soir, il serait sympa que l'apppli ait terminé son
travail pour l'ouverture du lendemain J
De plus, si les résultats escomptés sont vérifiés, l'appli pourrait passer
en « temps réel » (on download toutes les 5 minutes)
2.. Performances pour les graphiques
Ceux-ci sont donc construits à partir de data qu'on va chercher dans la Db
et le temps d'affichage doit être minimisé au maximum.
Quels choix conseillez-vous ?
1 IDE : Eclipse ou NetBeans ?
2 DB : PostgreSQL ou ?
3 Quel outil pour les Graphiques (essentiellement de type « chandelier »)
4 L'étape UML est-elle indispensable ?
Les premières questions :
1 Java a parfois une réputation de « lenteur », qu'en est-il ?
2 Utiliser C++ changerait-il quelque chose en terme de performances ?
Enfin, quelles sont les bonnes lectures avant de se lancer dans un tel
projet ?
Dernière remarque, je ne suis pas informaticien, mais l'appli en question
existe bel et bien aujourd'hui. Je l'ai développé avec Access, Excel,
VBA et VB6 (et une centaine de titres seulement) . Elle est constituée d'un
nombre « déprimant » de « modules » (on appelle cela une usine à gaz je
pense)
C'est pour pouvoir continuer à la faire évoluer que je repars à 0 et qu'il
me semble que l'approche « objet » et intéressante. Tous les commentaires
sont les biens venus.
Merci à vous
Philippe Dhondt

Poser une question

De meme
A priori, Eclipse car plus ouvert, plus de plugins
ou MYSQL, avec des tables MyISAM afin de pouvoir gerer les transactions
proprement, ainsi que les contraintes foreign key entre les tables
J'ai utilise Cewolf (http://cewolf.sourceforge.net/new/index.html) sans
trop de difficulte
L'etape UML n'est jamais indispensable ; elle est juste conseillee : le
temps passe dans cette etape est tres generalement gagne par la suite ...
Pour ce genre de projet, c'est la base de données qui donne les
performances globales du systeme, donc Java ou C++ ou php, ca ne change
pas grand chose d'un point de vue performances
Ouf ! Vaste question : penser en Java (http://penserenjava.free.fr/)
pour les generalites Java, comment ca marche
(http://www.commentcamarche.net/) pour plein de choses sur UML, Java, le
web ...
JEdit...
puissant. J'aime également beaucoup FirebirdSQL mais que je limite à des
bases de petite taille ( embarquées, j'aime beaucoup McKoi (java pur).
utilisateurs (si tu en as) sont elles totalement indispensables. En ce qui
me concerne, je trouve UML mal fichu, barbare, pédant, et surtout
totalement inadapté à sa vocation initiale.
peut être pénalisant. Mais par rapport à un programme en Access, Excel...,
rien à voir, cela devrait aller beaucoup, beaucoup plus vite.
calculs du processeur sans avoir à se préoccupper de l'ordonnancement des
octets (par exemple).
Cela dit, rien ne t'empêche d'écrire les parties sensibles en C/C++ et tout
le reste en java. Je te conseillerais de tout écrire en Java, et de voir
ensuite si tu as vraiment un problème de perf.
t'appuies sur un SGBDR fort en calcul, tu pourras presque tout faire avec
lui, le Java n'étant alors plus utilisé que pour l'IHM (interface
homme-machine).
Egalement, un bon bouquin sur le java, et surtout un bon bouquin sur la
finance si tu n'es pas encore expert dans ce domaine.
solutions élégantes à certains problème, mais pour la partie calcul pur, il
ne faut pas attendre de miracle du fait que tu passe à de l'objet.
Je pense que ce projet peut se réaliser sur une plate-forme Java J2EE :
Servlets + Frame work de présentation (Struts JSP ou JSF ou autres (
Echo) )+ JFreeChart ( graphique) + Objets Façades + POJOS + Mapping O/R
( Hibernate ou JDO) + Database (Postgres, la V8 se rapproche de plus en
plus de la référence ;-) )
Le mapping O/R va te servir à insérer tes données à travers les batch
ainsi que d'acceder à ces données pour les mettre à disposition des
utilisateurs à travers des pages HTML et des graphiques ( JFreeChart
permet de créer des images JPEG insérables dans les pages HTML (
générées à partir des pages JSP).
Je ne suis pas fan des EJB 2.x
Comme j'ai l'impression que tu es débutant en Java, il te faudra d'abord
travailler le langage ( JDK / J2SE ), puis comprendre le fonctionnement
d'une plateforme J2EE partie Servlet ( WAS).
pour la partie WAS ( Container de servlets) , tu peux utiliser TOMCAT ou
tout WAS intégrant TOMCAT, je te conseille JONAS ( www.objectweb.org).
Pour le Mapping O/R, Hibernate est l'un des plus utilisé et est sous
licence LGPL.
Pour la modelisation multi-couche, je te conseille d'utiliser le modele
de la société IMPROVE
URL de départ :
http://www.application-servers.com/...x.1_0.html
Le principe du modèle 5 couches, est le découplage maximal de chaque
couche par rapport à l'autre. Le dialogue inter-couche se fait en
utilisant le Design Pattern DTO ( Data Objetc Transfert ). Ce qui peut
permettre de changer par exemple la couche présentation (
HTML/Servlet/Frame-work de présentation) par un client lourd sans
toucher aux autres couches.
Bon courage