1

J'ai une énigme intéressante. J'ai été mis au défi d'identifier le processus le plus approprié pour créer un "frontal du navigateur" pour une application multi-utilisateur existante construite dans l'environnement TigerLogic/Pick D3. Ma recherche indique qu'il y a plusieurs façons de le faire. mais j'ai du mal à décider quelle méthode est la meilleure ou par où commencer. J'ai "joué" avec quelques technologies, mais un engagement est nécessaire pour commencer.Création d'un frontal de navigateur pour l'application TigerLogic D3 DB

Ces méthodes comprennent:

  • Création d'un webservice complexe en utilisant MVS Toolkit; et l'ingénierie d'un client à partir de WSDL à partir de rien ou en utilisant maven/wsimport. Les tests indiquent qu'il y a beaucoup plus à ce processus qu'à l'origine mais pour un WSDL simplement.
  • Développement d'une application Web basée sur Java qui exploite MVSPJavaAPI - Je ne suis pas développeur JAVA, cela signifie donc apprendre une nouvelle langue. Le développement aurait très probablement lieu dans Eclipse.
  • Utilisation de TigerLogics FlashCONNECT - ce qui entraîne des dépenses supplémentaires pour les clients, donc pas préférable - et plus ou moins
    out.

Il y a aussi l'option .NET - mais je l'ai exclue pour des raisons de portabilité.

Ma question est, quelqu'un d'autre at-il fait quelque chose comme ceci et pourriez-vous partager votre expérience? Ma première tâche est de construire une application web qui me donnera de manière fiable l'invite D3 TCL dans un navigateur que je peux personnaliser.

Je ne suis pas sûr qu'il y ait une réponse définitive ici, mais je voudrais des pensées des gens et je vais étiqueter le plus utile comme réponse.

Répondre

0

Le chemin que vous choisissez dépend en partie de votre ensemble de compétences existant et si cela correspond à vos besoins de portabilité. Il est très difficile de vous donner une réponse concrète à votre question parce que vous ne savez pas dans quelle partie de la chaîne vous avez besoin de la portabilité.

Il est cependant possible de développer un frontal web-browser en utilisant .NET qui fonctionnera sous Linux ou Windows, donc je ne vois pas de problème de portabilité ici. Votre serveur Web devra être basé sur Windows, mais cela ne devrait pas avoir d'importance si D3 tourne sous Linux ou Windows à la fin du serveur, ou si les postes clients fonctionnent sous Linux ou Windows.

Vous pouvez essayer l'API TigerLogics MVSP .NET, mais je ne sais pas si elle a le pouvoir de fournir en fonction de vos besoins. Je crois que vous pouvez trouver mv.NET from Bluefinity pourrait répondre à vos besoins. C'est à mon avis le produit leader sur le marché MultiValue pour atteindre les objectifs que vous avez en tête. Cela signifiera dépenser de l'argent bien sûr. Pour cela, vous obtiendrez un ensemble d'outils très puissant. En outre, le coût d'investissement dans un bon outil pourrait finir par être plus petit que le coût en termes de temps, d'effort et de complications potentielles d'essayer de faire ceci au coup par coup sans dépenser de l'argent supplémentaire. Je suis sûr que Flashconnect ferait aussi le travail. Vous devrez peser le coût des différentes options pour savoir lequel vous convient le mieux techniquement et financièrement.

Ne sachant pas si vous avez .NET dans votre ensemble de compétences, je ne sais pas si l'option .NET serait plus facile pour vous. C'est cependant techniquement possible.

+0

Merci de votre participation Glenn. Nos installations D3 sont principalement basées sur Linux (CENTOS) et je voudrais que les serveurs web tournent sur la même machine ... donc tout est propre et les utilisateurs peuvent simplement passer à travers un navigateur en utilisant un port dédié. D'où l'exclusion de .NET. – user1682651

+0

Glenn Avez-vous des opinions sur l'option MVS Toolkit/WSDL? – user1682651

+0

En outre, je ne suis pas enthousiaste à l'idée d'être fortement dépendante de MS - d'où la stratégie du navigateur frontal. – user1682651

0

Je suggère d'utiliser Rocket D3 (anciennement TigerLogic D3).API NET et créez un service Web API RESTful que vous pouvez utiliser avec JavaScript dans toute autre technologie Web et si vous devez appeler à partir d'un sous-programme D3 (au cas où vous le feriez), utilisez MVS Toolkit.

Exigences cependant sont D3 9.0 ou plus tard.

0

J'ai utilisé toutes les technologies décrites, et beaucoup d'autres pour l'interface avec D3. Je suis d'accord avec @Glenn et j'ajouterai ... Je comprends que vous vous éloignez de .NET. C'est bon, vous n'en avez pas besoin. Mais considérons que la plupart des implémentations LAMP séparent les serveurs SGBD des serveurs Web. Cette topologie introduit de courts délais entre les niveaux mais les dissocie au cas où vous souhaiteriez utiliser plusieurs serveurs Web ou plusieurs bases de données - une topologie commune même avec D3/MV.

J'ai un client où nous avons un frontal Java/Grails sur Linux, avec toutes les requêtes de données filtrées à travers une seule classe de fournisseur de données élégante qui est abstraite de la logique de l'application. Cela utilise un appel de service Web que j'ai écrit en Java, appelant à un service Web .NET. Le service est facilement généré/modifié, tout comme le client du WSDL. A partir de là, IIS achemine les requêtes entrantes vers D3 via mv.NET, et à ce stade, peu importe si le SGBD D3 est sous Linux ou Windows. Mon service web aurait pu être aussi facilement sous Linux avec Java mais il n'y aurait pas de mécanisme de mise en commun - voir ci-dessous.

Si vous voulez tout Linux alors vous pouvez aller avec la bibliothèque Java MVSP. TigerLogic (maintenant acquis par Rocket Software) s'est engagé à une liaison PHP pour MVSP il y a quelques mois. Plutôt que d'attendre, un de mes clients a créé un wrapper PHP autour de mv.NET, même si MVSP est aussi facile. Donc l'application qui en résulte est essentiellement LAMP, mais avec le M = Multivalue. J'ai aussi écrit un code comme celui-ci - nous pouvons écrire un wrapper dans n'importe quel langage qui expose une API utile et résume à la fois la méthode de connectivité et les dépendances du système d'exploitation. En d'autres termes, peu importe les langues que nous voulons utiliser ou les systèmes d'exploitation impliqués. Cette partie est plutôt triviale et sujette à changement plus tard. Il est préférable de se concentrer sur l'application que sur les communications.

Vous pouvez également quitter le menu, pour ainsi dire, et créer votre propre wrapper Java/PHP autour de la commande d3tcl au niveau OS, qui est un script/wrapper autour de l'exécutable d3. Cela vous permet d'ouvrir une connexion et de passer des commandes. Quelle que soit l'option que vous sélectionnez, vous devez considérer que l'ouverture et la fermeture d'une connexion DBMS est un processus lent. Vous ne voulez pas écrire un login autour de chaque demande de données. Vous voulez ouvrir une connexion et la maintenir ouverte de manière persistante, tandis que votre code client accède et libère cette connexion persistante si nécessaire. C'est pourquoi nous aimons mv.NET et FlashCONNECT. Avec MVSP et d'autres mécanismes, vous devez créer votre propre modèle de persistance. Vous aurez également besoin de gérer un pool de ressources de connexion - que se passe-t-il lorsque vous obtenez 10 requêtes simultanées, ou juste une courte une après une longue? Vous ne voulez pas que les requêtes soient sauvegardées, vous ne voulez pas rejeter ou annuler les connexions, et vous ne voulez pas déclencher une connexion pour chaque client. Vous voulez le nombre correct de sessions de SGBD en attente de connexions entrantes. mv.NET et FlashCONNECT le font pour vous, les autres ne le font pas.

Personnellement, je serais loin de FlashCONNECT. J'étais là pour son développement et ses tests initiaux et pour des années d'implémentation par les utilisateurs finaux. Ce n'est pas aussi largement utilisé que les autres options et est plus un outil pour ceux qui ne sont pas familiers avec d'autres options. Si vous parlez de Java, vous n'êtes probablement pas enclin à utiliser FlashCONNECT. Cela dit, si vous avez des développeurs qui ne connaissent rien en dehors de D3, alors FlashCONNECT est un outil côté serveur décent pour eux alors que quelqu'un d'autre se concentre sur le côté client avec d'autres technologies. Tout le monde devrait utiliser leurs meilleures compétences. Enfin, (déjà?) Si quelqu'un n'est pas familier avec les technologies externes, et plus intime avec D3, alors d'autres options existent comme DesignBAIS et Viságe, supprimant le fardeau des communications et permettant aux développeurs de travailler côté client fonctionnalités et règles back-end dans BASIC.Je discute de tous ces sujets ainsi que de la téléphonie mobile et de la téléphonie au my blog.

HTH

Questions connexes