TDD et ATDD

contenu
  1. Assurance qualité équilibrée
  2. l'automatisation des tests
  3. TDD et ATDD
  4. conclusion
  5. lire sur un côté

Avec des outils d'analyse de code statique comme FindBugs souvent, FXCop ou CheckStyle être utilisés pour vérifier le code contre le défaut d'application indépendante. exceptions non couvertes références de pointeurs nuls et évidents fragments de code inutilisés peuvent ainsi trouver spécifiques. En général, cependant, ne devrait pas être limitée à l'analyse statique de code, mais compléter les paramètres par programmation de paire. Ce partage des connaissances est également soutenu à long l'équipe et propriété collective du code permet. Si tout programmeur dans l'équipe est capable de changer tout autre code, la création d'une nouvelle façon de travailler, parce qu'aucun ne le code Peters vont plus à la fois, mais il est le code de tous les membres de l'équipe.

Comme avec tous les paramètres, cependant, de garder à l'esprit qu'il ne soit pas sur le point de mesurer la performance individuelle des membres de l'équipe ou à utiliser, par exemple, les mesures de couverture comme cible pour l'équipe de développement de logiciels. Cem Kaner et Walter P. Bond plomb "Logiciel Mesures d'ingénierie - mesurent-ils et comment savons-nous?" [3] que ce comportement à la falsification et les résultats outsmarting métriques. Par exemple, les tests unitaires peut créer de manière ciblée afin que le taux de couverture est atteint. Ils sont alors généralement fortement liés à la logique de l'application, il est donc difficile rétrospectivement pour changer le code sans casser le test. Au lieu de cela, les auteurs proposent d'investir dans la formation des développeurs et de travailler directement avec eux au code.

Assez ne suffit pas

Une fois qu'un réseau de tests automatisés est positionné le long de l'intégration continue, il est seulement une petite étape pour tester le développement piloté par (TDD). Le cycle de développement commence par un petit test de défaut: Exécute un test non seulement autant le code de production doit être écrit afin qu'il puisse être avec succès complet. , Sont ensuite redondance dans le code de réduction par refactoring (Fig. 3). La plupart des équipes ne se rendent pas compte que cela est aussi dans l'automatisation des tests pour le développement de logiciels où le code de test est propre, car il est par ailleurs rapidement faire face au problème des mauvais essais maintenable.

Avec le développement piloté par les tests dans le maintenable à long terme, code testé à créer (fig. 3).Avec le développement piloté par les tests dans le maintenable à long terme, code testé à créer (fig. 3).


Cette approche apparaît d'abord dogmatique, mais pour apprendre le développement piloté par les tests, il a délibérément choisi cette voie. Lorsque la sécurité se produit après un certain temps dans certains domaines peuvent aussi mettre en œuvre par incréments plus importants. Cependant, il devrait être clair qu'une trop grande étape implique le risque de s'enliser, et le test ne sera pas revenir rapidement et en cours d'exécution. Dans ce cas, le problème doit être décomposé en unités plus petites et être résolu de cette façon.

Spécification des exemples

Une nouvelle tendance dans le développement de méthodes va actuellement vers le développement axé sur Acceptancetest (ATDD) et le développement axé sur le comportement (BDD). À la base, BDD est l'association des TDD, ATDD, conception pilotée par le domaine, le développement extérieur-et à l'utilisation d'une langue omniprésente que des ateliers de spécification créés par des instruments. Dans la pratique ATDD malheureusement, est souvent confondu avec BDD.

ATDD est conçu pour aider les bonnes fonctions pour développer (fig. 4).ATDD est conçu pour aider les bonnes fonctions pour développer (fig. 4).

En ATDD (voir [4].) Il est une mesure de mettre en œuvre les exigences correctement que possible dans le code (Fig. 4). Le travail commence ici au début, alors même que les besoins réels sont définis. Des représentants du développement et de l'équipe de test se réuniront avec le client et d'identifier les critères d'acceptation pour les fonctions futures (fig. 5). Ici, les testeurs et programmeurs ([5] voir.) Une compréhension commune des besoins du client, avec une salle suffisamment grande pour différentes décisions de conception reste ouverte. Ainsi, les programmeurs et les testeurs peuvent trouver une solution au problème du client, avec lequel il peut être satisfait à long terme.

Toute l'équipe des clients, des programmeurs et testeurs devrait être une compréhension commune des fonctions résultantes ont (fig. 5).Toute l'équipe des clients, des programmeurs et testeurs devrait être une compréhension commune des fonctions résultantes ont (fig. 5).


Sur la base des critères d'acceptation ci-dessus, l'équipe de développement travaillant d'abord sur des exemples descriptifs ils avant de la fonction, cependant, continuer à affiner. Des exemples poussent de façon succincte et précise ce qui doit être réalisé dans les fonctions. Ils se déplacent sur un niveau avec les exigences commerciales et devraient avoir rien à voir avec les détails de mise en œuvre tels que la position des éléments de l'interface graphique.

Parallèlement à la mise en œuvre des fonctions de l'équipe travaille ensuite pour automatiser les exemples. Certains groupes de développeurs sont encore en mesure d'intégrer la logique métier des cas d'affaires en fonction de leur code de domaine. La littérature parle de hors-dans le développement: Le développement est entraîné de l'extérieur vers l'intérieur. Dans ce cas, seul le code autant de domaine et la logique application est conçue et écrit est absolument nécessaire. En pratique, il y a quelques équipes qui ont atteint un tel niveau de maturité. Les avantages de cette approche, cependant, ne doivent pas être rejetés à la main: Peut-être avant le spectacle de développement que l'application proposée exécutera ce qu'ils veulent, alors la flexibilité à l'évolution des besoins à long terme.

Total des TDD et ATDD forment une symbiose avec laquelle un haut degré peut être réalisé sur l'automatisation des tests. Ainsi, il est possible par ATDD un couvercle de demande près de 100 pour cent, alors que TDD 100 pour cent de couverture de code est possible. Combiné TDD assure ainsi que le code est correct, alors que ATDD assure qu'il est le bon code.

Normes de programmation pour les systèmes embarqués MISRA C 2012 publié

L'Association Motor Industry Software Reliability (MISRA) a récemment publié la norme de programmation intégrée MISRA C 2012ème La norme définit les normes de codage pour C et C ++ - les développeurs afin d'éviter les erreurs d'exécution qui peuvent résulter de constructions dangereuses ou des faiblesses structurelles des langues. Plus de 200 pages spécification d'épaisseur qui a donc presque doublé, est compatible avec la nouvelle version C99 et a apparemment été considérablement révisé à plusieurs endroits.

Il est donc maintenant en plus des règles et des lignes directrices qui doivent être considérées comme des lignes directrices doivent être utilisées pour d'autres ressources pour vérifier la correspondance avec les exigences. Les règles peuvent être vérifiées que sur le test du code, cependant. peut se référer à la norme en tant que fichier PDF via la boutique web du consortium pour 15 livres sterling, la version imprimée coûte 45 livres.

MISRA est une association de constructeurs automobiles, les fournisseurs et les fournisseurs de services. Le premier adopté par l'organisation en 1998 des règles MISRA C avec son puits 100 règles pour la programmation en toute sécurité C est devenu une sorte de norme de facto pour la programmation embarquée C. La deuxième version, MISRA en 2004, a écrit, entre autres, d'utiliser un outil de vérification des règles. En 2008, le consortium avec MISRA C ++ a élargi les lignes directrices pour la version orientée objet de la langue. (ANE)

serveurs d’applications Java: Red Hat sont wildfly 10 gratuitement

wildfly 10

La version maintenant disponible 10 du serveur Java Enterprise fournit la base pour commerciale JBoss Enterprise Application Platform de Red Hat 7 est également la troisième version majeure depuis le changement de nom du projet open source.

Version Red Hat 10 du serveur d'applications Java wildfly publié. Elle met en œuvre toutes les spécifications de Java EE 7 profils et de profil Web Java EE 7, actuellement les dernières versions des normes Java d'entreprise. Prise en charge de Java 7 a pris fin, ce qui est d'assurer une meilleure intégration avec Java actuelle 8. Le serveur peut être utilisé avec les instantanés de développement en cours de la prochaine année Java attendu 9 au-delà.

Les principales innovations

Au lieu du Message Broker HornetQ wildfly comprend maintenant son développement ActiveMQ Artemis, bien enrichi par un certain nombre de nouvelles fonctions, protocole de niveau compatible avec un comportement HornetQ. La nouvelle version intègre le projet Undertow JS. Ce script côté serveur ne peut pas écrire, peut rendre l'accès au CDI (Contexts et injection de dépendances) et Beans (JPA entité API Java Persistence). Sous les métiers de la Undertow nom encore jeunes avec le HTTP / 2 serveur web conforme à la norme.

Pour les développeurs devraient également être intéressant que maintenant la version 5 du framework de persistance est prise en charge des scripts PowerShell et Hibernate dans le répertoire bin de la distribution wildfly ont été ajoutés. Dans les versions futures, ils doivent remplacer les scripts .bat. Avec wildfly 10, il est enfin possible, toute application comme "Singleton déploiement" de mettre en place. Cela permet aux applications d'être toujours doivent être installés sur un nœud de serveur particulier dans le cluster. L'échec d'un nœud, l'application redémarre automatiquement sur un autre nœud.

JBoss à wildfly

Avec 10 wildfly la troisième version majeure du serveur d'applications Java est déjà apparu, en cours d'exécution sous ce nom depuis le serveur open source. il était venu à un changement de nom parce que la compagnie debout derrière lui voulait une différenciation plus forte de l'offre commerciale basée wildfly. La première version - wildfly 8 - a été publié en Février 2014, le second sous le numéro de version 9 suivie en Juillet 2015. Même cette version est compatible avec Java EE 7 (Java Enterprise Edition). Wildfly fournit la base pour la prochaine version de JBoss Enterprise commerciale de Red Hat Application Platform 7 (JBoss EAP 7)(ANE)

Modulaire, mieux documenté et PHP 7 – Zend Framework 3 a été publié

Modulaire, mieux documenté et PHP 7? Zend Framework 3 a été publié

Après plusieurs années de développement, il y a enfin une nouvelle version plus grande des frameworks PHP populaires et au-delà d'un Micro Framework.

Le plan était en fait que le Zend Framework viendrait avec de nouvelles versions majeures chaque année et demi à deux ans. Parmi ceux-ci, les développeurs des frameworks PHP qui avait l'annoncé la sortie de la version 2 en Septembre 2012 cependant, avaient, adopter bientôt. Et plus tard, prévue pour la date de sortie l'automne 2015 n'a pas pu les tenir. Mais maintenant, l'attente est terminée, parce que la version 3 du Zend Framework est maintenant officiellement disponible.

cadre modularisé

La plupart des changements sont de nature structurelle. Il est ici, par exemple, l'attribution de certains composants dans ses propres projets versionnées. Cela se fait dans le but de réutiliser ces composants ailleurs plus facile et ainsi d'accélérer le processus de développement. Il est important aussi que la fin de l'année dernière 7.x PHP publié est pris en charge par la nouvelle version.

Dans l'élaboration de la nouvelle version de la langue, mais aussi avec le précédent PHP 5.x jusqu'à quatre fois de meilleures performances observées. PHP 5.6 minimum est maintenant prévu pour Zend Framework. 3 Le brin de libération sous le jour 1.x numéro de version n'est plus développé, il est au mieux que des correctifs de sécurité - et seulement jusqu'à la fin du 2016e Septembre

Documentation et Micro Framework

Pour passer de développé avec Zend Framework 2 applications MVC (Model View Controller) pour faciliter la nouvelle version offre aux utilisateurs une abondance de voie de migration documentée disponible est de faire quelques changements nécessaires. En outre, dans l'ensemble une grande attention a été accordée à la documentation. Il suffit donc de telle est stockée dans chaque dépôt d'un composant. Les nouvelles fonctionnalités à l'avenir être acceptées que dans la mesure où ils ont été documentés.

De nouveaux chemins enfin fouler les développeurs avec la mise en place d'un cadre middleware séparé Micro. Expressif est considéré comme l'avenir du développement PHP de la part des développeurs cadres, par opposition à la grande offre MVC pile complète.(ANE)

CreateJS regroupe les bibliothèques pour les développeurs HTML5 et Flash

En collaboration avec Adobe a l'équipe de Grant Skinner (gskinner.com), qui a travaillé à l'époque pour Microsoft déjà sur le HTML 5 technologie démo Pirates amour Marguerites, une nouvelle bibliothèque JavaScript pour HTML5 et Flash / développeur AIR présenté. CreateJS combine un certain nombre de bibliothèques existantes pour la lecture des graphiques, des éléments audio et Flash. De plus, la collection contient sa propre boîte à outils qui peuvent être exportés vers le contenu de la plate-forme HTML5 à partir de Flash Pro.

Aux CreateJS de base regroupe les quatre bibliothèques JavaScript EaselJS, TweenJS, SoundJS et PreloadJS encore en cours de développement pour une pré-chargement des différents composants. En outre, l'application Adobe AIR Zoë est inclus dans le package avec lequel .SWF animations peuvent exporter pour feuilles EaselJS comme Sprite.

Tout nouveau est la boîte à outils qui CreateJS gskinner.com a développé en collaboration avec Adobe. Il offre des fonctionnalités bien plus que Zoë et pour permettre aux développeurs Flash Pro à exporter du contenu tels que les icônes, des vecteurs, des animations, des bitmaps, le son et le texte. Les données fournies à partir de la boîte à outils comme une bibliothèque d'objets qui pourraient faire appel directement au-dessus CreateJS et HTML5 alors.

La nouvelle bibliothèque de CreateJS devrait être disponible au cours des prochaines semaines createjs.com. Une documentation, des démos et des didacticiels différents que l'équipe gskinner veut aussi publier. Pour les licences, le groupe ne disposait pas d'informations - mais comme la plupart des bibliothèques sont déjà inclus open source sous la licence MIT, une forme de licence comparable CreateJS peut être prévu. Un peu plus co-développé par Adobe Toolkit sera longue à venir, d'ailleurs, parce que Adobe ne pouvait toujours pas fournir des informations sur sa disponibilité.(Rl)

classement de programmation: JavaScript et Java sur le haut

Le classement des langages de programmation Redmonk: Janvier 2016

Avec JavaScript, Java, PHP, Python, C #, C ++, Ruby, CSS, C et Objective-C, exactement la même programmation, voir le classement RedMonk tous les deux ans - et que trop dans le même ordre.

Il y a l'indice de programmation TIOBE mensuelle pour déterminer le langage de programmation le plus populaire de ses résultats sur demande " programmation" obtenu dans 25 moteurs de recherche. Mais il y a aussi les Redmonk tous les deux ans de programmation classement de langues, où les corrélations entre les analystes de la discussion d'une langue sur StackOverflow produits avec leur utilisation dans des projets GitHub afin d'évaluer à quel point un langage de programmation est utilisée à l'avenir.

Un peu plus tard RedMonk a donné les résultats de janvier connus de la popularité actuelle des langages de programmation les plus importantes.

RedMonk En haut à droite sont les langages de programmation les plus populaires. Les changements ont été peu nombreux par rapport à Juillet 2015.(Photo:RedMonk )

situation stable

Parmi les 10 premières places n'a rien fait depuis l'étude précédente, donc JavaScript avant Java continue de mener avec une marge étroite de la liste, suivie par PHP (3), Python (4), C # (5), C ++ ( 5.) Ruby (5), CSS (8), C (9) et Objective-C (10). Que Java et JavaScript sont en cours pour trouver au sommet, sera probablement aussi soutenu que les deux langues ont été souvent utilisés dans les entreprises dans la même application, peut être suffisante, d'autant plus que de plus en plus JavaScript demandes professionnelles.

Qu'il n'était pas venu également des changements dans le top 10, l'analyste RedMonk explique par le fait que les décisions d'une langue dans les affaires est généralement conçu à long terme. Par conséquent, on ne peut attendre dans un proche avenir avec une plus grande fragmentation, il va même diminuer parce que les langues définies ont un haut niveau de maturité.

Parlé à un potentiel au-delà de la partie supérieure 10 ou même encore en dehors de la partie supérieure 20 sont fort RedMonk Elixir (54e), Julia (51), la rouille (46), Swift (17) et du type de script (31) se composant de différentes raisons à estimer. So Elixir, Julia et Rust ont pu tirer à travers leur attention de la conception du langage bien considéré. Le Swift successeur Objectice C également en ce sens qu'il est récemment devenu open source, et Tapuscrit reçu beaucoup d'ascenseur dans la communauté JavaScript, mais aussi chez Microsoft dernièrement scores certainement maintenant.(ANE)

Red Hat publié OpenJDK 8 pour (parmi les développeurs) de Windows

OpenJDK 8 disponible pour Windows

Les sociétés open source, annonce la disponibilité de la liberté officielle implémentation Java SE pour Windows. Les groupes cibles sont les développeurs qui créent des applications studio pour middleware RHEL Windows avec JBoss Developer.

OpenJDK est une implémentation libre de Java SE, qui trouve son origine comme un groupe dissident du JDK. 6 Red Hat a pris le temps pour diriger le projet. Oracle est un sponsor gouverneur Java et chef de OpenJDK 8.

Sur la page de téléchargement du projet OpenJDK pour builds différents systèmes Linux, mais pas pour Windows existe. Red Hat a publié une version de OpenJDK 8 pour Windows. Toutefois, il ne devrait pas remplacer généralement la normale JDK, mais est destiné aux développeurs, les applications middleware avec Red Hat JBoss Developer Studio sous Windows pour RHEL (Red Hat Enterprise Linux) construire. La version de Windows 8 de OpenJDK est entièrement compatible avec les versions RHEL correspondantes, de sorte que le logiciel Java se comporte aussi bien sur les deux systèmes.

De plus amples détails sur l'OpenJDK pour Windows sont disponibles sur la page du projet, où un lien se trouve à un installateur .msi. Des informations sur les conditions sont manquantes: Le nom de téléchargements indique une version 64 bits. Même si le site ne répertorie que le système d'exploitation Windows 8, on peut supposer que est également compatible avec Windows 7 et Windows 10 seulement en raison de la propagation correspondante de construction OpenJDK. (RME)

Les questions et réponses les plus importantes concernant la mise en œuvre PaaS

contenu
  1. Les questions et réponses les plus importantes concernant la mise en œuvre PaaS
  2. vendor lock-in, la sécurité et la justice
  3. lire sur un côté
Les questions et réponses les plus importantes concernant la mise en œuvre PaaS

L'utilisation du nuage est, bien sûr, pour de nombreuses entreprises, ils limitent l'utilisation, mais surtout au SaaS et IaaS. L'utilisation de PaaS est lancée que gagne lentement. Mais ce qu'il faut considérer les entreprises avant de décider? Cet article fournit des réponses à cinq questions clés avant la mise en œuvre PaaS.

Où PaaS apporte des avantages?

Comme plate-forme en tant que service (PaaS) est une nouvelle approche en grande partie, de nombreuses entreprises il est souvent difficile le fonctionnement du concept et quels sont les avantages. Souvent, PaaS est considéré comme un environnement de développement, ou seulement l'élimination des tâches administratives effectuées. Il peut également être utilisé comme l'épine dorsale de la gestion du cycle de vie du logiciel, cependant - du développement à l'exploitation.

Le développement peut aussi beaucoup "agile"nerfolgen parce PaaS soutient une variété d'outils et techniques et des scénarios de déploiement permet au soleil de "classique" les architectures de serveur ne sont pas réalisables. Tout développeur peut, par exemple, essayer de nouvelles idées directement dans un déploiement dans un environnement de test de courte durée qui correspond étroitement à l'environnement de production plus tard. Avec des outils de simulation de charge en tant que logiciel d'analyse Blitz.io et de l'application tels que les développeurs New Relic peuvent pré-analyser le comportement des applications dans des conditions presque réelles et ajuster. Des fabricants tels que Cloud9 offrent même un navigateur complet IDE, avec lequel vous pouvez développer des logiciels directement dans le nuage. En bref: Cela pourrait être toutes les raisons qui augmentent de manière significative avec une efficacité PaaS et la qualité d'un service informatique.

En collaboration avec le déploiement continu des résultats du travail des développeurs seront fournis à l'utilisateur plus rapide. Même de petits changements peuvent être roulés par un PaaS plusieurs fois par jour, avec les développeurs fournissent généralement nouveau code via Git ou Versionskontrollsyteme similaire dans PaaS. Les utilisateurs du logiciel peuvent continuer à travailler sans interruption avec les applications lors du déploiement de nouvelles versions. logiciel d'intégration continue comme Travis-CI offre également la possibilité d'intégrer la fourniture de logiciels à différentes plates-formes de cloud computing dans le processus de CI.

Lorsque le logiciel déploiement est assuré que chaque nœud de serveur fournit le même environnement d'exécution, à la fois dans le développement et dans les systèmes de production. Cela permet d'éviter les composants manquants et les conflits de version. Mises à jour des composants ou l'utilisation de nouveaux langages de programmation peuvent être des systèmes de mise en scène isolés de manière fiable avant la livraison dans un test de fonctionnement en direct.

applications PaaS peuvent être mises à l'échelle à la volée dans un court laps de temps. opérateurs d'application garantissent à l'utilisateur final cohérente haute performance. Les fournisseurs de SaaS à l'échelle, par exemple, pendant les heures normales de bureau et redescendre plus tard, quand la plupart des utilisateurs sont dans la journée de travail. Dans les jeux en ligne et les applications sociales, il se trouve dans l'autre sens: il est la valeur maximale en soirée.

Pour les grandes entreprises qui maintiennent leurs propres centres de données, un PaaS privé pourrait être intéressant. Il assure que les ressources informatiques propriétaires et les actifs existants de manière plus efficace. Merci aux ressources de provisionnement en libre-service selon un bouton peut être mis à disposition. Cela permet à des processus de développement plus efficaces et plus agiles, le raccourcissement des cycles d'innovation.

Grâce à l'utilisation de PaaS, IT peut adapter rapidement à l'évolution des besoins -
à freiner sans goulots d'étranglement des ressources. En particulier sur les marchés très dynamiques, comme le marché des consommateurs ou les télécommunications, les économies de dépenses et le temps associés constitue un avantage concurrentiel important pour les entreprises.

Cependant, PaaS est pas un avantage lorsque les applications de très statique dans la nature ou lorsque l'adaptation aux PaaS signifie un effort disproportionné. Les exemples sont plus petites applications CMS, existantes logiciel standard ou les logiciels existants vieux sans couche d'abstraction.

Quelles sont les applications travailler dans le nuage, qui ne sont pas?

La plupart des applications peuvent être exécutées dans des environnements PaaS. Pour Java, Ruby, Python, PHP et .NET, il existe de nombreux fournisseurs de PaaS - certains se spécialisent dans une langue que d'autres offrent un soutien pour plusieurs langues.

La plupart des cadres sont ajustés de sorte qu'ils fonctionnent de manière optimale avec PaaS. Ceux-ci comprennent des cadres qui disposent d'une configuration automatique ou offrent un stockage de blocs de support. Facilement déployable sur les cadres PaaS, par exemple, Rails, Symfony et au printemps.

Dans les applications modernes API cloud peuvent être configurés pour le stockage centralisé des données - ils sont donc compatibles PaaS dans la plupart des cas. laissez les applications héritées
ces fonctions normalement équipés ultérieurement. Les ajustements PaaS signifient principalement des optimisations qui sont bénéfiques pour les performances, la fiabilité et l'échelle horizontale, comme les fournisseurs de PaaS leurs plates-formes avec l'orientation sur "Les meilleures pratiques" ont conçu.

La mise en œuvre des routines de configuration automatique n'est pas obligatoire mais il est fortement recommandé. Généralement défini le fournisseur PaaS tous les paramètres de configuration d'application via les variables de fichier ou de l'environnement qu'une application peut utiliser pour la configuration. Ainsi, les erreurs humaines peuvent être. En même temps, il empêche, par exemple, une application dans l'environnement de test accidentellement avec une base de données de production "parle",

Afin de faciliter le déplacement des applications qui fournissent des fournisseurs de PaaS les informations dont ils ont besoin pour appliquer des ajustements sous forme de matériel de documentation ou de formation. Sinon, peut être tiré sur le savoir-faire des consultants en nuage pour représenter adéquatement les systèmes informatiques complexes sur un PaaS.

Cependant, toutes les techniques sont imagés sur PaaS. ne peut pas être utilisé un serveur de messagerie, par exemple, en travaillant avec des systèmes IP PaaS attribués de façon dynamique. La livraison du courrier est donc gérée par des tiers. Streaming des applications qui fonctionnent loin des standards HTTP, ont rendu difficile également de transmettre leurs données par des animaux de routage optimisé pour le web et les caches Web.

Les Swarm: Java EE Micro Services avec wildfly

Récemment, la première version alpha de la nouvelle wildfly Sidecar Swarm est disponible. Il faut donc emballer autant le serveur d'applications ainsi que l'application réelle nécessaire pour obtenir une archive Java exécutable. cette "seule application jar"- ou "pot de graisse"Concept est souvent considérée comme la bonne approche pour les architectures Micro services.

À l'heure actuelle, les nouvelles de la région de Java EE accumulent. En plus de la dernière version candidate de wildfly-9 Application Server un soi-disant maintainance a été préparé, y compris la libération Java EE 7 (MR). Et Java EE 8 JSR disponible est officiellement pendant un certain temps. Néanmoins, ces nouvelles boiter de la classique pile Java EE derrière les développements actuels. les mots "récipient" ou "micro services" on cherche en vain dans le cahier des charges. Au moins pour le créé sur la base des applications wildfly, cet écart se ferme un peu.

Wildfly Swarm: exécutables Micro Services

Swarms "seule application jar"- ou "pot de graisse"Concept est considéré par certains comme la bonne approche pour les architectures Micro services. Sans elle de vouloir philosopher maintenant, il est tout à fait passionnant de quelque chose juste pour regarder cette nouvelle version. Dans l'exemple suivant, je tiens à souligner qu'il est tout simplement un exemple d'une technique et il ne représente pas la seule bonne façon pour les services Micro.

Compte tenu d'un simple basé sur Java EE 7 Maven application Web. Dans pom.xml se présente comme une seule fonction:


javax
Java EE web-api
7.0
à condition que

Il est construit un fichier WAR 6 kilo-octets. essaim / rs / client 8080 / à une sortie simple JSON: il fonctionne sur wildfly, menant un appel à http: // localhost:

{
"prenom": "Markus".
"lastName": "Eisele".
"adresse de la rue": "Werner-von-Siemens-Ring 14".
"ville": "Grasbrunn".
"pcode": "85630".
"phoneNumbers": [
{
"qualité": "mobile".
"nombre": "111-111-1111"
},
{
"qualité": "maison".
"nombre": "222-222-2222"
}
]
}

En ce qui concerne tout cela n'est pas excitant. Pour cette application simple est une archive exécutable autonome, maintenant Swarm entre en jeu. Pour cela, il doit être facilement ajouté au projet vient de créer un nouveau plug-in:


org.wildfly.swarm
wildfly-essaim-plugin
$ {Version.wildfly-essaim}


paquet

créer



Le numéro de version, il est préférable pom.xml via la propriété Maven. À l'heure actuelle Swarm est disponible en 1.0.0.Alpha1. Un petit avertissement a été prononcé ici pour les utilisateurs de Windows. Juste cette version ne fonctionne pas sous Windows. Le plus récent maître contient le correctif mais déjà, et qui construit Swarm est rapidement et utilisé localement pour 1.0.0.Alpha2-SNAPSHOT, peut regarder le résultat sur Windows.

Mais le plug-in ne fait pas tout le travail seul. Parmi les dépendances (dépendances) les fonctionnalités de Java EE sont utilisées encore ajouter. Pour le petit échantillon qui est juste la fonction JAX-RS:


org.wildfly.swarm
wildfly-essaim jaxrs
$ {Version.wildfly-essaim}
à condition que

Ensuite, le projet peut être construit via mvn package. En plus du résultat attendu, le fichier SNAPSHOT.war 1.0-échantillon-essaim est maintenant beaucoup plus essaim d'échantillons-1.0-SNAPSHOT-swarm.jar a atterri dans la cible / répertoire. Il a maintenant environ 30 MB.

tester la graisse JAR

en fait reste que le lancement et les essais des pas si petit pot:

java -jar essaim-1.0-SNAPSHOT-swarm.jar

La sortie est une indication de différentes versions des sous-systèmes utilisés. Maintenant, même le test:

C: \>boucle -v http: // localhost: 8080 / rs / client
* Connecté au port localhost (:: 1) 8080 (# 0)
> GET / rs / client HTTP / 1.1
> User-Agent: curl / 7.30.0
> Hôte: localhost: 8080
> Accepter: * / *
>
< HTTP / 1.1 200 OK
< Connexion: keep-alive
< Content-Type: application / JSON
< Content-Length: 221
< Date: Ven 8 mai 2015 07:59:00 GMT
<
{"prenom":"Markus"."lastName":"Eisele"."adresse de la rue":
"Werner-von-Siemens-Ring 14"."ville":"Grasbrunn".
"pcode":"85630"."phoneNumbers
": [{"qualité":"mobile"."nombre":"111-111-1111"},
{"qualité":"maison"."nombre":"222-222-2222"}]} * Connexion # 0
localhost laissé intact

Qui veut encore utiliser d'autres spécifications, trouveront plus de détails sur le blog de Swarm. actuellement servlet, JAX-RS ShrinkWrap, DataSource via le déploiement, la messagerie et d'autres sont pris en charge.

Commentaires et la coopération est souhaitée. Toute personne qui veut trouver toutes les informations sur le @ poignée WildFlySwarm-Twitter. Si vous manquez des fonctions ou trouve des erreurs, peuvent participer directement au projet GitHub.

Une vue d’ensemble des alternatives Java pour usage industriel

contenu
  1. Une vue d'ensemble des alternatives Java pour usage industriel
  2. Scala
  3. Fantom
  4. Kotlin
  5. Ceylan
  6. conclusion
  7. lire sur un côté
Une vue d'ensemble des alternatives Java pour usage industriel

Longue a déménagé dans le monde de la petite Java. En Mars 2014, les fermetures de Java sont 8 enfin laisser payer à nouveau une brise fraîche. Mais même le huit ans et juste récemment évasé Java débacle modularisation Jigsaw montre comment les décideurs risquent de tomber plus d'innovations difficiles à l'avenir. Mais il y a espoir. langues alternatives pour la machine virtuelle Java promettent de nouveaux paradigmes de programmation, code plus concis et plus de flexibilité.

Pour usage industriel, en particulier ceux qui représentent émergent à l'horizon statique et les langages de programmation sont strictement typés intéressants. Leurs examens au moment de la conception et à l'exécution des garanties sont des environnements complexes et donc plus garantie en font des concurrents directs pour Java. Le temps d'obtenir une vue d'ensemble des principaux candidats.

Dans le cadre de la nouvelle programmation d'une question est souvent citée comme première: "programmation fonctionnelle", La programmation purement fonctionnelle est tout à fait exotique et aussi très familier à de nombreux développeurs. En général, donc, plusieurs langues multi-paradigmische signifie que combiner, entre autres éléments de la programmation fonctionnelle en elle-même.

Mais pour quoi? outils linguistiques fonctionnels permettent une programmation beaucoup plus efficace dans certaines circonstances. Et Java 8 effectue avec un Closures une importante caractéristique fonctionnelle. L'exemple suivant illustre la différence sur la base de tri d'une liste:

// "classique" Trier une liste à l'aide comparateur
Collections.sort (listOfCars, nouveau Comparator () {
public int COMPARE (voiture c1, Voiture c2) {
retourner p1.maker.compareTo (p2.maker);
}
});

Avec les fermetures en Java 8, la tâche peut être résolue, mais concise inégale:

// trier une liste en utilisant l'expression lambda
listOfCars.sort ((c1, c2) -> c1.maker.compareTo (c2.maker));

Tout d'abord: Toutes les langues présentées sont fonctionnelles, tout en se concentrant clairement sur les possibilités de crédits Java 8. En fin de compte, cependant, les différences sont dans les détails, de sorte qu'une offre d'analyse individuelle détaillée.

Développement Web: L’équipe Mono prévoit la mise en œuvre de webassembly

Développement Web: projet Mono prévoit de mettre en œuvre pour webassembly

L'équipe derrière l'implémentation open source de .NET Framework de Microsoft veut webassembly utiliser comme plate-forme cible. À l'heure actuelle, il expérimente avec deux approches différentes: la compilation statique et code managé.

Le projet Mono est à venir via l'assemblage web pour les applications Web pour une utilisation à l'avenir. À l'heure actuelle, la mise en œuvre est à une phase d'exploration précoce. Selon un rapport sur le site Mono, les premières expériences sont très prometteurs.

Deux prototypes sont utilisés. La première repose sur une compilation statique complète. Cela crée une grande application qui contient à la fois le moteur d'exécution mono-C et les bibliothèques de classes associées, ainsi que le programme compilé. La seconde approche ne traduit que le runtime Mono, qui exécute les programmes des développeurs que le code managé. La seconde approche réduit la taille de téléchargement, mais ne parvient pas à la performance du projet complet compilé.

Les deux approches utilisent actuellement encore le profil complet de bureau pour Mono. Dans l'étape suivante, l'équipe souhaite optimiser le profil sur l'utilisation web ou mobile et pour la suppression des fonctions inutiles. En outre, les fabricants veulent optimiser le confort pour les développeurs. Pour cela, un compilateur JIT interprète ou dans le navigateur est indépendant de la méthodologie ultime utilisée pour créer le programme fini pour le processus de développement souhaitable, les versions mises en cache de libmono utilisées.

Brève présentation des webassembly et mono

Webassembly (wasm) est une approche à la programmation du navigateur côté client. Le projet, qui a quitté le début de la phase de prévisualisation du navigateur, utilise un format binaire. Il ne devrait pas remplacer JavaScript, mais complémentaires, et surtout utilisé là où est nécessaire de hautes performances. Fondamentalement, l'approche du format binaire est pas nouveau: ActiveX et Java sont parmi les représentants les plus éminents. Java a échoué dans le navigateur ainsi que Adobe Flash, en particulier dans de nombreuses vulnérabilités, ActiveX déjà sur Microsoft seul. A webassembly un groupe communautaire W3C, les employés du navigateur principaux fournisseurs œuvres appartiennent.

Mono est une implémentation open source de .NET Framework de Microsoft, qui est basé sur la spécification ECMA C # et la Common Language Infrastructure. Il apporte le cadre de différentes plates-formes, en particulier MacOS, Linux et Windows. En mai, la cinquième version majeure est libérée. Microsoft est un parrain du projet.(RME)

Java EE 8 est officiellement publié

Java EE 8 est officiellement publié

Dans l'ombre de la vertèbre à Java 9, Oracle a mis à jour la version Enterprise. Techniquement, il ne répond pas aux attentes initiales. Excitant est actuellement aussi l'avenir de la plate-forme en tant que projet open source.

Avec beaucoup moins vertèbres que Java 9 Oracle a finalement publié Java EE 8, après que la compagnie avait également déplacé la sortie de la version Enterprise à plusieurs reprises. Déjà en Décembre 2016, il était clair que les caractéristiques ferait partie de la plate-forme. Ainsi, il est clair que de nombreux modules ne font pas dans la huitième version de Java d'entreprise.

Nouvelles API et mises à jour

Les principales nouvelles fonctionnalités l'API Java Servlet 4.0, la première fois fournit le support HTTP / 2, et une API de sécurité dédiée appartient. JSON-B (JSON Binding) obtient son propre API, et l'API Java pour JSON-P est dans la version 1.1 composante de la plate-forme. De nombreuses autres API ont reçu des ajouts importants dans une certaine mesure, y compris Contextes et injection de dépendances (CDI) avec le saut vers la version 2.0.

D'autres paquets mis à jour sont JavaServer Faces (JSF) 2.3, Bean Validation 2.0, API Java pour les services Web RESTful (JAX-RS) 2.1, Java Persistence 2.2, API Java pour 1.1 WebSocket et Java 1.6 Courrier. Bien que Java EE 8 apparaît parallèle à Java 9, il traite d'abord des extensions qui ne sont pas inclus dans la version 8 de la Standard Edition, dans la précédente plate-forme Java EE. Il convient de mentionner ici les COURANTS et l'API date et à temps.

Les plans futurs pour la Fondation Eclipse

Java 2017

Des informations détaillées sur Java EE 8, 9 Java et les développements actuels dans l'environnement Java est disponible dans le spécial Developer iX Edition, qui est disponible, entre autres, dans la boutique H.

Prévue à Java EE 8 sera la dernière version de la plate-forme sous le modèle de licence actuelle et son nom. Oracle avait annoncé en Août pour le transfert Java EE communauté open source. À la mi-Septembre, la société a précisé les plans et a annoncé, entre autres, que la plate-forme est à la terre sous l'égide de la Fondation Eclipse. Il est important que la Fondation ne contrôle que sur les spécifications, mais aussi sur les implémentations de référence (RI), les kits de compatibilité de la technologie (TCK) et prendre en charge la documentation du projet de la technologie guidée Oracle Java EE et GlassFish devrait.

Des détails sur les nouvelles fonctionnalités de Java EE 8 peuvent être prises à partir du site du projet. Il la documentation de l'API, un tutoriel et le SDK lié à télécharger.

Voir Heise Développeur:

  • Oracle veut transférer Java EE à la communauté open source
  • Analyse: Oracle semble tourner le coin en Java EE au dernier moment
  • Java EE vers Open Source: opportunités et risques
  • Java EE 8 prend le dernier obstacle avant la sortie
  • Java EE est à la terre sous l'égide de la Fondation Eclipse
(RME)

La reconnaissance vocale: Google élargit le Cloud API Speech

La reconnaissance vocale: Google élargit le Cloud API Speech

Le service de conversion parlé en texte écrit peut maintenant gérer les fichiers audio avec jusqu'à trois heures de longueur. Il y a aussi 30 nouvelles versions linguistiques.

API Google Cloud Speech a ajouté certaines versions linguistiques et fonctions. Le géant de l'Internet a mis en place le service de reconnaissance automatique de la parole au printemps 2016 et un an plus tard élevé à un service à part entière. Il fournit une API pour intégrer avec le développeur du service cloud dans leurs propres applications.

Au début, plus de 80 langues ou variantes sont 30 nouveaux, y compris le swahili, le javanais et l'anglais comme il est dit dans les pays africains du Ghana, au Kenya, au Nigeria et en Tanzanie. Selon le blog, les nouvelles versions couvrent ensemble de plus d'un milliard de personnes supplémentaires.

Les fichiers pour la conversion en texte peut maintenant être plus de deux fois plus longtemps que le précédent maximum de 80 minutes avec une longueur maximale de trois heures. Pour les cas particuliers, il y a aussi sans doute la possibilité d'augmenter le quota pour les cas individuels. En plus de nouvelles fonctionnalités nouvelles, le blog suggère également que le Cloud Speech fournit maintenant horodatage sur le texte correspondant peut être affiché lors de la lecture du fichier audio. De plus, les utilisateurs peuvent donc jouer pour chaque mots correspondants en lisant le texte converti.(RME)

Tomee avec de nouvelles fonctionnalités et corrections de bugs

Sous la direction de la compagnie de David Blevins Tomitribe la nouvelle version 1.7 de Java Enterprise Edition d'Apache Tomcat a été publié il y a quelques jours.

Le premier a annoncé en Octobre 2011 version Tomcat Tomee (prononcé: "Tommy") Assorti le serveur Web et conteneur de servlets aux fonctions de Java Enterprise Edition (Java EE). développeur en chef David Blevins a publié la dernière version 1.7. En plus des corrections de bugs dans les centaines de nombre et de nouvelles fonctionnalités ont été fournies. Alors Tomee 1.7.x est maintenant fonctionne également sur Java SE 8

mais plus intéressant est l'introduction d'un nouveau profil avec le nom PLUME. Il est encore au stade expérimental et comprend le plus Tomee distribution avec Mojarra comme la mise en œuvre JSF (Java Server Faces) et EclipseLink en tant que fournisseur JPA (Java Persistence API). De toute évidence, la communauté Apache veut le rendre plus facile pour les clients précédents GlassFish pour passer à Tomee.

La distribution peut être téléchargé à partir des sites tomee ou intégrés directement via Maven (API Java EE, OpenEJB et Tomee):


org.apache.openejb
JavaEE api
6,0 à 6
à condition que

org.apache.openejb
OpenEJB-core
4.7.0

org.apache.openejb
tomee
1.7.0

Ici, la version 1.7 est toujours certifiée uniquement pour Java EE 6 Profil Web plus. Par conséquent, l'annonce est sans surprise sur le site que toutes les activités sont toujours orientées vers la nouvelle version 2.0.x à partir de maintenant. Le but devrait être basé sur Tomcat 8 à une certification Java EE 7. La certification profil web recueillies contrairement aux profils complets uniquement les techniques utilisées dans une application web typique Java utilisée. (Markus Eisele) /(ANE)

ASP.NET vNext: De MVC, API Web et Web Pages MVC 6

Le framework ASP.NET MVC, API Web et les pages Web sont unifiées et combinées dans ASP.NET MVC. 6 Ici, des changements fondamentaux se posent.

Sur l'Amérique TechEdNorth à Houston, Microsoft a annoncé que la prochaine version de ASP.NET qui est actuellement appelé ASP.NET vNext qui unifie frameworks Web ASP.NET MVC, API Web ASP.NET et des pages Web ASP.NET, en leur donnant un modèle de programmation commune. Il est également connu que ces cadres sont combinés à la version 6 de ASP.NET MVC.

Cette nouvelle version est découplé Internet Information Server (IIS de) de l'hôtel et peut donc être exécuté dans différents serveurs. Par exemple, les ingénieurs de Microsoft Scott Hunter et Scott Hanselman a montré dans une conférence qui a développé afin que les applications Web peuvent être exécutés Mono sur un Mac grâce à la mise en œuvre sans .NET. fondateur Mono Miguel de Icaza a également rapporté précédemment un support pour Linux. Par découplage IIS 6 application MVC peut également être lancé dans un processus séparé.

Cependant, ce découplage apporte également des changements fondamentaux. Par exemple, à partir d'un nouveau projet et le système de configuration et la fusion des concepts analogiques dans l'API Web ASP.NET MVC et ASP.NET mentionné. En outre, un mécanisme d'injection de dépendance est introduite. Pour cette raison, Microsoft a assuré que ASP.NET vNext soutiendra également les dernières versions actuelles de MVC, API Web, les pages Web et même ASP.NET Web Forms sa forme actuelle, en plus de MVC. 6

En outre MVC SignalR apparaît avec ASP.NET vNext dans une nouvelle version. Ces deux cadres sont également pris en charge par la variante optimisée pour les applications de serveur .NET conjointement avec la prochaine version 7 O / R mapper Entity Framework. (Manfred Steyer) /(ANE)