This document summarizes a presentation on processing background tasks on IBM Domino servers. It discusses:
1) DOTS (Domino OSGi Tasklet Services), which provides the ability to develop and run OSGi-level server tasks (tasklets) for Domino for unattended processing such as scheduled reports and batch jobs.
2) Asynchronous processing techniques for XPages applications, including using Eclipse Jobs and thread pools to run long-running tasks asynchronously without blocking the user interface.
3) Alternative approaches like using a thread management bean to simplify managing background threads in XPages.
Java and in particular OSGi are now very important parts of the Notes/Domino app dev model. In this session, you will learn what techniques can be utilized to process background jobs for XPages applications. Whether you want to replace your existing agents with Domino OSGi Tasklet Services (DOTS) or use Eclipse Jobs to run time-consuming routines without interrupting the use of your application - we will show you real life examples of why and how. You should also consider attending this session to hear about some suprises you don't want to miss...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...Paul Withers
BP106 From XPages Hero To OSGi Guru: Taking The Scary Out Of Building Extension Libraries. From IBM ConnectED 2015, delivered jointly with Christian Guedemann
CrossWorlds is IBM WebSphere Liberty and IBM Domino getting together to provide a huge leap forward for Domino developers and customer. Learn what's being built !!!
Java and in particular OSGi are now very important parts of the Notes/Domino app dev model. In this session, you will learn what techniques can be utilized to process background jobs for XPages applications. Whether you want to replace your existing agents with Domino OSGi Tasklet Services (DOTS) or use Eclipse Jobs to run time-consuming routines without interrupting the use of your application - we will show you real life examples of why and how. You should also consider attending this session to hear about some suprises you don't want to miss...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...Paul Withers
BP106 From XPages Hero To OSGi Guru: Taking The Scary Out Of Building Extension Libraries. From IBM ConnectED 2015, delivered jointly with Christian Guedemann
CrossWorlds is IBM WebSphere Liberty and IBM Domino getting together to provide a huge leap forward for Domino developers and customer. Learn what's being built !!!
Slide ini merupakan bahan yang dipresentasikan pada teman-teman mahasiswa/i teknik Informatika di Universitas Widyatama. Kegiatan ini merupakan bagian dari kegiatan OSUM Universitas Widyatama.
October OpenNTF Webinar - What we like about Domino/Notes 12, recommended new...Howard Greenberg
In this webinar OpenNTF members will discuss the Domino/Notes 12 features they like and suggest for everyone to check out!
The topics and speakers will be:
Time-based One-time Authentication (TOTP) - Roberto Boccadoro
TOTP allows multi-factor authentication. When users login to a Domino web server they have to provide a time-based one-time use password in addition to their usual name/password. This is done using a third party application like Google Authenticator, Authy or Duo Mobile on their mobile devices/computers.
Domino OSGI Tasklet Service (DOTS) - Serdar Basegmez
Create Domino server tasks using Java OSGI plugins. These can be scheduled and can interface with the server console using TELL commands.
One Touch Setup for Domino - Roberto Boccadoro
In previous versions of HCL Domino, setting up a Domino server involved multiple steps. Starting with Domino 12, you can use one-touch Domino setup to set up a server in just a single step.
Dr. Strangelove, or how I learned to love plugin developmentUlrich Krause
Building a plugin for the Notes client is hard and you need to be a rocket scientist to write a simple menu extension. This is exactly, what I thought, when I first heard of plugin development. In this session, you will learn, how to setup an Eclipse environment, connect it to your Notes Client for debugging and testing, and finally deploy your plugin to your users. Become familiar with the basics, and you will no longer be scared.
In this core java training session, you will learn get introduction to Java. Topics covered in this session are:
• History of Java – A Programmer’s Perspective
• Salient Features of Java
• Major Java Editions
For more information about this course visit on this link: https://www.mindsmapped.com/courses/software-development/learn-java-fundamentals-hands-on-training-on-core-java-concepts/
A slide deck presenting the highlights of the NetBeans IDE 7 release, including each of its minor releases, 7.1, 7.1.1, 7.2, 7.2.1, 7.3, 7.3.1, and 7.4, in the context of the IDE's complete feature set.
Kitware is involved with Qt in two main areas. First, Kitware is the provider of the CMake (www.cmake.org) build tool which is used to build KDE, the flagship open source Qt project. In addition, Kitware has been using Qt for the ParaView (www.paraview.org) project. ParaView is an open-source, multi-platform data analysis and visualization application. With the recent change in Qt licensing Kitware is also starting to use Qt for many other open source scientific and medical projects. For cross platform C++ GUI development Qt now stands alone as really the only viable choice. This talk will cover the CMake build system, and the impact Qt and Qt derived projects are having on state of the art scientific computation.
Presentation by BIll Hoffman held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
BP 308 - The Journey to Becoming a Social Application DeveloperSerdar Basegmez
IBM Connect 2014 session, Serdar Basegmez and Graham Acres.
Absract: You probably have heard about the Social Business Toolkit SDK but do you know what it is and what it's really about? Yes, it's XPages, it's JavaScript, and it's Java, and it works with Domino, Connections and SmartCloud, but what about the other apps that your users are asking for? What about Dropbox, Twitter and other platforms? This session will give developers a strong foundation to build on. You will learn the tools to use and invest in, the place to start and the roadblocks to avoid when building your skills. You will leave with practical examples and code samples to show you how easy it is to extend your apps and bring the power of Social Business to your organization.
Slide ini merupakan bahan yang dipresentasikan pada teman-teman mahasiswa/i teknik Informatika di Universitas Widyatama. Kegiatan ini merupakan bagian dari kegiatan OSUM Universitas Widyatama.
October OpenNTF Webinar - What we like about Domino/Notes 12, recommended new...Howard Greenberg
In this webinar OpenNTF members will discuss the Domino/Notes 12 features they like and suggest for everyone to check out!
The topics and speakers will be:
Time-based One-time Authentication (TOTP) - Roberto Boccadoro
TOTP allows multi-factor authentication. When users login to a Domino web server they have to provide a time-based one-time use password in addition to their usual name/password. This is done using a third party application like Google Authenticator, Authy or Duo Mobile on their mobile devices/computers.
Domino OSGI Tasklet Service (DOTS) - Serdar Basegmez
Create Domino server tasks using Java OSGI plugins. These can be scheduled and can interface with the server console using TELL commands.
One Touch Setup for Domino - Roberto Boccadoro
In previous versions of HCL Domino, setting up a Domino server involved multiple steps. Starting with Domino 12, you can use one-touch Domino setup to set up a server in just a single step.
Dr. Strangelove, or how I learned to love plugin developmentUlrich Krause
Building a plugin for the Notes client is hard and you need to be a rocket scientist to write a simple menu extension. This is exactly, what I thought, when I first heard of plugin development. In this session, you will learn, how to setup an Eclipse environment, connect it to your Notes Client for debugging and testing, and finally deploy your plugin to your users. Become familiar with the basics, and you will no longer be scared.
In this core java training session, you will learn get introduction to Java. Topics covered in this session are:
• History of Java – A Programmer’s Perspective
• Salient Features of Java
• Major Java Editions
For more information about this course visit on this link: https://www.mindsmapped.com/courses/software-development/learn-java-fundamentals-hands-on-training-on-core-java-concepts/
A slide deck presenting the highlights of the NetBeans IDE 7 release, including each of its minor releases, 7.1, 7.1.1, 7.2, 7.2.1, 7.3, 7.3.1, and 7.4, in the context of the IDE's complete feature set.
Kitware is involved with Qt in two main areas. First, Kitware is the provider of the CMake (www.cmake.org) build tool which is used to build KDE, the flagship open source Qt project. In addition, Kitware has been using Qt for the ParaView (www.paraview.org) project. ParaView is an open-source, multi-platform data analysis and visualization application. With the recent change in Qt licensing Kitware is also starting to use Qt for many other open source scientific and medical projects. For cross platform C++ GUI development Qt now stands alone as really the only viable choice. This talk will cover the CMake build system, and the impact Qt and Qt derived projects are having on state of the art scientific computation.
Presentation by BIll Hoffman held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
BP 308 - The Journey to Becoming a Social Application DeveloperSerdar Basegmez
IBM Connect 2014 session, Serdar Basegmez and Graham Acres.
Absract: You probably have heard about the Social Business Toolkit SDK but do you know what it is and what it's really about? Yes, it's XPages, it's JavaScript, and it's Java, and it works with Domino, Connections and SmartCloud, but what about the other apps that your users are asking for? What about Dropbox, Twitter and other platforms? This session will give developers a strong foundation to build on. You will learn the tools to use and invest in, the place to start and the roadblocks to avoid when building your skills. You will leave with practical examples and code samples to show you how easy it is to extend your apps and bring the power of Social Business to your organization.
How to upload a file to an IBM Connections.Cloud Community using the Plugins ...Gavin Bollard
The IBM Connections plugins for Microsoft Office 2013 were updated in April 2016. Here's an walk-through tutorial of them in action uploading from Excel to an IBM Connections Community.
BP110: The Mobile Distruption - Why XPages Development is targeting Mobile FirstJohn Head
Over the next five years, enterprise apps will increasingly be built for mobile as the target platform. This session will cover the business reasons why you need to focus on the mobile experience, from both the IBM and a business partner perspective. With mobile, social, cloud and big data being the top priorities of most CxOs worldwide, we will look at how XPages can play a key role in your application strategy. We will guide you on how XPages can fit into your MEAP (Mobile Enterprise Application Platform) strategy, what you can do today to position yourself for success and demonstrate real world examples of why XPages is a smart choice.
Java is an important skill to have as an XPages developer. This webinar will provide a foundation of the Java skills you need and explain how to best acquire them. Come see how Java is used with detailed code examples that demonstrate how to use core Java code, Java Beans, Managed Beans, and third party Java libraries in your applications. After this webinar you will know exactly how to add Java as a tool in your development toolbox.
BP107: Ten Lines Or Less: Interesting Things You Can Do In Java With Minimal ...panagenda
Don’t be afraid of Java! Many IBM Notes/Domino developers, both new and seasoned, have an irrational fear of learning and using Java because it seems overwhelming. Julian and Kathy will help you over this stumbling block with several short, understandable, and useful examples of Java that you can learn from. All of the examples will be ten lines of code or less, making them approachable and easy to understand. And we will show you how to integrate the Java code with an XPages application so you can get started right away.
IBM Domino Designer: Tips and tricks for maximum productivitySocialBiz UserGroup
Domino Designer on the Eclipse platform offers a highly configurable IDE. This session will describe the Designer and Eclipse tricks you may not have discovered that can greatly enhance your experience. Learn how to enhance Designer performance, which preferences to turn off or leave on, and how to get organized with working sets and perspectives. Get expert tips on how to use the Eclipse file system for import/export. Leave with an understanding of how Domino Designer integrates into Eclipse and how to make the partnership work best for you!
ICONUK 2015: How to Embrace Your XPages Plugin Super PowersSerdar Basegmez
ICONUK 2015 Development Track. September 21, 2015
Prezi version (Voice-over): https://prezi.com/4horih1hgqom/voiceover-how-to-embrace-your-xpages-plugin-super-powers-icon-uk-2015/
Access Data from XPages with the Relational ControlsTeamstudio
Did you know that Domino and XPages allows for the easy access of relational data? These exciting capabilities in the Extension Library can greatly enhance the capability of your applications and allow access to information beyond Domino. Howard and Paul will discuss what you need to get started, what controls allow access to relational data, and the new @Functions available to incorporate relational data in your Server Side JavaScript programming.
Optimus XPages: An Explosion of Techniques and Best PracticesTeamstudio
Are you starting a new XPages project, but not sure it’s going to be done right the first time? Do you have an existing application that doesn’t seem to have that “X” Factor? In this webinar, John Jardin demonstrates how XPages developers can apply proven techniques and best practices to take their applications to a game-changing level.
You'll learn how to:
-Rapidly develop responsive applications,
-Improve user experience and response times with background and multi-threaded operations,
-Keep your XPages lightweight with code injection,
-Create scheduled tasks the XPages way,
-And much more.
SynapseIndia Drupal development
SynapseIndia Ecommerce development
SynapseIndia Sharepoint development
SynapseIndia PHP development
SynapseIndia Dotnet development
SynapseIndia Magento development
SynapseIndia MS Dynamic CRM
SynapseIndia Complaints
SynapseIndia Reviews
Presentation of ActiveStates micro-cloud solution Stackato at Open Source Days 2012.
Stackato is a cloud solution from renowned ActiveState. It is based on the Open Source CloudFoundry and offers a serious cloud solution for Perl programmers, but also supports Python, Ruby, Node.js, PHP, Clojure and Java.
Stackato is very strong in the private PaaS area, but do also support as public PaaS and deployment onto Amazon's EC2.
The presentation will cover basic use of Stackato and the reason for using a PaaS, public as private. Stackato can also be used as a micro-cloud for developers supporting vSphere, VMware Fusion, Parallels and VirtualBox.
Stackato is currently in public beta, but it is already quite impressive in both features and tools. Stackato is not Open Source, but CloudFoundry is and Stackato offers a magnificent platform for deployment of Open Source projects, sites and services.
ActiveState has committed to keeping the micro-cloud solution free so it offers an exciting capability and extension to the developers toolbox and toolchain.
More information available at: https://logiclab.jira.com/wiki/display/OPEN/Stackato
Stackato presentation done at the Nordic Perl Workshop 2012 in Stockholm, Sweden
More information available at: https://logiclab.jira.com/wiki/display/OPEN/Stackato
OpenNTF Webinar - October 2021: Return of the DOTSSerdar Basegmez
My part of the OpenNTF Webinar session - October 2021: "What we like about Domino/Notes 12, recommended new features to try"
Complete Session: https://www.youtube.com/watch?v=d6Aoa_YcOLM
DocDoku: Using web technologies in a desktop application. OW2con'15, November...OW2
The DocdokuPLM is an open-source platform allowing its users to manage their product's lifecycle, from design to maintenance. The main application is built upon RequireJS and BackboneJS librairies for the front-end, and JEE for back-end. The GUI is quite complete, and may won't fit for all users involved in the process. This is especially the case for CAD designers who just need to commit their changes without having such a rich graphic interface. To answer this need, we developped a desktop application, interfacing our server with the CAD designer's file system : the DPLM.
First, we developped a command line interface, which is very lightweight and really great for advanced users. However providing a GUI which could interface with the CLI and allow the user to manage multiple files upload at once was more than needed.
Providing a consistent user experience across different platforms has been one of our challenges in the context of our application. The choice of a web framework was then a natural choice. But how could we get it run within a desktop application ? Node-Webkit brought us the ability to interact directly with the user's file system and embed the app in a webview, letting us the choice to use any web framework we wanted to use.
IBM Think Session 8598 Domino and JavaScript Development MasterClassPaul Withers
Session from IBM Think 2018. Note: the architecture used is an extreme case of what's possible (and it could go further), rather than a real-world expectation
My 6th. revision of my Stackato presentation given at the German Perl Workshop 2013 in Berlin, Germany,
More information available at: https://logiclab.jira.com/wiki/display/OPEN/Stackato
In this presentation I will show you what is needed to build your own Cloud Adapter using the Cloud Adapter SDK. The architecture of the adapter framework will be explained and also the required steps to allow others to use your adapter from the Oracle Marketplace will be shown. The custom adapter which has been created as a sample implementation is a Z-Wave-Adapter which can be used to allow easy integration with devices using the Z-Wave protocol (such as sensors which can be used for home automation). The usage of the adapter in real life will also be demonstrated.
It is not that hard to build your own Cloud Adapter! You can enable a citizen developer to do their own integrations using ICS and also use the same adapter when developing on premise SOA solutions. Oracle enables you to sell your product in the Marketplace, further increasing your return of investment. I will show you the different designtime and runtime components which need to be implemented, how JDeveloper extension development works and how you can test your adapter on ICS locally using the ICS execution agent. I will share common pitfalls when starting adapter development to help you get a headstart when you are considering creating your own. This presentation will help developers and architects understand Cloud Adapters and when you should consider creating one yourself!
Topics of this presentation:
- Basics and best practices of developing single-page applications (SPA) and Web API Services on Microsoft .NET -
- Core with Docker and Linux.
- PowerShell Core automated builds.
- Markdown/PDF documentation.
- Documentation of public interfaces with Swagger/OAS/YAML.
- Automated testing of SPA on Protractor and testing the Web API on Postman/Newman.
This presentation by Sergii Fradkov (Consultant, Engineering), Andrii Zarharov (Lead Software Engineer, Consultant), Igor Magdich (Lead Test Engineer, Consultant) was delivered at GlobalLogic Kharkiv .NET TechTalk #1 on May 24, 2019.
Twelve Tasks Made Easier with IBM Domino XPagesTeamstudio
If you're asking, "How can I get my job done quicker with XPages?", this webinar will provide the answer. Mike McGarel and Paul Withers will compare and contrast commonly requested features using XPages and classic Notes/Domino techniques. You'll see how much smarter and faster XPages is, while providing the modern functionality that your users desire.
Efficient platform engineering with Microk8s & gopaddle.pdfVinothini Raju
DevOps has evolved over these years and has presented us with a new set of challenges. We have more tools and complexity. This presentation will walk you thought -
* How we tackle the explosion of tools and complexity and add more value to business
* How platforms can help
* What challenge we face when we build a platform from scratch
* How a joint solution from Canonical MicroK8s and gopaddle can help.
Viktor Turskyi "Effective NodeJS Application Development"Fwdays
For 15 years in development, I managed to take part in the creation of a large number of various projects. I have already made a number of talks on the working architecture of Web applications, but this is only part of the efficient development puzzle. We will consider the whole process from the start of the project to its launch in production. I’ll tell you how we approach the ideas of the “12 Factor App”, how we use the docker, discuss environment deployment issues, security issues, testing issues, discuss the nuances of SDLC and much more.
Engage 2022: The Superpower of Integrating External APIs for Notes and Domino...Serdar Basegmez
Session De13 from Engage User Group Conference 2022 with Thilo Volprich
"In the jungle, no application walks alone. Sooner or later, applications will need to interact with other internal and external applications.
Luckily, Notes/Domino is a powerful platform to access data from other systems and provides wide range of possibilities to interact with different APIs.
This session focuses on how to architect various integration scenarios to implement secure and robust solutions for your Notes/Domino platform.
Whether you use LotusScript or Java, come to this session to see the best practices with real-world use cases."
(25/May/2022)
Engage 2023: Taking Domino Apps to the next level by providing a Rest APISerdar Basegmez
Apps to the next level by providing a Rest API
Session De13 from Engage User Group Conference 2023 with Tom Van Aken
"Providing RESTful APIs has become an increasingly common requirement in recent times. Whether you're just starting a new project or looking to level up your existing Notes/Domino application, finding the right approach is the key to success. By giving you some real-world scenario's and examples, this session will arm you with the knowledge and best practices to help you pick the right tools for the right job when it comes to performance, scalability, and security.
We'll also discuss pros and cons of the brand new Domino REST API (Project Keep) and custom development with Java or LotusScript. Don't miss this opportunity to uncover the hidden gems and avoid the pitfalls of integrating external systems with your Domino platform. Join us and be ready to take your platform to new heights!"
(25/April/2023)
Engage 2020: Six Polite Ways to Design a RESTful API for Your Application!Serdar Basegmez
Engage 2020 session
"Six Polite Ways to Design a RESTful API for Your Application!"
"With Domino v10 and v11, HCL is delivering on a vision to provide many new ways to architect our applications. One of the key technologies is creating RESTful APIs for our data and processes. APIs are very powerful in allowing us to build integrations between Domino and all other enterprise applications. Regardless of your experience, come to this session to see what options are available to you, what pitfalls you may experience and how to break down the borders between your applications and others. We will present the basic concepts and best practices, allowing you to walk away with tips and tricks on performance, scalability and security."
Serdar Basegmez
Developi Information Systems, London
Engage 2019: Your Data in the Major Leagues: A Practical and Updated Guide to...Serdar Basegmez
Engage 2019 session with Tom Van Aken (https://twitter.com/vanakentom):
Your Data in the Major Leagues: A Practical and Updated Guide to RESTful Domino v10
Things are moving fast with many new tools and toys in our hands. While Domino v10 creates a whole new world of possibilities, we still need to interact with other internal and external applications. One of the key technologies to do that is the RESTful services and we have an updated toolbox now. Regardless of your experience, come to this session to see what options are available to you, what pitfalls you may experience and how to break down the borders between your applications and others. We will present the basic concepts and best practices, allowing you to walk away with the techniques that you will need to take your applications to the next level. Last but not the least, we will show you practical examples on how you provide RESTful services for other applications and how you can use REST data to enrich your applications using the the new capabilities.
Speakers:
Serdar Basegmez , Developi Information Systems
Tom Van Aken, GroupWave
15 May 2019
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.
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
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.
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/
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.
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/
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
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
1. UKLUG 2012 – Cardiff, Wales
Background Tasks
An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
Serdar Basegmez | Developi / OpenNTF
Frank van der Linden | e-office / OpenNTF
2. UKLUG 2012 – Cardiff, Wales
Agenda
Introduction
DOTS
Basics
Running, Developing and Deploying DOTS
Programmability Tips and Tricks
Asynchronous Processing
Developing Jobs
Alternative Approaches
Tips and Tricks
Q&A
3. UKLUG 2012 – Cardiff, Wales
Serdar Basegmez
•IBM Collaboration Solutions Champion (2011-2013)
•Owner of Developi Information Systems (Istanbul, Turkey)
•Founder/Co-leader of LUGTR – Turkish Lotus User Group
•Bilingual Blogger at LotusNotus.com (Turkish/English)
•OpenNTF Guy in Turkey
• Contributor in XSnippets and CollaborationToday.info
• Member Director at OpenNTF Board
•IBM Notes/Domino / SBT Design Partner
•Expertise on XPages, IBM Domino, IBM Connections, etc.
4. UKLUG 2012 – Cardiff, Wales
Frank van der Linden
•IBM Collaboration Solutions Champion (2013)
•XPages developer at e-office (Netherlands)
•Founder/Co-leader of XPages Meetup (Netherlands)
•Blogger at domino-weblog.com
•OpenNTF
• Contributor in XSnippets and CollaborationToday.info
• Member Director at OpenNTF Board
•IBM Notes/Domino / SBT Design Partner
•Expertise on XPages, IBM Domino, IBM Connections, etc.
6. UKLUG 2012 – Cardiff, Wales
What’s the problem?
•XPages is great!
• We all know it...
•But...
• XPages are based on interaction.
• Users demand, server replies back.
•What if…
• Processing takes too long?
• You need housekeeping?
• You have scheduled reports?
• You need to send reminders?
• Your application needs batch processing?
• You require unattended tasks?
7. UKLUG 2012 – Cardiff, Wales
Background Processing is Possible!
Unattended Tasks
• Domino OSGi Tasklet Services
• Alternative to Domino Agents
Asynchronous Processing
• Threads and Jobs
• Multi-threaded Applications
8. UKLUG 2012 – Cardiff, Wales
Domino OSGi Tasklet Services
9. UKLUG 2012 – Cardiff, Wales
Meet DOTS – your new best friend
•Domino OSGi Tasklet Services: Next Generation Agents for Domino
•DOTS provides ability to develop and run OSGi level server Tasklets for
Domino
• Easy deployment.
• Tooling with Eclipse IDE and its Java and plugins editors and Java debugger.
• Leverage existing OSGi assets (within the company or open source).
• Tasklets can be run:
• Manually (local and remote calls)
• Scheduled or on server start
•OpenNTF project by IBM since April, 2011 (replaced JAVADDIN project)
•Included (but not supported) in IBM Domino 9 Social Edition
10. UKLUG 2012 – Cardiff, Wales
What is a Tasklet?
•Component to process a step in your business logic
• Lightweight addin task.
• DOTS Tasklets are simply Java methods within OSGi bundles.
• Declared as OSGi extension point
•Tasklet is functionally less capable than a Server Task
Tasks DOTS Tasklets
Loaded once, run continuously Loaded once, run when needed
Manages own threads DOTS manages threading
Should be native (or encapsulated) Runs inside DOTS container
Unmanaged security Managed security
Hard to develop Easy to develop
11. UKLUG 2012 – Cardiff, Wales
DOTS vs. Agents
•DOTS Tasklets outperforms over Java Agents!
AMGR
launches a
Thread
JVM
Initializes
Prepare
Java and JNI
interfaces
Load Agent
Bytecode
Run!
Run!
Java Agent:
DOTS tasklet: Everything is ready to run
> tell amgr run "testXPagescrash.nsf" 'LongJobAgent'
09.11.2012 19:38:39 JVM: Java Virtual Machine initialized.
09.11.2012 19:38:39 AMgr: Start executing agent 'LongJobAgent' in 'testXPagescrash.nsf'
09.11.2012 19:38:39 Agent Manager: Agent printing: 181349
09.11.2012 19:41:02 Agent Manager: Agent printing: 2227
09.11.2012 19:41:02 Agent Manager: Agent printing: Finished in 143 secs... -
09.11.2012 19:41:02 AMgr: Agent 'LongJobAgent' in 'testXPagescrash.nsf' completed execution
> load dots
> Listening for transport dt_socket at address: 8001
09.11.2012 19:42:40 Domino OSGi Tasklet Container started ( profile DOTS )
> 181349
> 2227
09.11.2012 19:43:22 [DOTS] (annotated) Finished in 41 secs...
12. UKLUG 2012 – Cardiff, Wales
DOTS vs. Agents
•Amgr is old and complicated
• Security model problems
• Limited functionality (like issues on class loading, reflections)
•Range
• Agents are database-dependent
• DOTS runs server-wide
•More flexible scheduling
• Precise timings like 45 seconds
• Programmatic control over scheduling
•Multi-threading
• DOTS tasklet might perform multi-threaded operations for more efficiency
13. UKLUG 2012 – Cardiff, Wales
Examples on DOTS
•IBM SmartCloud™ for Social Business (a.k.a. LotusLive)
• Some part of back-end processing has been implemented using DOTS
•CollaborationToday.info
• Feed Aggregation is implemented using DOTS
•Other possible uses...
• Workflow Engine implementations
• Social Media Monitoring
• Database Monitoring
• Application Architecture Assessment
• Big Data
• Search and Discovery
14. UKLUG 2012 – Cardiff, Wales
Runtime Environment
•IBM Domino 9.0 Social Edition provides DOTS Runtime
• via Embedded Experience Add-on
•For older versions,
• DOTS should be installed into IBM Domino server
• Refer to BP207 slides from IBM Connect 2013
15. UKLUG 2012 – Cardiff, Wales
Development Environment
•DOTS Tasklets are simply Java methods
• Designated classes as OSGi bundles.
• Deployed as Eclipse plug-ins.
•Eclipse IDE is needed for development and debugging.
• DDE can be used with lots of unsupported configuration changes.
• “Unsupported” No need for an adventure
•Refer to BP207 slides from IBM Connect 2013
16. UKLUG 2012 – Cardiff, Wales
Deployment Methods
•DOTS tasklets are packaged as a «Plug-in»
•Plug-ins can be deployed into OSGi by...
• Referencing PDE tool to the Eclipse Run Configuration
• For testing & development...
• Putting JAR file into OSGi plug-ins folder,
• Beg your Admin for file-level access to the server!
• Referencing an update site
• Using DOTS Profiles, any update site can be used (NSF, HTTP…)
17. UKLUG 2012 – Cardiff, Wales
Demo
Photo: http://www.flickr.com/photos/mjtmail/
19. UKLUG 2012 – Cardiff, Wales
You Like Annotation?
•DOTS also provides annotated declarations within Java classes
• Remember, you still need to create an extension point in «plugin.xml»
@RunOnStart
public void runOnStart( IProgressMonitor monitor ){
logMessage("Annotated onStart method");
}
@Run( id="manual")
public void runManual( String[] args, IProgressMonitor monitor ){
logMessage("Annotated run method with id=manual");
}
@RunOnStart
@RunEvery( every=60, unit=RunUnit.second )
@HungPossibleAfter( timeInMinutes=1 )
public void runEvery60seconds( IProgressMonitor monitor ){
logMessage( "Called from annotated method every 60 seconds");
}
<plugin>
<extension point="com.ibm.dots.task">
<task class="com.ic13.samples.helloworld.AnnotatedTasklet"
id="someid" />
</extension>
</plugin>
20. UKLUG 2012 – Cardiff, Wales
A Powerful Feature: DOTS Profiles
•A DOTS profile is a specific DOTS container.
• Each profile defines «Tasklet Container» that has different settings for;
• Remote Controller, Security Configuration, Specific plug-in container
•DOTS support multiple profiles for different needs.
• Tasklet used occasionally, for testing or with special security
•Profiles can be stored in XML files or Notes Databases
• It can be any Notes Database like names.nsf.
•Every profile has a unique name (Message Queue Name – mqName)
• Profiles accept separate tell commands, like «tell profileName run XYZ»
• DOTS loaded with a default profile named as «DOTS»
21. UKLUG 2012 – Cardiff, Wales
Programmability Tips: Logging
•Logging
• Try not to use «System.out.println». (No output to log.nsf)
• Instead, use «logMessage(...)» and «logException(...)»
•ServerConsole helps.
• If your code works outside the tasklet, you don’t have «logMessage(...)»
• Use «com.ibm.dots.task.ServerConsole» class for console output.
•You know “XPages OpenLog Logger” project?
• It utilize OpenLog database for your Java code.
• Find Paul S.Withers and buy a beer for him.
22. UKLUG 2012 – Cardiff, Wales
Programmability Tips: Parameters
•Parameterization
• Manual tasks can get parameters through Console or Plug-in
manifest (plugin.xml)
• «tell dots run XYZ param1 param2».
• «args[n]», «getNthArgument(n)» or «getKeyedArgument(key)» can be used.
• For other tasks, you have multiple options.
• «notes.ini» settings
• Argument Resolver (refer to DOTS samples)
• Profile parameterization extension via DXL (refer to DOTS
readme.pdf)
24. UKLUG 2012 – Cardiff, Wales
Remote Controller for DOTS
•Remote Controller
• DOTS might accept remote commands from other applications
(e.g. XPages apps)
• Remote commands are accepted from localhost only.
• Listener should be configured from Profile document.
Source: DOTS Readme File
25. UKLUG 2012 – Cardiff, Wales
Progress Monitoring for DOTS
•Progress Monitoring
• «IProgressMonitor monitor» argument passed on tasklet methods.
• Very useful for tasklets running long time.
• Progress monitor can be used to...
• Inform DOTS task manager about how much tasklet has completed.
• Aware of situation that might break execution.
Vector<?> views = db.getViews();
monitor.beginTask( "List the views", views.size() ); Init with # of steps
for ( Object view : views ){
if ( monitor.isCanceled() ){
break; Break if canceled.
}
logMessage("t" + ((View)view).getName() );
try {
Thread.sleep( 1000 );
} catch (InterruptedException e) {
e.printStackTrace();
}
monitor.worked( 1 ); One step completed
}
26. UKLUG 2012 – Cardiff, Wales
Threads and DOTS
Source: Lotusphere 2012 – SHOW112 session by David Taieb, Paul Fiore, Elizabeth Sawyer
Three Two
different threads
27. UKLUG 2012 – Cardiff, Wales
Threads and DOTS
•Implications on running:
• One thread for manual tasklets?
• The first tasklet you call will run,
• The second one will run at the sametime
• One thread for scheduled tasklets?
• Only one scheduled tasklet run at any time.
• Conflicting tasklet will be deferred once.
• What about RunOnStart Tasklets?
• More than one RunOnStart tasklets will run at the same time!
28. UKLUG 2012 – Cardiff, Wales
Threads and DOTS
•Best Practices for multiple long-running tasklets
• Need some attention for synchronization issues
• Use Progress Monitoring for cancellations
• Too many scheduled tasklets Unpredictable scheduling
• You can use multiple profiles for different purposes
• Each profiles has its own service threads!
• Scheduled tasklets might fall into deadlocks!
• Deadlocks are not resolved automatically.
• while(true) is your enemy…
• Some Java methods are black holes.
• e.g. HttpURLConnection has infinite timeout by default.
29. UKLUG 2012 – Cardiff, Wales
Threads and DOTS
•In terms of instances:
• Threads run tasklets with reflection.
• Scheduled and manual tasklets differ a bit:
• Manual (and RunOnStart) Tasklets:
• Thread creates an instance from the tasklet class
• Calls the method and destroys the instance.
• Each time you run a manual tasklet, it’s a different Java object!
• Scheduled Tasklets:
• Thread creates an instance for the first time,
• Saves the instance for the next time.
• Each time it runs a scheduled tasklet, it’s the same Java object!
30. UKLUG 2012 – Cardiff, Wales
Threads and DOTS
•Instantiation may be a problem in some cases:
BundleBundle.start Initialize the Queue
Bundle.stop Save the Queue
QueueManager
(singleton object)
readNextFeed()
refreshQueue()
readFeed(id)
Tasklet Class
@RunEvery( every=2, unit=RunUnit.minute )
Sched1() qm.readNextFeed()
@RunEvery( every=60, unit=RunUnit.minute )
Sched2() qm.refreshQueue()
@Run( id="refreshQueue" )
Manual1(args) qm.refreshQueue()
@Run( id="refreshFeed" )
Manual21(args) qm.readFeed(args[0])
31. UKLUG 2012 – Cardiff, Wales
Problems of DOTS
•DOTS runs in a different OSGi level than HTTP.
• So there is almost no connection between DOTS and XPages
• You can start DOTS tasks from XPages, using remote controller socket
• Refer to Readme documentation for configuration and a basic example
• Some possibilities
• Communicate over Notes Document
• Using REST API to send/receive information between DOTS and XPages
•OSGi has different architecture for Class Loading
• Some Open Source APIs might have issues (e.g. Rome project)
• You need to have some level of OSGi knowledge in case
•Out of Support Contract for now.
• DOTS tasklet functionality is for internal use in Domino 9
32. UKLUG 2012 – Cardiff, Wales
Asynchronous Processing
33. UKLUG 2012 – Cardiff, Wales
Asynchronous Processing for XPages
•The Problem
• XSP Engine provides a single-threaded operation for users.
•Implications
• User has to wait for completion of long-running tasks
• Worse, timeout will cause trouble…
• Sometimes, it’s meaningless for user to wait
• Throw into the basket and forget
• Low performance
• Varies for different cases
•Solution
• Launch a parallel thread for a non-blocking asynchronous task
34. UKLUG 2012 – Cardiff, Wales
Asynchronous Processing
•Basic Problem
• We have two needs to run a Java code for Domino
• A Session object
• A [Notes] context
• These are provided for us in XPages, DOTS, Agents, etc.
• … for a particular thread…
• There is a planned life cycle for every threads
•Fortunately, we can create a context
• It’s like dancing on a thin ice…
Photo: http://www.flickr.com/photos/ell-r-brown/
35. UKLUG 2012 – Cardiff, Wales
Demo
Photo: http://www.flickr.com/photos/mjtmail/
36. UKLUG 2012 – Cardiff, Wales
Formal Approach
•ThreadSessionExecutor has been introduced in 8.5.3
• Simpler, cleaner
• However, it #FAILS for Domino 9.
• Expecting a fix for 9.0.1
37. UKLUG 2012 – Cardiff, Wales
An Eclipse Job
Job class
Modification #1
38. UKLUG 2012 – Cardiff, Wales
An Eclipse Job
Run
Method
39. UKLUG 2012 – Cardiff, Wales
An Eclipse Job
•Running any code out of these boundaries will fail
• Threads cannot work out of Notes Context…
A static
method to
start the job
40. UKLUG 2012 – Cardiff, Wales
Other Approaches
• Stephan H. Wissel posted a thread management bean for XPages
• http://www.wissel.net/blog/d6plinks/SHWL-99U64Q
•Provides
• An abstract class
• Managed Bean for Background Jobs
• Very simple to use
• No need to design separate Job classes for every task
• Can be easily embedded into applications
41. UKLUG 2012 – Cardiff, Wales
Other Approaches
• Nathan T.Freeman has ported more classes for Threading
• Within OpenNTF Domino API project (OpenNTF API is optional)
• https://github.com/OpenNTF/...BackgroundRunnable.java
•Provides an abstract class
•Better for long-running threads
•Session for different users (including server)
•For DOTS and XPages
•Will be extended for Callable and Future interfaces
42. UKLUG 2012 – Cardiff, Wales
Multi-threading in DOTS
•Similar idea can be applied for DOTS tasklets
•Why?
• Improved Performance
• A job can be divided atomic parts (vertically or horizontally) and run
asynchronously
• Better Functionality
• Developing your own scheduling system
• Shifting Paradigm
• Design a tasklet that acts as a service provider (e.g. FTP Server)
43. UKLUG 2012 – Cardiff, Wales
Multi-threading in DOTS
•Method:
• A “RunOnStart” tasklet, continously running.
• A Thread / Job manager adapted
• Session creation is easier, just like a Java Application
• Use NotesThread and NotesFactory
• Test, test, test…
•For sophisticated examples:
• “DOTS” Source code
• “DOTS Extended” project source code
44. UKLUG 2012 – Cardiff, Wales
Important Points
•Jobs and Threads will run on behalf of the authenticated user
•Use Java responsibly…
• TRY-CATCH is your best friend.
• Recycle always… (except Session…)
• Use Logging
•If something doesn’t work right,
• Restart HTTP task, Clean the project
•Keep Job and Thread objects clean
• Perform the real task in your own classes.
• Pass the session object, throw and catch exception in case
•Always perform harsh tests before production
46. UKLUG 2012 – Cardiff, Wales
Some Important Resources
•IC13 - BP207 Session by Serdar Basegmez & Bruce Elgort
• http://bit.ly/DOTS2013
•OpenNTF Project: Threads and Jobs
• http://www.openntf.org/internal/home.nsf/project.xsp?action=openDocument&na
me=Threads%20and%20Jobs
•Java concurrency (multi-threading) – tutorial by Lars Vogel
• http://www.vogella.com/articles/JavaConcurrency/article.html
•Eclipse Jobs API
• http://www.eclipse.org/articles/Article-Concurrency/jobs-api.html
•Stephan H. Wissel - NotesSessions, XPages and Threads
• http://www.wissel.net/blog/d6plinks/SHWL-99U64Q
•CollaborationToday.info FeedMonster Module – on Github
• https://github.com/OpenNTF/collaborationtoday/tree/master/DOTSFeedMonster