Quels langages de programmation et compétences sont également nécessaires lors de la construction de la plate-forme indépendante avec Python? [fermé

softwareengineering.stackexchange https://softwareengineering.stackexchange.com/questions/124461

Question

J'ai une question sur la compatibilité et la co-intégration des langages de programmation, des bases de données, des frameworks, des bibliothèques, différentes API et plus (ensemble appelées «éléments»). J'ai ajouté une liste d'éléments qui devaient être utilisés lors de la construction de la plate-forme indépendante / placée de marché, mais je voudrais savoir si je manque quelque chose, ou si une combinaison peut entraîner des problèmes de compatibilité.

J'ai fait une recherche sur les éléments mentionnés, mais il y a toujours une liste de choses qui ne sont pas claires, donc je serais reconnaissant d'obtenir plus d'informations sur le sujet. Désolé, si je suis mauvais avec la terminologie, les noms de code ou manquer des points précieux pour obtenir une réponse précise - j'ajouterai des informations supplémentaires, si je demande des clarifications dans n'importe quelle partie. Voici des informations de base pour répondre à la question:

Nous cherchons à construire une plate-forme indépendante avec un besoin:
- Niveau élevé de modularité et d'évolutivité;
- Développement autonome, qui doit être traité par des groupes de tâches semi-indépendants;
- Capacité à intégrer / importer de nombreuses API tierces (c.-à-d. Facebook Connect).
Prenons ODESK pour l'analyse comparative (donc au moins de telles fonctionnalités sont nécessaires), où certains d'entre eux sont:
- processus métier / flux de travail (Client - Connexion Freelancer, Client - Consultant Connexion, etc.);
- Lission d'utilisateurs et profilage détaillé (portefeuilles, projets terminés, etc.);
- Recherche sémantique;
-… (c'est-à-dire au moins la fonctionnalité des plates-formes indépendantes actuellement complètes).

J'ai développé une liste d'éléments qui seront utilisés en cours de construction de la plate-forme indépendante, qui est la suivante:

Langue de programmation (et cadre): PHP (Zend) vs Python (Django)
Critères de décision: Modularité (facilité de mise à jour des modules individuels | Bibliothèque existante de modules | facilité de création de nouveaux modules) | Disponibilité d'une force de travail hautement qualifiée | Temps de développement | Standardisation (facilité de développement autonome).

Le résultat a été le choix de Python v2.x / v3.x sur php5.x. La décision était fondée sur une partie des critères de décision (arguments pour Python):
Possibilité de mettre à jour / modifier certains modules dans la plupart des cas sans avoir besoin de modifier d'autres modules;
Pas d'énormes tracas pour créer de nouveaux modules à partir de zéro (ou du moins ne prend pas plus de temps ou de ressources par rapport au même résultat en PHP);
L'approche des développeurs Python semble créer plus d'opportunités pour le développement autonome (la personne se développe d'une manière que d'autres peuvent développer séparément leurs modules (ou fragments de modules), ou prendre le contrôle de la tâche assez facilement du point où cette personne a pris fin - c'est-à-dire. mise à jour).
Le Python global semble être une solution orientée plus à long terme, qui ne crée pas de gros inconvénients à court terme.

Base de données: MySQL vs…:
Critères de décision: fonctionnalité | Popularité | Coûts initiaux | frais généraux
MySQL a été choisi par rapport à MSSQL, car il semble avoir une fonctionnalité pleinement suffisante (en version gratuite) et peut être mise à niveau vers la version d'entreprise alors qu'elle aura un sens financier en termes de frais généraux de bande passante sur les frais de licence.

Processus métier: Apache Ode vs Oracle BPEL vs…:
Règles de décision: compatibilité Python | Modularité | Personnalisation | Disponibilité d'une force de travail hautement qualifiée
Aucune décision claire ici encore. Le parcours actuel semble être Apache Ode, mais l'adoption des modules de l'une des bibliothèques Python, les personnaliser et la création de nouvelles semble également être une option attrayante pour le moment.

Front-end: HTML4 / HTML5 + CSS2 / CSS3 + AJAX;
Au début, il n'y aura que l'interface utilisateur sur le Web, après, nous inclurons également l'interface utilisateur de bureau et mobile.

J'ai répertorié les éléments qui sont actuellement pris en compte pour développer la plate-forme, veuillez vous référer à l'un des points de prise de décision si vous pensez qu'ils sont défectueux, et si je devais considérer plus, ou des critères de décision différents, qui pourraient influencer lesquels Article à choisir, etc.

Autres choses à l'étude
1) J'ai choisi une combinaison appropriée d'éléments étant donné qu'ils seront utilisés pour développer une plate-forme indépendante; (1.1) Est-ce que je manque tous les éléments qui seront nécessaires (c.-à-d. Langage de programmation / framework / plate-forme); 2) est-il raisonnable d'utiliser Django Framework pour gagner du temps sur le développement et pourrait entraîner des problèmes d'évolutivité majeurs;

(2.1) quelles bibliothèques doivent être envisagées d'utiliser pour acquérir autant de modules prédéfinis pour la plate-forme indépendante possible;

3) BPEL (c.-à-d. Utilisation d'Apache Ode) peut être adopté pour une variété de processus métier (y compris la connexion du client-Freelancer), mais cela ne se traduirait-il pas par de grandes restrictions sur les solutions que nous pouvons offrir; (3.1) serait-il préférable d'envisager de développer nos propres modules dans Python pour atteindre le résultat nécessaire; (3.2) ou existe-t-il une bibliothèque Python qui prend en charge BPEL;

4) Est-il possible de connecter Python avec PHP en termes d'utilisation des bibliothèques PHP (exemple: http://code.google.com/p/php-excel/) Lorsque ceux ne sont pas disponibles en Python; (4.1) Si oui, quels modules / plates-formes / solutions sont nécessaires pour cela; Je mettrai à jour toutes les pièces si nécessaire dès que j'obtiens des commentaires à ce sujet. Vous cherchez vos réponses. Merci!

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
scroll top