In this advanced hands-on workshop you will work with a variety of debugging tools to troubleshoot client and server scripting. You'll learn how to add error handling and debugging assistance to your scripts. We will review some advanced scripting techniques including server-side script includes extending base classes and AJAX client requests. As we will not be covering basic scripting concepts in this session participants will require some understanding of JavaScript and scripting within ServiceNow.
NGINX, Istio, and the Move to Microservices and Service MeshNGINX, Inc.
On-demand recording: https://www.nginx.com/resources/webinars/istio-move-to-microservices-service-mesh/
About the webinar
NGINX is widely known, used, and trusted for a variety of purposes. NGINX works as a reliable, high-performance web server, reverse proxy server, and load balancer. NGINX is also a widely used microservices hub, an Ingress controller for Kubernetes, and a sidecar proxy in the Istio service mesh.
In this webinar, we’ll describe the move to microservices, the crucial role that NGINX has already played, and a range of architectural options that organizations have for their microservices apps, including three progressively complex models in the NGINX Microservices Reference Architecture. We’ll then introduce the emergence of Kubernetes as a container orchestration framework, the use of service mesh architectures, and the design of Istio. We’ll finish by showing how NGINX Open Source and NGINX Plus can be used as the sidecar proxy in an Istio service mesh, bringing greater reliability and capability to your service mesh application.
Intelligent, Automatic Restarts for Unhealthy Kafka Consumers on Kubernetes w...HostedbyConfluent
At Cloudflare we are big Kafka adopters and we run Kafka at a massive scale. We deploy our microservices leveraging Kafka on Kubernetes and we have have some interesting experience on how to keep the latter operational to avoid downtime. To do so, we implemented our own Intelligent Smart Health checks for microservices leveraging Kafka. This has allowed our services to be much more self-healing, meaning there is much less manual intervention required. Before we used to get paged when applications got stuck and this also led to different incidents that were also customer impacting. We've implemented this in go, using the Shopify/sarama package but the same concepts can be adopted in different programming languages.
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesSlideTeam
Get these visually appealing Kubernetes Concepts And Architecture PowerPoint Presentation Slides to discuss the process of operating containerized applications. You can display the need for containers by the company with the help of an open-source architecture PPT slideshow. The architecture of containers can be demonstrated with the help of a visually appealing PPT slideshow. The reasons for opting for Kubernetes by an organization can be explained to your teammates with the help of containers PowerPoint infographics. Highlight the roadmap for installing Kubernetes in the organization by using content-ready PPT slides. Take the assistance of visually appealing PPT templates to depict the major advantages of Kubernetes such as improving productivity, the stability of application run, and many more. After that, display 30 60 90 days plan to implement Kubernetes in the organization. Display the key components of Kubernetes with the help of a diagram using this professionally designed cluster architecture PPT layouts. Describe the functionality of each components of Kubernetes. Hence, download Kubernetes architecture PPT slides to easily and efficiently manage the clusters. https://bit.ly/34DWa7x
Bridge to Cloud: Using Apache Kafka to Migrate to AWSconfluent
Watch this talk here: https://www.confluent.io/online-talks/bridge-to-cloud-apache-kafka-migrate-aws
Speakers: Priya Shivakumar, Director of Product, Confluent + Konstantine Karantasis, Software Engineer, Confluent + Rohit Pujari, Partner Solutions Architect, AWS
Most companies start their cloud journey with a new use case, or a new application. Sometimes these applications can run independently in the cloud, but often times they need data from the on premises datacenter. Existing applications will slowly migrate, but will need a strategy and the technology to enable a multi-year migration.
In this session, we will share how companies around the world are using Confluent Cloud, a fully managed Apache Kafka service, to migrate to AWS. By implementing a central-pipeline architecture using Apache Kafka to sync on-prem and cloud deployments, companies can accelerate migration times and reduce costs.
In this online talk we will cover:
•How to take the first step in migrating to AWS
•How to reliably sync your on premises applications using a persistent bridge to cloud
•Learn how Confluent Cloud can make this daunting task simple, reliable and performant
•See a demo of the hybrid-cloud and multi-region deployment of Apache Kafka
NGINX, Istio, and the Move to Microservices and Service MeshNGINX, Inc.
On-demand recording: https://www.nginx.com/resources/webinars/istio-move-to-microservices-service-mesh/
About the webinar
NGINX is widely known, used, and trusted for a variety of purposes. NGINX works as a reliable, high-performance web server, reverse proxy server, and load balancer. NGINX is also a widely used microservices hub, an Ingress controller for Kubernetes, and a sidecar proxy in the Istio service mesh.
In this webinar, we’ll describe the move to microservices, the crucial role that NGINX has already played, and a range of architectural options that organizations have for their microservices apps, including three progressively complex models in the NGINX Microservices Reference Architecture. We’ll then introduce the emergence of Kubernetes as a container orchestration framework, the use of service mesh architectures, and the design of Istio. We’ll finish by showing how NGINX Open Source and NGINX Plus can be used as the sidecar proxy in an Istio service mesh, bringing greater reliability and capability to your service mesh application.
Intelligent, Automatic Restarts for Unhealthy Kafka Consumers on Kubernetes w...HostedbyConfluent
At Cloudflare we are big Kafka adopters and we run Kafka at a massive scale. We deploy our microservices leveraging Kafka on Kubernetes and we have have some interesting experience on how to keep the latter operational to avoid downtime. To do so, we implemented our own Intelligent Smart Health checks for microservices leveraging Kafka. This has allowed our services to be much more self-healing, meaning there is much less manual intervention required. Before we used to get paged when applications got stuck and this also led to different incidents that were also customer impacting. We've implemented this in go, using the Shopify/sarama package but the same concepts can be adopted in different programming languages.
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesSlideTeam
Get these visually appealing Kubernetes Concepts And Architecture PowerPoint Presentation Slides to discuss the process of operating containerized applications. You can display the need for containers by the company with the help of an open-source architecture PPT slideshow. The architecture of containers can be demonstrated with the help of a visually appealing PPT slideshow. The reasons for opting for Kubernetes by an organization can be explained to your teammates with the help of containers PowerPoint infographics. Highlight the roadmap for installing Kubernetes in the organization by using content-ready PPT slides. Take the assistance of visually appealing PPT templates to depict the major advantages of Kubernetes such as improving productivity, the stability of application run, and many more. After that, display 30 60 90 days plan to implement Kubernetes in the organization. Display the key components of Kubernetes with the help of a diagram using this professionally designed cluster architecture PPT layouts. Describe the functionality of each components of Kubernetes. Hence, download Kubernetes architecture PPT slides to easily and efficiently manage the clusters. https://bit.ly/34DWa7x
Bridge to Cloud: Using Apache Kafka to Migrate to AWSconfluent
Watch this talk here: https://www.confluent.io/online-talks/bridge-to-cloud-apache-kafka-migrate-aws
Speakers: Priya Shivakumar, Director of Product, Confluent + Konstantine Karantasis, Software Engineer, Confluent + Rohit Pujari, Partner Solutions Architect, AWS
Most companies start their cloud journey with a new use case, or a new application. Sometimes these applications can run independently in the cloud, but often times they need data from the on premises datacenter. Existing applications will slowly migrate, but will need a strategy and the technology to enable a multi-year migration.
In this session, we will share how companies around the world are using Confluent Cloud, a fully managed Apache Kafka service, to migrate to AWS. By implementing a central-pipeline architecture using Apache Kafka to sync on-prem and cloud deployments, companies can accelerate migration times and reduce costs.
In this online talk we will cover:
•How to take the first step in migrating to AWS
•How to reliably sync your on premises applications using a persistent bridge to cloud
•Learn how Confluent Cloud can make this daunting task simple, reliable and performant
•See a demo of the hybrid-cloud and multi-region deployment of Apache Kafka
High Availability Infrastructure for Cloud ComputingBob Rhubart
Infrastructure high availability is extremely critical to Cloud Computing. In a Cloud system that hosts a large number of databases and applications with different SLAs, any unplanned outage can be devastating, and even a small planned downtime may be unacceptable. This presentation will discuss various technology solutions and related best practices that system architects should consider in cloud infrastructure design to ensure high availability.
IBM MQ: Managing Workloads, Scaling and Availability with MQ ClustersDavid Ware
MQ Clustering can be used to solve many problems, from simplified administration and workload management in an MQ network, to horizontal scalability and continuous availability of messaging applications. This session will show the full range of uses of MQ Clusters to solve real problems, highlighting the underlying technology being used. A basic understanding of IBM MQ clustering would be beneficial.
Network Management Fundamentals - Back to the BasicsSolarWinds
Let's get Back to the Basics of Network Management. In this slideshare, we will walk you through the Fundamental Protocols of Network Management, Windows Management Protocols, Flow Based Protocols, Cisco IP Service Level Agreements and the Network Management Framework.
Ten reasons to choose Apache Pulsar over Apache Kafka for Event Sourcing_Robe...StreamNative
More and more developer want to build cloud-native distributed application or microservices by making use of high performing, cloud-agnostic messaging technology for maximum decoupling. The only thing we do not want is the hassle of managing the complex message infrasturcture needed for the job, or the risk of getting into a vendor lock-in. Generally developers know Apache Kafka, but for event sourcing or the CQRS pattern Kafka is not really suitable. In this talk I will give you at least ten reasons why to choose Pulsar over Kafka for event sourcing and data consensus.
Basics of Kafka and IBM Cloud Event Streams. Includes all the major topics of Kafka, like Brokers, Clusters, Topics, Partitions, Producers, Consumers, Streams, and Connectors. What Event Stream offers more than just Kafka. Some difference between Kafka and IBM MQ.
2 hour session where I cover what is Apache Camel, latest news on the upcoming Camel v3, and then the main topic of the talk is the new Camel K sub-project for running integrations natively on the cloud with kubernetes. The last part of the talk is about running Camel with GraalVM / Quarkus to archive native compiled binaries that has impressive startup and footprint.
OpenStack 운영을 통해 얻은 교훈을 공유합니다.
목차
1. TOAST 클라우드 지금의 모습
2. OpenStack 선택의 이유
3. 구성의 어려움과 극복 사례
4. 활용 사례
5. 풀어야 할 문제들
대상
- TOAST 클라우드를 사용하고 싶은 분
- WMI를 처음 들어보시는 분
Virtualization vulnerabilities, security issues, and solutions:
Virtualization is technological revolution that
separates functions from underlying hardware and allows
us to create useful environment from abstract resources.
Virtualization technology has been targeted by attackers
for malicious activity. Attackers could compromise VM
infrastructures, allowing them to access other VMs on the
same system and even the host.
This presentation emphasize on
the assessment of virtualization specific vulnerabilities,
security issues and possible solutions.
By-Nitish Awasthi
B.Tech.CTIS
Invertis University Bareilly
Agenda:
What is BPM?
BPM Benefits and Usage Fields
Camunda BPM Engine
Business Process Model and Notation
BPMN 2.0 Elements
What is Camunda?
Technical Architecture
Why Camunda
Demo
Unique course notes for the Certified Kubernetes Administrator (CKA) for each section of the exam. Designed to be engaging and used as a reference in the future for kubernetes concepts.
Hpe Data Protector troubleshooting guideAndrey Karpov
How to troubleshoot
To solve problems quickly and efficiently:
1.Make yourself familiar with the general troubleshooting information.
2.Check if your problem is described in the HPE Data Protector Help file or the troubleshooting sections of applicable guides:
To troubleshoot installation and upgrade, see the HPE Data Protector Installation Guide.
To troubleshoot application integration sessions, see the HPE Data Protector Integration Guide.
To troubleshoot zero downtime backup and instant recovery, see the HPE Data Protector Zero Downtime Backup Administrator's Guide and HPE Data Protector Zero Downtime Backup Integration Guide.
To troubleshoot disaster recovery, see the HPE Data Protector Disaster Recovery Guide.
ServiceNow is the enterprise IT cloud company. We transform IT by automating and managing IT service relationships across the global enterprise. Organizations deploy our service to create a single system of record for IT and automate manual tasks, standardize processes, and consolidate legacy systems. Using our extensible platform, our customers create custom applications and evolve the IT service model to service domains inside and outside the enterprise.
High Availability Infrastructure for Cloud ComputingBob Rhubart
Infrastructure high availability is extremely critical to Cloud Computing. In a Cloud system that hosts a large number of databases and applications with different SLAs, any unplanned outage can be devastating, and even a small planned downtime may be unacceptable. This presentation will discuss various technology solutions and related best practices that system architects should consider in cloud infrastructure design to ensure high availability.
IBM MQ: Managing Workloads, Scaling and Availability with MQ ClustersDavid Ware
MQ Clustering can be used to solve many problems, from simplified administration and workload management in an MQ network, to horizontal scalability and continuous availability of messaging applications. This session will show the full range of uses of MQ Clusters to solve real problems, highlighting the underlying technology being used. A basic understanding of IBM MQ clustering would be beneficial.
Network Management Fundamentals - Back to the BasicsSolarWinds
Let's get Back to the Basics of Network Management. In this slideshare, we will walk you through the Fundamental Protocols of Network Management, Windows Management Protocols, Flow Based Protocols, Cisco IP Service Level Agreements and the Network Management Framework.
Ten reasons to choose Apache Pulsar over Apache Kafka for Event Sourcing_Robe...StreamNative
More and more developer want to build cloud-native distributed application or microservices by making use of high performing, cloud-agnostic messaging technology for maximum decoupling. The only thing we do not want is the hassle of managing the complex message infrasturcture needed for the job, or the risk of getting into a vendor lock-in. Generally developers know Apache Kafka, but for event sourcing or the CQRS pattern Kafka is not really suitable. In this talk I will give you at least ten reasons why to choose Pulsar over Kafka for event sourcing and data consensus.
Basics of Kafka and IBM Cloud Event Streams. Includes all the major topics of Kafka, like Brokers, Clusters, Topics, Partitions, Producers, Consumers, Streams, and Connectors. What Event Stream offers more than just Kafka. Some difference between Kafka and IBM MQ.
2 hour session where I cover what is Apache Camel, latest news on the upcoming Camel v3, and then the main topic of the talk is the new Camel K sub-project for running integrations natively on the cloud with kubernetes. The last part of the talk is about running Camel with GraalVM / Quarkus to archive native compiled binaries that has impressive startup and footprint.
OpenStack 운영을 통해 얻은 교훈을 공유합니다.
목차
1. TOAST 클라우드 지금의 모습
2. OpenStack 선택의 이유
3. 구성의 어려움과 극복 사례
4. 활용 사례
5. 풀어야 할 문제들
대상
- TOAST 클라우드를 사용하고 싶은 분
- WMI를 처음 들어보시는 분
Virtualization vulnerabilities, security issues, and solutions:
Virtualization is technological revolution that
separates functions from underlying hardware and allows
us to create useful environment from abstract resources.
Virtualization technology has been targeted by attackers
for malicious activity. Attackers could compromise VM
infrastructures, allowing them to access other VMs on the
same system and even the host.
This presentation emphasize on
the assessment of virtualization specific vulnerabilities,
security issues and possible solutions.
By-Nitish Awasthi
B.Tech.CTIS
Invertis University Bareilly
Agenda:
What is BPM?
BPM Benefits and Usage Fields
Camunda BPM Engine
Business Process Model and Notation
BPMN 2.0 Elements
What is Camunda?
Technical Architecture
Why Camunda
Demo
Unique course notes for the Certified Kubernetes Administrator (CKA) for each section of the exam. Designed to be engaging and used as a reference in the future for kubernetes concepts.
Hpe Data Protector troubleshooting guideAndrey Karpov
How to troubleshoot
To solve problems quickly and efficiently:
1.Make yourself familiar with the general troubleshooting information.
2.Check if your problem is described in the HPE Data Protector Help file or the troubleshooting sections of applicable guides:
To troubleshoot installation and upgrade, see the HPE Data Protector Installation Guide.
To troubleshoot application integration sessions, see the HPE Data Protector Integration Guide.
To troubleshoot zero downtime backup and instant recovery, see the HPE Data Protector Zero Downtime Backup Administrator's Guide and HPE Data Protector Zero Downtime Backup Integration Guide.
To troubleshoot disaster recovery, see the HPE Data Protector Disaster Recovery Guide.
ServiceNow is the enterprise IT cloud company. We transform IT by automating and managing IT service relationships across the global enterprise. Organizations deploy our service to create a single system of record for IT and automate manual tasks, standardize processes, and consolidate legacy systems. Using our extensible platform, our customers create custom applications and evolve the IT service model to service domains inside and outside the enterprise.
Roadmap 101 of the ServiceNow business platformSheetal Kale
*Do you want to improve workflow efficiency across departments in your organization?
*Do you want to prevent service outages and maximize operational agility?
*Do you want your IT resources to focus on business goals?
Know how ServiceNow is changing the way people work! Learn more on how @ServiceNow is redefining traditional cloud architecture and understand the tangible cost benefits your organization begets with this single window, automated enterprise platform. This is your ROADMAP 101 to ServiceNow.
Difference between data warehouse and data miningmaxonlinetr
What exactly is a Data Warehouse?
Termed as a special type of database, a Data Warehouse is used for storing large amounts of data, such as analytics, historical, or customer data, which can be leveraged to build large reports and also ensure data mining against it.@ http://maxonlinetraining.com/why-is-data-warehousing-online-training-important/
What is Data mining?
The process of extracting valid, previously unknown, comprehensible and actionable information from large databases and using it to make crucial business decisions’
Call us at For any queries, please contact:
+1 940 440 8084 / +91 953 383 7156 TODAY to join our Online IT Training course & find out how Max Online Training.com can help you embark on an exciting and lucrative IT career.
TODAY to join our Online IT Training course & find out how Max Online Training.com can help you embark on an exciting and lucrative IT career.
Visit www.maxonlinetraining.com
For Complete Course Overview and to a book @https://goo.gl/QbTVal
How to Become a Thought Leader in Your NicheLeslie Samuel
Are bloggers thought leaders? Here are some tips on how you can become one. Provide great value, put awesome content out there on a regular basis, and help others.
Salesforce is built on the Lightning Platform. This session will provide you with the same training that Salesforce engineers receive during on-boarding. We are bringing this training to you in a two part series. Part 1 will provide detailed information about Component Definition including component-based architecture, component structure, component implementation and key components.
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...gree_tech
This material is presented on CUFP 2013.
Functional programming is already an established technology is many areas. However, the lack of skilled developers has been a challenging hurdle in the adoption of such languages. It is easy for an inexperienced programmer to fall into the many traps of functional programming, resulting in a loss of productivity and bad software quality. Resource leaks caused by Haskell's lazy evaluation, for instance, are only the tip of the iceberg. Knowledge sharing and a mature tool-assisted development process are ways to avoid such pitfalls. At GREE, one of the largest mobile gaming companies, we use Haskell and Scala to develop major components of our platform, such as a distributed NoSQL solution, or an image storage infrastructure. However, only 11 programmers use functional programming on their daily task. In this talk, we will describe some unexpected functional programming issues we ran into, how we solved them and how we hope to avoid them in the future. We have developed a system testing framework to enhance regression testing, spent lots of time documenting pitfalls and introduced technical reviews. Recently, we even started holding lunchtime presentations about functional programming in order to attract beginners and prevent them from falling into the same traps.
This module is about start using jBPM5 and the things that you need to know in order to understand the basic concepts about how it works. During this module you can download and play with a sample project that define a simple business process with some business rules. This module provides different tests that shows how to interact with our processes in different ways and how to test the behavior unit testing them. For more information check out: http://salaboy.wordpress.com/
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.
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
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.
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.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
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.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
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.
1. Advanced Scripting &
Debugging Lab
John Roberts Jerrod Bennett
Application Developer Senior Technical Consultant
ServiceNow ServiceNow
2. Lab Agenda
• Overview
• Scripting & Debugging Concepts
• Debugging Tools
• Client and Server Debugging Examples
• Extending Script Includes
• AJAX Debugging
• Basic Jelly Debugging
• Display Business Rules
3. Overview
• Disclaimer
• Advanced topics and quick pace
• Assumes some scripting experience and knowledge of
Service-now.com concepts
• Objectives
• Improve scripting and troubleshooting abilities
• Learn some new tricks
5. Scripting Concepts (quick review)
• Case SenSitiviTy
• All commands, functions, variables, …
• Variable Scope
• Session global – risk of duplication
• Classes – limited to class
• Function – limited to function, best protection
var
myName
=
“john”;
func4on
doThis()
{
var
myName
=
“roberts”;
}
6. Scripting Concepts (quick review)
• Reference vs Value values
• Reference var myId = gr.sys_id;
• myId will change as gr changes
• Value var myId = gr.sys_id.toString();
• myId will only change if explicitly changed
11. Exercise 1 – Debug Business Rule
• Scenario: business rule adds comments when incident state changes
to closed
• Problem: no comments are being added
• Business rule: k11 Exercise 1 – Incident Close Comment
12. Exercise 1 – Debug Business Rule
• Try it
– Open an existing incident
– Set incident state to Closed
– Using header context menu, save the record
• Result
– No comment or info message
• Troubleshooting
– Did the rule execute
13. Exercise 1 – Debug Business Rule
• Identifying whether a business rule was executed
• Run the Debug Business Rules module to enable business rule
debugging
– Just the Debug Business Rule, no jumping ahead to (Details) yet
• Open another existing incident and set incident state to closed,
save
• Scroll down to see debug output and notice the following
Skipping 'k11 Exercise 1 - Incident Close Comment' on table incident; condition not satisfied:
current.incident_state.changesTo("Closed")
• From the debug output click on the business rule name to open it
14. Exercise 1 – Debug Business Rule
• For some reason our condition is not being satisfied
– current.incident_state.changesTo("Closed")
• Let’s remove the condition and find out what the field value is
changing to
– Delete the condition so the rule will execute
– Comment out the comment set statement so it doesn’t run on all incidents
– Add some debugging statements
//add comment when closing
//current.comments = "Closed by " + gs.getUserName() + " at " + gs.nowDateTime();
//gs.addInfoMessage("Close comment added");
// Debug info
gs.addInfoMessage("(InfoMessage) Incident state = " + current.incident_state); //output to app
gs.log("(Log) Incident state = " + current.incident_state); //output to system log
gs.print("(debug print) Incident state = " + current.incident_state); //output to debug console
15. Exercise 1 – Debug Business Rule
• Open another existing incident and set incident state to closed,
save
• Scroll down to see debug output and notice the following
3:50:23.714: ==> 'k11 Exercise 1 - Incident Close Comment' on table incident
13:50:23.718: : (Log) Incident state = 7
13:50:23.718: : (debug print) Incident state = 7
13:50:23.719: <== 'k11 Exercise 1 - Incident Close Comment' on table incident
• Looks like we had the wrong condition value for closed incident state
• Now we can correct the condition and un-comment the business
rule
16. Exercise 1 – Debug Business Rule
• Perform one more test to verify
• If we suspected the field value was wrong we could have taken a
shortcut
– From a closed incident form, use the header context menu Show XML to display
all fields and values
18. Exercise 2 – Business Rule Changes
• Scenario: whenever we create a hardware incident the priority is set
to 1, we suspect it might be a business rule
• Try it
– Create a new incident and set category to Hardware
– Save the incident, and notice the priority value has changed to 1
• Debugging
– Enable the Debug Business Rule (Details) to add detail to the debug output
– Create another hardware incident, save
– View debug output
==> 'k11 Exercise 2 - Incident Priority Change' on table incident
priority: 4 => 1
<== 'k11 Exercise 2 - Incident Priority Change' on table incident
– Looks like we found the rule changing the priority value
20. Exercise 3 – Error Handling
• Scenario: simple business rule should add message when saving a
software incident
• Problem: we are only getting one of the three messages we expect
• Try it
– Create a incident with software category
– Add a short description and save
– Notice we are getting one message at the top of the form
21. Exercise 3 – Error Handling
• Following the javascript processor line by line
• Run the JS Debug Activate module to enable the Rhino debugger
• Create another software incident and view the debug output
• Search the page for “Exercise 3” to find the related script processing
==> 'k11 Exercise 3 - Display Info' on table incident
evaluate://output current number gs.addInfoMessage("Current number: " + current.number); //output current
short_description gs.addInfoMessage("Current Short Description: " + currrent.short_description); //output
current category gs.addInfoMessage("Current Category: " + current.category);
>>> line(2) gs.addInfoMessage("Current number: " + current.number);
>>> line(5) gs.addInfoMessage("Current Short Description: " + currrent.short_description);
<== 'k11 Exercise 3 - Display Info' on table incident
• Notice we don’t process after line 5, now we need to find out why
• First disable the rhino debugger by running the Disable All module
– Rhino debugger can interfere or suppress error output
22. Exercise 3 – Error Handling
• Enable both Debug Business Rule and Debug Log modules
• Create another software incident and view the debug output
• Notice that we have a script exception because we have an extra “r”
in current
==> 'k11 Exercise 3 - Display Info' on table incident
Evaluator: org.mozilla.javascript.EcmaError: "currrent" is not defined. Caused by error in Business Rule: 'k11
Exercise 3 - Display Info' at line 5 2: gs.addInfoMessage("Current number: " + current.number); 3: 4: //output
current short_description ==> 5: gs.addInfoMessage("Current Short Description: " +
currrent.short_description); 6: 7: //output current category 8: gs.addInfoMessage("Current Category: " +
current.category);
<== 'k11 Exercise 3 - Display Info' on table incident
• Now let’s see how try … catch block can help us
• From the debug output click on the business rule to open it
23. Exercise 3 – Error Handling
• Add a try catch block around our statements and save the business
rule
try {
//output current number
gs.addInfoMessage("Current number: " + current.number);
//output current short_description
gs.addInfoMessage("Current Short Description: " + currrent.short_description);
//output current category
gs.addInfoMessage("Current Category: " + current.category);
}
catch(err) {
//catch only runs on exception in try block
//err object is passed from the try handler and includes
gs.log("Error in k11 Exercise 3 business rule: " + err);
}
24. Exercise 3 – Error Handling
• Create one more software incident and see how the catch
statement provides information
==> 'k11 Exercise 3 - Display Info' on table incident
: : Error in k11 Exercise 3 business rule: ReferenceError: "currrent" is not defined.
<== 'k11 Exercise 3 - Display Info' on table incident
• Unhandled errors can prevent script functionality and even other
scripts from running
• Catch statements guarantee that you control what happens when an
error occurs, especially important if you need to clean up or revert
something
26. Exercise 4 – Client Script
• Scenario: incident table has an on-change client script for category
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue == '')
return;
if (newValue == "request") {
g_form.setValue("urgency", 3);
jslog("k11 Exercise 5 Request Category client script: Setting urgency to low
for requests");
}
}
• Try it
– Let’s review options for client-side debug output
– Enable client javascript debugger console by clicking the green bug in the top
banner
– Create a new incident, change category to request
– Script will log to debug console and change urgency to low
– Review debug console
27. Exercise 4 – Client Script
• Using browser debuggers (Firebug)
• From a new incident form, open Firebug and make sure it’s active
• Go to the script tab and search for g_form.setValue("urgency”,
so we can locate our script
• Set a break point by clicking in the gray area left of the line numbers
28. Exercise 4 – Client Script
• Change the category to request to execute the script again
• Firebug breakpoints can be funny at times, refresh the form script
does not stop at breakpoint
• Review all the information available during the break
• You can also step through code using the yellow arrows
30. Exercise 5 – Javascript Executor
• Scenario: it would be nice to have a fast way to test client scripts
without actually creating them first
• Solution: Javascript executor has access to the same client
environment as client scripts
• Try it:
– From a change request form, press <Shift><Ctrl><Alt><j> to launch the
javascript executor
– See that the description field is mandatory, let’s test a script to change that
– g_form.setMandatory("description", false);
– Click Run My Code button
– Notice the mandatory flag has been removed, let’s add it back and add a short
description
– g_form.setMandatory("description", true);
– g_form.setValue(“short_description”, “Testing”);
31. Exercise 5 – Javascript Executor
• Now for a cool admin trick
• Close the executor and verify that you cannot save the form with a
blank description field
• Re-open the executor and run
– g_form.checkMandatory = false;
– Run My Code
• Close executor
• Try to save the form again with a blank description
• You just temporarily bypassed the mandatory check on the form
• Use it wisely and keep it a secret
33. Exercise 6 – Background Scripts
• Scenario: admin needs a way to test server side scripts or perform
some maintenance that requires a script
• Solution: background scripts are the server side version of Javascript
executor
• Warning: this can really be dangerous, and even crash an entire
instance if you get something wrong
34. Exercise 6 – Background Scripts
• Try it
– Let’s build a script to disable some users
– Launch the background script module
– Enter the following script
35. Exercise 6 – Background Scripts
• Notice that we have commented out the update line
• It’s always best to see the possible results before you actually do
anything
• Run the script to see the results
• If this is a script you need frequently you can also save it to the
server
• Upload a script file with “.js” extension using the file upload
module
• It will be available in the customer scripts for future reference and
execution
• To be safe you can leave the function call commented when you
upload so you purposely have to view and change it before it
does anything harmful
37. Exercise 7 – Extending Script Includes
• Scenario: I like the functionality provided by the TableUtils script
include but want to change it a bit
• The getTables method in TableUtils class returns the parent list of
table hierarchy, but it returns it in a java array list not an array
• For example you can’t enumerate a java array list like you would with
a Javascript array
//enumerate java array list
for (var i=0; i < tables.size(); i++) {
gs.print(tables.get(i));
}
//enumerate javascript array
for (var i=0; i < tableArray.length; i++) {
gs.print(tableArray[i]);
}
38. Exercise 7 – Extending Script Includes
• Try it
– From background scripts get the tables hierarchy for cmdb_ci_win_server
var util = new TableUtils("cmdb_ci_server");
//getTables returns a java array list object, not array
var tables = util.getTables();
gs.print("Java list: " + tables); ***
Script:
Java
list:
[cmdb_ci_server,
//what is the tables object cmdb_ci_computer,
cmdb_ci_hardware,
JSUtil.logObject(tables, "tables"); cmdb_ci]
***
Script:
Log
Object:
tables
Java
Object:
com.glide.u@l.ImmutableArrayList
//enumerate java array list ***
Script:
cmdb_ci_server
for (var i=0; i < tables.size(); i++) { ***
Script:
cmdb_ci_computer
gs.print(tables.get(i)); ***
Script:
cmdb_ci_hardware
} ***
Script:
cmdb_ci
– We could convert the array list to an array whenever we need it but it would be
nice to change the getTables method to return an array
– Modifying an out-of-box script include is never recommended
39. Exercise 7 – Extending Script Includes
• Try it
– Let’s first look at the TableUtils script include
initialize: function(tableName){
this.tableName = tableName;
},,
getTables: function(){
var tables = Packages.com.glide.db.DBObjectManager.get().getTables(this.tableName);
return tables;
},
• There’s another script include we can use to convert java objects to
javascript, that’s “j2js”
40. Exercise 7 – Extending Script Includes
• Since we don’t want to modify the system script include we’ll create our
own. We could make a full copy but that would be a waste, when we
can extend the class and leverage everything that’s already in place.
• Create a new script include for the MyTableUtils class
– Extending can add to or replace methods from the parent class
var MyTableUtils = Class.create();
MyTableUtils.prototype = Object.extendsObject(TableUtils, {
getTablesArray: function() {
var tables = this.getTables();
return j2js(tables);
},
type: "MyTableUtils"
});
• Save the record so we can test it
41. Exercise 7 – Extending Script Includes
• Return to background scripts and call the new class
var util = new MyTableUtils("cmdb_ci_server");
//call our new method
var tables = util.getTables();
gs.print("Java list: " + tables);
JSUtil.logObject(tables, "tables");
gs.print("");
var tablesArray = util.getTablesArray();
gs.print(tablesArray);
JSUtil.logObject(tablesArray, "tablesArray");
//what is util object
JSUtil.logObject(util, "util");
• Notice that we didn’t need an initialize of getTables method in our class,
we inherited those from the parent (“this”) object
43. Exercise 8 – AJAX
• Scenario: Use AJAX to lookup the number of available development
laptops when someone attempts to request one through the catalog
• Components
– Catalog client script to submit AJAX request to server
– AJAX processor script include to perform the check and return the result to client
– Catalog client script to process the AJAX response and inform the user
• Try it
– Go to the catalog and load the Development Laptop item
– Script runs on load to check inventory and alerts user with status from server
44. Exercise 8 – AJAX
• Review scripts
– Review catalog client script “k11 Capacity Check”
– Review script include “k11 CatalogCapacityCheck”
• Debugging options
– Log statements in script include
– Firebug to inspect payload to/from server
– Manual client script testing from javascript executor
45. Exercise 8 – AJAX
• Try it
– From the development laptop catalog item page start the javascript executor
<Shift><Ctrl><Alt><j>
– Run the following script to make an AJAX request
var gajax = new GlideAjax("CapacityCheckAjax");
gajax.addParam("sysparm_name", "checkDevCapacity");
gajax.getXML(ajaxResponse);
function ajaxResponse(serverResponse) {
alert(serverResponse.responseText);
}
47. Exercise 9 – Jelly
• Scenario: In a jelly script such as a UI Page, I would like to know
which jelly variables are available and what the values are
• Options
– For known variables you can write values to HTML output
– Use breakpoint tag to view all available variables in a given phase
• Jelly in 30 seconds
– XML files executed on server and output as HTML to client
– Evaluated in two phases, {phase 1} is cached (content), [phase 2] for data
– Nested structures with variables typically being passed down (UI Page calls a UI
Macro)
48. Exercise 9 – Jelly
• Try it
– Review UI page “k11_test”
– Notice the j:set and j2:set lines setting values for jvar_p1_test and jvar_p2_test
– Review UI macro “k11_macro_test” called from the UI page
– Notice the references to the variables defined in the j:set and j2:set lines in the
UI page
– Enable Debug Log so we can view of out of the macro breakpoints
– Navigate browser to /k11_test.do
– Examine the debug information
– Notice how our jvar_p1_test and jvar_p2_test only have value in their respective
phases
50. Exercise 10 – Display Business Rules
• Scenario: a client script needs to access data from a field that is not
displayed on the form
• Options
– Add the field to the form view and hide it using a UI policy
– Use a client GlideRecord query using AJAX
– Use a display business rule to preload an object that is passed to the client
• Display business rules are processed on the server before the record
data is passed to the client
• The “g_scratchpad” object is available for setting values in the rule
and getting values on the client
• Display rules can also change field data, similar to calculated fields
since they display the new value but it’s not written to the database
until you save the record
51. Exercise 10 – Display Business Rules
• Review business rule “k11 Exercise 10 Send data to the client”
on the problem table
//get the record sys_created_by value and add to the client scratchpad
g_scratchpad.created_by = current.sys_created_by;
//calculate the age of this record
var age = gs.dateDiff(current.sys_created_on, gs.nowDateTime(), true);
var daysOld = Math.round(age / 3600 / 24);
g_scratchpad.days_old = daysOld;
• Review the client script “k11 Exercise 10 - notify on old
problems” on problem table
function onLoad() {
//get data from display rule scratchpad
var createdBy = g_scratchpad.created_by;
var daysOld = g_scratchpad.days_old;
if (parseInt(daysOld) > 30) {
alert("This is an old record created by " + createdBy);
}
}
52. Exercise 10 – Display Business Rules
• Try it
– Open the list of problems and find one that was created more than 30 days ago
– Notice the alert from the client script