IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Android base de données et requêtes rapides


Sujet :

Android

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 15
    Points
    15
    Par défaut Android base de données et requêtes rapides
    Bonjour a tous,

    Pour mon TFE je réalise un app android pour gérer des commandes dans un restaurant
    En résumé, les clients d'une table passe une commande, celle-ci sera envoyé vers une app en cuisine ou une app au bar
    tous dépend ce que les clients ont commandés. Tous s’effectuera en locale.

    J'ai lu quelque documentation, mais je ne sais pas la quelle de c'est méthode sera la mieux approprié et la plus rapide pour mon projet.

    1. Le webservice : exemple glassFish avec Soap, mais il paraitrait que ça soit lent, mais plus ouvert, si je voudrais à l'avenir changer de plateforme

    2. PHP, Json, Gson : Je pense que ce soit la méthode la plus rapide et elle reste ouverte pour le web, est que c'est également un web service ?

    3. Fournisseur de contenu : Si j'ai bien compris, une app fais office de fournisseur et les autres sont les clientes de ce fournisseur. Mais l'app fournisseur risque d'être super lente si par exemple
    une dizaine de personnes passe commande ?

    4. Plateforme de conception : Exemple Google App Engine, je pense aussi que ça pourrais être lent si on a une mauvaise connection internet

    Merci d'avance pour la lecture de mon sujet et pour vos réponses

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Je verrais plutôt l'appli en cuisine en tant que serveur et les applis de commande en tant que client.
    Pas besoin d'un intermédiaire type webservice ,suffit d'établir un protocole de communication entre tes deux appli et d'échanger via sockets.
    Comme tu vas être sur un réseau local tu colles une ip fixe à ton serveur et ça roule.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    Merci pour la réponse.

    Comme je ne connaissais pas ce principe de communication via sockets, j'ai lu cette article sur la communication TCP/UDP et des sockets en java dans les cours et tutoriels Java. C'est un très bon principe de communication entre app, mais j'ai quelques questions

    Est-ce ça ne ralentirait pas l'app cuisine, si une vingtaine de clients effectuent une commande en même temps ?
    Est-ce que un webservice serrait moins compliqué à mettre en place ? Mais peut-être plus lent ?
    Est que c'est possible par la suite de créer une app pour des commandes en ligne ?

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Est-ce ça ne ralentirait pas l'app cuisine, si une vingtaine de clients effectuent une commande en même temps ?
    Non , il suffit que ton serveur soit multi threadé et/ou que tu implémente un système de queue (via une base de données par exemple) si jamais tu as trop d'infos à gérer

    Est-ce que un webservice serrait moins compliqué à mettre en place ? Mais peut-être plus lent ?
    C'est un peu plus complexe à mettre en place si tu te base directement sur du TCP/UDP puisque tu devra gérer les cas un peu particulier telle qu'une requête incomplète , une déconnexion ... Après si tu te base sur HTTP (par exemple) tu te libère d'une bonne partie de ces contrainte, mais ca implique un mini serveur web sur l'appli cuisine.

    Un webservice sera forcément plus lent que de simple requête TCP , mais dans ton contexte c'est négligeable. Le problème du webservice c'est que comme l'appli cuisine ne sera pas en écoute perpétuelle (comme elle le serais sur une socket tcp) tu doit mettre en place quelque chose pour interroger régulièrement le webservice pour voir si de nouvelle données sont disponible ou encore mettre en place des notifications push.

    Est que c'est possible par la suite de créer une app pour des commandes en ligne ?
    Si la finalité est un environnement avec des applis local au resto et d'autre en ligne , le webservice semble la solution la plus adéquate. C'est d'autant plus vrai si ta solution a besoin d'être multi plateforme. C'est plus simple d'harmoniser des communication via HTTP qu'en TCP.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    Salut grunk,

    Encore merci pour tes réponses.

    Mais j'ai encore fais plein de recherches d'après tes réponses mais malgré tous j'ai encore besoin de précision

    J'ai décidé que mon/mes app seront utilisés en local et peut-être à l'avenir via une page web.

    Un Serveur web sera plus rapide qu'un WebService ?

    Php avec Json rest... est-ce que c'est un WebService ou Serveur Web ? Je pense que c'est un WebService et son serveur web c'est apache, arrête moi si je me trompe

    Après si tu te base sur HTTP (par exemple) tu te libère d'une bonne partie de ces contrainte, mais ça implique un mini serveur web sur l'appli cuisine.

    Je pense que cette solution sera la plus simple, moyennement rapide en transfert des données, mais plus approprié à mon projet.
    Tu peux me donner ton avis, si tu as le temps?

    Aurais-tu un lien vers documentation ou je pourrais me diriger pour développer un mini serveur web et les échanges avec un client , car c'est très flou sur le net ?

  6. #6
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Un Serveur web sera plus rapide qu'un WebService ?
    Un webservice c'est une application qui à besoin d'un serveur web (Apache,IIS,nginx ...) pour fonctionner. Le serveur web donne la capacité d'envoye ret recevoir des requête HTTP , le webservice donne les fonctionnalités (en gros ça dis : "si tu reçois une requête de cette forme , fait telle action")

    Je pense que c'est un WebService et son serveur web c'est apache, arrête moi si je me trompe
    C'est bien ça.

    Je pense que cette solution sera la plus simple, moyennement rapide en transfert des données, mais plus approprié à mon projet.
    Ca sera simple si tu trouve une librairie pour gérer la partie serveur web. Si tu dois le développer toi même ca va être long et compliqué
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    Super merci encore pour tes réponses.

    Je vais suivre tes précieux conseillés et je partir sur un serveur web

    J'ai trouvé ces 2 librairies. Qu'est ce que tu en pense ?
    Connaitrez-tu une librairie idéal pour mon projet ?

    Nanohttpd
    https://github.com/NanoHttpd/nanohttpd

    JDBC
    http://java.developpez.com/faq/jdbc/...definitionJDBC
    http://amitku.wordpress.com/2011/08/...m-android-app/

  8. #8
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Nanohttpd semble pas mal. JDBC en revanche n'a rien à voir , c'est ce qui permet de te connecter aux base de données en java. Un peu l'équivalent de PDO en php par exemple.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    Super merci pour tous

  10. #10
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    Mais comment puis je me connecter a ma db mysql a partir de du serveur http sans passer par jdbc.
    Je n'ai pas le choix ?

  11. #11
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Y'a pas de mysql dans android.

    Soit tu passes par un webservice qui expose une base mysql sur un serveur
    Soit tu communiques entre application sans webservice et tu utilises sqlite.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #12
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Soit tu attaques directement ta BDD en externe... et là, c'est la porte ouverte à toutes les fenêtres : problème de sécurité, désynchro, instabilité, gestion... A ne pas faire donc. Mentionné uniquement à titre informatif et à ne SURTOUT PAS faire.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  13. #13
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    Je plante complétement, j'ai commencé à réaliser une connexion JBDC avec le serveur nanoHttp.
    Je devrait plutôt créer une base de données sqlLite sur le serveur nanoHttp et le lier à l'une de mes applications, si je comprend bien

    AppCuisinneSever = (serveur Web et la db Sqlite)
    AppCuisinneSever <--- requête--> AppClientEnLocoal
    AppCuisinneSever <--requête--> AppClientSurSiteWeb

  14. #14
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par Hizin Voir le message
    Soit tu attaques directement ta BDD en externe... et là, c'est la porte ouverte à toutes les fenêtres : problème de sécurité, désynchro, instabilité, gestion... A ne pas faire donc. Mentionné uniquement à titre informatif et à ne SURTOUT PAS faire.
    Comment, je pourrais attaquer directement la db en externe ?

Discussions similaires

  1. [PDO] Ajout dans base de données avec requête préparée
    Par Invité dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 10/07/2014, 19h19
  2. Réponses: 3
    Dernier message: 21/08/2009, 15h19
  3. Réponses: 2
    Dernier message: 14/01/2009, 09h48
  4. Requête sur plusieurs bases de données
    Par Oluha dans le forum ASP
    Réponses: 8
    Dernier message: 14/10/2005, 14h57
  5. requête SQL avec paramètre en vb avec base de donnée SQL srv
    Par dialydany dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 01/02/2005, 10h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo