Reply to this topicStart new topicStart Poll

> Communauté Java
Dominique L.
Posted: 14/09/11 23:52
Quote Post


Ultra User
****

Group: _Membre
Posts: 453
Member No.: 3
Joined: 10/05/02
Submissions: None Submitted
Downloads: 2



Voici une rapide présentation de la communauté Java.

Il y a évidement des forums. Pour n'en citer qu'un : http://www.developpez.net/forums/f6/java/

Au niveau des groupes d'utilisateurs, il y a les JUG (Java User Group). En France, il y en au moins 17 (source et liens : http://www.touilleur-express.fr/2011/04/19...ce-debut-2011/) :

1- le Montpellier JUG (Montpellier, Languedoc-Roussillon)
2- le Lorraine JUG (Nancy, Lorraine)
3- l’ElsassJUG (Strasbourg, Alsace)
4- le Breizh JUG (Rennes, Bretagne)
5- le Tours JUG (Tours, Centre)
6- le Bordeaux JUG (Bordeaux, Aquitaine)
7- le Nantes JUG (Nantes, Pays de la Loire)
8- le Riviera JUG (Sophia-Antipolis, Provence-Alpes-Côte d’Azur)
9- le Normandy JUG (Rouen, Haute-Normandie)
10- le Paris JUG (Paris, Ile-de-France)
11- le Lyon JUG (Lyon, Rhône Alpes)
12- le Chti’ JUG (Lille, Nord)
13- le Poitou Charentes JUG (Niort, Poitou Charentes)
14- le Toulouse JUG (Toulouse, Midi-Pyrénées)
15- le Marseille JUG (Marseille, Provence-Alpes-Côte d’Azur)
16- l’Alpes JUG (Grenoble, Rhône Alpes)
17- les JDuchess France (France entière)

Ils sont soit régional, soit par spécificité (les membres de JDuchess sont des femmes uniquement).

Les JUG existent dans de nombreux pays : http://www.java.net/jugs/java-user-groups

De temps en temps, Oracle invite les responsables des JUG pour écouter les besoins des utilisateurs.

Il y a aussi des conférences :
* DEVOXX (en Belgique) : http://www.devoxx.com/
* What's Next (en France au Grand Rex) : http://www.whatsnextparis.com/
* JavaOne (aux USA organisé par Oracle) : http://www.oracle.com/javaone/

PM
Top
ballista
Posted: 15/09/11 10:19
Quote Post


User
*

Group: Italiano
Posts: 29
Member No.: 456
Joined: 19/05/04
Submissions: None Submitted
Downloads: No Files Downloaded



REFERENCES sont OK mais je voudrais savoir si quelqu'un a déjà apporté leurs applications à partir d'Abal verso java et comment il a résolu la fonction de conversion, par exemple, «ASK» sans complètement réécrire leur application entière.
PMEmail Poster
Top
Thierry Oulès
Posted: 15/09/11 18:36
Quote Post


Mega User
***

Group: Membre
Posts: 195
Member No.: 76
Joined: 06/11/02
Submissions: None Submitted
Downloads: No Files Downloaded



Bonjour,

Je vois que vous pensez à traduire des sources abal en java.

Il me semble utopiste de traduire des sources abal procéduraux dans un langage totalement orienté objet. Ce n'est pas, à la base, la même manière de concevoir et de penser.

Par ailleurs, vous parlez des GOTO. Si les GOTO existent dans certains langages (ex: en C ils existent toujours), ce sont surtout les "GOSUB" qui manquent à l'appel.

Enfin, il n'est pas certain à mes yeux que la programmation de gestion comme nous la pratiquons ait beaucoup à gagner de la programmation objet.

Je connais une boite malgache qui fait du "french-shore", développement offshore pour des SSII françaises, qui met en avant dans sa démarche commerciale sa manière de programmer procédurale et non objet sous Windev.

Pour la traduction de sources abal, le C me parait le plus adéquat (peut être le C# si on peut faire du procédural). Mais de 2 manières :

- Soit traduire pour faire un source directement exécutable, sans bugs, sans effets de bord, et le source C produit sera inexploitable car trop tordu. Synchronix l'a fait ou presque fait dans les 90's, et ce sont des bons.

- Soit traduire "mot à mot" en changeant notamment les types de données par des types de données natifs C, mais ce ne sera qu'une trame qu'il faudra finaliser à la main, mais qui économisera énormément sur le temps de ré-écriture.

Dans les 2 cas il faudra une bibliothèque béton de fonctions qui émulent les principales fonctions d'abal, notamment celles concernant les chaines de caractères, les BCD et j'en passe.

Pour ce qui concerne la ré-écriture du ASK, je vous souhaite bon courage en java ou autre: la syntaxe du ASK, les débranchements, les formats en saisie et en affichage, la gestion du curseur, de la souris à l'intérieur de la saisie, de la souris pour aller sur d'autres saisies, les listes associées, les sélections de zones dans le ask, le copier/coller. Tout cela me semble pour le moins très délicat, surtout en conservant la syntaxe du ASK.

Sinon il y a le zasklapha de Bikini, il y a des mois de travail pour cette seule fonction.




PMUsers Website
Top
Dominique L.
Posted: 15/09/11 23:34
Quote Post


Ultra User
****

Group: _Membre
Posts: 453
Member No.: 3
Joined: 10/05/02
Submissions: None Submitted
Downloads: 2



Je voulais juste présenter la communauté Java, notamment en France, pour montrer son importance, sa richesse.

Je vais quand même répondre à l'idée de porter une application Abal en Java, à partir des sources. Même si je pense que cela est techniquement possible, je ne le conseillera pas car cela demanderait trop de travail (émulation de ASK, PRINT, CRITERIA, SCREENER) pour une personne seule, et surtout pour une seule application. Comme l'indique Thierry, le passage à la programmation objet change la façon de penser, et de concevoir. Même si on contentait d'une conversion, sans chercher à profiter de l'objet, le résultat serait étrange : une approche non objet dans un langage objet.

Contrairement à Thierry, je trouve que le programmation objet apporte beaucoup sur le développement d'application de gestion de taille conséquente. Le début du développement est plus long, mais ensuite, on monte en puissance. Mon expérience est de plus de 10 ans de programmation Abal, puis plus de 4 ans de programmation intensive en Java. Je connais donc les 2 "mondes". Le passage de l'un à l'autre demande effectivement des efforts, pour changer la façon de penser. Heureusement, c'est passionnant.

Avant la programmation en Abal, je faisais un peu de C. J'aimais beaucoup à l'époque, mais je ne le trouve pas adapté au développement d'application de gestion. Un programmeur d'application ne doit pas avoir à se préoccuper de la gestion de la mémoire, ou passer du temps à debugger pour une erreur sur un pointeur qui fait planter le programme.

Quant au C#, il faut savoir qu'il est proche de Java (http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java). Un développeur Java peut rapidement passer au C#, et réciproquement. D'ailleurs on peut aussi comparer la plateforme (outils, bibliothèque, serveur) .net et celle Java. S'il est concevable de traduire des source Abal en C#, cela signifie qu'il est concevable de le faire vers du Java.

Entre l'approche traduction dans un autre langage pour faire un exécutable (et donc continuer à maintenir le source en Abal), et celle de la traduction "mot à mot" (pour une maintenance dans le nouveau langage). La 2nde approche me semble meilleure, pour profiter pleinement du nouveau langage. Mais difficile à mettre en oeuvre, certes. Une troisième approche serait de se faire des outils pour faciliter la conversion de certaines parties (la structure des fichiers, les écrans, ...).

La conversion des chaines de caractères Abal est facile. Même le BCD peut être converti en Java en quelques lignes :
CODE

private double bcdToDouble(byte[] bcd) {
 Long valeur;
 String str = "";

 boolean negatif = false;
 if ((bcd.length > 0) && bcd[0] == 0x4F) {
  negatif = true;
 }

 for (int i = 0; i < bcd.length; i++) {
  if (negatif) {
   valeur = 255 - ((long) bcd[i] & 0xff); // 0xff pour travailler en non signé
  } else {
   valeur = ((long) bcd[i] & 0xff); // 0xff pour travailler en non signé
  }
  String strTemp = Long.toHexString(valeur);
  for (int j = strTemp.length(); j < 2; j++) {
   str += "0";
  }
  str += strTemp;
 }
 // traitement des quartets spéciaux
 str = str.replace('a', '.'); // séparateur décimal
 str = str.replace('b', '-'); // signe négatif
 str = str.replace('c', ' '); // signe positif
 str = str.replace('f', ' '); // non significatif
 Double valeurDouble = 0d;
 try {
  str = str.trim();
  if (str.length() > 0) {
   valeurDouble = Double.parseDouble(str);
  }
 } catch (Exception e) {
  logger.warn("Erreur bcd2double : " + str);
 }
 return valeurDouble;
}


Pour le ASK, effectivement il y a du boulot. Mais à mon avis, il vaut mieux refaire l'interface l'utilisateur avec une véritable approche événementielle(http://fr.wikipedia.org/wiki/Programmation_%C3%A9v%C3%A9nementielle).

Cordialement,
Dominique.
PM
Top
Thierry Oulès
Posted: 16/09/11 06:04
Quote Post


Mega User
***

Group: Membre
Posts: 195
Member No.: 76
Joined: 06/11/02
Submissions: None Submitted
Downloads: No Files Downloaded



Merci pour la réponse de Dominique L qui est très éclairante.

Je ne pratique pas Java ni C#. En dehors d'abal, seulement C++ et Action-Script de Flash, donc ne peut pas juger Java.

Concernant la migration d'appli Abal vers C/C++, un problème important est effectivement le peu de sécurisation de C, notamment sur le traitement des chaines de caractères de longueur fixe (par terminées par des 0).

Question sur Java: comment sont traitées les chaine de caractères ?

- Terminées par 0 comme le C ou de longueur fixe ?
- Peut-on faire des affections et concaténations (chaine ="abc" / chaine= a + B) sans préciser la longueur des chaines
- Peut on faire un switch/case sur une chaine (switch (chaine) { case "abc" :...)

Pour avancer sur cette question de traduction de sources, autre question à Dominique L :

Est-il possible d'utiliser une DLL écrite en C depuis une appli Java ?

Si oui, il serait envisageable de porter la zlibrary en C, pour pouvoir l'utiliser depuis Java ou C d'ailleurs. De manière à ne pas re-développer une interface utilisateur Screener ou Bikini.

Concernant les accès fichiers, des solutions peuvent exister. (voir ZSI dans Bikini, ou fonctions d'accès à MySQL, ou ODBC).

Effectivement comme vous le dites, l'approche traduction "mot à mot" puis une finalisation à la main, ne peut fonctionner qu'associée à des outils que vous appelez 3e solution.

D'ailleurs la finalisation "à la main" pourrait être sous-traitée dans des pays à bas coût. Je suis géographiquement proche de madagascar qui en est un.

Enfin, je pense qu'il faut utiliser une structure de fichiers à la fois compatible avec Abal et avec le langage cible, de manière à pouvoir migrer une appli module par module en partageant les données entre l'appli abal et la nouvelle appli.








PMUsers Website
Top
ballista
Posted: 16/09/11 10:48
Quote Post


User
*

Group: Italiano
Posts: 29
Member No.: 456
Joined: 19/05/04
Submissions: None Submitted
Downloads: No Files Downloaded



Je suis très satisfait des réponses de Thierry et Dominique.
En ce moment j'ai déjà mon outil divisé en deux composantes:
a) précompilateur
B) Run-time
Les deux sont écrits en abal2.
Le premier vous permet de diviser (comme cela arrive dans la programmation orientée objet) à deux moments différents pour créer une application:
a1) La création de l'objet et toutes ses méthodes
a2) son utilisation via l'instanciation
Et cela tout simplement en utilisant ABAL2, plus ma précompilateur.
Je décris mon vieil exemple d'une table de base.
Souligne qu'il est composé uniquement de deux sources:
-Tabledcl (a1)
-Formulaires (a2)
Apparaissent dans le premier point: le «DCL», les structures de contrôle associés aux champs.
Dans le deuxième point: ce sont toutes les méthodes utilisées.
Enfin, le runtime exécute comme décrit le formulaire

Brève description du point a1:
file a1.s base de table (objet) :

DCL_variable1$=40
Assign...
Key = ...
link = ...
* Formats et des contrôles sur les champs:
&Variablea1a:: f = fm (W40):: InputOutput = variable1: gosub &InputOutput:: variable1 = InputOutput:: return"

Formes de gestion des adresses associées à "link ="

Brève description du point a2:
Instanciation de a1.s en a2.s(formulaire)

Programme "Basic"
Include a1. S
segment 0
Include a1. S
Include' run_time.s
Gosub &Form_a1"
Stop
** Description de la "forme"
&Form_a1
InputOutput="Introduire variable1 valeur: @"::gosub &variable1 :: return
Eseg_0
End

Le symbole @ permet au runtime de positionner automatiquement sur le terrain.

Le précompilateur prend soin de comprendre ce que les variables instanciées par simple compilation allumé et éteint

En résumé:
Peut-être que vous pouvez également apporter de l'ancienne structure dans une première application des événements tels que celui que j'ai conçue en abal2, ou avec bikini, et puis prendre la prochaine étape pour toutes les langues qui n'ont plus besoin d'utiliser les événements.
Le seul problème est que si elle est pratique à transporter des bikinis en Java.
Je serais heureux et favorables à la présence d'une bibliothèque bikini en Java .

Salutations
PMEmail Poster
Top
Dominique L.
Posted: 16/09/11 22:21
Quote Post


Ultra User
****

Group: _Membre
Posts: 453
Member No.: 3
Joined: 10/05/02
Submissions: None Submitted
Downloads: 2



Il est assez facile à un programmeur C++ de passer à Java. Il y a beaucoup de points communs. Il parait qu'il est plus difficile de faire le chemin d'en l'autre sens, car en Java on perd l'habitude d'une gestion rigoureuse des allocations mémoires.

En Java, la manipulation de chaine de caractères est facile. Exemple minimaliste :
CODE

public class MonProgramme1 {

public static void main(String[] args) {
 int val = 3;
 String str = " unités";
 System.out.println("valeur = " + val + str);
}

}

CODE

Résultat :
valeur = 3 unités

Pour concaténer des chaines, il suffit d'utiliser "+". On remarque que l'on peut même concaténer des numériques avec du texte. Ils sont alors convertis en texte.

Voici un autre exemple, plus orienté objet. On peut créer une classe avec une méthode "toString()". Celui-ci sera utilisée lors de la concaténation de chaine de caractères.
CODE

public class MonProgramme2 {

class MaClasse {
 int x;
 int y;

 public MaClasse(int x, int y) {
  this.x = x;
  this.y = y;
 }

 @Override
 public String toString() {
  return "(" + x + ";" + y + ")";
 }
}

public static void main(String[] args) {
 MonProgramme2 monProgramme2 = new MonProgramme2();
 monProgramme2.test();
}

public void test() {
 int val = 3;
 String str = " unités";
 MaClasse maClasse = new MaClasse(val, val);
 System.out.println("valeur = " + val + str + " => " + maClasse);
}

}

CODE

Résultat :
valeur = 3 unités => (3;3)


A propos de chaine terminée par un 0 ou d'une taille fixe, je ne connais pas le détail de l'implémentation. Je pense plutôt à une taille fixe, avec ré-allocation à chaque changement de taille. Il y a de quoi perturber un programmeur C au départ. En pratique, on a rarement de soucis de performance. Si c'était le cas (traitement de type "moulinette"), il y a des solutions plus performantes (voir: StringBuffer).

Pour les switch/case avec les String, cela est possible depuis Java 7 :
http://download.oracle.com/javase/tutorial...SwitchDemo.java

PM
Top
Dominique L.
Posted: 16/09/11 22:46
Quote Post


Ultra User
****

Group: _Membre
Posts: 453
Member No.: 3
Joined: 10/05/02
Submissions: None Submitted
Downloads: 2



QUOTE
Est-il possible d'utiliser une DLL écrite en C depuis une appli Java ?


Oui ! Il y a même 2 solutions :

JNI : Java Native Interface
- avantage : performant
- inconvénient : nécessite de coder une interface en C.
- http://fr.wikipedia.org/wiki/Java_Native_Interface
- http://www.iut-orsay.fr/dptinfo/Pedagogie/...va/javaJni.html

JNA : Java Native Access
- avantage : facile à programmer
- inconvénient : moins performant que JNI en terme de vitesse
- http://en.wikipedia.org/wiki/Java_Native_Access
- https://github.com/twall/jna#readme

Je te conseillerai de commencer par essayer JNA. Et si nécessaire, passer ensuite à JNI.

A noter que pour communiquer avec une DLL 32 bits, il faut une JVM (Java Virtual Machine) 32 bits.
PM
Top
root
Posted: 17/09/11 13:13
Quote Post


God of the forum
*******

Group: Admin
Posts: 6113
Member No.: 2
Joined: 10/05/02
Submissions: 10 
Downloads: 19



Bonne question ça
Comment vous exécutez vos applications Java ? un Java runtime je suppose
Cela nécessite quoi exactement ? As t'on une véritable portabilité ?
Sous windows ?
Sous d'autres distributions LINUX ( y compris useit )
Et sous les différents Os qui fleurissent depuis quelques temps ( Os pour tablette, Os pour smartphone etc....)

Prologue était un précurseur avec la machine virtuel BAL (puis ABAL). Pourquoi aller vers une autre machine virtuelle ?
Pour l'ouverture que permet Java par rapport à ABAL ?
Pour rejoindre une communauté plus importante et plus active ?

J'aimerais connaitre le retour d'expérience de ceux qui ont laissé tombé ABAL pour Java.
Qu'est ce que cela leur a apporté ?
Quels problèmes ont ils résolu en passant à Java ?
Quels problèmes sont apparus ? Il doit bien y avoir quelques inconvénient aussi ;-)
PM
Top
root
Posted: 17/09/11 13:27
Quote Post


God of the forum
*******

Group: Admin
Posts: 6113
Member No.: 2
Joined: 10/05/02
Submissions: 10 
Downloads: 19



N'est il pas possible d'envisager un travail coopératif entre ABAL et JAVA ?
Prendre le meilleur de chaque ou bien JAVA supplante vraiment ABAL sur tous les points
vous ne regrettez pas la fiabilité et simplicité de CRITERIA ?
PM
Top
Dominique L.
Posted: 18/09/11 16:55
Quote Post


Ultra User
****

Group: _Membre
Posts: 453
Member No.: 3
Joined: 10/05/02
Submissions: None Submitted
Downloads: 2



QUOTE
Comment vous exécutez vos applications Java ? un Java runtime je suppose
Cela nécessite quoi exactement ?

Oui, il suffit d'installer le JRE (Java Runtime Environnement). Il faut soit demander à l'utilisateur de l'installer (facile via "http://www.java.com"), soit l'inclure dans la procédure d'installation.

QUOTE
As t'on une véritable portabilité ?

Il faut juste faire attention à des spécificités. Par exemple, si pour communiquer avec un périphérique spécifique, on utilise une DLL sous Windows, il faudra l'équivalent sous Linux, et sous MacOs, en faisant attention aux versions 32bits ou 64bits.

QUOTE
Sous windows ? Sous d'autres distributions LINUX ( y compris useit )

Sous Windows, aucun soucis. C'est oracle qui fournit le programme d'installation. Sous Linux, c'est souvent installable par le système de package de l'OS. Sinon (et c'est le cas pour Use-IT), Oracle fournit un programme d'installation. En gros, c'est juste un auto-extractible, et un lien symbolique à créer. Use-IT est (ou était) livré avec une version obsolète de Java. L'installation d'une version 6 de Java est facile. Je n'ai pas essayé avec une version 7 (version actuelle de Java).

QUOTE
Os pour tablette, Os pour smartphone

Je n'ai pas trop pratiqué ces environnements. Beaucoup de smartphones supportent Java. On peut développer des applications Android en Java. A noter que le langage est bien Java, mais l'API (par exemple la façon de faire un écran) est spécifique à Android. Il existe un Java officiel pour les appareils mobiles (J2ME : Java 2 Micro Edition), mais qui ne convenait pas pour Android. Google s'est quand même basé sur Java pour Android. Ainsi l'OS peut s'affranchir des limites de J2ME, et les constructeurs qui adoptent Android n'ont pas de licence à payer à Oracle pour l'usage de J2ME. L'avantage est aussi que le nombre de programmeurs Java est important, et ils peuvent commencer à développer rapidement sous cet OS. Le soucis est que dans la précipitation Google aurait repris quelques sources appartement à Oracle. D'où le procès Oracle / Google.


QUOTE
Prologue était un précurseur avec la machine virtuel BAL (puis ABAL). Pourquoi aller vers une autre machine virtuelle ?
Pour l'ouverture que permet Java par rapport à ABAL ? Pour rejoindre une communauté plus importante et plus active ?

Le choix ne sait pas poser dans ces termes. Ce n'était pas : quelle autre machine virtuelle ? C'était plutôt : quels sont les autres possibilités crédibles ? Nous avons écarté WinDev car trop dépendant d'un éditeur. Les 2 finalistes étaient C#/dotnet ou Java. Comme je l'ai déjà indiqué ces 2 solutions sont assez proches. On retrouve les même concepts et les même capacités des 2 côtés. Le langage C# est un peu plus moderne, alors que Java est plus mature (nombre de bibliothèques open source, communauté). A noter aussi que Java est effectivement plus multi-os que dotnet.

QUOTE
J'aimerais connaitre le retour d'expérience de ceux qui ont laissé tombé ABAL pour Java. Qu'est ce que cela leur a apporté ?

- nous nous sommes affranchis des limites techniques que nous rencontrions.
- outils de développement plus puissants.
- pas de coût de runtime ou autre à chaque installation.

QUOTE
Quels problèmes ont ils résolu en passant à Java ?

- moteur de base de données relationnel performant et supportant le SQL.
- interface utilisateur moderne.
- internationalisation plus facile.
- fonctionne sous MacOs.

QUOTE
Quels problèmes sont apparus ? Il doit bien y avoir quelques inconvénient aussi

- l'apprentissage d'un nouveau langage, de nouveaux concepts et de nouveaux outils prend beaucoup de temps. Vraiment beaucoup de temps, car le delta entre le monde Abal et celui Java est vraiment important. Au début, on apprend beaucoup de nouveaux termes comme (en vrac) : persistance, design pattern, lazy loading, refactoring, data binding, model-view-controler, etc.
- au début, il vaut mieux suivre des formations, et faire appel à un ou plusieurs consultants. Il faut bien choisir ces prestations, et cela est coûteux.
PM
Top
Dominique L.
Posted: 18/09/11 17:38
Quote Post


Ultra User
****

Group: _Membre
Posts: 453
Member No.: 3
Joined: 10/05/02
Submissions: None Submitted
Downloads: 2



QUOTE
N'est il pas possible d'envisager un travail coopératif entre ABAL et JAVA ?


Je ne suis pas sûr de comprendre la question. S'il s'agit de conserver le code existant en Abal, et d'étendre les possibilités via Java. Il y a surement des possibilités, mais je ne suis pas sûr que ce soit une bonne piste. Dans notre cas, nous sommes reparti à zéro depuis la conception jusqu'au développement. Nous avons pris l'approche recommandée qui consiste à tout faire en objet : de l'analyse à la programmation. Nous avons donc modélisé les objets métiers en UML (sans être trop puriste pour ne pas faire de la doc inutile). Puis nous avons codé ce modèle, et utilisé un ORM (Objet-Relational Mapping) qui a généré la structure de la base de donnée. L'inverse aurait été possible (partir de la structure d'une base de donnée pour arriver à des objets), mais dans ce cas le résultat aurait été moins évolutif, moins "objet". Et c'était l'occasion de résoudre des limitations connues, ou de tenir compte de besoin.

QUOTE
Prendre le meilleur de chaque ou bien JAVA supplante vraiment ABAL sur tous les points ? vous ne regrettez pas la fiabilité et simplicité de CRITERIA ?

- Le seul avantage que je trouve à Abal, et que l'on peut l'apprendre rapidement. Mais en fait, comparativement, on en fait assez rapidement le tour aussi...
- Si par fiabilité et simplicité de Criteria, il faut comprendre "pas de maintenance". Il existe des bases de données qui ont cet objectif. Par exemple : SQLite (http://www.sqlite.org/) qui par exemple est utilisé dans Firefox ou d'autres logiciels qui utilisent une base de données sans administration.
- Cela me fait penser à une autre difficulté que je n'ai pas mentionné à propos du monde Java. Sur un projet en Abal, on ne se pose pas la question du choix de la base de données. En Java, on peut choisir :
* soit SQLite pour un déploiement transparent et l'absence de maintenance
* soit MySQL pour ses performances et sa réputation, mais attention à la licence en cas de distribution
* soit PostgreSQL pour ses performances sans soucis de licence
* soit Oracle pour sa puissance et sa réputation professionnelle
* etc

PM
Top
ballista
Posted: 19/09/11 10:34
Quote Post


User
*

Group: Italiano
Posts: 29
Member No.: 456
Joined: 19/05/04
Submissions: None Submitted
Downloads: No Files Downloaded



Merci Dominique, très excitant et très clair.
Confirmer l'avis de Dominique Java est un langage qui doit être utilisé avec le sérieux le plus grand possible.
Je voudrais savoir si Dominique a entrepris, comme un simple titre de l'étude, l'évaluation de la nouvelle frontière de la programmation: le Web sémantique qui permettrait une approche plus souple aux nouvelles technologies, que du point de vue de l'analyse, comme le rappelle Dominique, est très lourd en java.
Je dois mentionner que l'approche de l'ABAL analyse est: «bottom-up».
Contrairement à Java (et toutes les langues orientée objet), il commence dès le résultat à atteindre le minimum de composants.
Mon expérience me dit que la méthode peut être «bottom-up" d'atteindre plus facilement le Web sémantique.
Je peux faire des recherches dans l'application, pendant leur exécution, recherchez les étiquettes associées à l'enseignement virtuel n'avait pas été pris en charge par le compilateur (macro utilisateur).
Pratiquement toute l'application peut résider dans la base de données ou de pages Web.
Dominique utilise probablement un moteur pour gérer la gestion des entrées et sorties, et des erreurs en JAVA.
Ce même moteur peut devenir un véritable actif run-time interprétation.
PMEmail Poster
Top
Dominique L.
Posted: 19/09/11 21:14
Quote Post


Ultra User
****

Group: _Membre
Posts: 453
Member No.: 3
Joined: 10/05/02
Submissions: None Submitted
Downloads: 2



J'ai déjà un peu entendu parler de Web sémantique, mais sans comprendre si cela peut apporter quelque chose aux logiciels de gestions comme nous faisons.

Au niveau de la méthode de conception, j'ai appris quelques principes :
- Ne pas chercher à faire l'analyse complète parfaite, avant de commencer à développer. Il est préférable de se fixer des objectifs accessibles dans un temps raisonnable. Il arrive que lors du développement, les besoins changent, ou que l'expérience apporte de nouvelles solutions. Avec une itération analyse/développement plus courte, les premiers utilisateurs peuvent essayer l'application plus tôt, et remonter ce qui ne va pas rapidement. Cela permet aussi à l'équipe de maintenir un effort constant sans épuisement.
- A mon sens, ce qui nécessite le plus une analyse pointue, c'est bien la partie des objets métiers et leurs liaisons (diagramme des classes en UML). En effet, certains changements sur la partie métier peuvent avoir des conséquences importantes à tous les niveaux (modèle objet, structure de la base de données, interfaces utilisateurs, etc).
- Une application importante peut souvent être découpée en plusieurs modules. Certains modules peuvent même être complétement découplés de l'application principal, pour pouvoir évoluer de façon indépendante, ou pour être ré-utilisé dans d'autres projets. Et pour rappeler le 1er point, il ne faut pas forcer chercher à obtenir cela dés le début. Le module peut être intégré au début, puis découplé lorsque le besoin arrive.

Certains de ces principes (et il y en a d'autres) sont issus des méthodes agiles (http://fr.wikipedia.org/wiki/Méthode_agile). Il ne faut pas forcer chercher à les suivre toutes à la lettre, cela peut dépendre du contexte. En tout cas, cela donne des pistes pour être plus efficace.

This post has been edited by Dominique L. on 19/09/11 21:16
PM
Top
0 User(s) are reading this topic (0 Guests and 0 Anonymous Users)
0 Members:

Topic Options Reply to this topicStart new topicStart Poll

 

webcron.org Get Firefox! prologue-community.org est monitoré par ikoula.fr Referenceur Gratuit www.prologue-community est mis en évidence sur internet grace à daubresse.fr
moteur de recherche - referencement
Conformément à l'article 34 de la loi "Informatique et Liberté" vous disposez d'un droit d'accès, de modification, de rectification et de suppression des données qui vous concernent.
Pour l'exercer, merci de nous contacter : CONTACT US

www.prologue-community.org n'est pas enregistré à la CNIL
www.prologue-community.org est hébergé sur visit.fr

www.prologue-community.org est indépendant de la société Prologue
Une grande partie des logiciels et outils cités sur www.prologue-community.org sont des produits et marques déposées par la société Prologue


MKPortal M1.1 Rc1 ©2003-2005 All rights reserved
Page generated in 0.0125 seconds with 2 queries