During past years, the requirements for modern applications have increased from gigabytes of data to terabytes, from thousands of requests per second to millions, from seconds of response time to milliseconds, and this list can be continued. Until now, most of these problems have been solved using the microservices architecture, but what's next? What next approach should we apply where microservices fail? In this talk, we will overview modern approaches to application development with reactive and distributed architecture and see how Vert.x help to implement such solutions.
During past years, the requirements for modern applications have increased from gigabytes of data to terabytes, from thousands of requests per second to millions, from seconds of response time to milliseconds, and this list can be continued. Until now, most of these problems have been solved using the Microservices architecture, but what's next? What next approach should we apply where Microservices fail? In this presentation, we will overview modern approaches to application development with Reactive and Distributed architecture and see how Vert.x help to implement such solutions.
During past years, the requirements for modern applications have increased from gigabytes of data to terabytes, from thousands of requests per second to millions, from seconds of response time to milliseconds, and this list can be continued. Until now, most of these problems have been solved using the Microservices architecture, but what's next? What next approach should we apply where Microservices fail? In this presentation, we will overview modern approaches to application development with Reactive and Distributed architecture and see how Vert.x help to implement such solutions.
Slides accompanying a presentation on Dropwizard I gave at the DevIgnition conference ( www.devignition.com ) on April 29, 2016. The sample code is on GitHub at https://github.com/sleberknight/dropwizard-devignition-2016
Java9 Beyond Modularity - Java 9 más allá de la modularidadDavid Gómez García
These are the slides I used for my "Java 9 beyond modularity" at several different local meetups and conferences in Spain during 2017
Java 9 is about to reach its public release scheduled for September 2017. If we ask what are the new features that this new version will include, probably the first that comes to our head is modularity.
But java 9 brings with a lot of features beyound Jigsaw, JPMS or modularity. In this talk we will talk about at least 9 other new features that include this new version of Java that are interesting and maybe will end up being more used than the modularity itself for those who embrace the new version.
Those are changes that come to complement and improve even more the set of new tools (like Streams, Optionals, etc...) that Java 8 brought to us.
We'll take a look at small changes in language syntax (such as new ways of using try-with-resources), changes in Collections APIs and Streams, new tools like VarHandles, new APIs such as the Flow API, and As we allow the inclusion of reactive programming with Java.
Do you want to see in Java 9 beyond modularity? Do you want to have a more complete view of what you can provide? Let's take a look toghether!
Take Control of your Integration Testing with TestContainersNaresha K
Slides from my Java2Days conference talk - Take Control of your Integration Testing with TestContainers.
How easy is it to write and maintain integration tests when your system under test interacts with databases, message stores, and other external systems? It can be quite challenging, can’t it? For example, the lack of control over the setup of databases can increase the cost of integration testing. Sometimes we take the route of using an in-memory database instead of the one we employ in the production environment, making the tests less effective. With Docker containers, you can simplify this to some extent by running the setup before invoking your tests. Imagine if you get to control the database environment right from within the test code. TestContainers bring in this convenience.
TestContainers is a tool that you can invoke from your test code. It provides lightweight, throwaway instances of common databases, web browsers(Selenium tests), or anything else that can run in a Docker container. In this presentation, I walk you through how TestContainers is the most effective way to take advantage of Docker containers for integration testing. I present through several use-cases and demonstrate how TestContainers simplifies integration testing.
Advanced Durable Functions - Serverless Meetup Tokyo - Feb 2018Chris Gillum
Deep dive into Azure Durable Functions and how it works behind the scenes. It assumes some familiarity with the basics of Azure Functions and Durable Functions. Note that this presentation contains both English and Japanese (and the Japanese may contain errors since I'm not a native speaker). Also note that some of the animations might be a little off since SlideShare doesn't support animations.
Provisioning with OSGi Subsystems and Repository using Apache Aries and FelixDavid Bosschaert
This presentation takes a closer look at deploying OSGi-based applications using OSGi Subsystems and OSGi Repositories. You will see how you to package multi-bundle applications as a subsystem, deploy them and use repositories to handle dependencies. A large part of the presentation is a demo that shows it all in action using open source technology.
Note that in the screenshots Apache Aries Subsystems Core is using a pre-release version. This bundle is now released under 1.1.0.
See here in Maven Central: http://search.maven.org/#artifactdetails%7Corg.apache.aries.subsystem%7Corg.apache.aries.subsystem.core%7C1.1.0%7Cbundle
HTTP Whiteboard - OSGI Compendium 6.0 - How web apps should have been! - R Augemfrancis
OSGi Community Event 2014
Abstract:
The new HTTP Whiteboard API is a significant improvement over Http Service 1.2. In this talk we'll explore the uses and benefits of the new API and how that this should have been what java webapps were from the start.
Spring and Cloud Foundry; a Marriage Made in HeavenJoshua Long
Spring and Cloud Foundry: a Marriage Made in Heaven. This talk introduces how to build Spring applications on top of Cloud Foundry, the open source PaaS from VMware
Building scalable applications with hazelcastFuad Malikov
Hazelcast is popular open source In-Memory Data Grid that is extremely easy to use. This talk will get you familiar with this technology and will give you the essential skills to start using Hazelcast to build scalable and highly available applications. We’ll talk about in-memory computing and scalability. You will learn about the internals of Hazelcast and distributed data structures to power your application. The session will have a live demo.
We'll try to cover as much ground as time permits and get you familiar with the concepts that differentiate this technology from other NoSQL and IMDG solutions. You’ll walk from this session with a unique toolset to tackle hard and challenging distributed system problems.
Service Oriented Web Development with OSGi - C Ziegelermfrancis
OSGi Community Event 2014
Abstract:
OSGi is complicated, complex and requires too much coding? Whether you think that's true or whether you are interested in seeing live how easy it is to develop a web application with OSGi, this session is the place to go to.
During the talk a web application based on OSGi services will be developed leveraging the latest OSGi specifications, the Http Whiteboard Service (RFC 189) and updates to Declarative Services (RFC 190, RFC 208 and RFC 212). The used implementations are well known projects from The Apache Software Foundation. Learn how to leverage the annotation based development which is very easy to use but also very powerful. Apart from developing the application, open source tooling based on the Eclipse IDE will be demonstrated making the life of a developer much easier. Of course, important topics like configuration and management of the web application are covered as well.
Speaker Bio:
Carsten Ziegeler is senior developer at Adobe Research Switzerland and spends most of his time on architectural and infrastructure topics. Working for over 25 years in open source projects, Carsten is a member of the Apache Software Foundation and heavily participates in several Apache communities including Sling, Felix and ACE. He is a frequent speaker on technology and open source conferences and participates in the OSGi Core Platform and Enterprise expert groups.
Developing modular web-based applications is easy using the HTTP-service implementation of Apache Felix. It hides the complexity and boilerplate code needed to get your servlets and filters up and running in no-time. With the recent effort in aligning the HTTP-service with the latest servlet specifications, new functionality like asynchronous servlets and filters will be supported out-of-the-box.
In this presentation we will not only talk about the new features provided by the Felix HTTP-service implementation, but also demonstrate how to use them in your project. In addition, we talk about upcoming improvements to the Felix HTTP-service, like native support for SPDY and WebSockets.
Slide sources and example code: https://bitbucket.org/marrs/apachecon2014-felix-http/
In his report, Orkhan Gasimov (Digital Transformation Architect, Consultant, GlobalLogic, Kyiv) talked to the participants about the willingness of developers to go to Serverless, talked about the new Spring Cloud Function project, and the ability to reuse the code as an http endpoint, a stream handler, or as a cloud serverless function. The report also addressed the features of the Spring Cloud Function and how to use it to improve development performance.
This presentation was delivered at GlobalLogic Kharkiv Java TechTalk #1 on February 5, 2019.
Video: https://youtu.be/WLojSXqCvSE
Quick and Easy Development with Node.js and Couchbase ServerNic Raboy
Build an API driven Node.js application that uses Couchbase for its NoSQL database and AngularJS for its front-end. Presented by Nic Raboy, Developer Advocate at Couchbase.
Are you ready for going serverless? Spring Cloud is! With the help of a brand new Spring Cloud Function project you can write code once and reuse it as a web-endpoint, a stream handler, or simply as a serverless function deployed in cloud. In this talk, Orkhan Gasimov speaks about the features of Spring Cloud Function and explains how it helps to get more productive.
This presentation was held by Orkhan Gasimov (Digital Transformation Architect, Consultant, GlobalLogic) at GlobalLogic Kyiv Java Career Day on August 11, 2018.
Learn more: https://www.globallogic.com/ua/events/globallogic-kyiv-java-career-day
Slides accompanying a presentation on Dropwizard I gave at the DevIgnition conference ( www.devignition.com ) on April 29, 2016. The sample code is on GitHub at https://github.com/sleberknight/dropwizard-devignition-2016
Java9 Beyond Modularity - Java 9 más allá de la modularidadDavid Gómez García
These are the slides I used for my "Java 9 beyond modularity" at several different local meetups and conferences in Spain during 2017
Java 9 is about to reach its public release scheduled for September 2017. If we ask what are the new features that this new version will include, probably the first that comes to our head is modularity.
But java 9 brings with a lot of features beyound Jigsaw, JPMS or modularity. In this talk we will talk about at least 9 other new features that include this new version of Java that are interesting and maybe will end up being more used than the modularity itself for those who embrace the new version.
Those are changes that come to complement and improve even more the set of new tools (like Streams, Optionals, etc...) that Java 8 brought to us.
We'll take a look at small changes in language syntax (such as new ways of using try-with-resources), changes in Collections APIs and Streams, new tools like VarHandles, new APIs such as the Flow API, and As we allow the inclusion of reactive programming with Java.
Do you want to see in Java 9 beyond modularity? Do you want to have a more complete view of what you can provide? Let's take a look toghether!
Take Control of your Integration Testing with TestContainersNaresha K
Slides from my Java2Days conference talk - Take Control of your Integration Testing with TestContainers.
How easy is it to write and maintain integration tests when your system under test interacts with databases, message stores, and other external systems? It can be quite challenging, can’t it? For example, the lack of control over the setup of databases can increase the cost of integration testing. Sometimes we take the route of using an in-memory database instead of the one we employ in the production environment, making the tests less effective. With Docker containers, you can simplify this to some extent by running the setup before invoking your tests. Imagine if you get to control the database environment right from within the test code. TestContainers bring in this convenience.
TestContainers is a tool that you can invoke from your test code. It provides lightweight, throwaway instances of common databases, web browsers(Selenium tests), or anything else that can run in a Docker container. In this presentation, I walk you through how TestContainers is the most effective way to take advantage of Docker containers for integration testing. I present through several use-cases and demonstrate how TestContainers simplifies integration testing.
Advanced Durable Functions - Serverless Meetup Tokyo - Feb 2018Chris Gillum
Deep dive into Azure Durable Functions and how it works behind the scenes. It assumes some familiarity with the basics of Azure Functions and Durable Functions. Note that this presentation contains both English and Japanese (and the Japanese may contain errors since I'm not a native speaker). Also note that some of the animations might be a little off since SlideShare doesn't support animations.
Provisioning with OSGi Subsystems and Repository using Apache Aries and FelixDavid Bosschaert
This presentation takes a closer look at deploying OSGi-based applications using OSGi Subsystems and OSGi Repositories. You will see how you to package multi-bundle applications as a subsystem, deploy them and use repositories to handle dependencies. A large part of the presentation is a demo that shows it all in action using open source technology.
Note that in the screenshots Apache Aries Subsystems Core is using a pre-release version. This bundle is now released under 1.1.0.
See here in Maven Central: http://search.maven.org/#artifactdetails%7Corg.apache.aries.subsystem%7Corg.apache.aries.subsystem.core%7C1.1.0%7Cbundle
HTTP Whiteboard - OSGI Compendium 6.0 - How web apps should have been! - R Augemfrancis
OSGi Community Event 2014
Abstract:
The new HTTP Whiteboard API is a significant improvement over Http Service 1.2. In this talk we'll explore the uses and benefits of the new API and how that this should have been what java webapps were from the start.
Spring and Cloud Foundry; a Marriage Made in HeavenJoshua Long
Spring and Cloud Foundry: a Marriage Made in Heaven. This talk introduces how to build Spring applications on top of Cloud Foundry, the open source PaaS from VMware
Building scalable applications with hazelcastFuad Malikov
Hazelcast is popular open source In-Memory Data Grid that is extremely easy to use. This talk will get you familiar with this technology and will give you the essential skills to start using Hazelcast to build scalable and highly available applications. We’ll talk about in-memory computing and scalability. You will learn about the internals of Hazelcast and distributed data structures to power your application. The session will have a live demo.
We'll try to cover as much ground as time permits and get you familiar with the concepts that differentiate this technology from other NoSQL and IMDG solutions. You’ll walk from this session with a unique toolset to tackle hard and challenging distributed system problems.
Service Oriented Web Development with OSGi - C Ziegelermfrancis
OSGi Community Event 2014
Abstract:
OSGi is complicated, complex and requires too much coding? Whether you think that's true or whether you are interested in seeing live how easy it is to develop a web application with OSGi, this session is the place to go to.
During the talk a web application based on OSGi services will be developed leveraging the latest OSGi specifications, the Http Whiteboard Service (RFC 189) and updates to Declarative Services (RFC 190, RFC 208 and RFC 212). The used implementations are well known projects from The Apache Software Foundation. Learn how to leverage the annotation based development which is very easy to use but also very powerful. Apart from developing the application, open source tooling based on the Eclipse IDE will be demonstrated making the life of a developer much easier. Of course, important topics like configuration and management of the web application are covered as well.
Speaker Bio:
Carsten Ziegeler is senior developer at Adobe Research Switzerland and spends most of his time on architectural and infrastructure topics. Working for over 25 years in open source projects, Carsten is a member of the Apache Software Foundation and heavily participates in several Apache communities including Sling, Felix and ACE. He is a frequent speaker on technology and open source conferences and participates in the OSGi Core Platform and Enterprise expert groups.
Developing modular web-based applications is easy using the HTTP-service implementation of Apache Felix. It hides the complexity and boilerplate code needed to get your servlets and filters up and running in no-time. With the recent effort in aligning the HTTP-service with the latest servlet specifications, new functionality like asynchronous servlets and filters will be supported out-of-the-box.
In this presentation we will not only talk about the new features provided by the Felix HTTP-service implementation, but also demonstrate how to use them in your project. In addition, we talk about upcoming improvements to the Felix HTTP-service, like native support for SPDY and WebSockets.
Slide sources and example code: https://bitbucket.org/marrs/apachecon2014-felix-http/
In his report, Orkhan Gasimov (Digital Transformation Architect, Consultant, GlobalLogic, Kyiv) talked to the participants about the willingness of developers to go to Serverless, talked about the new Spring Cloud Function project, and the ability to reuse the code as an http endpoint, a stream handler, or as a cloud serverless function. The report also addressed the features of the Spring Cloud Function and how to use it to improve development performance.
This presentation was delivered at GlobalLogic Kharkiv Java TechTalk #1 on February 5, 2019.
Video: https://youtu.be/WLojSXqCvSE
Quick and Easy Development with Node.js and Couchbase ServerNic Raboy
Build an API driven Node.js application that uses Couchbase for its NoSQL database and AngularJS for its front-end. Presented by Nic Raboy, Developer Advocate at Couchbase.
Are you ready for going serverless? Spring Cloud is! With the help of a brand new Spring Cloud Function project you can write code once and reuse it as a web-endpoint, a stream handler, or simply as a serverless function deployed in cloud. In this talk, Orkhan Gasimov speaks about the features of Spring Cloud Function and explains how it helps to get more productive.
This presentation was held by Orkhan Gasimov (Digital Transformation Architect, Consultant, GlobalLogic) at GlobalLogic Kyiv Java Career Day on August 11, 2018.
Learn more: https://www.globallogic.com/ua/events/globallogic-kyiv-java-career-day
Learn how to focus on creating a great user experience and forget complex infrastructure. Instantly add a powerful core, push notifications, and analytics to your app with Parse. We will take a deep dive at Parse's native SDKs for Android and see how to build an app that scales to millions of users.
Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface.
Cloud Application Blueprints with Apache Brooklyn by Alex Henevaldbuildacloud
So you have your cloud running, what now? Extend the devops agility from infrastructure to applications by learning how to use Brooklyn, the Apache-incubating project for application management. Create blueprints for applications to enable one-click deployment into Cloudstack, Docker, localhost, or other targets. Leverage your favourite server management tools, from Bash to Chef. Automatically change the deployment after it's deployed. Attach policies to support scaling, failover, and alerting in the way your application needs.
In this session we'll show how with just a few lines of YAML, you can build powerful application blueprints by composing pre-existing components, from polyglot web stacks to big data tools such as Riak. We'll also cover defining new blueprints using custom scripts, configuring machine selection and runtime policies, and managing new locations such as Clocker -- the cloud of docker.
About Alex Henevald
Alex brings twenty years experience designing software solutions in the enterprise, start-up, and academic sectors. Most recently Alex was with Enigmatec Corporation where he led the development of what is now the Monterey® Middleware Platform™. Previous to that, he founded PocketWatch Systems, commercialising results from his doctoral research. Alex holds a PhD (Informatics) and an MSc (Cognitive Science) from the University of Edinburgh and an AB (Mathematics) from Princeton University. Alex was both a USA Today Academic All-Star and a Marshall Scholar.
Building a microservices architecture means making a lot of decisions, about tools, about frameworks. In this talk I share the decisions that we made at Measurence during our journey for building a microservices architecture based on Scala technologies.
We're going to talk about Spray, Akka, Swagger, Sbt, Docker, Jenkins, Mesos and Marathon.
Flask and Angular: An approach to build robust platformsAyush Sharma
AngularJS is a really powerful and extensible Javascript library that can be used for all number of applications. The team that up with Flask and you've got a great power and maintainability.
Using the SharePoint Framework as a surface to express yourself through client side solutions is great but at some point in time, you will require that this beauty you built interacts with APIs holding data that lives within the Office 365 environment. In this session, you will learn how to utilize and optimize your calls to SharePoint via its REST APIs, to the Microsoft Graph and to external services that you might find useful to deliver a rich experience in your solution. You will also learn about how to simplify those calls using the Community-Driven library PnP JS Core that aims to save your time (and sanity) by simplifying the access to the SharePoint REST APIs and to the Microsoft Graph. Goodbye URLs, hello intellisense!
Through this presentation you will gain a good understanding of how the clean architecture pattern is implemented at Taxibeat. What issues the Android Taxibeat team has faced so far and what solutions we came up with. Of course, the benefits of clean architecture will also be discussed along with the way we managed to build two fast paced iterative apps that share functionality.
ITCamp 2018 - Magnus Mårtensson - Azure Resource Manager For The WinITCamp
With the new model, Azure Resource Manger Microsoft are gaining the repeatability they always wanted to have for deployment to the Cloud and removing the dreary, repetitive, error prone manual deployment tasks which has always held us back! With ARM, you can create a Template for your environment and use that for deploying identical environments every time without fail! There is some news in the world of “infrastructure as code” that we need to consider while setting up our Cloud environments. The Win we get from being able to deploy our development environment or our temporary load test environment automatically and identically to our production environment cannot be understated. This is ARM from a project efficiency, development and DevOps perspective. This is what you need to know to make you much more efficient every day of development.
Full stack development with node and NoSQL - All Things Open - October 2017Matthew Groves
What is different about this generation of web applications? A solid development approach must consider latency, throughput, and interactivity demanded by users users across mobile devices, web browsers, and IoT. These applications often use NoSQL to support a flexible data model and easy scalability required for modern development.
A full stack application (composed of Couchbase, WebAPI, Angular2, and ASP.NET/ASP.NET Core) will be demonstrated in this session. The individual parts of a stack may vary, but the overall design is the focus.
Imagine, you want to build a hybrid mobile app with microservices at backend. It is pretty simple to design a back-end API, a demo UI for the API or wrap an existing web app into a mobile app. However, building a complex consumer solution requires much more. This talk walks through the steps of design of such complex solution based on real-life examples from personal experience. This is a no-code session, focused on the work of an architect in the life-cycle of the product, spanning to various areas that should be covered in order to gain success.
Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...Orkhan Gasimov
Presentation of my talk about Spring Cloud features that can integrate with AWS, GCP and Azure turning Spring Cloud into a distributed platform that is capable to work with different environments like Kubernetes, Cloud or Local with adoption of Spring abstractions.
Digital Transformation - another buzzword around the globe, is it? Well, it is a trend of course, but, all of trends has some reason behind them. So, what Digital Transformation stands for? What is transformed? How the transformation is done? Why do we need to transform something? This presentation focuses on answering these questions and understanding what stands behind the trend called Digital Transformation from user experience point of view.
Service Mesh. What does it mean? We have already learned Microservices and can develop complex distributed applications. Is Service Mesh something we need or is another fancy buzzword?
This presentation walks through the evolution of application architecture from Monolith to Service Mesh to give an idea of what a Service Mesh is, how it is applied to existing architectures and is focused help you to understand if you really need it.
Spring Cloud: API gateway upgrade & configuration in the cloudOrkhan Gasimov
In this presentation we walk through features of Spring Cloud Gateway and Spring Cloud Config projects, overview new features provided by Spring Cloud Gateway including advanced routing options for API services supporting parallel APIs in several versions, discuss code examples and configuration options. Once API gateway is deployed, we don’t want to redeploy it on configuration changes as well as redeploy other services upon configuration updates. And this is where Spring Cloud Config enters the game. It allows us to keep configurations in the cloud, for example in a Git repository, and once paired with tools necessary, enables almost zero-down-time configuration updates, audit of changes and parallel configurations for different environments.
While developing distributed apps, most teams are focused in delivery of business value. Sometimes, after production deployment, a few moments later, we realize that exceptions arise, time-outs blow. The system need more fault tolerance. Presentations overviews a few patterns and principles of fault and latency tolerance for such systems.
Distributed design is the way to go for most of the modern applications. However, when you have a startup with 1-2 back-end developers in a team, it’s much easier to start with a monolithic app and refactor it when necessary. Presentation covers a few patterns, anti-patterns and real-life examples from personal experience.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
2. Orkhan Gasimov
Digital Transformation Architect @ GlobalLogic
15 years of software engineering;
training & mentorship;
author of trainings about:
Microservices;
Spring Cloud;
Akka;
2Speaker
68. Worker Verticles
Run on the worker pool & never executed concurrently
Verticles
DeploymentOptions options = new DeploymentOptions().setWorker(true);
vertx.deployVerticle("com.mycompany.MyOrderProcessorVerticle", options);
68
95. $ vertx run myVerticle -ha
Fail-Over
Vert.x Instance 1 Vert.x Instance N
...
Verticle
95
96. $ vertx run myVerticle -ha
Fail-Over
Vert.x Instance 1 Vert.x Instance N
...
Verticle
96
97. $ vertx run myVerticle -ha
Fail-Over
Vert.x Instance 1 Vert.x Instance N
...
Verticle
97
98. $ vertx run myVerticle -ha -hagroup group-1
Groups
Group-1
Vert.x Instance 1 Vert.x Instance N
Group-2
Vert.x Instance 1 Vert.x Instance N
...
...
Verticle
Verticle
98
99. $ vertx run myVerticle -ha -hagroup group-1
Groups
Group 1
Vert.x Instance 1 Vert.x Instance N
Group 2
Vert.x Instance 1 Vert.x Instance N
...
...
Verticle
Verticle
99
100. $ vertx run myVerticle -ha -hagroup group-1
Groups
Group 1
Vert.x Instance 1 Vert.x Instance N
Group 2
Vert.x Instance 1 Vert.x Instance N
...
...
Verticle
Verticle
100
111. ...
//Async get
asyncMap.put("foo", "bar", resPut -> {
if (resPut.succeeded()) { /*success*/ } else { /*fail*/ }
});
//Async put
asyncMap.get("foo", resGet -> {
if (resGet.succeeded()) {
Object val = resGet.result();
} else {
//fail
}
});
Maps 111
112. ...
//Async get
asyncMap.put("foo", "bar", resPut -> {
if (resPut.succeeded()) { /*success*/ } else { /*fail*/ }
});
//Async put
asyncMap.get("foo", resGet -> {
if (resGet.succeeded()) {
Object val = resGet.result();
} else {
//fail
}
});
Maps 112
113. sd.getLock("mylock", res -> {
if (res.succeeded()) {
Lock lock = res.result();
// 5 seconds later we release the lock so someone else can get it
vertx.setTimer(5000, tid -> lock.release());
} else {
// Something went wrong
}
});
sd.getLockWithTimeout("mylock", 10000, res -> {
if (res.succeeded()) {
Lock lock = res.result();
} else {
// Failed to get lock
}
});
Locks 113
114. sd.getLock("mylock", res -> {
if (res.succeeded()) {
Lock lock = res.result();
// 5 seconds later we release the lock so someone else can get it
vertx.setTimer(5000, tid -> lock.release());
} else {
// Something went wrong
}
});
sd.getLockWithTimeout("mylock", 10000, res -> {
if (res.succeeded()) {
Lock lock = res.result();
} else {
// Failed to get lock
}
});
Locks 114
115. sd.getCounter("mycounter", res -> {
if (res.succeeded()) {
Counter counter = res.result();
} else {
// Something went wrong!
}
});
Counters 115
124. HttpServer server = vertx.createHttpServer();
Router router = Router.router(vertx);
router.post("/entity/:id").handler(routingContext -> {
// This handler will be called for every request
HttpServerResponse response = routingContext.response();
response.putHeader("content-type", "text/plain");
// Write to the response and end it
response.end("Hello World from Vert.x-Web!");
});
server.requestHandler(router::accept).listen(8080);
Web Server 124
125. HttpServer server = vertx.createHttpServer();
Router router = Router.router(vertx);
router.post("/entity/:id").handler(routingContext -> {
// This handler will be called for every request
HttpServerResponse response = routingContext.response();
response.putHeader("content-type", "text/plain");
// Write to the response and end it
response.end("Hello World from Vert.x-Web!");
});
server.requestHandler(router::accept).listen(8080);
Web Server 125
126. HttpServer server = vertx.createHttpServer();
Router router = Router.router(vertx);
router.post("/entity/:id").handler(routingContext -> {
// This handler will be called for every request
HttpServerResponse response = routingContext.response();
response.putHeader("content-type", "text/plain");
// Write to the response and end it
response.end("Hello World from Vert.x-Web!");
});
server.requestHandler(router::accept).listen(8080);
Web Server 126
127. HttpServer server = vertx.createHttpServer();
Router router = Router.router(vertx);
router.post("/entity/:id").handler(routingContext -> {
// This handler will be called for every request
HttpServerResponse response = routingContext.response();
response.putHeader("content-type", "text/plain");
// Write to the response and end it
response.end("Hello World from Vert.x-Web!");
});
server.requestHandler(router::accept).listen(8080);
Web Server 127
128. WebClient client = WebClient.create(vertx);
client
.get(8080, "myserver.mycompany.com", "/some-uri")
.timeout(5000)
.addQueryParam("param", "param_value")
.send(ar -> {
if (ar.succeeded()) {
// Obtain response
HttpResponse<Buffer> response = ar.result();
System.out.println("Received response with status code" + response.statusCode());
} else {
System.out.println("Something went wrong " + ar.cause().getMessage());
}
});
Web Client 128
129. WebClient client = WebClient.create(vertx);
client
.get(8080, "myserver.mycompany.com", "/some-uri")
.timeout(5000)
.addQueryParam("param", "param_value")
.send(ar -> {
if (ar.succeeded()) {
// Obtain response
HttpResponse<Buffer> response = ar.result();
System.out.println("Received response with status code" + response.statusCode());
} else {
System.out.println("Something went wrong " + ar.cause().getMessage());
}
});
Web Client 129
130. WebClient client = WebClient.create(vertx);
client
.get(8080, "myserver.mycompany.com", "/some-uri")
.timeout(5000)
.addQueryParam("param", "param_value")
.send(ar -> {
if (ar.succeeded()) {
// Obtain response
HttpResponse<Buffer> response = ar.result();
System.out.println("Received response with status code" + response.statusCode());
} else {
System.out.println("Something went wrong " + ar.cause().getMessage());
}
});
Web Client 130
131. WebClient client = WebClient.create(vertx);
client
.get(8080, "myserver.mycompany.com", "/some-uri")
.timeout(5000)
.addQueryParam("param", "param_value")
.send(ar -> {
if (ar.succeeded()) {
// Obtain response
HttpResponse<Buffer> response = ar.result();
System.out.println("Received response with status code" + response.statusCode());
} else {
System.out.println("Something went wrong " + ar.cause().getMessage());
}
});
Web Client 131
132. WebClient client = WebClient.create(vertx);
client
.get(8080, "myserver.mycompany.com", "/some-uri")
.timeout(5000)
.addQueryParam("param", "param_value")
.send(ar -> {
if (ar.succeeded()) {
// Obtain response
HttpResponse<Buffer> response = ar.result();
System.out.println("Received response with status code" + response.statusCode());
} else {
System.out.println("Something went wrong " + ar.cause().getMessage());
}
});
Web Client 132
133. WebClient client = WebClient.create(vertx);
client
.get(8080, "myserver.mycompany.com", "/some-uri")
.timeout(5000)
.addQueryParam("param", "param_value")
.send(ar -> {
if (ar.succeeded()) {
// Obtain response
HttpResponse<Buffer> response = ar.result();
System.out.println("Received response with status code" + response.statusCode());
} else {
System.out.println("Something went wrong " + ar.cause().getMessage());
}
});
Web Client 133
134. client
.post(8080, "myserver.mycompany.com", "/some-uri")
.sendJsonObject(new JsonObject()
.put("firstName", "Dale")
.put("lastName", "Cooper"), ar -> {
if (ar.succeeded()) {
// Ok
}
});
client
.post(8080, "myserver.mycompany.com", "/some-uri")
.sendJson(new User("Dale", "Cooper"), ar -> {
if (ar.succeeded()) {
// Ok
}
});
Web Client 134
135. client
.post(8080, "myserver.mycompany.com", "/some-uri")
.sendJsonObject(new JsonObject()
.put("firstName", "Dale")
.put("lastName", "Cooper"), ar -> {
if (ar.succeeded()) {
// Ok
}
});
client
.post(8080, "myserver.mycompany.com", "/some-uri")
.sendJson(new User("Dale", "Cooper"), ar -> {
if (ar.succeeded()) {
// Ok
}
});
Web Client 135
153. • Publish & Discover
• HTTP Endpoints
Service Discovery
Sales
Accounting
WarehouseUsers
Stores
HTTP
DB
SQL
153
154. • Publish & Discover
• HTTP Endpoints
• Data Sources
Service Discovery
Sales
Accounting
WarehouseUsers
Stores
HTTP
DB
SQL
154
155. • Publish & Discover
• HTTP Endpoints
• Data Sources
• Event Bus Services
Service Discovery
Sales
Accounting
WarehouseUsers
Stores
HTTP
DB
SQL
155
156. • Publish & Discover
• HTTP Endpoints
• Data Sources
• Event Bus Services
• Anything you can imagine
Service Discovery
Sales
Accounting
WarehouseUsers
Stores
HTTP
DB
SQL
156
163. CircuitBreaker breaker = CircuitBreaker.create("my-circuit-breaker", vertx,
new CircuitBreakerOptions()
.setMaxFailures(5) // number of failure before opening the circuit
.setTimeout(2000) // consider a failure if the operation does not succeed in time
.setFallbackOnFailure(true) // do we call the fallback on failure
.setResetTimeout(10000) // time spent in open state before attempting to re-try
);
breaker.execute(future -> {
// future.complete(“success")
// future.fail("cause")
}).setHandler(ar -> {
// Get the operation result.
});
Circuit Breaker 163
164. CircuitBreaker breaker = CircuitBreaker.create("my-circuit-breaker", vertx,
new CircuitBreakerOptions()
.setMaxFailures(5) // number of failure before opening the circuit
.setTimeout(2000) // consider a failure if the operation does not succeed in time
.setFallbackOnFailure(true) // do we call the fallback on failure
.setResetTimeout(10000) // time spent in open state before attempting to re-try
);
breaker.execute(future -> {
// future.complete(“success")
// future.fail("cause")
}).setHandler(ar -> {
// Get the operation result.
});
Circuit Breaker 164
165. CircuitBreaker breaker = CircuitBreaker.create("my-circuit-breaker", vertx,
new CircuitBreakerOptions()
.setMaxFailures(5) // number of failure before opening the circuit
.setTimeout(2000) // consider a failure if the operation does not succeed in time
.setFallbackOnFailure(true) // do we call the fallback on failure
.setResetTimeout(10000) // time spent in open state before attempting to re-try
);
breaker.execute(future -> {
// future.complete(“success")
// future.fail("cause")
}).setHandler(ar -> {
// Get the operation result.
});
Circuit Breaker 165
166. CircuitBreaker breaker = CircuitBreaker.create("my-circuit-breaker", vertx,
new CircuitBreakerOptions()
.setMaxFailures(5) // number of failure before opening the circuit
.setTimeout(2000) // consider a failure if the operation does not succeed in time
.setFallbackOnFailure(true) // do we call the fallback on failure
.setResetTimeout(10000) // time spent in open state before attempting to re-try
);
breaker.executeWithFallback(future -> {
// future.complete(“success")
// future.fail("cause")
}, th -> {
// Fallback
return "Hello";
}).setHandler(ar -> {
// Get the operation result.
});
Circuit Breaker 166
210. Reactive & Distributed
Event Bus
Handler Handler Handler Handler Handler Handler
Server 1 Server 2 Server 3 Server N...
210
211. Reactive & Distributed
Module ModuleModule
Event Bus
Handler Handler Handler Handler Handler Handler
Server 1 Server 2 Server 3 Server N...
211
212. Reactive & Distributed 212
Bridged
Apps
Data
Access
Metrics
External
Apps
IoT
Devices
etc.
Module ModuleModule
Event Bus
Handler Handler Handler Handler Handler Handler
Server 1 Server 2 Server 3 Server N...
213. Reactive & Distributed 213
Bridged
Apps
Data
Access
Metrics
External
Apps
IoT
Devices
etc.
Module ModuleModule
Event Bus
Handler Handler Handler Handler Handler Handler
Server 1 Server 2 Server 3 Server N...
214. • Java
• JavaScript
• Groovy
• Ruby
• Ceylon
• Scala
• Kotlin
Polyglot 214
Bridged
Apps
Data
Access
Metrics
External
Apps
IoT
Devices
etc.
Module ModuleModule
Event Bus
Handler Handler Handler Handler Handler Handler
Server 1 Server 2 Server 3 Server N...
215. • JavaScript
• Vert.x event bus integration over SockJS for browser-based/node.js apps.
Polyglot 215
Bridged
Apps
Data
Access
Metrics
External
Apps
IoT
Devices
etc.
Module ModuleModule
Event Bus
Handler Handler Handler Handler Handler Handler
Server 1 Server 2 Server 3 Server N...