This document discusses best practices for structuring large GWT applications. It addresses challenges like supporting different features based on runtime, development stage, or audience. Solutions proposed include using plugins determined at compile-time and a publish/subscribe messaging system. Another challenge is enabling server-side capabilities to change, like for different environments. Bootstrapping and messaging with presence are offered as solutions. The document then introduces Project Errai, which consolidates JBoss GWT efforts. Errai-Bus provides an asynchronous messaging backbone. Errai-Workspaces define UI environments. Errai Widgets complement open-source widget libraries. The techniques aim to provide a common architecture and enable independent component composition.
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...E. Camden Fisher
This was a talk given at the second CT Software Developers Meetup (http://www.meetup.com/CT-Software-Developers-Meetup/). It covers how NorthPage is using Docker and Vagrant with a home grown Preview tool to increase the efficiency of the GitHub Pull Request Workflow.
Android development changed significantly in 2017 (Kotlin, Architecture Components and much more). Some of the most tricky and debatable questions now are: how to start a scalable project from scratch? How to decide which technology/library to use?
The HERE WeGo App team has worked for years to define a sophisticated release and development process, with a high level of automation that allowed to quickly followup on user issues and actively develop features. But legacy code and a large framework made it difficult to move even faster.
Lessons learned? We will discuss how to start over with all the learnings on a greenfield project.
Technologies that will be covered: Kotlin, Jenkins, JobDsl, Architecture Components, GraphQL, gRPC and more.
This describes the two-speed delivery issue of enterprise mobility. It explains the flow of delivery stages for IBM MobileFirst, to implement the DevOps.
This is part 1 (of 3 series). The coming part 2 & 3 will explain the DevOps for differnt mobile app patterns.
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...E. Camden Fisher
This was a talk given at the second CT Software Developers Meetup (http://www.meetup.com/CT-Software-Developers-Meetup/). It covers how NorthPage is using Docker and Vagrant with a home grown Preview tool to increase the efficiency of the GitHub Pull Request Workflow.
Android development changed significantly in 2017 (Kotlin, Architecture Components and much more). Some of the most tricky and debatable questions now are: how to start a scalable project from scratch? How to decide which technology/library to use?
The HERE WeGo App team has worked for years to define a sophisticated release and development process, with a high level of automation that allowed to quickly followup on user issues and actively develop features. But legacy code and a large framework made it difficult to move even faster.
Lessons learned? We will discuss how to start over with all the learnings on a greenfield project.
Technologies that will be covered: Kotlin, Jenkins, JobDsl, Architecture Components, GraphQL, gRPC and more.
This describes the two-speed delivery issue of enterprise mobility. It explains the flow of delivery stages for IBM MobileFirst, to implement the DevOps.
This is part 1 (of 3 series). The coming part 2 & 3 will explain the DevOps for differnt mobile app patterns.
this slide contains about basic introduction of java.it will be helpful for a java beginner. it also useful for java lecture course in your versity.programming with java is very essential for every student.this silde may help you to progress your skill & lernt abc about java.
DotNext 2017 in Moscow - Challenges of Managing CoreFX repo -- Karel ZikmundKarel Zikmund
DotNext 2017 conference in Moscow, RU - 2017/11/12
Talk: Challenges of Managing CoreFX repo by Karel Zikmund
http://2017.dotnext-moscow.ru/en/2017/msk/talks/5egbw8vnbkqmmg2skiaey2/
This presentation was delivered at Gluecon 2018 on 5/17/2018. In this talk, I dive into how manage Jenkins jobs and pipelines as code using the Groovy-based DSL supported by Jenkins.
One of my presentations in DevOps training session at Higgsup. This presentation is an introduction to Continuous Integration and best practices to apply Continuous Integration to your project.
Topics covered in this session are:
1. Prerequisites for Continuous Integration
2. Problems with traditional software integration
3. What is Continuous Integration?
4. Why Continuous Integration?
5. How does Continuous Integration works?
6. Best practices of Continuous Integration
7. Summary
Alm tce parallel development by Liya Kats and Miron Gopher from Tikal Knowledge given at Tikal TCE:
http://www.tikalk.com/tce-event-281210-revolution-application-lifecycle-management-krypton
Ad102 - Extreme Makeover -- LotusScript and Java Editor Editionddrschiw
Join us as we "reveal" the new LotusScript and Java editing capabilities in Lotus Designer 8.5.1. You'll learn how to leverage key features such as a class browser, automatic recompilation, code templates, content assist, hover help, hyperlinking and many other to make writing your LotusScript code a 'snap'.
Also, you'll learn how editing your Java libraries, agents, web service consumers, and web service providers in Lotus Domino Designer 8.5.1 can give your Java skills a wake up call!
AD112 -- Development and Deployment of Lotus Product Documentation Wikisddrschiw
Come learn how the IBM Lotus product documentation team developed and deployed live production wikis using the Lotus Domino XPages template available from OpenNTF.org. We'll tell the story of how we learned XPages ourselves, developed the template to allow IBMers and customers to contribute to product documentation, and deployed XPages wiki applications into a Lotus Domino Web production environment with 300,000 visitors a month!
Cross the boundaries with the upcoming XPages public API! You'll see how you can extend XPages by providing your own native controls, like a scrolling grid or outlines. You'll also see how to create your own data sources, secured REST services, simple actions, and IBM Lotus Sametime awareness rendering. See how you can increase your productivity -- and push your application to the highest standard.
Scaling AngularJS: Enterprise SOA on the MEAN Stack (Responsive Web & Mobile)Movel
AngularJS is a modular JavaScript front-end framework and when paired with a NodeJS/Express/Mongo backend can allow for powerful, new generation applications to be built with ease and elegance. However, there are pitfalls. In particular, its paramount to start with a project organization that will allow for growth and reusability, as the assets grow and new modules are added.
When enterprise applications are built, architectural complexity and team sizes grow and as a result testability and continuous improvement becomes even more critical.
In this presentation the speakers will address how to create solid foundations for your next MEAN stack project by starting with a proven folder structure and establish test patterns and continuous delivery pipelines for all environments.
Other topics will include:
• Assets and modules
• Common libraries in Angular and Node
• Continuous integration and testing
• Continuous delivery pipeline
• Unit and functional testing for Angular
• Deployment automation with Grunt and Gulp
• Scaling up MEAN apps with cloud providers such as Amazon and Heroku
• Securing Angular apps
• Upcoming changes in Angular 2.0
Learn from the experts how they built enterprise-grade systems to support thousands of transactions using the MEAN stack.
Setting up an ONAP development environment is not easy. Development tools and practices are not collected in a single place. This project pretends to collect and standardize that process.
One thing we do at Zend is provide consulting services to companies around the world, and many of those consulting engagements involve planning migrations from ZF1 to ZF2. Learn some techniques that we have found work quite well to help ease that migration effort and answer questions like "What are the low hanging fruit? How can I reuse ZF1 resources in a ZF2 application?" We shows the codez!
this slide contains about basic introduction of java.it will be helpful for a java beginner. it also useful for java lecture course in your versity.programming with java is very essential for every student.this silde may help you to progress your skill & lernt abc about java.
DotNext 2017 in Moscow - Challenges of Managing CoreFX repo -- Karel ZikmundKarel Zikmund
DotNext 2017 conference in Moscow, RU - 2017/11/12
Talk: Challenges of Managing CoreFX repo by Karel Zikmund
http://2017.dotnext-moscow.ru/en/2017/msk/talks/5egbw8vnbkqmmg2skiaey2/
This presentation was delivered at Gluecon 2018 on 5/17/2018. In this talk, I dive into how manage Jenkins jobs and pipelines as code using the Groovy-based DSL supported by Jenkins.
One of my presentations in DevOps training session at Higgsup. This presentation is an introduction to Continuous Integration and best practices to apply Continuous Integration to your project.
Topics covered in this session are:
1. Prerequisites for Continuous Integration
2. Problems with traditional software integration
3. What is Continuous Integration?
4. Why Continuous Integration?
5. How does Continuous Integration works?
6. Best practices of Continuous Integration
7. Summary
Alm tce parallel development by Liya Kats and Miron Gopher from Tikal Knowledge given at Tikal TCE:
http://www.tikalk.com/tce-event-281210-revolution-application-lifecycle-management-krypton
Ad102 - Extreme Makeover -- LotusScript and Java Editor Editionddrschiw
Join us as we "reveal" the new LotusScript and Java editing capabilities in Lotus Designer 8.5.1. You'll learn how to leverage key features such as a class browser, automatic recompilation, code templates, content assist, hover help, hyperlinking and many other to make writing your LotusScript code a 'snap'.
Also, you'll learn how editing your Java libraries, agents, web service consumers, and web service providers in Lotus Domino Designer 8.5.1 can give your Java skills a wake up call!
AD112 -- Development and Deployment of Lotus Product Documentation Wikisddrschiw
Come learn how the IBM Lotus product documentation team developed and deployed live production wikis using the Lotus Domino XPages template available from OpenNTF.org. We'll tell the story of how we learned XPages ourselves, developed the template to allow IBMers and customers to contribute to product documentation, and deployed XPages wiki applications into a Lotus Domino Web production environment with 300,000 visitors a month!
Cross the boundaries with the upcoming XPages public API! You'll see how you can extend XPages by providing your own native controls, like a scrolling grid or outlines. You'll also see how to create your own data sources, secured REST services, simple actions, and IBM Lotus Sametime awareness rendering. See how you can increase your productivity -- and push your application to the highest standard.
Scaling AngularJS: Enterprise SOA on the MEAN Stack (Responsive Web & Mobile)Movel
AngularJS is a modular JavaScript front-end framework and when paired with a NodeJS/Express/Mongo backend can allow for powerful, new generation applications to be built with ease and elegance. However, there are pitfalls. In particular, its paramount to start with a project organization that will allow for growth and reusability, as the assets grow and new modules are added.
When enterprise applications are built, architectural complexity and team sizes grow and as a result testability and continuous improvement becomes even more critical.
In this presentation the speakers will address how to create solid foundations for your next MEAN stack project by starting with a proven folder structure and establish test patterns and continuous delivery pipelines for all environments.
Other topics will include:
• Assets and modules
• Common libraries in Angular and Node
• Continuous integration and testing
• Continuous delivery pipeline
• Unit and functional testing for Angular
• Deployment automation with Grunt and Gulp
• Scaling up MEAN apps with cloud providers such as Amazon and Heroku
• Securing Angular apps
• Upcoming changes in Angular 2.0
Learn from the experts how they built enterprise-grade systems to support thousands of transactions using the MEAN stack.
Setting up an ONAP development environment is not easy. Development tools and practices are not collected in a single place. This project pretends to collect and standardize that process.
One thing we do at Zend is provide consulting services to companies around the world, and many of those consulting engagements involve planning migrations from ZF1 to ZF2. Learn some techniques that we have found work quite well to help ease that migration effort and answer questions like "What are the low hanging fruit? How can I reuse ZF1 resources in a ZF2 application?" We shows the codez!
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014Phil Leggetter
Developing large apps is difficult. Ensuring that code is consistent, well structured, tested and has an architecture that encourages enhancement and maintainability is essential. When it comes to building large server-focused apps the solutions to this problem have been tried and tested. But, how do you achieve this when building HTML5 single page apps?
BladeRunnerJS is an open source developer toolkit and lightweight front-end framework that has helped Caplin Systems ensure that a 200k LoC JavaScript codebase hasn’t become a tangled mess of unstable spaghetti code. This codebase is packaged and delivered to customers as an SDK. Additionally customers receive a getting started application of around 50k LoC for them to build upon, and they’re expected not to turn that into a tangled … you get the idea.
In this talk you’ll learn the main concepts to apply when building a front-end app that scales and how BladeRunnerJS can support the development process.
A Tail of Two Containers: How docker made ci great againKyle Rames
Codeship has been powered by containers from the very beginning. In this talk we will discuss our initial implementation using LXC, how we use it and the limitations that we have encountered. Using the lessons we learned from our first gen implementation, we’ll look at the evolution of our next generation Docker service. We’ll dive into how this implementation works and discover some of the benefits and challenges of using Docker for CI.
Fast and efficient software testing is easy with Docker. We often
use containers to maintain parity across development, testing, and production environments, but we can also use containerization to significantly reduce time needed for testing by spinning up multiple instances of fully isolated testing environments and executing tests in parallel. This strategy also helps you maximize the utilization of infrastructure resources. The enhanced toolset provided by Docker makes this process simple and unobtrusive, and you’ll see how Docker Engine, Registry, and Compose can work together to make your tests fast.
An Open Source Workbench for Prototyping Multimodal Interactions Based on Off...Jean Vanderdonckt
In this paper we present an extensible software workbench for supporting the effective and dynamic prototyping of multimodal interactive systems. We hypothesize the construction of such applications to be based on the assembly of several components, namely various and sometimes interchangeable modalities at the input, fusion-fission components, and also several modalities at the output. Successful realization of advanced interactions can benefit from early prototyping and the iterative implementation of design requires the easy integration, combination, replacement, or upgrade of components. We have designed and implemented a thin integration platform able to manage these key elements, and thus provide the research community a tool to bridge the gap of the current support for multimodal applications implementation. The platform is included within a workbench offering visual editors, non-intrusive tools, components and techniques to assemble various modalities provided in different implementation technologies, while keeping a high level of performance of the integrated system.
Build software like a bag of marbles, not a castle of LEGO®Hannes Lowette
If you have ever played with LEGO®, you will know that adding, removing or changing features of a completed castle isn’t as easy as it seems. You will have to deconstruct large parts to get to where you want to be, to build it all up again afterwards. Unfortunately, our software is often built the same way. Wouldn’t it be better if our software behaved like a bag of marbles? So you can just add, remove or replace them at will?
Most of us have taken different approaches to building software: a big monolith, a collection of services, a bus architecture, etc. But whatever your large scale architecture is, at the granular level (a single service or host), you will probably still end up with tightly couple code. Adding functionality means making changes to every layer, service or component involved. It gets even harder if you want to enable or disable features for certain deployments: you’ll need to wrap code in feature flags, write custom DB migration scripts, etc. There has to be a better way!
So what if you think of functionality as loose feature assemblies? We can construct our code in such a way that adding a feature is as simple as adding the assembly to your deployment, and removing it is done by just deleting the file. We would open the door for so many scenarios!
In this talk, I will explain how to tackle the following parts of your application to achieve this goal: WebAPI, Entity Framework, Onion Architecture, IoC and database migrations. And most of all, when you would want to do this. Because… ‘it depends’.
There's a large number of libraries available for Android but who has the time to try them all? In this lecture we'll show you a few libraries which we use on daily basis and explain how they can help you to get the job done faster.
https://www.youtube.com/watch?v=9yxj9bxQ9H4
Efficient Parallel Testing with Docker by Laura FrankDocker, Inc.
Fast and efficient software testing is easy with Docker. We often
use containers to maintain parity across development, testing, and production environments, but we can also use containerization to significantly reduce time needed for testing by spinning up multiple instances of fully isolated testing environments and executing tests in parallel. This strategy also helps you maximize the utilization of infrastructure resources. The enhanced toolset provided by Docker makes this process simple and unobtrusive, and you’ll see how Docker Engine, Registry, Machine, and Compose can work together to make your tests fast.
AngularJS - Architecture decisionsin a large project Elad Hirsch
Architecture Decisions in a large project (Elad Hirsch, Web team Leader @ IDI)
At this session we will take practical road - look into IDI Full-Stack architecture, dive around the spec and explore the challenges developing a large scale web project.
Developing a mobile cross-platform libraryKostis Dadamis
Here, I am including the experience I had while exploring solutions for developing a mobile cross-platform library, i.e. a single codebase that could be part of mobile apps running under different platforms. It covers my journey from mobile cross-platform developments tools (PhoneGap, Titanium, and the likes), code porting tools, and WebViews that weren't up to the task, to C++ and JavaScript engines that did work. There aren't many resources out there explaining how to approach this problem, so we thought it could be helpful if we shared this experience.
Every non-trivial GWT application requires integration with the server side. While GWT itself ships with the integration capabilities (i.e GWT RPC) it doesn't go beyond that. Developers have to decide how to build the backend to their GWT applications. While freedom of choice is a good thing, it doesn’t always lead to a good decision. In this session we’ll look at two options, JSR-299 [1] and JSR-311 [2], both part of the EE6 specification and see how they interplay with GWT. We'll discuss the use cases and justifications for each technology see how they are applied in practice by looking at some code examples.
[1] JSR-299: Java Contexts and Dependency Injection for the Java EE platform (CDI) is the new Java standard for dependency injection and contextual lifecycle management.
[2] JSR-311: A that specification defines a set of Java APIs for the development of Web services built according to the Representational State Transfer[1] (REST) architectural style.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
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.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Accelerate your Kubernetes clusters with Varnish Caching
GWT Jug Stuttgart
1. Best practices for structuring
large GWT applications
Heiko Braun <hbraun@redhat.com>
2. About me
• Heiko Braun
• Senior Software Engineer JBoss / Red Hat
• 4 years JBoss, 12 years industry
• Focus on SOA, BPM, GWT
• Contributor:
JBossWS, jBPM, Riftsaw, Errai, SAM, Savarra
3. Topics
• GWT in 5 minutes
• Decomposing a large GWT application
• Introducing Project Errai
6. Google Web Toolkit
• SDK: API, Compiler, Hosted Mode Browser
• Write AJAX apps in the Java language, then compile to
optimized JavaScript
• Edit Java code, then view changes immediately without
re-compiling
• Step through live AJAX code with your Java debugger
• Compile and deploy optimized, cross-browser
JavaScript
7. GWT Features
• Communicate with your server through really simple RPC
• Reuse UI components across projects
• Use other JavaScript libraries and native JavaScript code
• Localize applications
• Choice of development tools
• Test your code with JUnit
• Open Source
10. Challenge #1:Feature Set
• Different features per:
• Target runtime
• Development stage
• Project lifecycle
• Target audience
11. Solution #1:
Workspace plugins
• Determined at compile time
• Based on Maven dependency sets
• Using Deferred Binding
• Create and select a specific implementation
of a class
• Either using Replacement or Generators
13. Limitation #1:
Component interplay
• Each plugin component isolated
• No interplay possible
• It would introduce dependencies
• Grouping by functionality vs. usability
• Conceptual split not necessarily technical
split
14. Challenge #2:
Interplay w/o dependencies
• Model-View-Controller ?
• Less coupled, but still dependency
• Compile-time
(1) Model changed
(2) Update View
15. Solution #2: Pub/Sub
• Messaging through publish / subscribe
• Messaging API only shared dependency
• Notion of “presence”
(1) Publish messages
(2) Subscribe Listener
16. Limitation #2: Pub/Sub
• Decoupling through de-typed nature
• No compile-time checking
• Exchange protocol (contract) not “visible”
• Choreography validation?
17. Challenge #3:
Server side capabilities
• Backend capabilities may change as well
• Staging vs. production
• Different product versions
• Target runtime derivations
• Remember:
Compile-time linking
AJAX is pure client side technology
18. Solution #3: Bootstrap
• Bootstrap: “Give me a list of capabilities”
• Usually RPC call when app starts
• Problem: Fixed initialization point
• Lazy Components?
(1) Client UI starts, request server status
(2) PluginInfo (type, available)
19. Solution #3: Messaging w. Presence
• Presence: “Need a plumber. Please call XYZ”
• Relies on messaging bus behind the scenes
• Async, independent, durable
(1) Client: Seek capability
(2) Provider: Offer capability
21. Project Errai
• Consolidates JBoss GWT efforts
• Both R&D and actual product development
• Work in progress
• Best of breed spin-off as OSS
• Errai-Bus, Errai-Workspace, Errai,Widgets
• http://jboss.org/errai
22. Errai-Bus
• Backbone to application
design
• Common architecture
across client&server
• Enables federated
architecture
• Asynchronous messaging
(pub/sub)
• Conversational
• Both GWT and Javascript
API (OpenHub Spec)
23. Errai-Bus API:
Common to client & server
(1) Client: Publish (2) Server: Subscribe
• NOTE: Don’t confuse pub/sub roles with tiers
• Scenarios:
• client-client across server (chat server)
• client-client w/o server (inter component)
• client-server (client send)
• server-client (server push)
24. Errai-Workspaces
• UI environment for which to deploy your console
• Develop against a common workspace API
• Provides generic services
• Authentication & Authorization
• Logging & Exception handling
• Presence (aka Shoutbox)
• [...] (add your implementation here)
25. Workspaces API
• Evolution of the property based config
• Uses Deferred Binding as well
(1) Annotation driven (2) Automatic workspace assembly
27. Putting it all together
• Baseline and best
practices
• Free composition of
console components
• Different projects
provide management
tools
• Mix and match with
3rd party elements