Fermer

mai 15, 2020

Spring Around à la vitesse du son: utiliser Springboot pour relancer le middleware


Introduction

Dans notre dernier article nous avons décrit l'architecture de Handshake, Perficient’s Search Connector Framework . Dans cet article, nous allons plonger dans Spring and Springboot l'épine dorsale de l'application Handshake. D'autres collègues ont écrit d'excellentes ressources pour aider à démarrer avec le printemps . Dans cet article, nous discutons des cas d'utilisation courants de Spring, quand c'est bon et dans quoi c'est bon. Nous avons parlé à Peter Avenarius l'un des principaux développeurs de Handshake, des raisons pour lesquelles nous utilisons Spring. Peter construit des logiciels d'entreprise depuis plus de 20 ans.

«L'analogie que j'aime utiliser est que Spring est la boîte à outils haut de gamme pour un mécanicien. Il possède de nombreux outils dont les développeurs ont besoin pour faire leur travail. Au printemps, il prend la plaque de chaudière et le code de plomberie hors du cycle de développement. pour permettre aux développeurs de se concentrer sur la logique de leur solution. Une grande partie, ou la plupart, du développement personnalisé consiste à configurer le code de base du projet; c'est comme si le mécanicien construisait ses propres outils au lieu d'utiliser ce que des centaines de personnes ont déjà construit pour faire le même travail. Pourquoi ne pas faciliter l'accès des développeurs à la logique métier de leur solution? Personne n'aime écrire le code de la plaque de la chaudière. »

Dans la poignée de main

Le printemps est l'épine dorsale de la poignée de main. Cela nous a permis d'ignorer une grande partie des décisions et développements de base que nous aurions dû faire avec d'autres options, telles que Spark ou Java simple.
Trivial pour résister aux services REST.

  • Facile à écrire une classe de contrôleur
  • Intégration avec JMS
  • Pris en charge et répandu, avec une forte communauté d'utilisateurs
  • Il existe des centaines de jeux d'outils. Nous continuons à apporter de nouvelles fonctionnalités Spring dans le projet tandis que nous continuons à développer
  • Annotations: simplifie la définition des interfaces REST. «Je peux tenir debout les points de terminaison REST en 10 minutes ou moins. Boom! Mon squelette est terminé. Il ne reste plus qu'à écrire la logique métier. »

Le Toolset at Work

 Innovation et développement de produits - Accélérez votre intranet Sharepoint avec Rise
Accélérez votre intranet SharePoint avec Rise

Découvrez comment obtenir plus de votre investissement dans Office 365 avec Rise, l'offre Intranet-as-a-Service de Perficient en réduisant la durée de votre projet intranet avec des solutions prêtes à l'emploi, en diminuant le risque de votre projet et en augmentant la valeur de votre intranet.

Guide

Spring est couramment utilisé comme cadre de base pour créer des couches middleware. Si votre application utilisera REST ou les services Web SOAP traditionnels dans son architecture, Spring permet de faire en sorte que tous les éléments se parlent et se lèvent rapidement.

  • Spring facilite des choses comme le chargement automatique des propriétés d'environnement
  • Le module conteneur MVC est utilisé pour générer nos API REST et nous utilisons Swagger pour documenter et tester nos services
  • Spring JPA nous permet de faire dialoguer facilement nos services avec des bases de données
  • Spring Security a une pléthore d'outils pour intégrer avec les fournisseurs de sécurité et les webhooks pour assurer l'authentification dans chaque demande
  • Intégration avec les tests standard (JUnit) et les cadres de journalisation (log4j, logback)
  • Intégration JMS pour les modules de messagerie

Décrire le cadre de file d'attente pour la prise de contact: “It était de 3 lignes de code à intégrer à une file d'attente JMS. Dans un monde sans printemps, cela aurait pu prendre des semaines. Tout ce dont nous avions besoin était le nom de la file d'attente, une URL et le format du message. Le printemps gère littéralement tout le reste. » Cela a permis à Peter de se concentrer sur la complexité réelle de l'implémentation de la file d'attente, de l'interface et de la logique de transformation du framework de connecteurs.

Plus souvent qu'autrement, une bibliothèque Spring existe avec les outils spécifiques dont vous avez besoin pour le travail. Étant donné que le printemps est si largement utilisé, il est très bien testé comme cadre. Spring a une grande communauté de développeurs qui l'adopte et ajoute quotidiennement de nouvelles fonctionnalités. Il est bien pris en charge avec de nombreuses nouvelles versions, dont la plupart sont rétrocompatibles. «Ce sont des outils haut de gamme!»

Objections

Certaines objections à l'utilisation de Spring existent. Le printemps n'est pas toujours le bon choix! Lorsque vous démarrez votre propre projet, tenez compte des éléments suivants:

  • C'est lourd, mais de l'avis de Peter, «les problèmes de performances sont exagérés. Spring est utilisé partout dans le monde dans des milliers d'applications, et elles fonctionnent très bien. »
  • Avec de nombreuses fonctionnalités et modules, l'utilisation de Spring peut sembler intimidante, mais vous les apprenez avec de la pratique. "99 fois sur 100, j'ai un problème à résoudre, il y a probablement une bibliothèque Spring ou un ensemble de fonctionnalités pour couvrir cela pour moi"
  • Il y a tellement de pots! Spring est livré avec 50 ou 60 pots, mais la documentation et les forums sont faciles à trouver.
  • Spring ne fait rien par lui-même. Les outils eux-mêmes sont des outils incroyables, mais c'est tout: le marteau, la règle à calcul, la table du cartographe, la clé, etc. Vous devez apprendre à utiliser chaque jeu d'outils lorsque vous l'incorporez à votre projet. Une fois inclus, vous êtes libre de développer, ce qui réduit considérablement le temps de livraison et augmente votre arsenal.

What’s Next

Les prochains articles continueront à discuter de la pile de poignée de main, de la technologie sous-jacente et des défis et solutions techniques. Nous aborderons également certains des cas d'utilisation courants des connecteurs de recherche, qui deviennent de plus en plus complexes de jour en jour.

À propos de l'auteur

Zach est analyste technique et chef de projet chez Perficient depuis 9 ans, spécialisée dans les technologies de recherche, de gestion de contenu d'entreprise et de gouvernance du cycle de vie de l'information. Au cours des dernières années, il a assumé le rôle de chef de produit pour les technologies Poignée de main, NERO et recherche de base de Perficient.

Plus de contenu de cet auteur




Source link