POPULARITY
Emmanuel et Guillaume discutent de divers sujets liés à la programmation, notamment les systèmes de fichiers en Java, le Data Oriented Programming, les défis de JPA avec Kotlin, et les nouvelles fonctionnalités de Quarkus. Ils explorent également des sujets un peu fous comme la création de datacenters dans l'espace. Pas mal d'architecture aussi. Enregistré le 13 février 2026 Téléchargement de l'épisode LesCastCodeurs-Episode-337.mp3 ou en vidéo sur YouTube. News Langages Comment implémenter un file system en Java https://foojay.io/today/bootstrapping-a-java-file-system/ Créer un système de fichiers Java personnalisé avec NIO.2 pour des usages variés (VCS, archives, systèmes distants). Évolution Java: java.io.File (1.0) -> NIO (1.4) -> NIO.2 (1.7) pour personnalisation via FileSystem. Recommander conception préalable; API Java est orientée POSIX. Composants clés à considérer: Conception URI (scheme unique, chemin). Gestion de l'arborescence (BD, métadonnées, efficacité). Stockage binaire (emplacement, chiffrement, versions). Minimum pour démarrer (4 composants): Implémenter Path (représente fichier/répertoire). Étendre FileSystem (instance du système). Étendre FileSystemProvider (moteur, enregistré par scheme). Enregistrer FileSystemProvider via META-INF/services. Étapes suivantes: Couche BD (arborescence), opérations répertoire/fichier de base, stockage, tests. Processus long et exigeant, mais gratifiant. Un article de brian goetz sur le futur du data oriented programming en Java https://openjdk.org/projects/amber/design-notes/beyond-records Le projet Amber de Java introduit les "carrier classes", une évolution des records qui permet plus de flexibilité tout en gardant les avantages du pattern matching et de la reconstruction Les records imposent des contraintes strictes (immutabilité, représentation exacte de l'état) qui limitent leur usage pour des classes avec état muable ou dérivé Les carrier classes permettent de déclarer une state description complète et canonique sans imposer que la représentation interne corresponde exactement à l'API publique Le modificateur "component" sur les champs permet au compilateur de dériver automatiquement les accesseurs pour les composants alignés avec la state description Les compact constructors sont généralisés aux carrier classes, générant automatiquement l'initialisation des component fields Les carrier classes supportent la déconstruction via pattern matching comme les records, rendant possible leur usage dans les instanceof et switch Les carrier interfaces permettent de définir une state description sur une interface, obligeant les implémentations à fournir les accesseurs correspondants L'extension entre carrier classes est possible, avec dérivation automatique des appels super() quand les composants parent sont subsumés par l'enfant Les records deviennent un cas particulier de carrier classes avec des contraintes supplémentaires (final, extends Record, component fields privés et finaux obligatoires) L'évolution compatible des records est améliorée en permettant l'ajout de composants en fin de liste et la déconstruction partielle par préfixe Comment éviter les pièges courants avec JPA et Kotlin - https://blog.jetbrains.com/idea/2026/01/how-to-avoid-common-pitfalls-with-jpa-and-kotlin/ JPA est une spécification Java pour la persistance objet-relationnel, mais son utilisation avec Kotlin présente des incompatibilités dues aux différences de conception des deux langages Les classes Kotlin sont finales par défaut, ce qui empêche la création de proxies par JPA pour le lazy loading et les opérations transactionnelles Le plugin kotlin-jpa génère automatiquement des constructeurs sans argument et rend les classes open, résolvant les problèmes de compatibilité Les data classes Kotlin ne sont pas adaptées aux entités JPA car elles génèrent equals/hashCode basés sur tous les champs, causant des problèmes avec les relations lazy L'utilisation de lateinit var pour les relations peut provoquer des exceptions si on accède aux propriétés avant leur initialisation par JPA Les types non-nullables Kotlin peuvent entrer en conflit avec le comportement de JPA qui initialise les entités avec des valeurs null temporaires Le backing field direct dans les getters/setters personnalisés peut contourner la logique de JPA et casser le lazy loading IntelliJ IDEA 2024.3 introduit des inspections pour détecter automatiquement ces problèmes et propose des quick-fixes L'IDE détecte les entités finales, les data classes inappropriées, les problèmes de constructeurs et l'usage incorrect de lateinit Ces nouvelles fonctionnalités aident les développeurs à éviter les bugs subtils liés à l'utilisation de JPA avec Kotlin Librairies Guide sur MapStruct @IterableMapping - https://www.baeldung.com/java-mapstruct-iterablemapping MapStruct est une bibliothèque Java pour générer automatiquement des mappers entre beans, l'annotation @IterableMapping permet de configurer finement le mapping de collections L'attribut dateFormat permet de formater automatiquement des dates lors du mapping de listes sans écrire de boucle manuelle L'attribut qualifiedByName permet de spécifier quelle méthode custom appliquer sur chaque élément de la collection à mapper Exemple d'usage : filtrer des données sensibles comme des mots de passe en mappant uniquement certains champs via une méthode dédiée L'attribut nullValueMappingStrategy permet de contrôler le comportement quand la collection source est null (retourner null ou une collection vide) L'annotation fonctionne pour tous types de collections Java (List, Set, etc.) et génère le code de boucle nécessaire Possibilité d'appliquer des formats numériques avec numberFormat pour convertir des nombres en chaînes avec un format spécifique MapStruct génère l'implémentation complète du mapper au moment de la compilation, éliminant le code boilerplate L'annotation peut être combinée avec @Named pour créer des méthodes de mapping réutilisables et nommées Le mapping des collections supporte les conversions de types complexes au-delà des simples conversions de types primitifs Accès aux fichiers Samba depuis Java avec JCIFS - https://www.baeldung.com/java-samba-jcifs JCIFS est une bibliothèque Java permettant d'accéder aux partages Samba/SMB sans monter de lecteur réseau, supportant le protocole SMB3 on pense aux galériens qui doivent se connecter aux systèmes dit legacy La configuration nécessite un contexte CIFS (CIFSContext) et des objets SmbFile pour représenter les ressources distantes L'authentification se fait via NtlmPasswordAuthenticator avec domaine, nom d'utilisateur et mot de passe La bibliothèque permet de lister les fichiers et dossiers avec listFiles() et vérifier leurs propriétés (taille, date de modification) Création de fichiers avec createNewFile() et de dossiers avec mkdir() ou mkdirs() pour créer toute une arborescence Suppression via delete() qui peut parcourir et supprimer récursivement des arborescences entières Copie de fichiers entre partages Samba avec copyTo(), mais impossibilité de copier depuis le système de fichiers local Pour copier depuis le système local, utilisation des streams SmbFileInputStream et SmbFileOutputStream Les opérations peuvent cibler différents serveurs Samba et différents partages (anonymes ou protégés par mot de passe) La bibliothèque s'intègre dans des blocs try-with-resources pour une gestion automatique des ressources Quarkus 3.31 - Support complet Java 25, nouveau packaging Maven et Panache Next - https://quarkus.io/blog/quarkus-3-31-released/ Support complet de Java 25 avec images runtime et native Nouveau packaging Maven de type quarkus avec lifecycle optimisé pour des builds plus rapides voici un article complet pour plus de detail https://quarkus.io/blog/building-large-applications/ Introduction de Panache Next, nouvelle génération avec meilleure expérience développeur et API unifiée ORM/Reactive Mise à jour vers Hibernate ORM 7.2, Reactive 3.2, Search 8.2 Support de Hibernate Spatial pour les données géospatiales Passage à Testcontainers 2 et JUnit 6 Annotations de sécurité supportées sur les repositories Jakarta Data Chiffrement des tokens OIDC pour les implémentations custom TokenStateManager Support OAuth 2.0 Pushed Authorization Requests dans l'extension OIDC Maven 3.9 maintenant requis minimum pour les projets Quarkus A2A Java SDK 1.0.0.Alpha1 - Alignement avec la spécification 1.0 du protocole Agent2Agent - https://quarkus.io/blog/a2a-java-sdk-1-0-0-alpha1/ Le SDK Java A2A implémente le protocole Agent2Agent qui permet la communication standardisée entre agents IA pour découvrir des capacités, déléguer des tâches et collaborer Passage à la version 1.0 de la spécification marque la transition d'expérimental à production-ready avec des changements cassants assumés Modernisation complète du module spec avec des Java records partout remplaçant le mix précédent de classes et records pour plus de cohérence Adoption de Protocol Buffers comme source de vérité avec des mappers MapStruct pour la conversion et Gson pour JSON-RPC Les builders utilisent maintenant des méthodes factory statiques au lieu de constructeurs publics suivant les best practices Java modernes Introduction de trois BOMs Maven pour simplifier la gestion des dépendances du SDK core, des extensions et des implémentations de référence Quarkus AgentCard évolue avec une liste supportedInterfaces remplaçant url et preferredTransport pour plus de flexibilité dans la déclaration des protocoles Support de la pagination ajouté pour ListTasks et les endpoints de configuration des notifications push avec des wrappers Result appropriés Interface A2AHttpClient pluggable permettant des implémentations HTTP personnalisées avec une implémentation Vert.x fournie Travail continu vers la conformité complète avec le TCK 1.0 en cours de développement parallèlement à la finalisation de la spécification Pourquoi Quarkus finit par "cliquer" : les 10 questions que se posent les développeurs Java - https://www.the-main-thread.com/p/quarkus-java-developers-top-questions-2025 un article qui revele et repond aux questions des gens qui ont utilisé Quarkus depuis 4-6 mois, les non noob questions Quarkus est un framework Java moderne optimisé pour le cloud qui propose des temps de démarrage ultra-rapides et une empreinte mémoire réduite Pourquoi Quarkus démarre si vite ? Le framework effectue le travail lourd au moment du build (scanning, indexation, génération de bytecode) plutôt qu'au runtime Quand utiliser le mode réactif plutôt qu'impératif ? Le réactif est pertinent pour les workloads avec haute concurrence et dominance I/O, l'impératif reste plus simple dans les autres cas Quelle est la différence entre Dev Services et Testcontainers ? Dev Services utilise Testcontainers en gérant automatiquement le cycle de vie, les ports et la configuration sans cérémonie Comment la DI de Quarkus diffère de Spring ? CDI est un standard basé sur la sécurité des types et la découverte au build-time, différent de l'approche framework de Spring Comment gérer la configuration entre environnements ? Quarkus permet de scaler depuis le développement local jusqu'à Kubernetes avec des profils, fichiers multiples et configuration externe Comment tester correctement les applications Quarkus ? @QuarkusTest démarre l'application une fois pour toute la suite de tests, changeant le modèle mental par rapport à Spring Boot Que fait vraiment Panache en coulisses ? Panache est du JPA avec des opinions fortes et des défauts propres, enveloppant Hibernate avec un style Active Record Doit-on utiliser les images natives et quand ? Les images natives brillent pour le serverless et l'edge grâce au démarrage rapide et la faible empreinte mémoire, mais tous les apps n'en bénéficient pas Comment Quarkus s'intègre avec Kubernetes ? Le framework génère automatiquement les ressources Kubernetes, gère les health checks et métriques comme s'il était nativement conçu pour cet écosystème Comment intégrer l'IA dans une application Quarkus ? LangChain4j permet d'ajouter embeddings, retrieval, guardrails et observabilité directement en Java sans passer par Python Infrastructure Les alternatives à MinIO https://rmoff.net/2026/01/14/alternatives-to-minio-for-single-node-local-s3/ MinIO a abandonné le support single-node fin 2025 pour des raisons commerciales, cassant de nombreuses démos et pipelines CI/CD qui l'utilisaient pour émuler S3 localement L'auteur cherche un remplacement simple avec image Docker, compatibilité S3, licence open source, déploiement mono-nœud facile et communauté active S3Proxy est très léger et facile à configurer, semble être l'option la plus simple mais repose sur un seul contributeur RustFS est facile à utiliser et inclut une GUI, mais c'est un projet très récent en version alpha avec une faille de sécurité majeure récente SeaweedFS existe depuis 2012 avec support S3 depuis 2018, relativement facile à configurer et dispose d'une interface web basique Zenko CloudServer remplace facilement MinIO mais la documentation et le branding (cloudserver/zenko/scality) peuvent prêter à confusion Garage nécessite une configuration complexe avec fichier TOML et conteneur d'initialisation séparé, pas un simple remplacement drop-in Apache Ozone requiert au minimum quatre nœuds pour fonctionner, beaucoup trop lourd pour un usage local simple L'auteur recommande SeaweedFS et S3Proxy comme remplaçants viables, RustFS en maybe, et élimine Garage et Ozone pour leur complexité Garage a une histoire tres associative, il vient du collectif https://deuxfleurs.fr/ qui offre un cloud distribué sans datacenter C'est certainement pas une bonne idée, les datacenters dans l'espace https://taranis.ie/datacenters-in-space-are-a-terrible-horrible-no-good-idea/ Avis d'expert (ex-NASA/Google, Dr en électronique spatiale) : Centres de données spatiaux, une "terrible" idée. Incompatibilité fondamentale : L'électronique (surtout IA/GPU) est inadaptée à l'environnement spatial. Énergie : Accès limité. Le solaire (type ISS) est insuffisant pour l'échelle de l'IA. Le nucléaire (RTG) est trop faible. Refroidissement : L'espace n'est pas "froid" ; absence de convection. Nécessite des radiateurs gigantesques (ex: 531m² pour 200kW). Radiations : Provoque erreurs (SEU, SEL) et dommages. Les GPU sont très vulnérables. Blindage lourd et inefficace. Les puces "durcies" sont très lentes. Communications : Bande passante très limitée (1Gbps radio vs 100Gbps terrestre). Le laser est tributaire des conditions atmosphériques. Conclusion : Projet extrêmement difficile, coûteux et aux performances médiocres. Data et Intelligence Artificielle Guillaume a développé un serveur MCP pour arXiv (le site de publication de papiers de recherche) en Java avec le framework Quarkus https://glaforge.dev/posts/2026/01/18/implementing-an-arxiv-mcp-server-with-quarkus-in-java/ Implémentation d'un serveur MCP (Model Context Protocol) arXiv en Java avec Quarkus. Objectif : Accéder aux publications arXiv et illustrer les fonctionnalités moins connues du protocole MCP. Mise en œuvre : Utilisation du framework Quarkus (Java) et son support MCP étendu. Assistance par Antigravity (IDE agentique) pour le développement et l'intégration de l'API arXiv. Interaction avec l'API arXiv : requêtes HTTP, format XML Atom pour les résultats, parser XML Jackson. Fonctionnalités MCP exposées : Outils (@Tool) : Recherche de publications (search_papers). Ressources (@Resource, @ResourceTemplate) : Taxonomie des catégories arXiv, métadonnées des articles (via un template d'URI). Prompts (@Prompt) : Exemples pour résumer des articles ou construire des requêtes de recherche. Configuration : Le serveur peut fonctionner en STDIO (local) ou via HTTP Streamable (local ou distant), avec une configuration simple dans des clients comme Gemini CLI. Conclusion : Quarkus simplifie la création de serveurs MCP riches en fonctionnalités, rendant les données et services "prêts pour l'IA" avec l'aide d'outils d'IA comme Antigravity. Anthropic ne mettra pas de pub dans Claude https://www.anthropic.com/news/claude-is-a-space-to-think c'est en reaction au plan non public d'OpenAi de mettre de la pub pour pousser les gens au mode payant OpenAI a besoin de cash et est probablement le plus utilisé pour gratuit au monde Anthropic annonce que Claude restera sans publicité pour préserver son rôle d'assistant conversationnel dédié au travail et à la réflexion approfondie. Les conversations avec Claude sont souvent sensibles, personnelles ou impliquent des tâches complexes d'ingénierie logicielle où les publicités seraient inappropriées. L'analyse des conversations montre qu'une part significative aborde des sujets délicats similaires à ceux évoqués avec un conseiller de confiance. Un modèle publicitaire créerait des incitations contradictoires avec le principe fondamental d'être "genuinely helpful" inscrit dans la Constitution de Claude. Les publicités introduiraient un conflit d'intérêt potentiel où les recommandations pourraient être influencées par des motivations commerciales plutôt que par l'intérêt de l'utilisateur. Le modèle économique d'Anthropic repose sur les contrats entreprise et les abonnements payants, permettant de réinvestir dans l'amélioration de Claude. Anthropic maintient l'accès gratuit avec des modèles de pointe et propose des tarifs réduits pour les ONG et l'éducation dans plus de 60 pays. Le commerce "agentique" sera supporté mais uniquement à l'initiative de l'utilisateur, jamais des annonceurs, pour préserver la confiance. Les intégrations tierces comme Figma, Asana ou Canva continueront d'être développées en gardant l'utilisateur aux commandes. Anthropic compare Claude à un cahier ou un tableau blanc : des espaces de pensée purs, sans publicité. Infinispan 16.1 est sorti https://infinispan.org/blog/2026/02/04/infinispan-16-1 déjà le nom de la release mérite une mention Le memory bounded par cache et par ensemble de cache s est pas facile à faire en Java Une nouvelle api OpenAPI AOT caché dans les images container Un serveur MCP local juste avec un fichier Java ? C'est possible avec LangChain4j et JBang https://glaforge.dev/posts/2026/02/11/zero-boilerplate-java-stdio-mcp-servers-with-langchain4j-and-jbang/ Création rapide de serveurs MCP Java sans boilerplate. MCP (Model Context Protocol): standard pour connecter les LLM à des outils et données. Le tutoriel répond au manque d'options simples pour les développeurs Java, face à une prédominance de Python/TypeScript dans l'écosystème MCP. La solution utilise: LangChain4j: qui intègre un nouveau module serveur MCP pour le protocole STDIO. JBang: permet d'exécuter des fichiers Java comme des scripts, éliminant les fichiers de build (pom.xml, Gradle). Implémentation: se fait via un seul fichier .java. JBang gère automatiquement les dépendances (//DEPS). L'annotation @Tool de LangChain4j expose les méthodes Java aux LLM. StdioMcpServerTransport gère la communication JSON-RPC via l'entrée/sortie standard (STDIO). Point crucial: Les logs doivent impérativement être redirigés vers System.err pour éviter de corrompre System.out, qui est réservé à la communication MCP (messages JSON-RPC). Facilite l'intégration locale avec des outils comme Gemini CLI, Claude Code, etc. Reciprocal Rank Fusion : un algorithme utile et souvent utilisé pour faire de la recherche hybride, pour mélanger du RAG et des recherches par mots-clé https://glaforge.dev/posts/2026/02/10/advanced-rag-understanding-reciprocal-rank-fusion-in-hybrid-search/ RAG : Qualité LLM dépend de la récupération. Recherche Hybride : Combiner vectoriel et mots-clés (BM25) est optimal. Défi : Fusionner des scores d'échelles différentes. Solution : Reciprocal Rank Fusion (RRF). RRF : Algorithme robuste qui fusionne des listes de résultats en se basant uniquement sur le rang des documents, ignorant les scores. Avantages RRF : Pas de normalisation de scores, scalable, excellente première étape de réorganisation. Architecture RAG fréquente : RRF (large sélection) + Cross-Encoder / modèle de reranking (précision fine). RAG-Fusion : Utilise un LLM pour générer plusieurs variantes de requête, puis RRF agrège tous les résultats pour renforcer le consensus et réduire les hallucinations. Implémentation : LangChain4j utilise RRF par défaut pour agréger les résultats de plusieurs retrievers. Les dernières fonctionnalités de Gemini et Nano Banana supportées dans LangChain4j https://glaforge.dev/posts/2026/02/06/latest-gemini-and-nano-banana-enhancements-in-langchain4j/ Nouveaux modèles d'images Nano Banana (Gemini 2.5/3.0) pour génération et édition (jusqu'à 4K). "Grounding" via Google Search (pour images et texte) et Google Maps (localisation, Gemini 2.5). Outil de contexte URL (Gemini 3.0) pour lecture directe de pages web. Agents multimodaux (AiServices) capables de générer des images. Configuration de la réflexion (profondeur Chain-of-Thought) pour Gemini 3.0. Métadonnées enrichies : usage des tokens et détails des sources de "grounding". Comment configurer Gemini CLI comment agent de code dans IntelliJ grâce au protocole ACP https://glaforge.dev/posts/2026/02/01/how-to-integrate-gemini-cli-with-intellij-idea-using-acp/ But : Intégrer Gemini CLI à IntelliJ IDEA via l'Agent Client Protocol (ACP). Prérequis : IntelliJ IDEA 2025.3+, Node.js (v20+), Gemini CLI. Étapes : Installer Gemini CLI (npm install -g @google/gemini-cli). Localiser l'exécutable gemini. Configurer ~/.jetbrains/acp.json (chemin exécutable, --experimental-acp, use_idea_mcp: true). Redémarrer IDEA, sélectionner "Gemini CLI" dans l'Assistant IA. Usage : Gemini interagit avec le code et exécute des commandes (contexte projet). Important : S'assurer du flag --experimental-acp dans la configuration. Outillage PipeNet, une alternative (open source aussi) à LocalTunnel, mais un plus évoluée https://pipenet.dev/ pipenet: Alternative open-source et moderne à localtunnel (client + serveur). Usages: Développement local (partage, webhooks), intégration SDK, auto-hébergement sécurisé. Fonctionnalités: Client (expose ports locaux, sous-domaines), Serveur (déploiement, domaines personnalisés, optimisé cloud mono-port). Avantages vs localtunnel: Déploiement cloud sur un seul port, support multi-domaines, TypeScript/ESM, maintenance active. Protocoles: HTTP/S, WebSocket, SSE, HTTP Streaming. Intégration: CLI ou SDK JavaScript. JSON-IO — une librairie comme Jackson ou GSON, supportant JSON5, TOON, et qui pourrait être utile pour l'utilisation du "structured output" des LLMs quand ils ne produisent pas du JSON parfait https://github.com/jdereg/json-io json-io : Librairie Java pour la sérialisation et désérialisation JSON/TOON. Gère les graphes d'objets complexes, les références cycliques et les types polymorphes. Support complet JSON5 (lecture et écriture), y compris des fonctionnalités non prises en charge par Jackson/Gson. Format TOON : Notation orientée token, optimisée pour les LLM, réduisant l'utilisation de tokens de 40 à 50% par rapport au JSON. Légère : Aucune dépendance externe (sauf java-util), taille de JAR réduite (~330K). Compatible JDK 1.8 à 24, ainsi qu'avec les environnements JPMS et OSGi. Deux modes de conversion : vers des objets Java typés (toJava()) ou vers des Map (toMaps()). Options de configuration étendues via ReadOptionsBuilder et WriteOptionsBuilder. Optimisée pour les déploiements cloud natifs et les architectures de microservices. Utiliser mailpit et testcontainer pour tester vos envois d'emails https://foojay.io/today/testing-emails-with-testcontainers-and-mailpit/ l'article montre via SpringBoot et sans. Et voici l'extension Quarkus https://quarkus.io/extensions/io.quarkiverse.mailpit/quarkus-mailpit/?tab=docs Tester l'envoi d'emails en développement est complexe car on ne peut pas utiliser de vrais serveurs SMTP Mailpit est un serveur SMTP de test qui capture les emails et propose une interface web pour les consulter Testcontainers permet de démarrer Mailpit dans un conteneur Docker pour les tests d'intégration L'article montre comment configurer une application SpringBoot pour envoyer des emails via JavaMail Un module Testcontainers dédié à Mailpit facilite son intégration dans les tests Le conteneur Mailpit expose un port SMTP (1025) et une API HTTP (8025) pour vérifier les emails reçus Les tests peuvent interroger l'API HTTP de Mailpit pour valider le contenu des emails envoyés Cette approche évite d'utiliser des mocks et teste réellement l'envoi d'emails Mailpit peut aussi servir en développement local pour visualiser les emails sans les envoyer réellement La solution fonctionne avec n'importe quel framework Java supportant JavaMail Architecture Comment scaler un système de 0 à 10 millions d'utilisateurs https://blog.algomaster.io/p/scaling-a-system-from-0-to-10-million-users Philosophie : Scalabilité incrémentale, résoudre les goulots d'étranglement sans sur-ingénierie. 0-100 utilisateurs : Serveur unique (app, DB, jobs). 100-1K : Séparer app et DB (services gérés, pooling). 1K-10K : Équilibreur de charge, multi-serveurs d'app (stateless via sessions partagées). 10K-100K : Caching, réplicas de lecture DB, CDN (réduire charge DB). 100K-500K : Auto-scaling, applications stateless (authentification JWT). 500K-10M : Sharding DB, microservices, files de messages (traitement asynchrone). 10M+ : Déploiement multi-régions, CQRS, persistance polyglotte, infra personnalisée. Principes clés : Simplicité, mesure, stateless essentiel, cache/asynchrone, sharding prudent, compromis (CAP), coût de la complexité. Patterns d'Architecture 2026 - Du Hype à la Réalité du Terrain (Part 1/2) - https://blog.ippon.fr/2026/01/30/patterns-darchitecture-2026-part-1/ L'article présente quatre patterns d'architecture logicielle pour répondre aux enjeux de scalabilité, résilience et agilité business dans les systèmes modernes Il présentent leurs raisons et leurs pièges Un bon rappel L'Event-Driven Architecture permet une communication asynchrone entre systèmes via des événements publiés et consommés, évitant le couplage direct Les bénéfices de l'EDA incluent la scalabilité indépendante des composants, la résilience face aux pannes et l'ajout facile de nouveaux cas d'usage Le pattern API-First associé à un API Gateway centralise la sécurité, le routage et l'observabilité des APIs avec un catalogue unifié Le Backend for Frontend crée des APIs spécifiques par canal (mobile, web, partenaires) pour optimiser l'expérience utilisateur CQRS sépare les modèles de lecture et d'écriture avec des bases optimisées distinctes, tandis que l'Event Sourcing stocke tous les événements plutôt que l'état actuel Le Saga Pattern gère les transactions distribuées via orchestration centralisée ou chorégraphie événementielle pour coordonner plusieurs microservices Les pièges courants incluent l'explosion d'événements granulaires, la complexité du debugging distribué, et la mauvaise gestion de la cohérence finale Les technologies phares sont Kafka pour l'event streaming, Kong pour l'API Gateway, EventStoreDB pour l'Event Sourcing et Temporal pour les Sagas Ces patterns nécessitent une maturité technique et ne sont pas adaptés aux applications CRUD simples ou aux équipes junior Patterns d'architecture 2026 : du hype à la réalité terrain part. 2 - https://blog.ippon.fr/2026/02/04/patterns-darchitecture-2026-part-2/ Deuxième partie d'un guide pratique sur les patterns d'architecture logicielle et système éprouvés pour moderniser et structurer les applications en 2026 Strangler Fig permet de migrer progressivement un système legacy en l'enveloppant petit à petit plutôt que de tout réécrire d'un coup (70% d'échec pour les big bang) Anti-Corruption Layer protège votre nouveau domaine métier des modèles externes et legacy en créant une couche de traduction entre les systèmes Service Mesh gère automatiquement la communication inter-services dans les architectures microservices (sécurité mTLS, observabilité, résilience) Architecture Hexagonale sépare le coeur métier des détails techniques via des ports et adaptateurs pour améliorer la testabilité et l'évolutivité Chaque pattern est illustré par un cas client concret avec résultats mesurables et liste des pièges à éviter lors de l'implémentation Les technologies 2026 mentionnées incluent Istio, Linkerd pour service mesh, LaunchDarkly pour feature flags, NGINX et Kong pour API gateway Tableau comparatif final aide à choisir le bon pattern selon la complexité, le scope et le use case spécifique du projet L'article insiste sur une approche pragmatique : ne pas utiliser un pattern juste parce qu'il est moderne mais parce qu'il résout un problème réel Pour les systèmes simples type CRUD ou avec peu de services, ces patterns peuvent introduire une complexité inutile qu'il faut savoir éviter Méthodologies Le rêve récurrent de remplacer voire supprimer les développeurs https://www.caimito.net/en/blog/2025/12/07/the-recurring-dream-of-replacing-developers.html Depuis 1969, chaque décennie voit une tentative de réduire le besoin de développeurs (de COBOL, UML, visual builders… à IA). Motivation : frustration des dirigeants face aux délais et coûts de développement. La complexité logicielle est intrinsèque et intellectuelle, non pas une question d'outils. Chaque vague technologique apporte de la valeur mais ne supprime pas l'expertise humaine. L'IA assiste les développeurs, améliore l'efficacité, mais ne remplace ni le jugement ni la gestion de la complexité. La demande de logiciels excède l'offre car la contrainte majeure est la réflexion nécessaire pour gérer cette complexité. Pour les dirigeants : les outils rendent-ils nos développeurs plus efficaces sur les problèmes complexes et réduisent-ils les tâches répétitives ? Le "rêve" de remplacer les développeurs, irréalisable, est un moteur d'innovation créant des outils précieux. Comment creuser des sujets à l'ère de l'IA générative. Quid du partage et la curation de ces recherches ? https://glaforge.dev/posts/2026/02/04/researching-topics-in-the-age-of-ai-rock-solid-webhooks-case-study/ Recherche initiale de l'auteur sur les webhooks en 2019, processus long et manuel. L'IA (Deep Research, Gemini, NotebookLM) facilite désormais la recherche approfondie, l'exploration de sujets et le partage des résultats. L'IA a identifié et validé des pratiques clés pour des déploiements de webhooks résilients, en grande partie les mêmes que celles trouvées précédemment par l'auteur. Génération d'artefacts par l'IA : rapport détaillé, résumé concis, illustration sketchnote, et même une présentation (slide deck). Guillaume s'interroge sur le partage public de ces rapports de recherche générés par l'IA, tout en souhaitant éviter le "AI Slop". Loi, société et organisation Le logiciel menacé par le vibe coding https://www.techbuzz.ai/articles/we-built-a-monday-com-clone-in-under-an-hour-with-ai Deux journalistes de CNBC sans expérience de code ont créé un clone fonctionnel de Monday.com en moins de 60 minutes pour 5 à 15 dollars. L'expérience valide les craintes des investisseurs qui ont provoqué une baisse de 30% des actions des entreprises SaaS. L'IA a non seulement reproduit les fonctionnalités de base mais a aussi recherché Monday.com de manière autonome pour identifier et recréer ses fonctionnalités clés. Cette technique appelée "vibe-coding" permet aux non-développeurs de construire des applications via des instructions en anglais courant. Les entreprises les plus vulnérables sont celles offrant des outils "qui se posent sur le travail" comme Atlassian, Adobe, HubSpot, Zendesk et Smartsheet. Les entreprises de cybersécurité comme CrowdStrike et Palo Alto sont considérées plus protégées grâce aux effets de réseau et aux barrières réglementaires. Les systèmes d'enregistrement comme Salesforce restent plus difficiles à répliquer en raison de leur profondeur d'intégration et de données d'entreprise. Le coût de 5 à 15 dollars par construction permet aux entreprises de prototyper plusieurs solutions personnalisées pour moins cher qu'une seule licence Monday.com. L'expérience soulève des questions sur la pérennité du marché de 5 milliards de dollars des outils de gestion de projet face à l'IA générative. Conférences En complément de l'agenda des conférences de Aurélie Vache, il y a également le site https://javaconferences.org/ (fait par Brian Vermeer) avec toutes les conférences Java à venir ! La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs : 12-13 février 2026 : Touraine Tech #26 - Tours (France) 12-13 février 2026 : World Artificial Intelligence Cannes Festival - Cannes (France) 19 février 2026 : ObservabilityCON on the Road - Paris (France) 6 mars 2026 : WordCamp Nice 2026 - Nice (France) 18 mars 2026 : Jupyter Workshops: AI in Jupyter: Building Extensible AI Capabilities for Interactive Computing - Saint-Maur-des-Fossés (France) 18-19 mars 2026 : Agile Niort 2026 - Niort (France) 20 mars 2026 : Atlantique Day 2026 - Nantes (France) 26 mars 2026 : Data Days Lille - Lille (France) 26-27 mars 2026 : SymfonyLive Paris 2026 - Paris (France) 26-27 mars 2026 : REACT PARIS - Paris (France) 27-29 mars 2026 : Shift - Nantes (France) 31 mars 2026 : ParisTestConf - Paris (France) 31 mars 2026-1 avril 2026 : FlowCon France 2026 - Paris (France) 1 avril 2026 : AWS Summit Paris - Paris (France) 2 avril 2026 : Pragma Cannes 2026 - Cannes (France) 2-3 avril 2026 : Xen Spring Meetup 2026 - Grenoble (France) 7 avril 2026 : PyTorch Conference Europe - Paris (France) 9-10 avril 2026 : Android Makers by droidcon 2026 - Paris (France) 9-11 avril 2026 : Drupalcamp Grenoble 2026 - Grenoble (France) 16-17 avril 2026 : MiXiT 2026 - Lyon (France) 17-18 avril 2026 : Faiseuses du Web 5 - Dinan (France) 22-24 avril 2026 : Devoxx France 2026 - Paris (France) 23-25 avril 2026 : Devoxx Greece - Athens (Greece) 6-7 mai 2026 : Devoxx UK 2026 - London (UK) 12 mai 2026 : Lead Innovation Day - Leadership Edition - Paris (France) 19 mai 2026 : La Product Conf Paris 2026 - Paris (France) 21-22 mai 2026 : Flupa UX Days 2026 - Paris (France) 22 mai 2026 : AFUP Day 2026 Lille - Lille (France) 22 mai 2026 : AFUP Day 2026 Paris - Paris (France) 22 mai 2026 : AFUP Day 2026 Bordeaux - Bordeaux (France) 22 mai 2026 : AFUP Day 2026 Lyon - Lyon (France) 28 mai 2026 : DevCon 27 : I.A. & Vibe Coding - Paris (France) 28 mai 2026 : Cloud Toulouse 2026 - Toulouse (France) 29 mai 2026 : NG Baguette Conf 2026 - Paris (France) 29 mai 2026 : Agile Tour Strasbourg 2026 - Strasbourg (France) 2-3 juin 2026 : Agile Tour Rennes 2026 - Rennes (France) 2-3 juin 2026 : OW2Con - Paris-Châtillon (France) 3 juin 2026 : IA–NA - La Rochelle (France) 5 juin 2026 : TechReady - Nantes (France) 5 juin 2026 : Fork it! - Rouen - Rouen (France) 6 juin 2026 : Polycloud - Montpellier (France) 9 juin 2026 : JFTL - Montrouge (France) 9 juin 2026 : C: - Caen (France) 11-12 juin 2026 : DevQuest Niort - Niort (France) 11-12 juin 2026 : DevLille 2026 - Lille (France) 12 juin 2026 : Tech F'Est 2026 - Nancy (France) 16 juin 2026 : Mobilis In Mobile 2026 - Nantes (France) 17-19 juin 2026 : Devoxx Poland - Krakow (Poland) 17-20 juin 2026 : VivaTech - Paris (France) 18 juin 2026 : Tech'Work - Lyon (France) 22-26 juin 2026 : Galaxy Community Conference - Clermont-Ferrand (France) 24-25 juin 2026 : Agi'Lille 2026 - Lille (France) 24-26 juin 2026 : BreizhCamp 2026 - Rennes (France) 2 juillet 2026 : Azur Tech Summer 2026 - Valbonne (France) 2-3 juillet 2026 : Sunny Tech - Montpellier (France) 3 juillet 2026 : Agile Lyon 2026 - Lyon (France) 6-8 juillet 2026 : Riviera Dev - Sophia Antipolis (France) 2 août 2026 : 4th Tech Summit on Artificial Intelligence & Robotics - Paris (France) 20-22 août 2026 : 4th Tech Summit on AI & Robotics - Paris (France) & Online 4 septembre 2026 : JUG Summer Camp 2026 - La Rochelle (France) 17-18 septembre 2026 : API Platform Conference 2026 - Lille (France) 24 septembre 2026 : PlatformCon Live Day Paris 2026 - Paris (France) 1 octobre 2026 : WAX 2026 - Marseille (France) 1-2 octobre 2026 : Volcamp - Clermont-Ferrand (France) 5-9 octobre 2026 : Devoxx Belgium - Antwerp (Belgium) Nous contacter Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs Contactez-nous via X/twitter https://twitter.com/lescastcodeurs ou Bluesky https://bsky.app/profile/lescastcodeurs.com Faire un crowdcast ou une crowdquestion Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/
An airhacks.fm conversation with Holly Cummins (@holly_cummins) about: first computer experience with her dad's Kaypro CPM machine and ASCII platform games, learning Basic programming on an IBM PC clone to build a recipe management system, studying physics at university with a doctorate in quantum computing, self-teaching Java to create 3D visualizations of error correction on spheres during PhD research, joining IBM as a self-taught programmer without formal computer science education, working on Business Event Infrastructure (BDI) at IBM, brief unhappy experience porting JMS to .net with Linux and VNC, moving to IBM's JVM performance team working on garbage collection analysis, creating Health Center visualization tooling for J9 as an alternative to JDK Mission Control, innovative low-overhead always-on profiling by leveraging JIT compiler's existing method hotness data, transitioning to WebSphere Liberty team during its early development, Liberty's architectural advantage of OSGi-based modular core enabling small fast startup while maintaining application compatibility, working on Apache Aries enterprise OSGi project and writing a book about it, discussion of OSGi's strengths in protecting internal APIs versus complexity costs for application developers, the famous OSGi saying about making the impossible possible and the possible hard, microservices solving modularity problems through network barriers versus class loader barriers, five years as IBM consultant helping customers adopt cloud-native technologies, critique of cloud-native terminology becoming meaningless when everything required the native suffix, detailed analysis of 12-factor app principles and how most were already standard Java practices, stateless processes as the main paradigm shift from JavaServer Faces session-based applications, joining Red Hat's quarkus team three and a half years ago through Erin Schnabel's recommendation, working on Quarkiverse community aspects and ecosystem development, leading energy efficiency measurements confirming Quarkus's sustainability advantages, current role as cross-portfolio sustainability architect for Red Hat middleware, writing Pact contract testing extension for Quarkiverse to understand extension author experience, re-architecting Quarkus test framework class loading to enable deeper extension integration, recent work on Dev Services lazy initialization to prevent eager startup of multiple database instances across test profiles, fixing LGTM Dev Services port configuration bugs for multi-microservice observability setups, upcoming JPMS integration work by colleague David Lloyd requiring class loader simplification, the double win of saving money while also reducing environmental impact, comparison of sustainability benefits to accessibility benefits for power users, mystery solved about the blue-haired speaker at European Java User Groups years ago Holly Cummins on twitter: @holly_cummins
An airhacks.fm conversation with Johan Haleby (@johanhaleby) about: first computer experience with Commodore C64 and typing Basic programs from instruction manuals, early gaming experiences and interest in understanding load commands, transition to Amiga 500 Plus for demo scene scripting and composition, moving to PC era with 486 SX25 and four megabytes of RAM, learning Turbo Pascal and creating 2D Super Mario-inspired games, experimenting with inline assembler in Pascal and reading "The Art of Assembly Programming", reverse engineering games using Win32 disassembler to bypass license checks, studying computer science at Blekinge and Lund University in Sweden, first job at JayWay consultancy firm working on IKEA project in 2005, early adoption of Spring framework and automated testing practices, comparison of old-style EJB with heavy XML configuration versus Spring's lightweight approach, the evolution from XML-based configuration to annotation-based Java EE 5 and 6, creating PowerMock with colleague Jan Kronqvist to mock static methods and final classes, using asm and JavaAssist for bytecode manipulation instead of AspectJ, implementing custom class loaders where each JUnit method executed in different class loader, deep clone module for cloning object graphs between class loaders, tight coupling challenges between PowerMock and Mockito/EasyMock/JUnit versions, transition from EasyMock's record-replay pattern to Mockito's when-then approach, modern preference for avoiding mocks and testing against real cloud environments, optimizing for fast CI/CD pipelines rather than local simulation, structuring code to separate infrastructure concerns from pure business logic, using Java Records as pure data carriers versus adding behavior to records, Clojure-inspired philosophy of decoupling state from behavior and identity, Rich Hickey's "Simple Made Easy" talk and definitions of simple versus easy, multi-methods in functional languages as alternative to polymorphism, domain modeling example with network devices and fiber channel connections, benefits of object-oriented polymorphism for transparent persistence and simple code, avoiding religious adherence to patterns in favor of pragmatic solutions, Maven's stability and opinionated approach versus Gradle's flexibility, reducing external dependencies and Maven plugins in favor of CI/CD automation, the NPM ecosystem's over-modularization compared to Java's more reasonable approach, decline of OSGi hype and return to simpler monolithic architectures, Johan's current work on Occurrent Event Sourcing library and cloud events Johan Haleby on twitter: @johanhaleby
Dans le palmarès cette semaine, deux innovateurs qui se distinguent par la qualité de leurs travaux, qui font de l'Afrique une terre d'excellence scientifique. Sur la première marche du podium cette semaine, un ingénieur originaire du Burkina Faso, diplômé de l'école d'ingénieurs Polytechnique de Nantes, Sékou Ouedraogo, possède également un master de l'Ecole Nationale des Mines de Paris et un troisième cycle en relations internationales approfondies du Centre d'études diplomatiques et stratégiques de Paris. Passionné d'aérospatiale, son ambition est de faire de ce secteur un outil de développement pour le continent. La seconde tête d'affiche, est également ingénieur, originaire du Cameroun. Douglas Mbiandou est diplômé de l'Institut national des sciences appliquées (INSA) Lyon. Après avoir développé des applications en France, en Suisse et aux États-Unis il y a 20 ans, il a fondé Osgi, un centre de formation spécialisé dans les technologies Java, Web et mobile.
В выпусках мы уже обсуждали Java, Kotlin, Scala и даже Clojure, но теперь пришло время разобраться с основой популярности этих языков — Java Virtual Machine. Кто сможет лучше всего рассказать о внутреннем устройстве JVM? Конечно, тот, кто сам создавал одну из её реализаций! В этом выпуске вместе с Никитой Липским, инициатором проекта Excelsior JET — JVM с AOT компилятором, мы углубляемся в анатомию JVM, разбираемся с её спецификацией и различными реализациями, обсуждаем особенности оптимизаций, текущие проблемы и тренды в экосистеме JVM. Также ждем вас, ваши лайки, репосты и комменты в мессенджерах и соцсетях! Telegram-чат: https://t.me/podlodka Telegram-канал: https://t.me/podlodkanews Страница в Facebook: www.facebook.com/podlodkacast/ Twitter-аккаунт: https://twitter.com/PodlodkaPodcast Ведущие в выпуске: Евгений Кателла, Катя Петрова, Стас Цыганов, Егор Толстой Полезные ссылки: Никита Липский – Спасение от Jar Hell с помощью Jigsaw Layers https://www.youtube.com/watch?v=KVdZyj7_KVM GeeCON Prague 2019: Nikita Lipsky - Escaping The Jar Hell With Jigsaw Layers https://www.youtube.com/watch?v=UXlASXkMeN0 JVM Anatomy 101 https://www.youtube.com/watch?v=BeMi8K0AFAc Никита Липский — Верификация Java-байткода: когда, как, а может отключить? https://www.youtube.com/watch?v=-OocG7tFIOQ Никита Липский — Модули Java 9. Почему не OSGi? https://www.youtube.com/watch?v=E3A6Z02TIjg&t=1374s Полный список всех остальных докладов Никиты https://habr.com/ru/companies/jugru/articles/329728/
How will progress at the edge change our homes, cars and the electrical grid? In this conversation, Bill sits down with Kai Hackbarth, Senior Tech Evangelist at Bosch Global Software Technologies for a wide ranging discussion around Kai's work at the OSGI foundation, and the complexities of smart homes, smart vehicles and the challenges posed to the electrical grid. ---------Key Quotes:“Electricity is not the answer for cars. to call it like this. So, if everybody drives an electric vehicle, no grid can manage this.”“The grid was never designed for renewable energy sources.”“I think hydrogen will come, right? It's not yet ready for cars”--------Timestamps: (00:00) How Kai got started in tech (06:28) Kai's definition of edge (13:06) Smart homes and smart assisted living facilities(20:39) Kai's work with the OSGI25:29 Challenges and innovations in smart grid technology28:49 The future of electric and hydrogen vehicles32:51 Software-defined vehicles and industry challenges39:00 Developments in edge tech and sustainability--------Sponsor:Over the Edge is brought to you by Dell Technologies to unlock the potential of your infrastructure with edge solutions. From hardware and software to data and operations, across your entire multi-cloud environment, we're here to help you simplify your edge so you can generate more value. Learn more by visiting dell.com/edge for more information or click on the link in the show notes.--------Credits:Over the Edge is hosted by Bill Pfeifer, and was created by Matt Trifiro and Ian Faison. Executive producers are Matt Trifiro, Ian Faison, Jon Libbey and Kyle Rusca. The show producer is Erin Stenhouse. The audio engineer is Brian Thomas. Additional production support from Elisabeth Plutko.--------Links:Follow Bill on LinkedInFollow Kai on LinkedInEdge Solutions | Dell Technologies
In this podcast, we are talking to some of the key people working on different IDEs, Integrated Development Environments. Those are applications that provide tools to computer programmers for software development. An IDE typically consists of at least a source code editor, build automation tools, and a debugger. Let's learn how these tools evolved, and the challenges they face to stay up-to-date with the many evolutions in Java and all other programming languages. And what we can still expect in the future!GuestsHelen Scott (IntelliJ IDEA, @HelenJoScott)Martin Lippert (Eclipse, Spring Tools Lead at VMware, @martinlippert)Nick Zhu (Microsoft VSC, @nickzhu9)Geertjan Wielenga (Netbeans, @GeertjanW)Podcast hostFrank Delporte (@frankdelporte@foojay.social, @frankdelporte)Content00'00 Intro and music 00'15 About the topic of this podcast 00'45 Introduction of the guestshttps://leanpub.com/gettingtoknowIntelliJIDEA https://www.amazon.com/dp/B0BQ9CP78504'14 What is an IDE?07'15 Netbeans as a community project08'20 About the community around Spring and Eclipse11'28 OSGi in Eclipse13'21 How JetBrains build a company around IDEs 17'43 About Java within Visual Studio Code and Microsofthttps://microsoft.github.io/language-server-protocol/ 20'55 Foojay posts about IDEshttps://foojay.io/today/presenting-with-intellij-idea/https://foojay.io/today/resolving-git-merge-conflicts-in-intellij-idea/ https://foojay.io/today/getting-started-with-deep-learning-in-java-using-deep-netts-part-2/ https://foojay.io/today/keeping-pace-with-java-using-eclipse-ide/ https://foojay.io/today/java-on-visual-studio-code-may-update/ https://foojay.io/today/taking-vscodium-for-a-spin/ 22'21 Spring Tools development for IDEs27'32 IDEs on small platformshttps://webtechie.be/books/29'42 CodeWithMe in IntelliJ IDEA31'37 On-line editors33'15 Main benefits of the different IDEs and what is coming in 2023https://github.com/microsoft/vscode-java-packhttps://www.jetbrains.com/remote-development/https://github.com/openrewrite/rewrite 46'07 Conclusion
An airhacks.fm conversation with Juergen Albert (@JrgenAlbert6) about:Java 9 modules, microservices,the attempt to fight the complexity with distributing a monolith,internal isolation inside a monolith,the advantages of modularity,the definition of microservices,OSGi is complex at the beginning but the complexity of OSGi growth linearly,developing a first microservice is easy, coordinating many microservices gets complex,the operational complexity of distributed microservices,OSGi instead of distribution,OSGi modules communicate via services,the Eclipse Communication Framework (ECF),MicroProfile REST client as remoting,an episode with Romain Manni-Bucau: "#79 Back to Shared Deployments",rolling updates with OSGi,getting list of bundles with their versions,CVE detection with OSGi,the desired state monitoring,Infrastructure as Code with Java,treating OSGi as kubernetes with IaC,OSGi fx - desktop ui for OSGi management,JINI invented the Service Oriented Architectures,Java Intelligent Network Infrastructure and Apache River,JINI leasing and self healing,distributed garbage collection with JINI,episode with Joe Duffy: "#189 How Pulumi for Java Happened",conversation with Bruno Borges: "#188 Finding Some Sense in a Nonsensical Technology World",additional complexity of Kubernetes in the clouds,double Kubernetes provisioning,Juergen Albert on twitter: @JrgenAlbert6, Juergen's company: Data In Motion
2022-04-26 Weekly News - Episode 145Watch the video version on YouTube at https://youtu.be/c7n9_RJZLZY Hosts: Gavin Pickin - Senior Developer at Ortus SolutionsDaniel Garcia - Senior Developer at Ortus SolutionsThanks to our Sponsor - Ortus SolutionsThe makers of ColdBox, CommandBox, ForgeBox, TestBox and all your favorite box-en out there. A few ways to say thanks back to Ortus Solutions:Like and subscribe to our videos on YouTube. Help ORTUS reach for the Stars - Star and Fork our ReposStar all of your Github Box Dependencies from CommandBox with https://www.forgebox.io/view/commandbox-github Subscribe to our Podcast on your Podcast Apps and leave us a reviewSign up for a free or paid account on CFCasts, which is releasing new content every weekBuy Ortus's Book - 102 ColdBox HMVC Quick Tips and Tricks on GumRoad (http://gum.co/coldbox-tips) Patreon SupportWe have 35 patreons providing 92% of the funding for our Modernize or Die Podcasts via our Patreon site: https://www.patreon.com/ortussolutions. News and EventsNew Into the Box Dates Announced - Almost 100% finalizedOrtus Solutions is happy to announce we have new finalized dates for Into the Box 2022 and the venue. Into the Box 2022 will be hosted in Houston Texas, Tuesday September 6th through Thursday September 8th, 2022. The conference will be at a new venue, the Houston CityPlace Marriott at Springwoods Village.Adobe semi officially announced their dates (still un-official at the time of writing this post) and they were close, back to back weeks at the end of September/October. We felt like the ColdFusion community deserves more in person conferences, ColdFusion Community members need the opportunity to speak and or attend more in person coldfusion conferences. If we left the conferences back to back with only a travel day/weekend in between, it would have been hard for many if not most coldfusion community members to attend both.By changing the dates, it might still be hard or impossible for a lot of speakers, sponsors, and community members, but now those percentages have increased, and both conferences will be more successful, and that will help the community be more successful... and at the end of the day, we all win if ColdFusion wins.Since we moved dates for ITB 2022 - We're extending the Call for Speaker Deadline - April 30, 2022Since we had to make changes to the schedule, we wanted to make sure every community member had the opportunity to submit their proposal.Into the Box will be live in Houston in September 2022.https://forms.gle/HR1vQf2T5rs8yCZo9https://intothebox.orgAdobe Announced Adobe Developer Week 2022July 18-22, 2022Online - Virtual - FreeThe Adobe ColdFusion Developer Week is back - bigger and better than ever! This year, our experts are gearing up to host a series of webinars on all things ColdFusion. This is your chance to learn with them, get your questions answered, and build cloud-native applications with ease.Note: Speakers listed are 2021 speakers currently - check back for updateshttps://adobe-coldfusion-devweek-2022.attendease.com/registration/form Lucee 5.3.9.131-Snapshot Installers released - Stable release coming today!So we solved the last blocker for the 5.3.9 release, stable release tomorrow!Here are the preview installers, they bundleApache Tomcat/9.0.62Java 11.0.15 (Eclipse Adoptium) 64bitBonCode 1.0.42Notes: Java 17 is still not fully working, but Lucee will start instead of crashing on startup.Users with M1 Macs should now be able to use a native ARM JVM.https://dev.lucee.org/t/preview-5-3-9-131-snapshot-installers/10012 New Beta for the S3 Lucee Extension 2.0.0.71 (awslib) We had been using the older, no longer maintained jets3t library, but it's no longer maintained and was causing a range of minor problems which led us to decided to switch over to the the AWS S3 java library.Those problems beinglarge multipart uploads failing sometimesoccasional OSGI issues with the jets3t properties fileBasically as an end user, there is no functional difference between the 0.9.154 and 2.0.0.71 versions, in our testing the new version is a bit faster, especially with file deletion.https://dev.lucee.org/t/s3-extension-2-0-0-71-beta-awslib/10014 CFBreak is BackA once weekly email newsletter for the ColdFusion / CFML community.Hi, this is Pete Freitag, you're receiving this email because you signed up for my CFML / ColdFusion monthly newsletter CFML News here https://tinyletter.com/cfml a few years ago.I haven't posted to the newsletter since 2020, so I decided it is time for a refresh, and a rebrand of the newsletter.https://www.cfbreak.com/ CFWheels has joined Open Source CollectiveCFWheels has joined the Open Source Collective allowing us to raise, manage, and spend money transparently.https://cfwheels.org/blog/cfwheels-joins-open-source-collective/ Hot deal on Adobe ColdFusion from Fusion Reactor - Pricing good until April 30thAdobe ColdFusion Hot Sale. Upgrades to Adobe ColdFusion are now available at an exclusive rate. Upgrade to ColdFusion 21 if you have CF9, 10, 11, or 2016 and get the following deal:25% discount compared to the full price of CF21This offer is only available to FusionReactor customers for STD and ENT editions of ColdFusion. If you're not already a customer, then by adding FusionReactor in, you still have a significant saving. FusionReactor prices start from $19 per month, see our APM pricing page.https://www.fusion-reactor.com/blog/news/coldfusion-hot-sale/ ICYMI - Mid-Michigan CFUG - John Farrar is presenting on 13 ways to modernize with Vue 34/19/2022 - 7 pm eastern time.Learn everything that is new and how to transition to Vue 3.Meeting URL: https://bit.ly/3rwOxvq Recording Available: https://www.youtube.com/watch?v=V6nMoMO5o1oOnline ColdFusion Meetup - "Updating the Java underlying ColdFusion", with Charlie ArehartThursday, April 28, 20229:00 AM to 10:00 AM PDTWith Java updates happening about quarterly (and one just last week), it's important that ColdFusion administrators and/or developers keep up to date on the Java version which underlies their CF (or Lucee) deployments. While the simplest question may seem to be "how do I do such an update, effectively" (and it really can be quite simple), there's a good bit more to updating the Java (aka jvm, jdk, jre) which underlies your CFML engine.In this session, veteran troubleshooter Charlie Arehart will share his experience helping people deal with this topic for many years, including:Considering, planning the jvm update (what jvm do you have, what can you update to, why should you?)Performing the jvm update (where to get it, how to install it, how to configure CF to use it)Avoiding various potential gotchas when updating the JVMHow to be made aware of new JVM versionsWhether you use CF or Lucee, deployed traditionally or via Commandbox (or even containers), most of the discussion will apply to you.https://www.meetup.com/coldfusionmeetup/events/285508327/?response=3Ortus Webinar - April - cbSecurity: Passwords, Tokens, and JWTs with Eric PetersonApril 29th 202211:00 AM Central Time (US and Canada)Learn how to integrate cbSecurity into your application whether you are using passwords, API tokens, JWTs, or a combination of all three!More Webinars: https://www.ortussolutions.com/events/webinars Hawaii ColdFusion Meetup Group - Using ColdFusion ORMs with Nick KwiatkowskiFriday, April 29, 20224:00 PM to 5:00 PM PDTThe ColdFusion language introduced the concept of ORM (Object Relation Mappings) to allow developers to be able to do database work without having to write database-dependent SQL.Nick Kwiatkowski is an adjunct professor at Michigan State University, a member of the Mid-Michigan CFUG, and Apache Foundation Member. His day job also includes managing the telecommunications platforms at MSU as well as managing a variety of applications on campus. He has been a ColdFusion developer for nearly 25 years and an instructor for 15.https://www.meetup.com/hawaii-coldfusion-meetup-group/events/285109975/ Online ColdFusion Meetup - “Code Reuse in ColdFusion - Is Spaghetti Code still Spaghetti if it is DRY?” with Gavin PickinThursday, May 12 20229:00 AM to 10:00 AM PDTFind out the difference between DRY code and WET code, and what one is better, and more importantly, WHY.We write code once, but we read it over and over again, maintaining our code is 90% of the job... code reuse is our friend. You are already Re-using code, even if you didn't know you were.We'll learn about the different types of Code Reuse in ColdFusion, and the pros and cons of each.www.meetup.com/coldfusionmeetup/events/285524970/ Adobe WorkshopsJoin the Adobe ColdFusion Workshop to learn how you and your agency can leverage ColdFusion to create amazing web content. This one-day training will cover all facets of Adobe ColdFusion that developers need to build applications that can run across multiple cloud providers or on-premiseICYMI - THURSDAY, APRIL 21, 202210:00 AM PDTAdobe ColdFusion TruthsMark Takatahttps://adobe-coldfusion-truths.meetus.adobeevents.com/TODAY - TUESDAY, APRIL 26, 20229:00 AM CETAdobe ColdFusion WorkshopDamien Bruyndonckx (Brew-en-dohnx) https://adobe-workshop-coldfusion.meetus.adobeevents.com/FREE :)Full list - https://meetus.adobeevents.com/coldfusion/ CFCasts Content Updateshttps://www.cfcasts.comJust ReleasedGavin Pickin - Publish Your First ForgeBox PackageMinimum Requirements for a Package https://www.cfcasts.com/series/publish-your-first-forgebox-package/videos/minimum-requirements-for-a-package What happens if your slug for your package isn't unique? https://www.cfcasts.com/series/publish-your-first-forgebox-package/videos/what-happens-if-your-slug-for-your-package-isn't-unique Coming SoonMore… Gavin Pickin - Publish Your First ForgeBox PackageConferences and TrainingDockerConMay 10, 2022Free Online Virtual ConferenceDockerCon will be a free, immersive online experience complete with Docker product demos , breakout sessions, deep technical sessions from Docker and our partners, Docker experts, Docker Captains, our community and luminaries from across the industry and much more. Don't miss your chance to gather and connect with colleagues from around the world at the largest developer conference of the year. Sign up to pre-register for DockerCon 2022!https://www.docker.com/dockercon/ US VueJS ConfFORT LAUDERDALE, FL • JUNE 8-10, 2022Beach. Code. Vue.Workshop day: June 8Main Conference: June 9-10https://us.vuejs.org/Adobe Developer Week 2022July 18-22, 2022Online - Virtual - FreeThe Adobe ColdFusion Developer Week is back - bigger and better than ever! This year, our experts are gearing up to host a series of webinars on all things ColdFusion. This is your chance to learn with them, get your questions answered, and build cloud-native applications with ease.Note: Speakers listed are 2021 speakers currently - check back for updateshttps://adobe-coldfusion-devweek-2022.attendease.com/registration/form THAT ConferenceHowdy. We're a full-stack, tech-obsessed community of fun, code-loving humans who share and learn together.We geek-out in Texas and Wisconsin once a year but we host digital events all the time.For a limited time all monthly THAT Online events are free and do not require a ticket to participate.Read more at: https://that.us/events/thatus/2022-5/ on THAT.There have webinars too https://that.us/activities/WISCONSIN DELLS, WI / JULY 25TH - 28TH, 2022A four-day summer camp for developers passionate about learning all things mobile, web, cloud, and technology.https://that.us/events/wi/2022/ Our very own Daniel Garcia is speaking there https://that.us/activities/sb6dRP8ZNIBIKngxswIt CF SummitIn person at Las Vegas, NV in October 2022!Official-”ish” dates:Oct 3rd & 4th - CFSummit ConferenceOct 5th - Adobe Certified Professional: Adobe ColdFusion Certification Classes & Testshttps://twitter.com/MarkTakata/status/1511210472518787073VueJS Forge June 29-30thOrganized by Vue School_The largest hands-on Vue.js EventTeam up with 1000s of fellow Vue.js devs from around the globe to build a real-world application in just 2 days in this FREE hackathon-style event.Make connections. Build together. Learn together.Sign up as an Individual or signup as a company (by booking a call)https://vuejsforge.com/Into The Box 2022Solid Dates - September 6, 7 and 8, 2022One day workshops before the two day conference!Early bird pricing available until April 30, 2022Call for Speakers - Extended until April 30, 2022https://forms.gle/HR1vQf2T5rs8yCZo9Conference Website:https://intothebox.orgInto the Box Latam 2022Tentative dates - Dec 1-2CFCampStill waiting as well.More conferencesNeed more conferences, this site has a huge list of conferences for almost any language/community.https://confs.tech/Blogs, Tweets, and Videos of the WeekLooking for more content, check out the other ColdFusion related PodcastsWorking Code Podcast https://workingcode.dev/ CF Alive https://teratech.com/podcast/ April 25, 2022 - Blog - Mark Takata - Adobe - Turning on NULL support in ColdFusion 2018+While playing around with booleans, I ended up running into some fun stuff(tm) having to do with NULL. As you might be aware, as of Adobe ColdFusion 2018, the framework has supported NULL values, but what you might not be aware of is that you can turn them on and off either globally (via the Administrator) or on a per-application level.https://coldfusion.adobe.com/2022/04/turning-on-null-support-in-coldfusion-2018/ April 26, 2022 - Blog - Ben Nadel - Considering The Separation Of Concerns When Invoking A Remote API In ColdFusionWhen dealing with a local database in ColdFusion, the levels of abstraction and the separations of concern feel somewhat second nature. Yes, I've wrestled with some irrational guilt over returning Query objects from my DAL (Data Access Layer); but, on balance, I love the query object's simplicity and power; and, returning it from the DAL makes life easy. Lately, however, I've had to start consuming some remote APIs (microservices). And, when it comes to making HTTP calls, the separation of concerns is less clear in my head - it seems that so much more can go wrong when consuming a remote API.https://www.bennadel.com/blog/4254-considering-the-separation-of-concerns-when-invoking-a-remote-api-in-coldfusion.htmBen is essentially setting up a gateway to abstract getting the data so he can standardize what the service is receiving, so it shouldn't matter where the data is coming from.April 22, 2022 - Blog - Ben Nadel - ArraySlice() Has An Exponential Performance Overhead In Lucee CFML 5.3.8.201The other day, I tweeted about Lucee CFML struggling with a massive array. I had created a data-processing algorithm that was taking an array of user-generated data and splitting it up into chunks of 100 so that I could then gather some aggregates on that data in the database. Everything was running fine until I hit a user that had 2.1 million entries in this array. This was an unexpected volume of data, and it crushed the CFML server. 2.1M is a lot of data to my "human brain"; but, it's not a lot of data for a computer. As such, I started to investigate the root performance bottleneck; and, I discovered that the arraySlice() function in Lucee CFML 5.3.8.201 has a performance overhead that appears to increase exponentially with the size of the array.https://www.bennadel.com/blog/4253-arrayslice-has-an-exponential-performance-overhead-in-lucee-cfml-5-3-8-201.htm @bdw429s just left a comment on the blog-post about .subList() as well. It looks crazy-fast! This seems like the fastest possible implementation.April 22, 2022 - Blog - Charlie Arehart - Updated - Solving problems calling out of CF via https, by updating JVMIf you're getting errors in calling out to https urls from CF, especially if it was working and now is not, you may NOT need to import a certificate, nor modify any jvm args. You may simply need to update the JVM that CF uses, as discussed in this post.https://coldfusion.adobe.com/2019/06/error-calling-cf-via-https-solved-updating-jvm/ 4/22/2022- Tweet - Brad Wood - Ortus Solutions - It sucks that CF engines still don't allow for CFCs to extend Java classesIt sucks that CF engines still don't allow for CFCs to extend Java classes. That prevents me from integrating with Java libraries like this one who don't allow interface implementations, but require abstract base class extension. https://github.com/bkiers/Liqp/issues/226 4/22/2022 - Tweet - Brad Wood - Ortus Solutions - native Java threading can't access application/session/request scopesOne of the missing pieces for CF devs using native Java threading is the inability of your code to access your application/session/request scopes. ColdBox works around this but we really need out of the box CF engine support! https://luceeserver.atlassian.net/browse/LDEV-3960 https://twitter.com/bdw429s/status/1517584339235745795https://twitter.com/bdw429s4/19/2022 - Blog - Charlie Arehart - New updates released for Java 8, 11, 17, and 18 as of Apr 2022New JVM updates have been released today (Apr 19, 2022) for the current long-term support (LTS) releases of Oracle Java, 8, 11, and 17, as well as the new interim update 18. (Note that prior to Java 9, releases of Java were known technically as 1.x, to 8 is referred to in resources below as 1.8.)The new updates are 1.8.0_331, (aka 8u331), 11.0.15, 17.0.3, and 18.0.1 respectively). And as is generally the case with these Java updates, most of them have the same changes and fixes.For more on them, including changes as well as the security and bug fixes they each contain, see the Oracle resources I list below, as well as some additional info I offer for if you may be skipping to this from a JVM update from before Apr 2021. I also offer info for Adobe ColdFusion users on where to find the updated Java versions, what JVM versions Adobe CF supports, and more.https://www.carehart.org/blog/client/index.cfm/2022/4/19/java_updates_Apr_2022 CFML JobsSeveral positions available on https://www.getcfmljobs.com/Listing over 75 ColdFusion positions from 43 companies across 36 locations in 5 Countries.2 new job listedFull-Time - Mid/Senior CFML Developer at Cleveland, OH - United States Apr 22https://www.getcfmljobs.com/viewjob.cfm?jobid=11462Full-Time - Senior ColdFusion/Lucee Engineer (Remote) at Remote - United States Apr 19https://www.getcfmljobs.com/viewjob.cfm?jobid=11461 Other Job LinksOrtus Solutionshttps://www.ortussolutions.com/about-us/careers Consortium Inchttps://www.dice.com/jobs/detail/-/10183574/7322396 There is a jobs channel in the box team slack now tooForgeBox Module of the WeekCBMailServices PreMail FilterThis is a tool that fires on the PreMail interception point, allowing you to filter emails being sent from your application using CBMailServices.This supports multiple enviromnents, so you can turn on the filter for just one environment, or multiple environments, and you can choose to override the global settings, with settings for just one environment, whether that is allowed email addresses, or required email addresses.https://www.forgebox.io/view/cbmailservices-premail-filter VS Code Hint Tips and Tricks of the WeekDepot Data Editor by Afterschool StudioStructured data editor for VS Code - Edit JSON data directly inside of code with a spreadsheet like interface. Can be used to replace the need for .csv or XML filesExtension: https://marketplace.visualstudio.com/items?itemName=afterschool.depot Bonus VS Code Livestream Recording - JSON Data in VS Code with Depot Extension
An airhacks.fm conversation with Jürgen Albert (@JrgenAlbert6) about: Checkout last episode with Jürgen Albert: "#175 Pragmatic Modularity and OSGi", Why do we need a module?, related episodes: "#151 Modularization, Monoliths, Micro Services, Clouds, Functions and Kubernetes", "#160 Modules Are Needed, But Not Easy", Physical vs. Logical modules. How to pick a perfect module, picocli for building Java CLI applications, module as to to divide and conquer, how to cut the modules, in OSGi the smallest module is the package, OSGi core specification already understands modules, build time vs. runtime dependency and manifest assembly, JAX-RS and Vaadin OSGi "whiteboard", Peter Kriens started with the OSGi idea, the OSGi phone, OSGi services and service registry, service registry listener, OSGi Declarative Services provide lifecycle, OSGi vs. kubernetes, Kubernetes solved the port collision problem, OSGi remote services, the Eclipse OSGi project, Jürgen Albert on twitter: @JrgenAlbert6, Jürgen's company: Data In Motion
An airhacks.fm conversation with Jürgen Albert (@JrgenAlbert6) about: C64 and Logo, 286, 486 then Pentium, starting with PHP, learning Java 1.4 and Java 5, studying in Jena - the optical valley, Intershop and Stephan Schambach, Intershop was written in Perl, writing eBay connectors with Java, Java Server Pages, Tomcat and Java Data Objects (JDO), Java Persistence API JPA, writing a J2ME app store, Using TriActive JDO TJDO, using Geronimo Application Server, working with Java EE, JBoss and Glassfish, starting Data In Motion company in 2010, building a statistics tool for Bundesamt fuer Risikobewertung, creating smartcove the product search and price comparison engine, building video supported therapy software with Java, parsing video streams with Java, Eclipse RCP, code reuse with OSGi and Gyrex, GlassFish and OSGi, modeling Eclipse Modeling Framework (EMF), Eclipse GMF and openArchitectureWare, the IDE wars, the meetup.com/airhacks message, modular system in long term projects, microservices vs. JARs, versioning bundles and plugins, package versioning, the chair of Eclipse OSGi Working Group, Sun started with OSGi, declarative OSGi services, there overlap between OSGI and Eclipse Plugin Development Environment, "#79 Back to Shared Deployments with Romain Manni-Bucau", Jürgen Albert on twitter: @JrgenAlbert6, Juergen's company: Data In Motion
An airhacks.fm conversation with Emily Jiang (@emilyfhjiang) about: the Chinese JavaONE, the MicroProfile book, writing a book in a caravan, the MicroProfile 5 release, MicroProfile 5.0 ships with Jakarta namespace, OpenLiberty supports MicroProfile 5.0, OpenTracing and OpenCensus merged into opentelemetry, MicroProfile OpenTelemetry will deprecate MicroProfile OpenTracing, Traced annotation and Tracer interface are comprising the OpenTracing spec, MicroProfile Metrics and micrometer, a shim layer around Micrometer could become MicroProfile Metrics, Jakarta EE is a shim, the Quarkus with Micrometer screencast, MicroProfile Metrics "application" registry is useful for business metrics and KPIs, MicroProfile standalone vs. platform releases, Jakarta EE 10 Core Profile will be consumed by MicroProfile, Jakarta Concurrency and Core Profile, MicroProfile Context Propagation integration with CDI, the importance of Jakarta EE Concurrency, a MicroProfile logging facade discussion, OpenTelemetry's logging branch, the AWS Lambda logging interface, injecting java.util.logging loggers and Java interface-based log facades, MicroProfile metrics custom scopes, a service mesh does not have any application-level insights, a service mesh performs a fallback based on traffic patters and not application logic, fault tolerance testing with service mesh vs. MicroProfile Fault Tolerance, MicroProfile and data access specification evaluation, Quarkus with MicroProfile as AWS Lambda screencast, Quarkus with MicroProfile as AWS Lambda github project, AWS serverless containers Jersey implementation, explaining AWS Lambdas with EJB talk, Message Driven Beans as email listeners with JCA, serverless and the ROI point of view, the self-explanatory serverless billing, OSGi is great for building runtimes, integrating MicroProfile Config with Jakarta EE, the Practical Cloud-Native Java Development with MicroProfile: Develop and deploy scalable, resilient, and reactive cloud-native applications using MicroProfile 4.1 book Emily Jiang on twitter: @emilyfhjiang
An airhacks.fm conversation with Ondrej Mihályi (@OndroMih) about: last episode with Ondrej: Productive Clouds 2.0 with Serverless Jakarta EE, "Modularization, Monoliths, Micro Services, Clouds, Functions and Kubernetes" #151 episode with Matjaz Juric, modules are useful, but the tooling is not easy, using OSGi for User Interfaces, hybrid Java / JavaScript UI, build time and development time modularity, frontend and backend separation is important, business and presentation separation, Boundary Control Entity (BCE) pattern is permissive, strict modularization with WARs and JARs, logical over physical modules, JPMS for hiding internal implementation, modules are more important in teams as contracts, WARs as simple as AWS Lambdas, kubernetes and readiness probes, Elastic Beanstalk is similar to Payara Cloud, Payara Micro optimizations for Payara Cloud, redeployment without restarting the instances, Payara Micro Arquillian Container, hollow JAR approach and Payara Micro, Payara Micro could support native compilation in the future, Jakarta EE core profile and CDI lite, native compilation for resource reduction, Payara implements MicroProfile as early as soon, Ondrej Mihályi on twitter: @OndroMih
An airhacks.fm conversation with Patrik Dudits (@pdudits) about: Sparc Workstation, then 486 computer, the Camel book at highschool, inspired by Kraftwerk, a Java Demo CD, CGI coldstart project, the XML publishing pipeline--the Apache Cocoon project, Xerces and Xalan with plain Java, the rotating cube applet, the Camel Book is about the Pearl language, from Pearl to Java, the "Write Once, Run Everywhere" cheating, working and learning in Kosice, building websites with Apache Cocoon, developing ABAP at SAP, ABAP and consistency, switching from ABAP to Java, using the Netweaver Application Server, Web Dynpro for web development, code generators rarely work in practice, low code and code generation, building electric vehicle charging station management system, OSGi, ActiveMQ and GlassFish 3, Glassfish ships with monitoring capabilities and admin console, replacing OSGi modules with EARs for faster starts, using JCA for socket communication, Raft and Paxos leader election pattern, blue green deployments with application servers, starting at Payara, attending airhacks.com workshops, starting at Payara, working on profiling, implementing Jakarta EE TCK build, starting to work on a cloud application server, an application server as kubernetes operator, Payara admin server starts Payara Micro instances, payara cloud without YAML, namespaces, projects and stages, applications in the same namespace can easily communicate with each other, Payara Cloud monitoring and metrics, Payara Cloud runs on AKS, exposing business metrics to Payara Cloud, custom DNS name registration, working on Payara Cloud API, Payara ships with openID connector Patrik Dudits on twitter: @pdudits, Patrik's blog: https://pdudits.github.io/
An airhacks.fm conversation with Prof. dr. Matjaz Juric (@matjazbj) about: the larger the system, the more important the modularization, modularization and reuse, modularization and business requirements, cross-cutting logic is a solved problem, a module is a Java package, OSGi introduces additional complexity, packaging vs modularity, modularization and team work, most of the patterns became a part of the platform, isolation with deployment units, a module is a Dockerfile, internal modularization became less important, physical and logical modularization, logical over physical modularization, physical modularization introduces complexity, costs driven development, kubernetes and modularization, cloud complexity vs. Java runtime complexity, wrong cloud expectations, CI/CD in the clouds, internal microservice structure should be simpler, ECS blue green deployment with AWS CodeDeploy, vendor independence vs. cloud specific services in the clouds, Payara Cloud: Payara cluster became Kubernetes operator, functions and microservices, serverless computing with functions, function communication styles, Apache Kafka and functions, the Outbox pattern is too technical, KumuluzEE and Kumuluz Platform, Prof. dr. Matjaz Juric on twitter: @matjazbj, Prof. dr. Matjaz Juric at University of Ljubljana
Holly Cummins is a Senior Technical Staff Member and Innovation Leader at IBM. Holly has used technology to enable innovation, for clients across a range of industries, from banking to catering to retail to NGOs. During her time as a lead developer in the IBM Garage, she has led projects to count fish, help a blind athlete run ultra-marathons in the desert solo, improve health care for the elderly, and change how city parking works. Holly is also an Oracle Java Champion, IBM Q Ambassador, and JavaOne Rock Star. Before joining the IBM Garage, she was Delivery Lead for the WebSphere Liberty Profile (now Open Liberty). Holly co-authored Manning's Enterprise OSGi in Action and is a regular keynote speaker. She is an active speaker and has spoken at KubeCon (keynote), GOTO, JavaOne, Devoxx, Sonar+D, JavaZone, JFokus, The ServerSide Java Symposium, GOTO, JAX London, QCon, GeeCon, and the Great Indian Developer Summit, as well as a number of user groups.Links mentioned in this episode:Holly's website: https://hollycummins.comHolly's blog post: https://blog.container-solutions.com/wtf-does-tech-have-to-do-with-the-planetIBM Garage: https://ibm.com/garageIBM Garage Method: https://ibm.com/garage/methodIBM Quantum Computing: https://ibm.com/quantum-computingQuantum Computing Tools: ibm.com/quantum-computing/toolsQuantum Development Roadmap: ibm.com/blogs/research/2021/02/quantum-development-roadmapQiskit: qiskit.orgCode Engine: ibm.com/cloud/code-engineOpen Liberty: openliberty.ioMicroProfile: microprofile.ioHolly's book on OSGI: manning.com/books/enterprise-osgi-in-actionApplication Modernization Podcast Series: developer.ibm.com/podcasts/the-application-modernization-seriesIBM Expert TV: Dr. Holly Cummins, How - and Why - to Modernize Scruffy Old Java Apps: ibm.biz/experttvEmployment at IBM: ibm.com/employmentLinux Foundation's new Agriculture project: agstack.org
An airhacks.fm conversation with Romain Grecourt (@rgrecourt) about: started with Apple 2 Computer at the age of 8, starting games from command line, writing HTML on Pentium 90, the blink and marquee tags, creating a website with JavaScript and HTML and Netscape Composer, icefaces and icebrowser written in Java, from animated GIFs to Macromedia Flash, creating a website for a hockey club in Flash, computer parts for website creation, creating computers from parts, sports with Counter-Strike, blocking the telephone line with a modem, finding opponents on QuakeNet IRC, becoming an admin on a channel with a bot, starting with IRC scripting, winning Counter-Strike tournaments, writing a "bouncer" bot, installing a dedicated Half-Life server on mandriva linux, redoing the Counter-Strike menu in Flash for the team website, Programmable logic controller (PLC) based automation assignment, the desire for 100 FPS, creating a selective cat trap door with magnets and using SolidWorks, C programming to control a disk drive motor, starting at the wrong college, switching to software engineering college, starting with "french" C++ then switching to the real thing, working with wireshark and assembler, C, C++, Linux, Emacs over Java, reading stack traces is great, starting a web services projects with Java and Axis 2, starting with Maven 1, scripting a tree shaking functionality for JAR creation with make, starting at Serli to implement the Java EE security spec at Jonas Application Server, working with GlassFish to support application versioning, working with NetBeans, Maven 2 and Subversion, becoming a Maven and NetBeans fanboy, Serli worked with Alexis MP (#23 From GlassFish to Java in Google Cloud) GlassFish application versioning was announced at JavaONE, starting at Oracle at GlassFish team in Prague, implementing OSGi and HK2, specialising at GlassFish Maven 3 builds, packaging the Java EE API jars, Java EE 6 API without the implementation, introducing conventions for Java EE packaging, Romain Grecourt on twitter: @rgrecourt
An airhacks.fm conversation with Daniel Kec (@DanielKec) about: Java / Jakarta API for JSON Binding (JSON-B), Java / Jakarta API for JSON Processing (JSON-P), yasson, Java / Jakarta Architecture for XML Binding (JAXB), Eclipse Jersey, Jason's Binding (logo), Sun's spirit and the first day at Oracle, Oracle Internet File System, Running Java in the database: Oracle and the Aurora JVM, Oracle Database Lite on Palm Pilot, IBM alphaworks, Java Developer Connection from Sun, the first day at Oracle, fixing Metro bugs, meeting Jaroslav Tulach in the kitchen, episode with Jaroslav Tulach, listening to Nanowar, implementing a Helidon - Apache Kafka integration, MicroProfile Reactive Messaging, Incoming and Outgoing, implementing MicroProfile Reactive Operators for Helidon, Java 9 reactive flow API, Reactive programming in Java, Reactive Streams for JVMs specification, David Karnok, https://twitter.com/akarnokd, the reactive manifesto, helidon implements the reactive messaging for MicroProfile spec, episode with SAP: How to Deal With Java Dependencies helidon and Java's Project Loom integration, MicroProfile emitter, Java 9 SubmissionPublisher and MicroProfile PublisherBuilder, quarkus reactive implementation: mutiny, mutiny attempts to be more user friendly, Project Loom and reactive programming, reactive programming is practical for messaging, episode #108 about CORBA, gRPC, OSGI, vert.x, mutiny, Reactive Programming and Quarkus with Clement Escoffier, helidon runs on Netty, one event loop should be enough, helidon also supports reactive Java Messaging Service (JMS), Oracle Cloud Infrastructure Streaming, Oracle Advanced Queue (AQ), helidon WebSocket integration, using WebSockets for reactive communication, Reactive streams programming over WebSockets with Helidon SE, helidon integrates conveniently Java API for RESTful Web Services JAX-RS / Jakarta RESTful Web Services Jersey with Server-sent events (SSE), Daniel Kec on twitter: @DanielKec, helidon's blog: medium.com/helidon
So JDK 16 is rolling out, and keeping with the new six month cadence, we are getting new toys at least twice a year! We also have Microprofile 4 being released. In addition, we see the Eclipse Foundation getting bigger and bigger as it welcomes the OSGi alliance (how big will it become?) Lastly we talk about backdoor encryption requests, and the Case that will never die... Google V Oracle API Copyrights. Covering it all in our brand new OffHeap Episode! We thank DataDogHQ for sponsoring this podcast episode DO follow us on twitter @offheap JDK 16 JEPs rolling in: https://openjdk.java.net/projects/jdk/16/ Payara releases Jakarta EE 9 compatible container: https://www.javacodegeeks.com/2020/10/kicking-the-tires-of-jakarta-ee-9-with-payara.html Eclipse Transformer (discuss?): https://projects.eclipse.org/proposals/eclipse-transformer MicroProfile 4.0: https://projects.eclipse.org/projects/technology.microprofile/releases/microprofile-4.0 OSGi Alliance to Eclipse https://blog.osgi.org/2020/10/announcement-of-transition-to-eclipse.html?m=1 Backdoor encryption Access https://www.theverge.com/2020/10/12/21513212/backdoor-encryption-access-us-canada-australia-new-zealand-uk-india-japan Google AntiTrust Suit https://apnews.com/article/google-justice-department-antitrust-0510e8f9047956254455ec5d4db06044 Google Oracle Supreme Court - https://www.c-span.org/video/?469263-1/google-v-oracle-america-oral-argument#
Eric and Gavin host this weeks episode. They discuss dates being announced for Into the Box LATAM. They discuss CouchBase's conference this week changing from 2 days to 3 days. They discuss a comprehensive guide from Charlie Arehart on getting started with Adobe ColdFusion Project Stratus. They remind you about HacktoberFest and what the big differences are this year. They discuss Mid Michigan's virtual CFUG where Nick Kwiatkowski will be speaking on Code Workflow as well as Seattle CFUG's October meeting, Leon O'Daniel on Integrating Your ColdFusion App with the Thinkific Platform, and they announce Gavin's presentation this week at the Online CF Meetup on APIs. They give you an roundup of CFCasts Content Updates. They discuss the next 2 Into the Box workshops coming in October, ColdBox Hero to SuperHero, and Quick Workshop coming in November. They discuss how the Adobe ColdFusion Certification is now online and remind you that Adobe's CF Summit Conference, being changed to a Online conference, now with dates, November 17-19, call for speakers is closed and speakers are starting to be listed on the site. They spotlight a lot of great blog posts, tweets, videos and podcasts, too many to list, so listen to the show. They announce 8 jobs from getCfmlJobs.com, as well as a Senior CFML position available at Ortus Solutions. They show off the ForgeBox module of the Week, OSGi bundle installer/loader for Lucee by Julian Halliwell A simple tool for installing OSGi bundles dynamically in Lucee Server. This week's VS Code Tip of the week is Visual Code Release Parties, where the VS Code team share their favorite features and answer your questions in a live Q&A. Previous parties available on Youtube as well. For the show notes - visit the website https://cfmlnews.modernizeordie.io/episodes/modernize-or-die-cfml-news-for-october-13th-2020-episode-74 Music from this podcast used under Royalty Free license from SoundDotCom https://www.soundotcom.com/ and BlueTreeAudio https://bluetreeaudio.com
An airhacks.fm conversation with Klaus Deissner (@kdeissner) about: Atari 1040 ST the Amiga competitor, when games become boring, starting with GFA Basic, the Atari Profi Book, moving sprites around the screen, starting with Turbo C and Pure C on Atari, writing assembler routines for performant file system size calculations, Java's JXTA, writing C programs for a local tooling company with 17, starting with Java 1.2, genetic programming and algorithms with Java, the fitness algorithm and survival of the best, building software agents with Java, Java aglets, building load balancer Prometheus-like monitoring with Java agents, teaching ABAP programmers Java, the SAP's Exchange Infrastructure (XI), starting with OSGi to write ODATA tooling on Eclipse, semantic web, Resource Description Framework (RDF) and Web Ontology Language (OWL), ODATA exposes various data sources out-of-the-box, SAP UI 5 uses ODATA, UI 5 Web Components can be used standalone, SAP became a member of CNCF, the serverless working group, the CloudEvents standard, the serverless workflow specification, the structure of a CloudEvent, CloudEvent is the parameter of a serverless function, JAX-RS / JSON-B CloudEvent example, CloudEvents discovery and subscription, CloudEvents schema registry was contributed by Microsoft, CloudEvents filter types, the HTTP binary mode, Klaus Deissner on twitter: @kdeissner and github: github.com/deissnerk
An airhacks.fm conversation with Clement Escoffier (@clementplop) about: olivetti s663 with 2MB RAM, enjoying nice modem noises, u.s. robotics sportster modem, game launch sequence automation, computer science as fallback strategy, the big O-notation, living in valence, studying at grenoble university, the internet class with CGI, Netscape, JavaScript and Pearl, Java Applets with AWT, the challenge of compiling ADA, starting with Java 1.2, the OSGi interests and machine to machine communication or IoT, build time vs. run time versioning checks, working on dependency injection for Apache Felix, porting OSGi to .net, Java RMI vs. CORBA, the great Sascha Krakowiak, lamport clocks and paxos, the challenges of distributed computing, handling failures with CORBA is problematic, CORBA is gone, WS-* came, the HATEOAS idea of REST, HTTP based RPC vs. REST, CDI in JavaScript exploration, dependency injection in JavaScript is challenging, exploring PhoneGap, project wisdom and hiding the complexity of OSGi, netty became too complicated, moving from netty to vert.x, starting at RedHat to work on vert.x project, vert.x does not try to hide the complexity for distributed programming, using vert.x for microservices, if non blocking matters - vert.x, best place for reactive programming are event driven systems, reactive programming is also interesting for composing asynchronous actions, uni in mutiny, apache kafka is not the new JMS, mutiny vs. vert.x, confusion with flatMap and concatMap, reactive programming requires the understanding of large amount of APIs, mutiny outside quarkus, mutiny on top of reactive APIs, Clement Escoffier on twitter: @clementplop, and github: cescoffier
An airhacks.fm conversation with Simon Martinelli (@simas_ch) about: gaming and BASIC programming with C64, reading a Markt and Technik book about C64 programming, building a volleyball tournament application with C64, writing a Visual Basic application for track and field competition, MS Access applications were maintained by business people, maintaining an application for 30 years, no love for Eclipse RCP, Swiss Railways implemented the train disposition system with Eclipse RCP, a disruptive keynote for Swiss Railways, starting with COBOL on mainframe and IMS, mixing COBOL and assembler for performance, serverless programming with COBOL, COBOL security mechanism is nice, mainframe is virtualized and similar to docker, mainframe jobs are like docker containers, database and business logic are not distributed on AS 400, running as much as possible on a single machine could become a best practice, helping to solve the "year 2000 problem", WebSphere with TopLink, Oracle, MQ Series and Swing, the transition from mainframes to WebSphere, replacing MQ Series with Apache Kafka, from "in-memory" remoting to EJB-remoting, using Eclipse SWT for performance reasons, Swing Application Framework was never released, the SWT's problem was OSGi, GlassFish was introduced as a lightweight alternative to WebSphere, Java EE 5 was an lightweight alternative, working together on QLB, the forgotten NetBeans contribution, teaching at the University of Bern, Eclipse's maven integration is still mediocre, heavy IntelliJ, focussing on JBoss performance and OR-mapping, JBoss vs. GlassFish at the University, killer use cases for Camel, transforming EDI into XML, pointless ESBs, shared deployments on JBoss were problematic, Vaadin flow with web components, generating Vaadin frontend on-the-fly, vaadin generates Web Components / Custom Elements for the frontend, exposing metadata via REST, Simon Martinelli on twitter: @simas_ch, Simon's website: 72.services and blog.
An airhacks.fm conversation with Max Rydahl Andersen (@maxandersen) about: C 64, green screens, Basic, GoTo, Rallye, animated sprites, peek and pokes, snake game's source code, Summer Olympics was a joystick destroyer, Word Perfect on Commodore, assembler and protective demo scene on Commodore Amiga, access to information was a battle, the Turbo Pascal Book about object oriented programming, fascination with databases, building an artwork management for a gallery app in MS Access, building a WYSIWYG tool in Visual Basic, working as tutor at school, installing SmallTalk VisualAge, great visual Delphi, Java was more open than Delphi was, medfork and the trifork application server, writing an electronic medical journal, Trifork supported hot reload, JAOO became GOTO, writing dependency management system with Python on a Dell Laptop, emacs was the main IDE, writing a Swing application which talks to trifork backend, using Apache OJB, session sharing with Apache OJB, hibernate always understood transactions, working with Christian Bauer and Gavin King, writing the first version of hbm2ddl tool, extending hibernate to support native queries, getting fixes for enterprise software without paying, Gavin was hired by Marc Fleury, moving to Switzerland and working for Sascha Labourey, RichFaces Exadel acquisition, JBoss IDE became JBoss Tools, what became JBoss Studio, which became RedHat Studio, which became Code Ready, frustration with Java 9, Go has some power, but doesn't have Java's ecosystem, Go legalized formatting, Swing over SWT, Swing API is awesome, SWT had nice native integration, JFace is more like Swing, a successful opensource project has to accept patches fast, Eclipse JDT is an amazing piece of technologies, Eclipse is great for browsing big code bases, the memory is not a problem, the perceived performance is, NetBeans and Eclipse have difference strategies, Eclipse tries to understand everything, NetBeans don't, overuse of OSGi, microservices and modules, start with a monolith first, quarkus takes the good parts of Jakarta EE and MicroProfile and further improves them, GraalVM native compilation is not the main feature, tree-shaking with Quarkus, JBang - Java for scripting, quarkus is hard to kill, Max Rydahl Andersen on twitter: @maxandersen
An airhacks.fm conversation with Alasdair Nottingham (@nottycode) about: bbc micro, basic programming with archimedes computers by acorn, playing simcity 2000 on 286, brother as valorant creative director at riot games, enjoying programming - except prolog, functional C, starting with Java and JDK 1.1.8 in 1999, Java is great because it is lacking pointers, built-in data structures in Java, forgetting about public static void main, writing Unit Tests without JUnit, deleting "red" tests, writing unit tests for the IBM MQ JMS client, joining the IBM WebSphere team, writing product samples, extending a pearl wiki, running MQ series as a sidecar, developing a Java based JMS solution in WebSphere v6, writing "mediation" for websphere MQ, almost serverless mediators, rebuilding WebSphere on top of OSGi, no worries about code ownership, isolating app server libraries with OSGi, OpenLiberty started in 2010, just enough application server concept, the costs of memory, optimizations vs. developer experience, responsiveness over memory consumption, fashion trends in IT industry, Scala's XML support, coding architects are valuable, OpenLiberty was opensourced in 2017, not at IBM, Alasdair Nottingham on twitter: @nottycode
An airhacks.fm conversation with Romain Manni-Bucau (@rmannibucau) about: PaintShop Pro, science fiction matte paintings, scene generation, short movies, 3D tool automation with scripting, starting C programming with GTK, programming PaintShop Pro "clone" as "hello, world", linux over windows, image editing involves math, learning algorithms from the internet, building winamp-like mp3 player with C++ and GTK, switching from C/C++ to Java, no memory management in Java, implementing problem-solvers with Java, developing "BigData" apps with Hazelcast, Talip Ozturk, implementing map-reduce algorithms for a banking sector with Hazelcast, using Apache openEJB, working with Jean-Louis Monteiro the openEJB committer, using openEJB for good start times and for testing, Java EE and standards do not impact your business code, working with friends at Tomitribe, implementing extensions for TomEE - the MicroProfile before MicroProfile, joining talend to implement batch processes, joining yupiik.com startup, Apache Spark, Apache Beam and ReactJS, using Apache Meecrowave, ReactJS vs. Custom Elements, WebComponents and Redux, deploying service on-the-fly with OSGi, integrating CDI with OSGI, working with Apache Aries, using OSGi to load machine learnings models, hot-loading modules for "Fluid Logic", OSGI alliance specs, Karaf OSGi, HTTP/2 with Felix, OSGi ConfigAdmin configuration, OSGi whiteboard pattern, Aries CDI, Romain Manni-Bucau on twitter: @rmannibucau, Romain's blog: rmannibucau.metawerx.net
В 6 выпуске подкаста Javaswag поговорили с Игорем Сорокой о переезде в Финляндию, о изучении разных языков программирования, о работе консультантом и о важности софт скиллов. 00-00 Приветствие 00-57 Из инженера-механика в программисты 01-30 Как решил заняться программированием? 02-30 Набор курсов в магистратуре 05-11 Групповой проект. JavaFX не новый для Java UI фреймворк, деплой в Heroku, VueJS 08-18 Я приходил к другу, который знал финский, и он переводил в Гугл транслейте 08-48 JavaRush - советую всем, кто очень поздно пришел в программирование, много основ. 09-38 Финский Java курc, JavaRush 10-58 Сколько понадобилось времени для того чтобы писать приложение на Джаве? Первый фриланс 13-10 Поиск работы после магистратуры. Ошибка - искать работу по своей специальности и по программированию. 15-00 Стартап. Адройд-приложение - слуховой аппарат в телефоне. 15-36 40 отказов по резюме. Что спасало - это большая мотивация найти работу 17-19 Резюме, в котором было все! 18-00 Синдром самозванца и записная книжка с вопросами по Core Java 20-26 Первый оффер. Очень много работы и подготовки. 22-24 Нужны ли Soft Skills для Junior? 23-11 Стэк - монолит, OSGI, Vaadin, Jenkins, embeded. Работает ли OSGI? Вечерний девопс. 29-30 Финский график работы 31-15 Fullstack разработчик умеет все? 30% Java, остальное Fullstack 35-04 Amazon Associate Developer нужен ли? 37-50 Консалтинг 40-10 Как внедрить AWS? 41-15 Чем приглянулся Typescript? 42-02 У каждого клиента свой стек. Gatling, Scala. Архитектор решил, что Gatling идеальный тул и его все послушали 45-42 Прокачка консультантских софт скиллов. Что такое софт скиллы? 50-07 Можно проверить софт-скилы по резюме? 53-27 Зачем вести блог? Блог Игоря - https://medium.com/@igorsoroka/ Важность английского языка. 62-02 Были ли проблемы с английским языком при переезде? 63-40 Новая работа. Angular, Typescript, Kotlin, Java, AWS. 66-00 Идем к микросервисам. Все написано просто, без Спринга. Amazon RDS, Postgres 67-15 На Джаве все новое писать не хочется поэтому переходим на Котлин. С Котлином легче? 69-50 Подкастинг 72-30 GeekExport Ссылки от Игоря Первые опыт с облаками: https://www.heroku.com/ Где учился программировать: https://javarush.ru Vaadin - UI framework для джавистов : https://vaadin.com/learn/tutorials/v14 Книги: https://www.amazon.com/dp/0596155409/ref=cm_sw_r_tw_dp_U_x_HCfoEbC1K6V04 https://www.reinventingorganizations.com/ Подкасты: https://willbedone.ru/podcast/ https://softskills.audio/ Про жизнь разработчика в Финляндии: https://geekexport.com/blog/tpost/av8z6flouj-zhizn-razrabotchika-v-finlyandii Оставить заявку на бесплатное ревью резюме: https://geekexport.com/cv-review Гость - https://t.me/olegsoroka Телеграм канал https://t.me/javaswag Чат https://t.me/javaswag_chat Сайт https://javaswag.ru Голос подкаста - https://t.me/volyx Продакшн подкаста - https://t.me/pahaus
瀧さんをゲストにお迎えして、富士通、2回の転職、電力業界、会社辞めるの2回やめた話、アトピー、などについて話しました。 【Show Notes】 SDEM - 富士通 BeagleBone Black OSGi - Wikipedia スマートメーター - Wikipedia ピクスタ株式会社 @t_wadaさん / Twitter ENECHANGE株式会社 電気代見直しNo.1サイト「エネチェンジ」 採用情報 | ENECHANGE株式会社 ENECHANGE株式会社 の採用/求人一覧 - Wantedly アトピー性皮膚炎に効果的!?漢方薬でのアプローチとは〜インタビュー〜 | わたし漢方 配信情報はtwitter ID @shiganaiRadio で確認することができます。 フィードバックは(#しがないラジオ)でつぶやいてください! 感想、話して欲しい話題、改善して欲しいことなどつぶやいてもらえると、今後のポッドキャストをより良いものにしていけるので、ぜひたくさんのフィードバックをお待ちしています。 【パーソナリティ】 gami@jumpei_ikegami zuckey@zuckey_17 【ゲスト】 yuyasat@yuyasat 【機材】 Blue Micro Yeti USB 2.0マイク 15374
An airhacks.fm conversation with John Clingan (@jclingan) about: Using TRS 80 and owning a Commodore 64, arcade 101 at high school, computers were special at Chicago's schools, TRS 80 basic, C 64 for Christmas, typing-in applications from Commodore 64 magazine, writing self-modifying code with assembly on Commodore 64, Peeks and Pokes in BASIC and sound chip, PC at college, Cameron Purdy (#16 airhacks.fm episode) to hack 16h to complete a program, because there was no way to save it, misusing Lloyd as 60 words per minute fast Datasette, peek and pokes in a loop, immediate Unix love, PDP 11 at the computer center, writing custom forms as a student, c shell and the rouge ascii game, Minix was not free, coherent UNIX on 10 floppies, lilo, destroying the Windows MBR with dd, from C shell and Ultrix to HP UX, writing data acquisition systems at Maytag, HP 8652 Basic programs for data acquisition, sending data to UNIX system written in C, Maytag is a refrigerator company based in Iowa, writing Java at Household International, moving HP UX Unix to the desktops, running Solaris on PCs, unbelievable under construction Duke applet, starting NetObjective after playing with Java, writing Telnet in Java, the first namespace hysteria in Swing - com.sun.swing was migrated to javax.swing, selling E10Ks in 1997, Ultra Sparc, Jini and JXTA, IDE as JINI application, how memory problems made a great JINI leasing demo, picking appservers in early 2000's, autofs mount as newsreader by following the path backwards, Jiro, iPlanet in 2005, who cares about your GlassFish modularisation?, Java EE WebProfile forced the modularisaion, HK2 module system, Kohsuke Kawaguchi, Jerome Dochez, Hk2 the layer above OSGi, OSGi enterprise in GlassFish was a wasted investment, GlassFish could not find a home at Oracle, the end of commercial GlassFish, Oracle was very straight forward with their customers and top down in the company, Thorntail will move forward until the end of its lifecycle, quarkus.io is the true innovation, living in quarkus.io dev mode, quarkus is new and familiar at the same time, the first Quarkus commit was in 2018, QuarkEE as out-of-the-box experience, John isn't a QuarkEE fan, QuarkEE uses twice as much RAM, Java's RAM consumption is a problem for certain customers and Quarkus can save it, RAM is cheap but not the servers, out-of-the-box experience matters, Panache ORM - the simple ORM but could become a MicroProfile standard, it is hard to innovate without breaking changes, the day "-1" MicroProfile conference call, javax namespace issue, John is tending towards gradual transition of javax namespace, there is no backout from clean cut John Clingan on twitter: @jclingan, Johns blog: http://johnclingan.com
An airhacks.fm conversation with Steve Millidge (@l33tj4v4) about: 60-70% growth every year, customer base is growing quickly, 30 employees, great team with great vision, Payara is self-founded by commercial support fees, there are a lot of "traditional" applications in production, not every application needs Kubernetes, Payara clients are running their software on bare metal and on containerized platforms, it doesn't take much to support Kubernetes, Docker and Kubernetes are infrastructure and not a programming model, Java EE programming model is productive and can be taken to Docker and Kubernetes infrastructure, config externalization is the major task for Kubernetes support, Payara clustering discovery service uses Kubernetes for lookup, Payara Admin server is able to manage Payara Docker nodes, Payara Admin could replace the Kubernetes scheduler, scalability based on business metrics, the JavaONE GlassFish 3 cloud demo, aggregating metrics in a cluster, Payara Clustering brings data closer to processing, Payara Cluster is a distributed cache aka data grid, smart proxies with JAX-RS, CORBA was replaced by JAX-RS, load balancing with JAX-RS, in Payara 5 deployment groups and data grid comprise a cluster, Payara Server and Payara Micro support both MicroProfile and Java EE 8, application server as managed runtime, Payara comes with request tracing, database monitoring, upcoming releases will expose more metrics. you should not need an APM tool to monitor an application server, Canadian government contributes to LightFish, guidance for Maven bloat prevention, Payara Source To Image (S2I) https://github.com/AdamBien/s2i-payara and Payara Micro Source To Image (S2I) https://github.com/AdamBien/s2i-payara-micro, Payara Server supports more APIs than Payara Micro, Payara Server is capable to manage multiple instances and comes with admin console, Payara Micro runs on its own and is designed to run within docker containers, clouds and kubernetes, you could start with Payara Server and migrate to Payara Micro later, Payara Server and Payara Micro runtimes are similar, Payara Micro does not support OSGi - what is a feature, the only runtime difference between Payara Full and Micro is OSGi, Payara Micro doesn't have to be installed, the core development happens on Payara Server, Payara Micro is just repackaging of Payara Server, Payara Micro uses hardcoded classpath, the javax Jakarta EE namespace issue, Java EE backward compatibility is great feature and also a weakness, Jakarta EE is boring, MicroProfile iterates more quickly, Jakarta EE release cadence could be once every 2 year, MicroProfile releases 4 times a year, Jakarta EE and MicroProfile are popular in Europe, managing satellites with GlassFish, kubernetes anti-pattern, running OpenShfit cluster organization-wide Steve Millidge on twitter: @l33tj4v4, Steve's company: https://payara.fish
An airhacks.fm conversation with Andrew Guibert (@andrew_guibert) about: old IBM PCs and old school Legos, starting programming in elementary school to write video games, the market for enterprise software is better, than the market for video games, World of Warcraft is good for practicing team work, ice hockey, snowboarding and baseball, getting job at IBM by pitching Nintendo WII hacking, why Java EE is exciting for young developers, OpenLiberty is a dream team at IBM, providing Java EE support for WebSphere Liberty and WebSphere "traditional" customers, Java EE 8 was good, and MicroProfile is a good platform for innovation, quick MicroProfile iterations, sprinkling MicroProfile goodness into existing applications, MicroProfile helps glue things together, OpenLiberty strictly follows the Java EE standards, how OpenLiberty knows what Java EE 8 is, OpenLiberty is built on an OSGi runtime, features are modules with dependencies, OpenLiberty comprises public and internal features, Java EE 8 is a convenience feature which pulls in other modules / features, OpenLIberty also supports users features, OpenLiberty works with EclipseLink, as well as, Hibernate, OpenLiberty comes with generic JPA support with transaction integration, Erin Schnabel fixes OpenLiberty configuration at JavaONE, IBM booth with vi in a few seconds, Erin Schnabel is a 10x-er, IBM MQ / MQS could be the best possible developer experience as JMS provider, Liberty Bikes - a Java EE 8 / MicroProfile Tron-like game, scaling websockets with session affinity, tiny ThinWARs, there is MicroProfile discussion for JWT token production, controlling OpenLiberty from MineCraft, testing JDBC connections, BulkHeads with porcupine, all concurrency in OpenLiberty runs on single, self-tuning ThreadPool Andy on twitter: @andrew_guibert and github.
An airhacks.fm conversation with Robert Scholte (@rfscholte) about: CGI Java Netherlands, Maven Invoker, never mvn clean, apache maven commitment and committing, Watch and Deploy (wad.sh), Atari 800XL, hacking basic with 10 years, peeks and pokes, MS DOS and startup screens, JDK 1.4, illegal generics, Java EE on JBoss was good, not the build process, intelligent builds with Maven, Apache Jelly, Jason van Zyl, Maven vs. Ant, loosing information with Google Web Toolkit (GWT), parsing Java with qdox, Paul Hammant, Maven Release Plugin "Fix It" video , Using Java console for passwords and the bash history, Java 6 and password encryption, clarifying the development of Maven plugins (default values and expressions), going from Maven 1 to Maven 2 and the respository structure, from Maven 2 to Maven 3, Eclipse IDE wanted Maven 3, Maven 3.7 is (probably) going to optimize downloads, there will be no Maven 4, Maven 5 will rely on pom's model version 5, splitting pom into local and remote part, writing POM in alternative formats, takari.io, takari polyglot, Maven extensions,plexus classworlds is Maven's OSGi, what is the default version of apache Maven plugins, is it possible to pull "latest" apache maven plugins, Maven extensions for plugin version configuration, clean poms, WAD runs all the time, using GraalVM to make a native version of Maven, Maven Archetype always generates parents, Up For Graps, Maven 5.x: How to be prepared for the future?, Maven is probably the only build tool, with tight integration with Java Platform Module System, Gradle, Apache Buildr is EoL, Bezel, Apache Ant is not dead and supports Java 11, Robert is a freelancer, CEO of SourceGrounds and available for hire.
A conversation with Mike Milinkovich @mmilinkov, about Cobol, APL, Smalltalk, Visual Age for Java, WebGain, TopLink, "The Object People". Canadians run the Java World, Eclipse, plugins and OSGi, pragmatic modularization, the First Executive Eclipse Director, Mark's Cavage role in opensourcing Java EE ee4j name confusion, the Jakarta EE brand and logo, the migration from Java EE to Jakarta EE, why it is not possible to rename ee4j to Jakarta EE, working 50% on Jakarta EE, working with Oracle lawyers, why not all JSR specs can not be contributed by Oracle, dealing with old specifications, how to contribute to Jakarta EE project, how to become a Jakarta EE committer, the difference between Eclipse Foundation agreements and other foundations, becoming an Eclipse member, becoming a member steering committee, hacking the Jakarta EE process by becoming a member without paying money, the Jakarta EE release cadence, different cadences between ee4j and Jakarta EE, who decides what at Jakarta EE / Eclipse, specs become opensource projects, committer based merocratacy, how to start a new Jakarta EE subproject, Jakarta EE is "code first", Microsoft joins Jakarta EE, the dangers of profiles, no politics, the specification Jakarta EE committee decides about profiles.
A conversation with @emilyfhjiang about reducing the footprint with OpenLiberty, OSGi, Apache Aries Apache Aries, the beginnings of MicroProfile.io, OpenLiberty MicroProfile implementation, writing MicroProfile specs, combining Java EE 8 and MicroProfile.io, the added value of Fault Tolerance, Health, Metrics, Configuration, the process of introducing new APIs to MicroProfile, MicroProfile at GitHub, Java EE Concurrency Utilities and MicroProfile, OpenLiberty Guides, commercial support for OpenLiberty and MicroProfile by IBM, Reactive Microprofile, the relation between Jakarta EE and MicroProfile, MicroProfile standardisation.
A conversation with Johan Vos about Sting at Java One, Blackdown Java dream teams, Bill Joy, Java in science, telematics, OSGi, JavaFX, wild pigs, oktoberfest, kaffe.org, social Java, DaliCore, reactive JavaFX, Sun Grid, clouds, Java EE in science, gluon, JavaFX on Mobile, openJDK 9 on ios and Android and Future of JavaFX
The O’Reilly Programming Podcast: The Java module system and the “start of a new era.”In this episode of the O’Reilly Programming Podcast, I talk with Paul Bakker, senior software engineer on the edge developer experience team at Netflix, and Sander Mak, a fellow at Luminis Technologies. They are the authors of the O’Reilly book Java 9 Modularity, in which they call the introduction of the module system to the platform “the start of a new era.” Discussion points: The adoption and usage of the Java 9 module system: “This won’t happen overnight,” Mak says. “The community will see that when they’re creating new applications on top of Java 9, they will definitely be able to reap the benefits from the module system.” Factors to consider when making a decision on whether to use the Java 9 module system or OSGi. Issues regarding how to modularize existing code. Frameworks that support the Java 9 module system: Bakker cites Vert.x, and Mak discusses Spring Framework 5. Netflix’s edge architecture, the topic of Bakker’s presentation at the upcoming 2018 Software Architecture Conference. Other links: Bakker’s article “Handling dependency injection using Java 9 modularity” Mak’s blog post on what Java library maintainers should do to get ready for the Java 9 module system The book Building Modular Cloud Apps with OSGi, by Paul Bakker and Bert Ertman Mak’s presentation, Modules or Microservices, at the 2017 O’Reilly Software Architecture Conference
The O’Reilly Programming Podcast: The Java module system and the “start of a new era.”In this episode of the O’Reilly Programming Podcast, I talk with Paul Bakker, senior software engineer on the edge developer experience team at Netflix, and Sander Mak, a fellow at Luminis Technologies. They are the authors of the O’Reilly book Java 9 Modularity, in which they call the introduction of the module system to the platform “the start of a new era.” Discussion points: The adoption and usage of the Java 9 module system: “This won’t happen overnight,” Mak says. “The community will see that when they’re creating new applications on top of Java 9, they will definitely be able to reap the benefits from the module system.” Factors to consider when making a decision on whether to use the Java 9 module system or OSGi. Issues regarding how to modularize existing code. Frameworks that support the Java 9 module system: Bakker cites Vert.x, and Mak discusses Spring Framework 5. Netflix’s edge architecture, the topic of Bakker’s presentation at the upcoming 2018 Software Architecture Conference. Other links: Bakker’s article “Handling dependency injection using Java 9 modularity” Mak’s blog post on what Java library maintainers should do to get ready for the Java 9 module system The book Building Modular Cloud Apps with OSGi, by Paul Bakker and Bert Ertman Mak’s presentation, Modules or Microservices, at the 2017 O’Reilly Software Architecture Conference
A conversation with Erin Schnabel about: Beginnings of Java, Robots, Corba, RMI, WebSphere, OpenLiberty, OSGi, Java EE, Cloud Native, Microservices, Productivity and the 10 years cycle
Modularization / Liferay 7 part 2/2. Again with Ray Auge, with Milen Dyankov as Cohost. We're now talking about the new strategies for developing plugins, how to update 6.2 plugins to Liferay 7, for every single plugin type we have: Portlets, Hooks, Layout Templates, Themes, Ext (More notes and links available in HTML version of this paragraph and in the blogpost linked to the episode)
Another Devcon "private" session - I missed his presentations, but got the summary right when he was done: Ray Augé took the time to answer all sorts of questions about the Modularization in Liferay 7. In fact, he answered so many questions that we made it a 2-episode recording. This week it's about the motivation for modularization: What problem does it solve? Next week will be more technical, telling you about the implications of the updated architecture to your code.
You worked with them "all the time", whenever you know it or not! Classloaders are the little workers that make sure all the code is there and ready to be executed. Bob revisits this topics and goes into more detail on how the ClassLoading hierarchy works, when to watch out, and how different frameworks (OSGI, and Java EE containers) may be configured to load classes. If you have run into "ClassNotFound" exceptions, this can help you explain why! Don't forget to SUBSCRIBE to our NewsCast Java Off Heap We thank Codeship for being a Sponsor of the show! Need Continuous Delivery made simple? Check Codeship.com! And use code JAVAPUB20 for a 20% discount! Classloader definition The Basics of ClassLoaders Understanding the Tomcat ClassPath Follow Me on Twitter! (@fguime) (thanks!) Ok, so now is allergy season, and I heard beer with honey is good for you. Or better yet, beer made of honey (Mead!)
More CDI suckage. OSGi - class loading / reloading. JSR-330 - Dependency Injection for Java JSR-346 - Contexts and Dependency Injection for Java EE Nathan Marz - History of Apache Storm and lessons learned Front End Teams + Back End Teams vs Product Feature Teams Contract First REST APIs with RAML Neal Ford - Functional Thinking Angular 2.0 Core by Igor Minar & Tobias Bosch at ng-europe 2014
Arnaud, Emmanuel et Guillaume sont rejoints par plein de primo crowdcasteurs pour cet épisode. On y parle de beaucoup de sujets, notamment les lambda, performance, audit, OSGi, Eclipse et WebIDE sans oublier le débat du web de la semaine AngularJS 2.0. Enregistré le 6 novembre 2014 Téléchargement de l’épisode LesCastCodeurs-Episode–112.mp3 News Langages Lambdas en Scala et en Java du point de vue du bytecode Lambdas et exceptions Eviter Java 8 Optional dans vos POJO Bye bye le JAR file Functional programming course Performance de différentes hashmap Le blog d’Aleksey Shipilëv - merci à Cédric Champeau Crypto en Java Parameter names in Java TypeScript 2.0 Un script engine javax.script pour CoffeeScript https://gist.github.com/glaforge/f7ddece9d4e0ff2afe82 Ceylon 1.1.0 The future of Ceylon Metaprogramming avec Groovy Librairies Concurrent trees, radix / suffix trees Remplacement de java.util / java.util.concurrent par Cliff Click (plus scalable / efficace en multithreading) Nouvelle librairie OSS pour du machine learning Javers: Java object diffing / versionning for audit trails Hibernate Envers Infrastructure HTTP 2.0 Max OS X Yosemite et /usr/local/bin “bug” Faille de sécurité SSL v3 - Poodle Oracle Linux vient avec… MariaDB Docker 1.3 Middleware OSGi: Le dessous des cartes - merci à Mikael Barbero Le dessous des cartes OSGi Equinox Equinox: Improving and Evolving the Core Framework par Tom Watson (IBM) March 28st 2013 Equinox Framework: A Happier OSGi R6 Implementation par Tom Watson (IBM) March 18th 2014 Infinispan 7 Jar Jar Links Maven Shade SpringOne 2GX - merci à Charles Bouttaz et Brian Clozel Les présentations sur Infoq bientôt disponibles au public. Spring Framework 4.1 - handling static web resources Vie numérique Se faire hacker son compte en 2 factor iCloud copie vos documents dans les nuages Faire de l’argent d’un produit Open Source Outils HTTPie Release d’automne de la fondation Eclipse - merci à Jérémie Bresson Luna SR1 is available! Mars M2 is available for download or grade Java Tools and Technologies Landscape for 2014 IntelliJ IDEA toujours sur Java 1.6 sous Mac OS X IntelliJ 14 is out CodeEnvy réarchitecturé en microservices Web IDEs - merci à Jérémie Bresson Eclipse Cloud Development Eclipse Flux Eclipse Che Web Bootstrap 3.3 Angular 2.0 non compatible avec Angular 1.x Gens pas contents des gros changements de Angular 2 AtScript AtScript vu par la presse AeroGear 2.0 Introduction à D3.js par Square Débat Différentes cultures face au temps Outils de l’épisode vimswitch Spock - merci à John Schoonheydt Spock Setup du pom Page du projet Bien comme 1er article prise en main mais débutant Plus en détail Conférences Devoxx Soutenez RivieraDEV Global Day Of Code Retreat le 15 novembre - merci à Bouttaz et Brian Clozel - s’inscrire : à Lyon ou près de chez vous. Nous contacter Contactez-nous via twitter http://twitter.com/lescastcodeurs sur le groupe Google http://groups.google.com/group/lescastcodeurs ou sur le site web http://lescastcodeurs.com/ Flattr-ez nous (dons) sur http://lescastcodeurs.com/ En savoir plus sur le sponsoring? sponsors@lescastcodeurs.com
And we are ramping up again! This is an exciting time to be developing in Java. With the advent of Java 8, lambdas, streams, Jigzaw and the Internet of Things, we are coming back big! In this episode we introduce our co-host Bob Paulin, and offer a glimpse of Java 8, Jigsaw, Streams, and OSGI Standard. Follow Me on Twitter! (@fguime) And @Bobpaulin Ah, beer, it's April, and we just finished taxes ($!) Tweet, Tweet! (https://twitter.com/#!/fguime) Java 8 Central Lambdas Streams API OSGI Framework Vote for us in iTunes (http://itunes.apple.com/us/podcast/java-pub-house/id467641329) Questions, feedback or comments! comments@javapubhouse.com Subscribe to our podcast! (http://javapubhouse.libsyn.com/rss) ITunes link (http://itunes.apple.com/us/podcast/java-pub-house/id467641329) Java 7 Recipes book! (http://www.amazon.com/gp/product/1430240563/ref=as_li_ss_il?ie=UTF8&tag=meq-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=1430240563) Hey! if you like what you hear, treat me a beer! (It's the Java pub house after all :) https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=Z8V2ZWV93UMW4
At Devcon 2013 I met with Miguel Pastor and Ray Auge, both Engineers and Core Developers at Liferay. They both have been involved in the latest modularization efforts, resulting in OSGi being now on the Feature List for Liferay 6.2. We recorded this session in the break area of the conference, during one of the sessions in order to find some quiet time. Unfortunately, as you'll hear in this recording, we picked the time when Lunch was prepared, so the catering staff is setting up stacks of plates, heaps of cutlery and other noisy stuff. This episode might be the one with the most background noise we ever had on this podcast, but after all, it's in the background and I hope it doesn't distract too much. Be assured, the lunch was really nice. (More notes and links available in HTML version of this paragraph and in the blogpost linked to the episode)
Unsupported Operation Episode 86 The president has decided to press the “Undo Java” button - removing Java... forever.Open GL port of SWT JDK 8 almost feature completeOracle discontinues “free” JDK TimeZone updates - tzupdater still available to paid up licenses, but still shipped for free in the JDK, which now gets regular 4 monthly updates. Not sure I ever manually used tzupdater either...Open source git server for windows: Bonobo - uses GitSharp - I think I’d still just run GitBlit tho.Spring 4.0m1 and 3.2.3Spring Tool Suite and Groovy/Grails Tool Suite 3.3.0.M2 RELEASEDHalBuilder 2.0.2 maintenance release, allows for _ prefix properties, restructuring work for 2.1.x ongoing - not split into 3-4 more artifacts.Kotlin M5.3 - delegated properties looks quite cool and powerful, yet simplistic to reason about. Kotlin Delegates SourceScala 2.10.2 released - second maintenance release for the 2.10 series, 2.11m1 was also recently released.Slick 1.0.1 releasedApache Maven 3.1-alpha-1 released - go test this sucker on your esoteric plugin configurations.Latest release of OWL API for OWL Web Ontologies released (3.4.4) Everyone wants to run PHP on their VM and XP Framework is a great library to help you do it. Release 5.9.0 this week.Moskito hit its 2.3.5 release this week.OSGI moves to the cloud. Everyone quake as further complexity is introduced. Maven plugin of the week maven-bundle-plugin
catch(e) - A possible JavaScript podcast from Richard/Mark? JS Conf AU Code reviews... Dependencies ( again ) OSGi ( again )
Illegal Argument Episode 73 Inland Revenue $1bill upgrade Java 7 Adoption Stories / Woes Java 6 EOL in July THIS YEAR, EOL likely to be pushed out? Has Java 7 actually been released? http://java.com/en/download/faq/java7.xml says its only for developers, not end users. Codegen/byteweaving woes stopping us from targetting JDK7 – class verifier is more strict, ASM 4.0 has been updated to generate correct bytecode but not everything uses it yet. Unable to build OSGi under Java 7 https://mail.osgi.org/pipermail/osgi-dev/2011-August/003224.html http://www.mail-archive.com/users@felix.apache.org/msg11574.html New HTTP STATUS CODES approved!
Unsupported Operation 64Java / MiscJavaFX 2.1 gets MPEG4 playbackScala artifacts now in centralGithub's mashup of Jenkins called JankyThe state of IcedTea and IcedTeaWeb video from FOSDEMSpring Data JPA 1.1.0 RC1 and 1.0.3 GA Releasedhttp://bit.ly/xkOR9CPrimeFaces 3.0 - a year long development, its tagline is Ajax, Mobile and IE9 components. IE9 components????Scandal: ICEFaces is just a rip off of PrimeFacesSpring Roo 1.2.1 available, patch release which brings support for the new PrimeFaces and latest GAEQuery Time Joining makes it into Lucene 3.6 (but a different impl from 4.0 which is 3x faster)GoogleGoogle App Engine "Community Support" moved to Stack OverflowFails in its attempt to keep email out of court on AndroidHardware x-overSheeva Plug, the box from Globalscale that the FreedomBox is based on also has a JVM+OSGI kit on an SD card.Speaking of OSGi, Distributed OSGi RI 1.3 is out, based on Apache CXFApacheRichard moved to Maven 3.0.4 and is having no problemsApache Jackrabbit 2.4.0, 2.2.11 released http://jackrabbit.apache.org - lots of new features, fixes and improvements(not Java, but) Apache libcloud gone 0.8.0 http://libcloud.apache.org/Apache MyFaces CVE-2011-4367Apache MyFaces information disclosure vulnerability affects MyFaces 2.0.1 - 2.0.11, 2.1.0 - 2.1.5MyFaces JavaServer Faces (JSF) allows relative paths in thejavax.faces.resource 'ln' parameter or writing the url so the resourcename include '..' sequences . An attacker could use the securityvulnerability to view files that they should not be able to.http://://faces/javax.faces.resource/../WEB-INF/web.xmlMyFaces Core 2.0.12 and 2.1.6 releasedApache Directory Studio 2.0M2Apache Directory DS 2.0.0-M5Apache LDAP API 1.0.0-M10HttpClient 4.1.3 GAApache Hive 0.8.1 - distributed data warehouse on top of HadoopCommons Configuration 1.8Commons Validator 1.4Lucy 0.3 (incubating)Apache Lucy is full-text search engine library written in C and targeted at dynamic languages
Episode 4 of Radio Liferay is out. I'm speaking with Raymond Augé, Sr. Software Architect at Liferay podcast-logo We spoke about these topics - and probably more: * Internet coverage in Northern Ontario * Forums, IRC, Blog * The beauty of XML and XSLT (in 2004) * Bits of Liferay's history since 2004, e.g. the Sourceforge Mailinglist * Some Features Ray has been involved in: WCMS, Permissions, Document Repositories, Asset API, Service Builder, Staging, Search - basically most of what's somehow related to WCM. * The enjoyment of sharing information. Not disseminating information is counterproductive. (At this place I'd like to place a completely unrelated shoutout to JT - you know what for ;-) ) * the benefits of keeping hands away from UI code. * (Learning english in this episode consists of my "inadvertently" stumbling across my tongue) * Feature talk: The new staging in 6.1, "site variations", how work on it was done. * The use of the different templating languages: Velocity, Freemarker, XSLT * WebContent and Templates can partly replace portlet & plugin development. Documented on Ray's Blogpost Advanced Web Content Example with Ajax and Liferay Live presentation * OSGi, in Ray's Blog and on github Find Ray and me on twitter You'll find this episode - and make sure that you don't miss any of the future episodes - by subscribing to http://feeds.feedburner.com/RadioLiferay. You can also subscribe on itunes.: Just search for "Radio Liferay" or just "Liferay" in the podcast directory.
Des solutions pour construire des applications Java et JEE modulaires ou distribuées existent depuis des années, et pourtant, pour la vaste majorité des entreprises, une application Java reste un ensemble monolithique, impossible à mettre à jour avec la réactivité nécessaire. Cette session reprendra un historique des solutions, bonnes ou mauvaises, qui ont été utilisées par le passé, et ouvrira très largement le débat sur les nouvelles possibilités offertes aujourd'hui, en particulier par les langages dynamiques et par OSGi.Cette session reprendra un historique des solutions, bonnes ou mauvaises, qui ont été utilisées par le passé, et ouvrira très largement le débat sur les nouvelles possibilités offertes aujourd'hui, en particulier par les langages dynamiques et par OSGi.
Les tests automatisés font partie du socle XP quel que soit leur granularité et leur portée : tests unitaires, tests dits d'acceptation, tests fonctionnels, tests de charge... Tous ces types de tests interagissent pour, d'une part piloter et orienter le développement de l'application, et d'autre part fournir un filet de sécurité lors des remaniements et évolutions du code. La mise en oeuvre de tests unitaires automatisés pour du code métier est désormais bien connue mais ne constitue qu'une partie de l'histoire. Le but de cette session est de montrer : - Comment mettre en oeuvre des tests automatisés sur l'ensemble des composants et interfaces d'une application web complexe en Java : tests fonctionnels sur l'IHM, tests des composants clients Javascript et HTML, tests des composants "métiers" et "frameworks" OSGi, tests de charges, tests embarqués au runtime, etc. - Comment intégrer ces différents tests dans le système de "build" (eg.maven).
JBoss Asylum 4 Shownotes Recorded 19th October 2009 Music by Real Rice (info) Licence Art Libre 1.3 Present: Michael, Max, Emmanuel Guest: Hardy Ferentschik, JBoss by Red Hat (blog) Direct download: mp3 and ogg Short news jboss.org Errai project announced jboss OSGi beta released osgi deployments on AS Announcing JBoss Authz-1.0.Alpha1 Interview Weld CR1 Available JSR-303 Bean Validation GWT Validation Hibernate Validator Intellij Opensourced If you got feedback or questions post a comment or email audio/text to asylum@jboss.org
Software Engineering Radio - The Podcast for Professional Software Developers
This episode is about OSGi, the dynamic module system for Java. Our guests are Peter Kriens (OSGI's Technical Director) and BJ Hargrave (OSGI's CTO). We'll discuss what OSGi is all about and why and in which contexts it is useful. Additionally we are having a look at the different layers of OSGI and where and how they are used. Other questions discussed are: What means dynamicity in an OSGI environment? Where is OSGI used? What’s the future of OSGI? How does OSGI interact with existing middleware solutions? How can I run several versions of the same JAR at the same time? Where are OSGI’s problems?
Software Engineering Radio - The Podcast for Professional Software Developers
This episode is about OSGi, the dynamic module system for Java. Our guests are Peter Kriens (OSGI's Technical Director) and BJ Hargrave (OSGI's CTO). We'll discuss what OSGi is all about and why and in which contexts it is useful. Additionally we are having a look at the different layers of OSGI and where and how they are used. Other questions discussed are: What means dynamicity in an OSGI environment? Where is OSGI used? What’s the future of OSGI? How does OSGI interact with existing middleware solutions? How can I run several versions of the same JAR at the same time? Where are OSGI’s problems?
Software Engineering Radio - The Podcast for Professional Software Developers
This episode is about OSGi, the dynamic module system for Java. Our guests are Peter Kriens (OSGI's Technical Director) and BJ Hargrave (OSGI's CTO). We'll discuss what OSGi is all about and why and in which contexts it is useful. Additionally we are having a look at the different layers of OSGI and where and how they are used. Other questions discussed are: What means dynamicity in an OSGI environment? Where is OSGI used? What’s the future of OSGI? How does OSGI interact with existing middleware solutions? How can I run several versions of the same JAR at the same time? Where are OSGI’s problems?