Learn to build production-ready AI agents using Spring AI, Java, and Amazon Bedrock.
talk-data.com
Topic
Java
392
tagged
Activity Trend
Top Events
In this talk, we’ll demonstrate how we manage application properties and component topology as plain Java code. We’ll show how this approach brings all the benefits of a type-safe language to configuration — including compilation checks, full IDE support, and even unit tests. We’ll also explain how it enables seamless management of a complex system topology, allowing changes to be distributed effortlessly while ensuring its consistency.
For two years, virtual threads had full support in the Java platform. In this presentation, we will have a second look at virtual thread performance, memory usage, platform support, and more advanced features, in particular, structured concurrency and scoped values. You will learn about effective patterns for structured concurrency, how to monitor virtual threads in practice, how to detect overuse of thread locals, and how to use scoped values as a more performant replacement. This topic should be of interest to all developers who want to reduce the cost of deploying business applications that \"mostly block\" (waiting for results from databases or other services), without the pain of implementing business logic in a reactive style.
Dawno, dawno temu ludzie stworzyli maszyny do liczenia - komputery… Szybko odkryto, że ich wszechstronność pozwala na użycie ich do przetwarzania tekstu. Aktualnie tekst jest wszechobecny - można znaleźć w bazach danych, przeróżnych protokołach, formatach danych, w internetach, a także (uwaga, Buzzword !) w chatach. Jak tekst jest obecny w Javie? Jak wygląda jego żywot w środowisku JVM-owym? Jaka jest jego przeszłość, teraźniejszość i przyszłość? Jeśli myślisz, że Stringi to po prostu tablice char pod spodem, że są obiektami niezmiennymi, a Java jest wstecznie kompatybilna – zapraszam na prezentację. Zweryfikujemy te twierdzenia. Będzie to też doskonała okazja do zaktualizowania wiedzy, bo w OpenJDK-u na przestrzeni ostatnich 15 wersji sporo się zmieniło w obszarze przetwarzania tekstu.
Practicing functional programming inside a Fortune 100 enterprise can feel like flying the Starship Enterprise through asteroid fields of legacy code and bureaucracy. This talk shares hard-earned lessons from the Information Engineering team at JPMorganChase, which runs a production Scala codebase powering a novel metadata platform. We'll explore the political, cultural, and technical friction of pushing functional programming in a Java and Python dominated environment. We'll introduce the domain we work in, the techniques that have worked (and those that haven't), the compromises we've made, and why - despite it all - we still think it's worth it. If you've never tried to run cats-effect in a place where Spring Boot is king, add this talk to your battle log.
Présentation du sujet : Java Meets Spark - Retour d’expérience pour comprendre, utiliser et créer de la valeur avec Apache Spark.
Mandy Meindersma speaks on the new Java releases and how we are using new Java features in our microservices.
Ausführbare Architekturdokumentation ermöglicht lebendige Qualitätssicherung: Leichtgewichtige Docs-as-Code-Ansätze, Vorlagen und Werkzeuge, die Dokumentation nahe am Sourcecode halten und Entwicklungs-Teams bei der kontinuierlichen Qualitätsmessung unterstützen. Wir betrachten selbst-validierende, ausführbare Dokumentation und wie Architekturen durch Code sichtbar gemacht und regelmäßig mit Tests geprüft werden – z. B. mit xMolecules, ContextMapper, jQAssistant und ArchUnit, ergänzt durch Fitness Functions.
Data manipulation libraries like Polars allow us to analyze and process data much faster than with native Python, but that’s only true if you know how to use them properly. When the team working on NCEI's Global Summary of the Month first integrated Polars, they found it was actually slower than the original Java version. In this talk, we'll discuss how our team learned how to think about computing problems like spreadsheet programmers, increasing our products’ processing speed by over 80%. We’ll share tips for rewriting legacy code to take advantage of parallel processing. We’ll also cover how we created custom, pre-compiled functions with Numba when the business requirements were too complex for native Polars expressions.
Dive into building applications that combine the power of Large Language Models (LLMs) with Neo4j knowledge graphs, Haystack, and Spring AI to deliver intelligent, data-driven recommendations and search outcomes. This book provides actionable insights and techniques to create scalable, robust solutions by leveraging the best-in-class frameworks and a real-world project-oriented approach. What this Book will help me do Understand how to use Neo4j to build knowledge graphs integrated with LLMs for enhanced data insights. Develop skills in creating intelligent search functionalities by combining Haystack and vector-based graph techniques. Learn to design and implement recommendation systems using LangChain4j and Spring AI frameworks. Acquire the ability to optimize graph data architectures for LLM-driven applications. Gain proficiency in deploying and managing applications on platforms like Google Cloud for scalability. Author(s) Ravindranatha Anthapu, a Principal Consultant at Neo4j, and Siddhant Agarwal, a Google Developer Expert in Generative AI, bring together their vast experience to offer practical implementations and cutting-edge techniques in this book. Their combined expertise in Neo4j, graph technology, and real-world AI applications makes them authoritative voices in the field. Who is it for? Designed for database developers and data scientists, this book caters to professionals aiming to leverage the transformational capabilities of knowledge graphs alongside LLMs. Readers should have a working knowledge of Python and Java as well as familiarity with Neo4j and the Cypher query language. If you're looking to enhance search or recommendation functionalities through state-of-the-art AI integrations, this book is for you.
Dans cette session, nous commencerons d’abord par définir ce que sont les agents, ou tout du moins ce qui rends un système “agentique”. Nous expliquerons quelles sont les limites des LLMs. Ensuite, au travers d’exemples concrets, nous implémenterons différents agents en Java, en utilisant le framework LangChain4j et Agent Development Kit (ADK) pour Java, pour illustrer certains patterns typiques des agents et pour comprendre comment aller plus loin qu’un simple appel à un LLM pour obtenir des réponses qui répondront aux besoins de vos utilisateurs, voire même pour déclencher des actions avec le système environnant. Et si vous souhaitez également en apprendre plus sur ces mystérieux acronymes que sont MCP (Model Context Protocol) ou A2A (Agent to Agent protocol), vous êtes au bon endroit !
Etes vous prêt pour la prochaine hype des agents ? Venez le découvrir dans cette session !
Join this session for a concise tour of Apache Spark™ 4.0’s most notable enhancements: SQL features: ANSI by default, scripting, SQL pipe syntax, SQL UDF, session variable, view schema evolution, etc. Data type: VARIANT type, string collation Python features: Python data source, plotting API, etc. Streaming improvements: State store data source, state store checkpoint v2, arbitrary state v2, etc. Spark Connect improvements: More API coverage, thin client, unified Scala interface, etc. Infrastructure: Better error message, structured logging, new Java/Scala version support, etc. Whether you’re a seasoned Spark user or new to the ecosystem, this talk will prepare you to leverage Spark 4.0’s latest innovations for modern data and AI pipelines.
PySpark supports many data sources out of the box, such as Apache Kafka, JDBC, ODBC, Delta Lake, etc. However, some older systems, such as systems that use JMS protocol, are not supported by default and require considerable extra work for developers to read from them. One such example is ActiveMQ for streaming. Traditionally, users of ActiveMQ have to use a middle-man in order to read the stream with Spark (such as writing to a MySQL DB using Java code and reading that table with Spark JDBC). With PySpark 4.0’s custom data sources (supported in DBR 15.3+) we are able to cut out the middle-man processing using batch or Spark Streaming and consume the queues directly from PySpark, saving developers considerable time and complexity in getting source data into your Delta Lake and governed by Unity Catalog and orchestrated with Databricks Workflows.
Building a custom Spark data source connector once required Java or Scala expertise, making it complex and limiting. This left many proprietary data sources without public SDKs disconnected from Spark. Additionally, data sources with Python SDKs couldn't harness Spark’s distributed power. Spark 4.0 changes this with a new Python API for data source connectors, allowing developers to build fully functional connectors without Java or Scala. This unlocks new possibilities, from integrating proprietary systems to leveraging untapped data sources. Supporting both batch and streaming, this API makes data ingestion more flexible than ever. In this talk, we’ll demonstrate how to build a Spark connector for Excel using Python, showcasing schema inference, data reads/writes and streaming support. Whether you're a data engineer or Spark enthusiast, you’ll gain the knowledge to integrate Spark with any data source — entirely in Python.
Barclays Post Trade real-time trade monitoring platform was historically built on a complex set of legacy technologies including Java, Solace, and custom micro-services.This session will demonstrate how the power of Lakeflow Declarative Pipelines' new real-time mode, in conjunction with the foreach_batch_sink, can enable simple, cost-effective streaming pipelines that can load high volumes of data into Databricks new Serverless OLTP database with very low latency.Once in our OLTP database, this can be used to update real-time trading dashboards, securely hosted in Databricks Apps, with the latest stock trades - enabling better, more responsive decision-making and alerting.The session will walk-through the architecture, and demonstrate how simple it is to create and manage the pipelines and apps within the Databricks environment.
Delta Kernel makes it easy for engines and connectors to read and write Delta tables. It supports many Delta features and robust connectors, including DuckDB, Clickhouse, Spice AI and delta-dotnet. In this session, we'll cover lessons learned about how to build a high-performance library that lets engines integrate the way they want, while not having to worry about the details of the Delta protocol. We'll talk through how we streamlined the API as well as its changes and underlying motivations. We'll discuss some new highlight features like write support, and the ability to do CDF scans. Finally we'll cover the future roadmap for the Kernel project and what you can expect from the project over the coming year.
This session explores the power and versatility of WebDriver, the standard API for browser automation, and its broad adoption across programming languages. We’ll dive into the WebDriver ecosystem, examining open-source frameworks built in Java, C#, Ruby, Python, and JavaScript. Attendees will gain insights into how these frameworks leverage WebDriver, the challenges of cross-language implementation, and best practices for choosing the right tool. We’ll also assess framework health using key GitHub metrics and discuss ways to contribute to the open-source automation community. Whether you’re a tester, developer, or QA engineer, this talk will help you navigate the test automation toolbox more effectively.
Summary In this episode of the Data Engineering Podcast Derek Collison, creator of NATS and CEO of Synadia, talks about the evolution and capabilities of NATS as a multi-paradigm connectivity layer for distributed applications. Derek discusses the challenges and solutions in building distributed systems, and highlights the unique features of NATS that differentiate it from other messaging systems. He delves into the architectural decisions behind NATS, including its ability to handle high-speed global microservices, support for edge computing, and integration with Jetstream for data persistence, and explores the role of NATS in modern data management and its use cases in industries like manufacturing and connected vehicles.
Announcements Hello and welcome to the Data Engineering Podcast, the show about modern data managementData migrations are brutal. They drag on for months—sometimes years—burning through resources and crushing team morale. Datafold's AI-powered Migration Agent changes all that. Their unique combination of AI code translation and automated data validation has helped companies complete migrations up to 10 times faster than manual approaches. And they're so confident in their solution, they'll actually guarantee your timeline in writing. Ready to turn your year-long migration into weeks? Visit dataengineeringpodcast.com/datafold today for the details.Your host is Tobias Macey and today I'm interviewing Derek Collison about NATS, a multi-paradigm connectivity layer for distributed applications.Interview IntroductionHow did you get involved in the area of data management?Can you describe what NATS is and the story behind it?How have your experiences in past roles (cloud foundry, TIBCO messaging systems) informed the core principles of NATS?What other sources of inspiration have you drawn on in the design and evolution of NATS? (e.g. Kafka, RabbitMQ, etc.)There are several patterns and abstractions that NATS can support, many of which overlap with other well-regarded technologies. When designing a system or service, what are the heuristics that should be used to determine whether NATS should act as a replacement or addition to those capabilities? (e.g. considerations of scale, speed, ecosystem compatibility, etc.)There is often a divide in the technologies and architecture used between operational/user-facing applications and data systems. How does the unification of multiple messaging patterns in NATS shift the ways that teams think about the relationship between these use cases?How does the shared communication layer of NATS with multiple protocol and pattern adaptaters reduce the need to replicate data and logic across application and data layers?Can you describe how the core NATS system is architected?How have the design and goals of NATS evolved since you first started working on it?In the time since you first began writing NATS (~2012) there have been several evolutionary stages in both application and data implementation patterns. How have those shifts influenced the direction of the NATS project and its ecosystem?For teams who have an existing architecture, what are some of the patterns for adoption of NATS that allow them to augment or migrate their capabilities?What are some of the ecosystem investments that you and your team have made to ease the adoption and integration of NATS?What are the most interesting, innovative, or unexpected ways that you have seen NATS used?What are the most interesting, unexpected, or challenging lessons that you have learned while working on NATS?When is NATS the wrong choice?What do you have planned for the future of NATS?Contact Info GitHubLinkedInParting Question From your perspective, what is the biggest gap in the tooling or technology for data management today?Closing Announcements Thank you for listening! Don't forget to check out our other shows. Podcast.init covers the Python language, its community, and the innovative ways it is being used. The AI Engineering Podcast is your guide to the fast-moving world of building AI systems.Visit the site to subscribe to the show, sign up for the mailing list, and read the show notes.If you've learned something or tried out a project from the show then tell us about it! Email [email protected] with your story.Links NATSNATS JetStreamSynadiaCloud FoundryTIBCOApplied Physics Lab - Johns Hopkins UniversityCray SupercomputerRVCM Certified MessagingTIBCO ZMSIBM MQJMS == Java Message ServiceRabbitMQMongoDBNodeJSRedisAMQP == Advanced Message Queueing ProtocolPub/Sub PatternCircuit Breaker PatternZero MQAkamaiFastlyCDN == Content Delivery NetworkAt Most OnceAt Least OnceExactly OnceAWS KinesisMemcachedSQSSegmentRudderstackPodcast EpisodeDLQ == Dead Letter QueueMQTT == Message Queueing Telemetry TransportNATS Kafka Bridge10BaseT NetworkWeb AssemblyRedPandaPodcast EpisodePulsar FunctionsmTLSAuthZ (Authorization)AuthN (Authentication)NATS Auth CalloutsOPA == Open Policy AgentRAG == Retrieval Augmented GenerationAI Engineering Podcast EpisodeHome AssistantPodcast.init EpisodeTailscaleOllamaCDC == Change Data CapturegRPCThe intro and outro music is from The Hug by The Freak Fandango Orchestra / CC BY-SA
This session showcases how Gemini Code Assist revolutionizes end-to-end Java application development. Join us to learn how to accelerate each development stage – from backend to frontend and testing. Discover how to leverage Gemini code generation, completion, and debugging features. Explore how to enhance productivity and build robust, high-quality applications faster. And take away practical methods and techniques for integrating Gemini Code Assist into your workflow.
Build more capable and reliable AI systems by combining context-aware retrieval-augmented generation (RAG) with agentic decision-making in an enterprise AI platform, all in Java! This session covers everything from architecture, context construction, and model routing to action planning, dynamic retrieval, and recursive reasoning, as well as the implementation of essential guardrails and monitoring systems for safe deployments. Learn about best practices, trade-offs, performance, and advanced techniques like evaluations and model context protocol.