Are your XPages applications performing like a Florida senior citizen driving in the left lane at 55 mph? A key to speeding up your XPages applications is knowledge of the:
-JSF lifecycle
-partial refresh
-and partial execution.
In this webinar, TLCC's Howard Greenberg covers these concepts and then applies them to optimizing an XPages application. Learn how to dramatically increase your XPages performance and make your users happy.
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!Teamstudio
Using XPages out of the box lets you build good-looking and well-performing applications. As XPage applications become bigger and more complex, performance can become an issue. There are several ways to improve scalability and performance that you should take into consideration. In this webinar, learn how to use partial refresh and partial execution mode and how to monitor its execution using a JSFLifeCycle monitor to avoid multiple re-calculations. See how readily available tools from OpenNTF will allow you to profile and analyze your code to improve the speed of your applications. Using Server Side Java Script and encountering a significant slow down when using Script Libraries? Learn how you can improve the speed of your application using JAVA instead of JavaScript, JSON and even @formulas.
Transformations: Smart Application Migration to XPagesTeamstudio
Migrating legacy applications with XPages without using any third party tools can be hard. Your code that was built and maintained over the years should be reused and ported to a current XPages environment. Oliver Busse will show you how to benefit from the possibilities of using Java in XPages to reproduce the functionality you already have and extend it to the next level, including:
-User profiles: create, use, and maintain
-Application profiles: reinvented
-Getting user and environment information: made easy and smart
-Transformation of the full-text search to a "facetted search" all over your application(s)
Getting Started with the OpenNTF Domino APITeamstudio
Do you use Java in your XPages applications? Want to have a better way to access Domino data? Over the last year, more and more developers have started using the OpenNTF Domino Java API. In this webinar, Paul Withers and Jesse Gallagher, part of the team of developers working on this open source software project, explain why you should be using the Domino API. Get a jumpstart into the Domino API and improve your XPages development experience!
Presenting Data – An Alternative to the View ControlTeamstudio
In this webinar, Paul Della-Nebbia, an IBM Champion, will show how to implement a different alternative for displaying information from Domino views. Paul will cover how to use the Dojo Data Grid (included with XPages) to display a data grid that provides unique features like infinite scrolling, click to sort column headers, adjustable column widths, filtering, and the ability to drag and drop column headers to reorder. As the user scrolls through, the view data is retrieved as needed which improves performance and usability.
A panel of XPages experts - Mike McGarel, David Leedy, and Nathan Freeman - each give a short presentation, then answer XPages questions from attendees. For the recording, please visit: https://youtu.be/jBaRSM9Ng_o
Using Cool New Frameworks in (Mobile) Domino AppsTeamstudio
Did you know there's an abundance of cool CSS and JS frameworks out there? Have you ever wanted to find out how you can use them in your own (mobile) Domino apps? Theo Heselmans shows real world applications from his customers using some of these powerful frameworks inside Domino. Explore with us on how they integrated Bootstrap, Ratchet.js, Knockout.js, Backbone.js, Underscore.js, jQuery.js and more!
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.
In this webinar, John Jardin continues his series, "Optimus XPages: An Explosion of Techniques and Best Practices,” by providing an end-to-end, deep dive demonstration on how to apply the methods described in the initial webinar presented in March 2016. This follow-up webinar favours the techies; see a fast-paced demo showing off live design and coding where everything is explained on the fly.
John starts with a brand new XPages design and ends with a Cloud-ready, single page application. "Not enough," you say? Fear not. John ends the webinar with some Easter egg giveaways that you don’t want to miss!
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!Teamstudio
Using XPages out of the box lets you build good-looking and well-performing applications. As XPage applications become bigger and more complex, performance can become an issue. There are several ways to improve scalability and performance that you should take into consideration. In this webinar, learn how to use partial refresh and partial execution mode and how to monitor its execution using a JSFLifeCycle monitor to avoid multiple re-calculations. See how readily available tools from OpenNTF will allow you to profile and analyze your code to improve the speed of your applications. Using Server Side Java Script and encountering a significant slow down when using Script Libraries? Learn how you can improve the speed of your application using JAVA instead of JavaScript, JSON and even @formulas.
Transformations: Smart Application Migration to XPagesTeamstudio
Migrating legacy applications with XPages without using any third party tools can be hard. Your code that was built and maintained over the years should be reused and ported to a current XPages environment. Oliver Busse will show you how to benefit from the possibilities of using Java in XPages to reproduce the functionality you already have and extend it to the next level, including:
-User profiles: create, use, and maintain
-Application profiles: reinvented
-Getting user and environment information: made easy and smart
-Transformation of the full-text search to a "facetted search" all over your application(s)
Getting Started with the OpenNTF Domino APITeamstudio
Do you use Java in your XPages applications? Want to have a better way to access Domino data? Over the last year, more and more developers have started using the OpenNTF Domino Java API. In this webinar, Paul Withers and Jesse Gallagher, part of the team of developers working on this open source software project, explain why you should be using the Domino API. Get a jumpstart into the Domino API and improve your XPages development experience!
Presenting Data – An Alternative to the View ControlTeamstudio
In this webinar, Paul Della-Nebbia, an IBM Champion, will show how to implement a different alternative for displaying information from Domino views. Paul will cover how to use the Dojo Data Grid (included with XPages) to display a data grid that provides unique features like infinite scrolling, click to sort column headers, adjustable column widths, filtering, and the ability to drag and drop column headers to reorder. As the user scrolls through, the view data is retrieved as needed which improves performance and usability.
A panel of XPages experts - Mike McGarel, David Leedy, and Nathan Freeman - each give a short presentation, then answer XPages questions from attendees. For the recording, please visit: https://youtu.be/jBaRSM9Ng_o
Using Cool New Frameworks in (Mobile) Domino AppsTeamstudio
Did you know there's an abundance of cool CSS and JS frameworks out there? Have you ever wanted to find out how you can use them in your own (mobile) Domino apps? Theo Heselmans shows real world applications from his customers using some of these powerful frameworks inside Domino. Explore with us on how they integrated Bootstrap, Ratchet.js, Knockout.js, Backbone.js, Underscore.js, jQuery.js and more!
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.
In this webinar, John Jardin continues his series, "Optimus XPages: An Explosion of Techniques and Best Practices,” by providing an end-to-end, deep dive demonstration on how to apply the methods described in the initial webinar presented in March 2016. This follow-up webinar favours the techies; see a fast-paced demo showing off live design and coding where everything is explained on the fly.
John starts with a brand new XPages design and ends with a Cloud-ready, single page application. "Not enough," you say? Fear not. John ends the webinar with some Easter egg giveaways that you don’t want to miss!
Want to build an XPages application, but not sure how? Kathy and Dave will show you how to build a sample help desk application from start to finish. Step by Step they will show you how to create, read, update, and delete tickets. Along the way you'll be introduced the most common XPages concepts like SSJS, Custom Controls, View and Repeat Controls, Extension Library, CSS frameworks, and much more. Go home with a working application that you can use today!
Expanding XPages with Bootstrap Plugins for Ultimate UsabilityTeamstudio
IBM Champion Johnny Oldenburger from Kranendonk Smart Robotics shows how to develop very user friendly and fully responsive web applications (with XPages of course!) by making use of Bootstrap and jQuery Plugins.
He shows how to use the Select2, DateTimePickers, Multiselect, Bootstrap-select, Modals, Popovers, and Notifications plugins to deliver the ultimate in usability. Learn how to solve the AMD issue when incorporating JavaScript libraries in XPages. Go beyond the basics and create applications that nobody ever thought possible using XPages.
SHOW102 XPages: Still No Experience Necessary IBM Connect 2014Kathy Brown
IBM Connect 2014
XPages: Still No Experience Necessary
Step by Step see how to create an XPages application. Create a help desk ticket app, including CRUD (Create, Read, Update, Delete)
XPages Application Layout Control - TLCC March, 2014 WebinarHoward Greenberg
The Application Layout control may be the most useful and powerful tool available to an XPages developer. A well designed Application Layout can be used to provide a consistent design across all of your XPages applications and increase your XPages development productivity. This webinar will cover how to enable and design the Application Layout in a custom control to provide a consistent user interface. We will compare several application layout design strategies that can be used with the Application Layout control and use the Application Layout control with the Bootstrap4XPages project to create a responsive design for desktop, tablet and mobile devices.
Lessons Learned from Building Windows 8 Store Apps with MVVM and XAMLMike Douglas
In this presentation I go through the lessons learned from building Windows 8 Store apps. I will walk through some Windows 8 basics, go into the MVVM framework and why I chose MVVM/XAML/C#. Next I will talk about page state and persisting data. Then I will show how to use data templates and styling with MVVM and XAML. Last I'll also talk about publishing my application to the App Store.
Presented by Kevin Pettitt and Bruce Elgort at the Irish Lotus User Group conference in Dublin, June 2008.
If you think the only application templates available for IBM Lotus Notes and Domino are the ones that are bundled with it (and even if you already know better) it's time you learned more about the many excellent free and open source Lotus Notes and Domino templates and where they come from. Join us for a fast-paced look at some of the best templates from OpenNTF.org, trade publications, bloggers, and other little known sources. While its easy to build your own applications in Lotus Notes, its even easier, and usually more rewarding, to build on top of someone else's. Whether you're a developer, admin, or both, you'll come away from this session ready to put these templates into action to become more productive, make your job easier, and impress your boss.
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!ddrschiw
This session gives you the grand tour of XPages in the Lotus Notes client. You'll discover how easy it is to take your XPages Web apps offline, and then add custom client behaviors that really adapt your application to Lotus Notes client platform. Spread your wings and integrate your application with other client components using real-world use cases that can make a real difference to your business. Learn how to test and debug your XPages client app along the way, and see how XPages supports traditional Lotus Notes client features and get a glimpse of where these integration points will lead in the future. If you have plans for XPages on the Lotus Notes client, this session is a must for you!
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8Teamstudio
This webinar encompasses two sessions presented at IBM Connect 2017. Adam Kesner and Barry Rosen from IBM review the latest updates on Notes/Domino and discuss the future directions and support for Notes/Domino and deliverables over the coming 12-18 months while IBM moves to a continuous delivery model. Then, Martin Donnelly and Brian Gleeson from IBM take a deep dive into the key features delivered in Feature Pack 8 including how to use the new encryption capabilities, improvements to Domino Designer, and more!
Show110 | Using the XPages Extension Library for the Real Worldpdhannan
This is a Show n' Tell session from Lotusphere 2012 on how the XPages Extension Library is used in the production ready TeamRoom XL and Discussion XL templates.
The only constant in software development is CHANGE. Every piece of software that has been developed and shipped to a customer will be changed numerous times during it's life cycle. Depending on how well the code is designed, it is more or less easy to implement changes. MVC, which is an acronym for Model - View - Controller is no new concept. In fact this design paradigm was created by Xerox in the 80's, and it is becoming THE recommended model for designing frameworks - especially on the web. The session will give an overview of design pattern in general and MVC in particular. We will show, how to use the MVC design paradigm in an XPages application and demonstrate, how easy it is to implement changes. Need to read/write your data from/to an XML file instead of using a Notes View. MVC makes software maintenance easy as 1-2-3
IBM Connect 2016 - AD1548 - Building Responsive XPages Applicationsbeglee
Session AD1548 from IBM Connect 2016 in Orlando. Brian Gleeson and Padraic Edwards from the IBM XPages team presented a session on building responsive XPages applications. Utilise Bootstrap 3 or experiment with Bootstrap 4 Alpha to build impressive XPages applications that work well and look great across all devices.
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.
XPages and jQuery DataTables: Simplifying View Creation while Maximizing Func...Teamstudio
Do you find adding view data to XPages unnecessarily painful? This webinar will focus on unleashing the power of jQuery DataTables within your XPages and demonstrate how to create a scalable infrastructure that minimizes the need for additional views and design changes to XPage design elements by using REST services and a reusable custom control. We will also dig into the API of DataTables and show you how to take advantage of its rich feature set to enhance the UI of your views and tables within your XPage applications. With XPages and DataTables, adding view data to your XPages can be simple, fast, powerful, and painless!
IBM Presents the IBM Notes and Domino RoadmapTeamstudio
Barry Rosen, IBM Offering Manager, and Uffe Sorensen, IBM Social Collaboration Director, will review the latest updates on IBM Notes and Domino as well as IBM Verse On-premises and related Cloud solutions. They will discuss the future directions and support for IBM Notes and Domino and the deliverables over the next 12 to 18 months as IBM transitions to using Feature Packs for delivering future enhancements. Plus, Martin Donnelly will discuss IBM's plans for XPages enhancements.
Want to build an XPages application, but not sure how? Kathy and Dave will show you how to build a sample help desk application from start to finish. Step by Step they will show you how to create, read, update, and delete tickets. Along the way you'll be introduced the most common XPages concepts like SSJS, Custom Controls, View and Repeat Controls, Extension Library, CSS frameworks, and much more. Go home with a working application that you can use today!
Expanding XPages with Bootstrap Plugins for Ultimate UsabilityTeamstudio
IBM Champion Johnny Oldenburger from Kranendonk Smart Robotics shows how to develop very user friendly and fully responsive web applications (with XPages of course!) by making use of Bootstrap and jQuery Plugins.
He shows how to use the Select2, DateTimePickers, Multiselect, Bootstrap-select, Modals, Popovers, and Notifications plugins to deliver the ultimate in usability. Learn how to solve the AMD issue when incorporating JavaScript libraries in XPages. Go beyond the basics and create applications that nobody ever thought possible using XPages.
SHOW102 XPages: Still No Experience Necessary IBM Connect 2014Kathy Brown
IBM Connect 2014
XPages: Still No Experience Necessary
Step by Step see how to create an XPages application. Create a help desk ticket app, including CRUD (Create, Read, Update, Delete)
XPages Application Layout Control - TLCC March, 2014 WebinarHoward Greenberg
The Application Layout control may be the most useful and powerful tool available to an XPages developer. A well designed Application Layout can be used to provide a consistent design across all of your XPages applications and increase your XPages development productivity. This webinar will cover how to enable and design the Application Layout in a custom control to provide a consistent user interface. We will compare several application layout design strategies that can be used with the Application Layout control and use the Application Layout control with the Bootstrap4XPages project to create a responsive design for desktop, tablet and mobile devices.
Lessons Learned from Building Windows 8 Store Apps with MVVM and XAMLMike Douglas
In this presentation I go through the lessons learned from building Windows 8 Store apps. I will walk through some Windows 8 basics, go into the MVVM framework and why I chose MVVM/XAML/C#. Next I will talk about page state and persisting data. Then I will show how to use data templates and styling with MVVM and XAML. Last I'll also talk about publishing my application to the App Store.
Presented by Kevin Pettitt and Bruce Elgort at the Irish Lotus User Group conference in Dublin, June 2008.
If you think the only application templates available for IBM Lotus Notes and Domino are the ones that are bundled with it (and even if you already know better) it's time you learned more about the many excellent free and open source Lotus Notes and Domino templates and where they come from. Join us for a fast-paced look at some of the best templates from OpenNTF.org, trade publications, bloggers, and other little known sources. While its easy to build your own applications in Lotus Notes, its even easier, and usually more rewarding, to build on top of someone else's. Whether you're a developer, admin, or both, you'll come away from this session ready to put these templates into action to become more productive, make your job easier, and impress your boss.
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!ddrschiw
This session gives you the grand tour of XPages in the Lotus Notes client. You'll discover how easy it is to take your XPages Web apps offline, and then add custom client behaviors that really adapt your application to Lotus Notes client platform. Spread your wings and integrate your application with other client components using real-world use cases that can make a real difference to your business. Learn how to test and debug your XPages client app along the way, and see how XPages supports traditional Lotus Notes client features and get a glimpse of where these integration points will lead in the future. If you have plans for XPages on the Lotus Notes client, this session is a must for you!
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8Teamstudio
This webinar encompasses two sessions presented at IBM Connect 2017. Adam Kesner and Barry Rosen from IBM review the latest updates on Notes/Domino and discuss the future directions and support for Notes/Domino and deliverables over the coming 12-18 months while IBM moves to a continuous delivery model. Then, Martin Donnelly and Brian Gleeson from IBM take a deep dive into the key features delivered in Feature Pack 8 including how to use the new encryption capabilities, improvements to Domino Designer, and more!
Show110 | Using the XPages Extension Library for the Real Worldpdhannan
This is a Show n' Tell session from Lotusphere 2012 on how the XPages Extension Library is used in the production ready TeamRoom XL and Discussion XL templates.
The only constant in software development is CHANGE. Every piece of software that has been developed and shipped to a customer will be changed numerous times during it's life cycle. Depending on how well the code is designed, it is more or less easy to implement changes. MVC, which is an acronym for Model - View - Controller is no new concept. In fact this design paradigm was created by Xerox in the 80's, and it is becoming THE recommended model for designing frameworks - especially on the web. The session will give an overview of design pattern in general and MVC in particular. We will show, how to use the MVC design paradigm in an XPages application and demonstrate, how easy it is to implement changes. Need to read/write your data from/to an XML file instead of using a Notes View. MVC makes software maintenance easy as 1-2-3
IBM Connect 2016 - AD1548 - Building Responsive XPages Applicationsbeglee
Session AD1548 from IBM Connect 2016 in Orlando. Brian Gleeson and Padraic Edwards from the IBM XPages team presented a session on building responsive XPages applications. Utilise Bootstrap 3 or experiment with Bootstrap 4 Alpha to build impressive XPages applications that work well and look great across all devices.
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.
XPages and jQuery DataTables: Simplifying View Creation while Maximizing Func...Teamstudio
Do you find adding view data to XPages unnecessarily painful? This webinar will focus on unleashing the power of jQuery DataTables within your XPages and demonstrate how to create a scalable infrastructure that minimizes the need for additional views and design changes to XPage design elements by using REST services and a reusable custom control. We will also dig into the API of DataTables and show you how to take advantage of its rich feature set to enhance the UI of your views and tables within your XPage applications. With XPages and DataTables, adding view data to your XPages can be simple, fast, powerful, and painless!
IBM Presents the IBM Notes and Domino RoadmapTeamstudio
Barry Rosen, IBM Offering Manager, and Uffe Sorensen, IBM Social Collaboration Director, will review the latest updates on IBM Notes and Domino as well as IBM Verse On-premises and related Cloud solutions. They will discuss the future directions and support for IBM Notes and Domino and the deliverables over the next 12 to 18 months as IBM transitions to using Feature Packs for delivering future enhancements. Plus, Martin Donnelly will discuss IBM's plans for XPages enhancements.
An Introduction to the Model-View-Controller PatternTeamstudio
The only constant in software development is CHANGE. Every piece of software that has been developed and shipped to a customer will be changed numerous times during its lifecycle. A good design pattern can help make changes easy. MVC, an acronym for Model - View - Controller, is becoming THE recommended model for designing frameworks - especially on the Web. This webinar will give an overview of design patterns in general, and in particular, MVC.
Ulrich Krause shows how to use the MVC design paradigm in an XPages application and demonstrate how easy it is to implement changes. Need to read/write your data from/to an XML file instead of using a Notes View? MVC makes software maintenance as easy as 1-2-3!
BONUS! During this webinar, Pete Janzen, IBM Product Manager, provides a short update about what's new and upcoming from IBM for XPages and Domino application development.
건설산업의 End to-end 협업을 위한 선진 BIM 방법론 (다쏘시스템)다쏘시스템코리아
2015년 11월 17일에 코엑스에서 개최된 "대내외 협업 혁신을 위한 2015년 다쏘시스템 건설산업 세미나"에서 소개된 발표자료입니다. "건설산업의 End-to-End 협업을 위한 선진 BIM 방법론"을 위해 Akio Moriwaki (다쏘시스템 건설산업 부분 마케팅 디렉터)가 발표한 자료입니다.
Rotating machinery can be found in every industry: automotive, aerospace, energy, etc. The generated vibration environment is typically made of harmonic tones superimposed on background noise. Components mounted on rotating machinery must be designed to survive such mechanical environment over their entire service life. This presentation will concentrate on calculating the fatigue life from sine-on-random excitations using Finite Element Analysis (FEA). It is proposed to derive the statistical rainflow cycle histogram from a sine-on-random spectrum of stress or strain data and then use the appropriate material fatigue curve to obtain the estimated life. This new analysis is complementary to existing features such as SineDwell, SineSweep and (uni- or multi-axes) random PSD. It is part of extensive research work that includes the influence of sigma clipping or the effects of a high kurtosis.
Speakers
Frédéric Kihm, Application Engineer, HBM-nCode
This presentation describe how you can use standard web techniques like Ajax and JSON to work with data in your existing IBM Domino (formerly Lotus Domino) database. It shows how to use jQuery and Bootstrap to build a modern web interface, and explains how to create your own REST API on the Domino server to serve up and process data.
How Designing IBM Verse Led Us to a New Way to WorkLetsConnect
Is your head spinning trying to figure out how to apply Design Thinking, Agile, and Continuous Delivery to your project? Come hear the lessons the IBM Verse team learned as they took advantage of these principles and practices to go from vision to enterprise-worthy in 15 months. Find out what things work and what things don't and how you can apply them directly to your projects and make your teams more effective.
MWLUG Session- AD112 - Take a Trip Into the Forest - A Java Primer on Maps, ...Howard Greenberg
Wondering how to take advantage of Java and Managed Beans in XPages? To do this requires knowing how to store data in Java objects and a good understanding of Maps, Trees, Lists, and Sets. No, we are not talking about Google Maps or those big green things in forests but different Java interfaces! Come learn different programming models to use when storing application configuration information, speeding up lookups to Domino data and feeding data to repeat and table controls. Learn how to build reports from different data sources. Plus, we will also look at working with dates and numbers in Java and Domino. Finally, we will review the Domino Java APIs and an alternative, the OpenNTF Domino API.
Presented by Ulrich Krause (BCC) @eknori and Howard Greenberg (TLCC) @TLCCLtd at Engage 2014 by BLUG.
There are many factors that affect how fast your XPages applications run, from server configuration to the way the XPage is designed.
In this session you will learn how you can optimize both your application and your server. Explore the JSF Life cycle and how it affects performance.
Discover how using on page load, partial update and partial execution can help. See how readily available tools from OpenNTF can be used to profile and analyze your code to improve the speed of your applications.
Using the right programming language? Choosing the right language can have a dramatic impact on your XPages performance.
After you attend this session you will learn how your XPages can survive and thrive in the fast lane of the autobahn where there are no speed limits!
Connect 2016-Move Your XPages Applications to the Fast LaneHoward Greenberg
Are your XPages applications performing like a Florida senior citizen driving in the left lane at 55 mph? A key to speeding up your XPages applications is knowledge of the JSF lifecycle, partial refresh and partial execution. This session will cover these concepts and then apply them to optimizing an XPages application. Learn how to use tools to measure the performance of your XPages and determine where the bottlenecks are. Several sample applications will be analyzed along with alternative programming choices to improve their performance. Learn how to dramatically increase your XPages performance and make your users happy - you might even get a speeding ticket after this session!
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...Speedment, Inc.
The best code is the one you never need to write. Using code generation and automated builds, you can minimize the risk of human error when developing software, but how do you maintain control over code when large parts of it are handed over to a machine? In this tutorial, you will learn how to use open source software to create and control code automation. You will see how you can generate a completely object-oriented domain model by automatically analyzing your database schemas. Every aspect of the process is transparent and configurable, giving you, as a developer, 100 percent control of the generated code. This will not only increase your productivity but also help you build safer, more maintainable Java applications and is a perfect solution for Microservices.
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...Malin Weiss
The best code is the one you never need to write. Using code generation and automated builds, you can minimize the risk of human error when developing software, but how do you maintain control over code when large parts of it are handed over to a machine? In this tutorial, you will learn how to use open source software to create and control code automation. You will see how you can generate a completely object-oriented domain model by automatically analyzing your database schemas. Every aspect of the process is transparent and configurable, giving you, as a developer, 100 percent control of the generated code. This will not only increase your productivity but also help you build safer, more maintainable Java applications and is a perfect solution for Microservices.
How to generate customized java 8 code from your databaseSpeedment, Inc.
Did you know that database classes, that require many lines of Java and SQL code, may be replaced with a single line of Java 8 code? In this tutorial session you will learn how to use standard Java 8 Streams as an alternative to traditional Object Relational Mappers (ORM). We will use the open-source tool Speedment to show how development speed can be increased and how the application code can be more concise and run faster.
Silicon Valley JUG - How to generate customized java 8 code from your databaseSpeedment, Inc.
The best code is the one you never need to write. Using code generation and automated builds you can minimize the risk of human error when developing software, but how do you maintain control over code when large parts of it is handed over to a machine? In this tutorial, you will learn how to use open-source software to create and control code automation. You will see how you can generate a completely object-oriented domain model by automatically analyzing your database schemas. Every aspect of the process is transparent and configurable, giving you as a developer 100% control of the generated code. This will not only increase your productivity, but also help you build safer and more maintainable Java applications.
Join special agents Joe Friday and Frank Smith (Brad and Paul) as they uncover all the facts, and just the facts, about facets. Watch as they filter through the opinions, rumors and misconceptions to get answers to all the tough questions like "What are facets?", "When and how should I use them?", "Who else is using them?" and "Why should I even care?" Witness as they discover the xp:key differences and benefits of both named and unnamed facets. Follow our pragmatic pair as they argue and each make a case for xe:dynamicContent or xe:switchFacet. Listen as they reveal the flexibility and power of facets in the Form Table, Data View and Application Layout design frameworks.
Growing in the Wild. The story by CUBRID Database Developers.CUBRID
The presentation the CUBRID team presented at Russian Internet Technologies Conference in 2012. The presentation covers such questions as *WHY* CUBRID was developed, *WHY* the developers did not fork existing solutions, *WHY* it was necessary to develop a new RDBMS from scratch, and *HOW* CUBRID Database was evolved over the years.
The Application Layout control may be the most useful and powerful tool available to an XPages developer. A well designed Application Layout can be used to provide a consistent design across all of your XPages applications and increase your XPages development productivity. This webinar will cover:
-How to enable and design the Application Layout in a custom control to provide a consistent user interface
-Compare several application layout design strategies that can be used with the Application Layout control
-Use the Application Layout control with the Bootstrap4XPages project to create a responsive design for desktop, tablet and mobile devices
MWLUG 2015 - AD114 Take Your XPages Development to the Next Levelbalassaitis
Slides from MWLUG session on XPages development. Digging into features already available in XPages, but not as widely used. Topics include JSON RPC, taking control of component output, SSJS, Java, custom controls, event handlers, and more.
Title: Sista: Improving Cog’s JIT performance
Speaker: Clément Béra
Thu, August 21, 9:45am – 10:30am
Video Part1
https://www.youtube.com/watch?v=X4E_FoLysJg
Video Part2
https://www.youtube.com/watch?v=gZOk3qojoVE
Description
Abstract: Although recent improvements of the Cog VM performance made it one of the fastest available Smalltalk virtual machine, the overhead compared to optimized C code remains important. Efficient industrial object oriented virtual machine, such as Javascript V8's engine for Google Chrome and Oracle Java Hotspot can reach on many benchs the performance of optimized C code thanks to adaptive optimizations performed their JIT compilers. The VM becomes then cleverer, and after executing numerous times the same portion of codes, it stops the code execution, looks at what it is doing and recompiles critical portion of codes in code faster to run based on the current environment and previous executions.
Bio: Clément Béra and Eliot Miranda has been working together on Cog's JIT performance for the last year. Clément Béra is a young engineer and has been working in the Pharo team for the past two years. Eliot Miranda is a Smalltalk VM expert who, among others, has implemented Cog's JIT and the Spur Memory Manager for Cog.
Performance and Scalability Art of Isomorphic React ApplicationsDenis Izmaylov
A couple weeks ago I have talked at React Amsterdam Meetup about Performance and Scalability of Isomorphic React Application.
Have a look at the video from this talk: https://www.youtube.com/watch?list=PLNBNS7NRGKMGLeJj3cuE4JDqJ0_9xAbZV&v=kI19MCP-wIE
AWS re:Invent 2016| GAM301 | How EA Leveraged Amazon Redshift and AWS Partner...Amazon Web Services
In November 2015, Capital Games launched a mobile game accompanying a major feature film release. The back end of the game is hosted in AWS and uses big data services like Amazon Kinesis, Amazon EC2, Amazon S3, Amazon Redshift, and AWS Data Pipeline. Capital Games will describe some of their challenges on their initial setup and usage of Amazon Redshift and Amazon EMR. They will then go over their engagement with AWS Partner 47lining and talk about specific best practices regarding solution architecture, data transformation pipelines, and system maintenance using AWS big data services. Attendees of this session should expect a candid view of the process to implementing a big data solution. From problem statement identification to visualizing data, with an in-depth look at the technical challenges and hurdles along the way.
AWS re:Invent 2016: [REPEAT] How EA Leveraged Amazon Redshift and AWS Partner...Amazon Web Services
In November 2015, Capital Games launched a mobile game accompanying a major feature film release. The back end of the game is hosted in AWS and uses big data services like Amazon Kinesis, Amazon EC2, Amazon S3, Amazon Redshift, and AWS Data Pipeline. Capital Games will describe some of their challenges on their initial setup and usage of Amazon Redshift and Amazon EMR. They will then go over their engagement with AWS Partner 47lining and talk about specific best practices regarding solution architecture, data transformation pipelines, and system maintenance using AWS big data services. Attendees of this session should expect a candid view of the process to implementing a big data solution. From problem statement identification to visualizing data, with an in-depth look at the technical challenges and hurdles along the way.
Search Terms and Design Complexity: A Tutorial Before Modernizing or MigratingTeamstudio
Are you preparing to modernize your IBM Notes and Domino applications or migrate off the platform? Notes and Domino have provided a lot of proprietary design concepts over the years. Do you know where they're in use or what the impact will be on your modernization and migration projects?
Watch this webinar to see how using the search terms feature within Teamstudio Adviser can help you catalog the areas of possible problems. Additionally, learn how to use Teamstudio Configurator to pinpoint exactly where the problem areas are in your applications.
SmartNSF is one piece of the IBM Domino application modernization puzzle. Learn how you can turn a simple Domino database (NSF) into a smart microservice within minutes. Don't worry if you are new to the world of REST APIs, microservices, OpenAPI specification, and YAML. Christian and Martin will provide you with an introduction to the modern paradigm of the microservice world. We will explore how your "old" skills on @Formulas, Agents, and LotusScript fit into the new world of SmartNSF. SmartNSF also brings great value to XPages, Java, and SSJS gurus. And, last but not least, learn how all of this fits into IBM's REST API strategy and get inspired by what can be done with SmartNSF in your business. Will there be a demo? For sure!
Back from the Dead: When Bad Code Kills a Good ServerTeamstudio
It's Friday and a new customer calls. Their mission critical app is taking :05 to open documents and the users are quite concerned. Where do you start when handed a 20-year-old application you have never seen, on a server you barely know? Join two IBM Champions as they dissect a complex Domino performance problem from both the administration and development side to provide a complete customer solution. This session includes best practices around problem-solving techniques and a checklist you can use internally to quickly solve problems you encounter.
Understand Usage with Detailed Access InformationTeamstudio
Understanding exactly who is using your Notes and Domino applications is important for compliance, efficiency, and security. Adviser 6.1 includes Effective Access, a feature that displays users’ access rights to specified databases, no matter how complex your group hierarchies. In this webinar, Dan Colbert and John Coolidge show:
-An easy way to audit the Effective Access of all users across an environment
-How to quickly replicate access rights for a new hire
-A better way to avert unauthorized or inadvertent access risks
Whether you:
-Have an upcoming audit,
-Are looking to consolidate servers,
-Are a Domino admin wanting to make your day-to-day support tasks easier,
-Or you are a security team unfamiliar with Notes/Domino and are looking to better understand your security settings in general,
The powerful features demoed in this webinar will save you and your staff hours of time otherwise spent manually analyzing group hierarchies and unraveling nested groups.
Marty, You're Just Not Thinking Fourth DimensionallyTeamstudio
When XPages code doesn't work as expected, it is often because the expectation was wrong. With the various phases of the XPages lifecycle, validation, the various event handler settings, embedding Server-Side JavaScript within Client-Side JavaScript or scoped variables, understanding what's really there when your code wants it is key troubleshooting XPages.
In this webinar, Paul Withers will help you think fourth dimensionally to better pre-empt the outcomes and troubleshoot when things don't work out like you expect. You'll realise whether or not the bridge over Clayton... Shonash Ravine will be there to ensure your XPages make it Back to the Future.
Take a Trip Into the Forest: A Java Primer on Maps, Trees, and Collections Teamstudio
Wondering how to take advantage of Java and managed beans in XPages? To do this requires knowing how to store data in Java objects and a good understanding of maps, trees, lists, and sets. No, we're not talking about Google Maps or those big green things in forests, but different Java interfaces!
Come learn from Howard Greenberg of TLCC as he discusses different programming models to use when storing application configuration information, speeding up lookups to Domino data and feeding data to repeat and table controls. Learn how to build reports from different data sources. Plus, Howard will also look at working with dates and numbers in Java and Domino. Finally, he will review the Domino Java APIs and an alternative, the OpenNTF Domino API.
Understand the True Business Usage of Notes Applications with Usage AuditorTeamstudio
Organizations commonly have dozens, hundreds, or even thousands of Notes applications in production, but struggle with the cost and control problems associated with an unnecessarily large and complex app inventory. One key piece of information needed for success in many projects is a reliable understanding of the true business usage of apps.
Follow along as we tell the stories of four real companies on their journeys through server consolidation, application migration and modernization, and everyday maintenance. In this webinar, you'll learn how Teamstudio Usage Auditor:
-effectively tracks business usage activity,
-audits applications for Web browser and Notes client activity,
-will help you ace your next project,
-and much more.
Building Responsive Applications Using XPagesTeamstudio
Let Connect come to you! In this webinar, Brian Gleeson and Martin Donnelly from the IBM Development Team present their Connect 2016 session.
Bootstrap was integrated into the XPages Extension Library in 2014 and has continued to rapidly evolve ever since. This responsive design capability empowers you to build the slickest Domino Web applications ever - where the user experience dynamically adapts for the desktop, tablet, or smaller mobile devices. Brian and Martin will show you how to quickly and easily transform your old applications into something that will impress your end users (and your boss)!
XControls have become a powerful tool for XPages developers. Join Matt White and Rich Sharpe to look at:
-What's possible with the XControls
-How to start using the XControls
-A deep dive section on the "Global Search" control
-An upcoming roadmap/new XControls
Mobilisez vos Applications IBM Notes avec Teamstudio Unplugged ! (French Lang...Teamstudio
Rejoignez IBM et Teamstudio pour un webinar (en Français) le mercredi 24 juin et découvrez comment Unplugged permet une mobilisation simple et rapide de vos applications IBM Notes. Et pas seulement! Avec Teamstudio Unplugged vos utilisateurs nomades auront un accès read/write à leurs applications depuis leurs tablettes et leurs smartphones, même offline!
Domino, Notes, and Verse - Where are We and Whats the Future?Teamstudio
Hear from IBM's product team and learn where Notes, Domino, and Verse are headed in this webinar for administrators, application developers, and managers. The product team from IBM cover the following topics:
-Domino and Notes Directions with Scott Vrusho
-Domino Security with Dave Kern and Kevin Lynch
-IBM Verse with Scott Souder
App.Next - The Future of Domino Application DevelopmentTeamstudio
Learn IBM's product directions for Domino and XPages application development from 3 speakers from the IBM development team: Pete Janzen, Martin Donnelly, and Brian Gleeson.
The Domino application development landscape is about to get a whole lot richer. Not only is IBM giving developers new features that will enhance their on-premises platform, XPages runtime and Domino Designer, but they will show how they are bringing the value of Domino to the cloud with new services for IBM Bluemix. New responsive design features, RDBMS data sources, document encryption on the Web, and Bluemix: there's a lot to pack in!
Beans and Java! We hear those buzz words all the time, but our XPages applications seem to work fine with Server Side JavaScript. Why should we use Java and managed beans? Come learn about one long-time Notes developer's journey using a Java Managed Bean and why. Discover how a Bean allowed the data to be cached in memory allowing for quick access to user-selected data subsets. Learn how different Java collections like HashMaps, ArrayLists and TreeSets can be used to build in-memory objects of your data. See how using a Managed Bean can simplify and greatly speed up your XPage! A comparison will be made of the performance savings before and after the implementation of the Managed Bean. Come get gently led down the path to the pot of Java waiting at the end of the rainbow!
Click here to download the sample application used in the webinar: http://www.tlcc.com/admin/tlccsite.nsf/pages/feb-java-webinar?opendocument
Is mobilizing your business a key strategy for 2015? In this webinar, Dan Colbert discusses the business impact of your mobile application strategy. He reviews some important criteria related to your lines of business and the nature of transactions taking place on mobile devices. Real customer examples are explored and Dan provides ideas so you can focus on mobilizing your business, not just an application.
Tips for Building your First XPages Java ApplicationTeamstudio
XPages and Java go together like bicycles and great exercise. But much like you wouldn't attempt a hundred mile bicycle ride on your first day, Java is best learned by starting small and building on your accomplishments. Planning, preparation, and realistic goals are keys to becoming proficient at using Java in your XPages applications. Come learn as two long-time developers, Mike and Graham, share their experiences on their Java treks and demonstrate some of what they learned as they build a Java-based shopping cart in an XPages application.
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.
The XPages Mobile Controls: What's New in Notes 9.0.1Teamstudio
There are new XPages mobile controls available to us as developers in Notes 9.0.1, and they make it even easier to add a mobile layer to your Notes and Domino applications.
This session will present those new controls and how to use them with an existing traditional Domino application. We will show you how to take an app that was built with Notes 6.x and add a mobile interface. In addition to the XPages mobile controls, we will show the same application built using the free mobile tools available from OpenNTF. You will leave the session with practical examples of how to take the first step to putting a fresh mobile face on your applications and everything that goes with it.
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
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
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.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
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
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
3. Who We Are
• Manage, modernize, and mobilize your business
applications with software and solutions from
Teamstudio.
o Easy-to-use tools for developers and administrators
o Modernization Services to help you mobilize your
applications
o Mobilization platform for those who want to mobilize using
their own internal resources
• 1600+ active customers, 53 countries
• Offices in US, UK, and Japan
4. Teamstudio Unplugged
• Your mobile Domino server:
take your IBM Notes apps with you!
• End-users access Notes applications from mobile
devices whether online or offline
• Leverages the powerful technology of XPages
5. Unplugged Templates
• Continuity
Mobile offline access to BCM programs
• OneView Approvals
Expense approvals; anywhere, anytime
• CustomerView
Lightweight CRM framework for field sales and
field service teams
• Contacts – customer information database
• Activities – customer activity log
• Media – mobile offline file storage and access
6. • Set of controls for IBM Domino developers
working on XPages apps and on Notes app
modernization projects
• Re-write of the Teamstudio Unplugged
Controls project, but adds full support for
PC browser-based user interfaces as well as
mobile interfaces
• Enables XPages developers to create
controls that are responsive
• Learn more:
teamstudio.com/solutions/xfoundations/xc
ontrols
XControls
7. Teamstudio Services
• Professional services for modernization, Web
enablement, project management, development,
and administration
o Modernization Services
o Developer Assistance Program
o Application Upgrade Analysis
o Application Complexity Analysis
o Application Usage Auditing
• http://www.teamstudio.com/solutions/services/
8. • XControls Business Edition promotion:
o Be entered to win an Apple iPad mini when you sign up to demo XControls Business
Edition before Oct. 31, 2015.
• XControls webinar: Nov. 3
9. Move your XPages Applications to the Fast Lane
1
Are your XPages Apps are like this???
10. Your Presenter Today – Howard Greenberg
• Certified Lotus Instructor since R3
• Co-founded TLCC in 1987
• IBM Champion
• Prior to that 12 years at IBM in the PC group
• Also…
– Certified Public Accountant
– Certified Information Systems Auditor (CISA)
– Certified Flight Instructor
2
11. How can TLCC Help YOU!
3
• Private classes at
your location or
virtual
•XPages Development
•Support Existing Apps
•Administration
• Let us help you
become an expert
XPages developer!
• Delivered via Notes
• XPages
• Development
• Admin
• User
Self-
Paced
Courses
Mentoring
Instructor-
Led
Classes
Application
Development
and
Consulting
Free
Demo
Courses!
12. 4
• Save hundreds and even Thousands of Dollars
on the most popular courses and packages:
XPages Development
Notes and Domino Development
Domino Administration
• Now extended through October 30th
http://www.tlcc.com/fallsale
13. Upcoming and Recorded Webinars
5
www.tlcc.com/xpages-webinar
View Previous Webinars
(use url above)
• Ask The XPages Experts
– November 17
14. IBM Champion Nominations are Open
• Nominations are open for the IBM Champion program
– Through October 31st
– Go here to complete the nomination form
• If you think someone has contributed to the ICS
community then nominate them!
– Speaks at conferences
– Helps out in forums and Stack Overflow, etc.
– Hosts videos, blogs, webinars
– More about the IBM Champion Program here
6
15. Asking Questions – Q and A at the end
7
Use the Orange Arrow button to
expand the GoToWebinar panel
Then ask your questions in the
Questions pane!
We will answer your questions
verbally at the end of the
webinar
16. Agenda
• What affects XPages Peformance
• XPages Lifecycle
• Partial Refresh vs. Partial Execution
• Tools to Analyze Peformance
• Case Studies
• Questions???
8
17. What affects XPages Performance?
9
Client:
Browser
OS
CPU
Hard drive
Memory
Network
Speed and
Latency Server:
Hardware
OS
Application (Domino)
18. What’s Involved on the Server...
• Server HW and OS pass network request to Domino
• Domino networking and HTTP Task
• XPages runtime engine
– Restore state (might read from disk)
– Java code builds HTML, etc. that gets sent to
browser
• Uses the JSF Lifecycle (more on this later)
• Calls Backend Domino objects if needed
• Domino passes response (HTML, CSS, JS, etc.) to OS
and via network to client
10
19. Server Performance Variables
• Hardware
– CPU, Network, Memory, and Hard Drive
• Operating System (Use 64 bit OS!)
• Domino:
– Memory Settings
• HTTPJVMMaxHeapSize
• Use HTTPJVMMaxHeapSizeSet=1 to prevent
changes
– Number of threads
• See this article from IBM
– Encryption (HTTPS)
11
20. Optimizing Memory Utilization
• xsp.persistence.mode - Set in XSP Properties file
– Defines the persistence mode for the JSF pages
• file: All the pages are persisted on disk
• fileex: All the pages are persisted on disk except the current one,
which stays in memory
• <else>: All the pages stay in memory (tree mode)
12
21. JavaScript/CSS Aggregation
• Groups many DOJO, CSS / JS files into a single file
– Less requests from the browser to the server
– Performance improvements on networks with high
latency
– Enhanced performance parsing CSS / JS
– Fewer connections to the server
13
On the Server: xsp.properties:
xsp.resources.aggregate=true
23. JSF Life Cycle - Post
15
Restore View
•Restore component tree
•Events:
•afterRestoreView
Apply Request
Values
•Copy data to Editable
controls
Process Validations
•Validations
•Converters
Update Model
Values
•Move values to data
source
Invoke Application
•Application logic
•Events:
•onClientLoad (XPage,
etc)
•on… events of button,
etc.
Render Response
•Convert to HTML, etc.
•Events:
•beforeRenderReponse
•afterRenderResponse
Request
Response
24. Lifecycle1 XPage – Initial Page Load
16
Render Response
•Rendered property for id: label1
•Label property for id: label1
•Rendered property for id: inputText1
•Default value property for id: inputText1
•Rendered property for id: label2
•Rendered property for id: comboBox1
•values property for id: comboBox1
•values property for id: comboBox1
•Rendered property for id: computedField1
•Value property for id: computedField1
•Rendered property for id: computedField2
•Value property for id: computedField2
12 SSJS Calls
25. Lifecyle1 – Submit (Full Update)
Restore View Apply Request Values (8)
•Rendered property for id: label1
•Rendered property for id: inputText1
•Rendered property for id: inputText1
•Rendered property for id: label2
•Rendered property for id: comboBox1
•Rendered property for id: comboBox1
•Rendered property for id: computedField1
•Rendered property for id: computedField2
Process Validations (11)
•Rendered property for id: label1
•Rendered property for id: inputText1
•Rendered property for id: inputText1
•Validation for inputText1
•Default value property for id: inputText1
•Rendered property for id: label2
•Rendered property for id: comboBox1
•Rendered property for id: comboBox1
•values property for id: comboBox1
•Rendered property for id: computedField1
•Rendered property for id: computedField2
Update Model Values (8)
•Rendered property for id: label1
•Rendered property for id: inputText1
•Rendered property for id: inputText1
•Rendered property for id: label2
•Rendered property for id: comboBox1
•Rendered property for id: comboBox1
•Rendered property for id: computedField1
•Rendered property for id: computedField2
Invoke Application (1)
•OnClick event for id: button1
Render Response (11)
•Rendered property for id: label1
•Label property for id: label1
•Rendered property for id: inputText1
•Rendered property for id: label2
•Rendered property for id: comboBox1
•values property for id: comboBox1
•values property for id: comboBox1
•Rendered property for id: computedField1
•Value property for id: computedField1
•Rendered property for id: computedField2
•Value property for id: computedField239 SSJS Calls
17
26. When to Execute - # vs $
• # is Compute dynamically
– Executed every time the page is
rendered
– Use for values that are likely to change
• $ is Compute on Page Load
– Executed when the page is first loaded
– Use for values that don't change
18
<xp:label id="label1">
<xp:this.value>
<![CDATA[#{javascript:return “My
Label”;}]]>
</xp:this.value>
</xp:label>
27. Lifecyle2 – Submit (Full Update) - On Page Load
19
Restore View Apply Request Values
•Rendered property for id: label1
•Rendered property for id: inputText1
•Rendered property for id: inputText1
•Rendered property for id: label2
•Rendered property for id: comboBox1
•Rendered property for id: comboBox1
•Rendered property for id: computedField1
•Rendered property for id: computedField2
Process Validations (2)
•Rendered property for id: label1
•Rendered property for id: inputText1
•Rendered property for id: inputText1
•Validation for inputText1
•Default value property for id: inputText1
•Rendered property for id: label2
•Rendered property for id: comboBox1
•Rendered property for id: comboBox1
•values property for id: comboBox1
•Rendered property for id: computedField1
•Rendered property for id: computedField2
Update Model Values
•Rendered property for id: label1
•Rendered property for id: inputText1
•Rendered property for id: inputText1
•Rendered property for id: label2
•Rendered property for id: comboBox1
•Rendered property for id: comboBox1
•Rendered property for id: computedField1
•Rendered property for id: computedField2
Invoke Application (1)
•OnClick event for id: button1
Render Response (3)
•Rendered property for id: label1
•Label property for id: label1
•Rendered property for id: inputText1
•Rendered property for id: label2
•Rendered property for id: comboBox1
•values property for id: comboBox1
•values property for id: comboBox1
•Rendered property for id: computedField1
•Value property for id: computedField1
•Rendered property for id: computedField2
•Value property for id: computedField2
6 SSJS Calls, saved 33
Changed all Rendered and
Values (comboBox) to only
compute on Page Load
28. Options for dynamically computing the Rendered:
• Scoped variables
– Still get calculated but do the heavy lifting once and then
read the scoped variable in the Rendered property
• DataContexts
– Compute a value at the Xpage or Panel level once
– Refer to the value using EL (much faster than SSJS)
20
But I need dynamic Rendering!
29. DataContext - Pitfall
• Be careful binding data context variables dynamically
– They will be recomputed multiple times, even when in
partial execution mode and if they are not in use (six times!)
• Apply Request Values
• Process Validations
• Update Model Values
• Invoke Application
• Twice in Render Response!
• If computed on page load then only computed once on page load
• See Paul Withers blog entry to learn how to set a data context
value via code
21
30. Partial Refresh vs. Partial Execution?
• Partial Refresh (Update)
– Computes entire XPage, only sends back
what is in the partial refresh id (refreshId)
• Partial Execution
– Only calculates what is in the area
specified (execId)
22
31. Partial Refresh Demo - Results
23
Restore View Apply Request Values (8)
•Rendered property for id: label1
•Rendered property for id: inputText1
•Rendered property for id: inputText1
•Rendered property for id: label2
•Rendered property for id: comboBox1
•Rendered property for id: comboBox1
•Rendered property for id: computedField1
•Rendered property for id: computedField2
Process Validations (11)
•Rendered property for id: label1
•Rendered property for id: inputText1
•Rendered property for id: inputText1
•Validation for inputText1
•Default value property for id: inputText1
•Rendered property for id: label2
•Rendered property for id: comboBox1
•Rendered property for id: comboBox1
•values property for id: comboBox1
•Rendered property for id: computedField1
•Rendered property for id: computedField2
Update Model Values (8)
•Rendered property for id: label1
•Rendered property for id: inputText1
•Rendered property for id: inputText1
•Rendered property for id: label2
•Rendered property for id: comboBox1
•Rendered property for id: comboBox1
•Rendered property for id: computedField1
•Rendered property for id: computedField2
Invoke Application (1)
•OnClick event for id: button1
Render Response (2)
•Rendered property for id: label1
•Label property for id: label1
•Rendered property for id: inputText1
•Rendered property for id: label2
•Rendered property for id: comboBox1
•values property for id: comboBox1
•values property for id: comboBox1
•Rendered property for id: computedField1
•Value property for id: computedField1
•Rendered property for id: computedField2
•Value property for id: computedField2
30 SSJS Calls, saved 9
Only Savings
were here!
32. Partial Refresh Pros and Cons
• Pros
– Reduced control processing in the render response phase
– Smaller response from server
• Means reduced network usage
– Better UI experience
• Rest of the page is still visible while waiting for a response
• Cons
– Controls like computed fields outside refresh area don’t refresh
– Be careful turning this on for a completed XPage (TEST!)
– Can only update one area (one id)
• Workaround from Tim Tripcony on XPages Wiki
24
33. Partial Execution Demo - Results
25
Restore View Apply Request Values (1)
•Rendered property for id: label1
•Rendered property for id: inputText1
•Rendered property for id: inputText1
•Rendered property for id: label2
•Rendered property for id: comboBox1
•Rendered property for id: comboBox1
•Rendered property for id: computedField1
•Rendered property for id: computedField2
Process Validations (1)
•Rendered property for id: label1
•Rendered property for id: inputText1
•Rendered property for id: inputText1
•Validation for inputText1
•Default value property for id: inputText1
•Rendered property for id: label2
•Rendered property for id: comboBox1
•Rendered property for id: comboBox1
•values property for id: comboBox1
•Rendered property for id: computedField1
•Rendered property for id: computedField2
Update Model Values (1)
•Rendered property for id: label1
•Rendered property for id: inputText1
•Rendered property for id: inputText1
•Rendered property for id: label2
•Rendered property for id: comboBox1
•Rendered property for id: comboBox1
•Rendered property for id: computedField1
•Rendered property for id: computedField2
Invoke Application (1)
•OnClick event for id: button1
Render Response (12)
•Rendered property for id: label1
•Label property for id: label1
•Rendered property for id: inputText1
•Default value property for id: inputText1
•Rendered property for id: label2
•Rendered property for id: comboBox1
•values property for id: comboBox1
•values property for id: comboBox1
•Rendered property for id: computedField1
•Value property for id: computedField1
•Rendered property for id: computedField2
•Value property for id: computedField2
16 SSJS Calls
Saved 13
34. Partial Execution Pros and Cons
• Pros
– Reduced processing in the 3 data-processing phases
• Cons
– Control with onClick event has to be inside the execId area
– Editable values outside of the executed area do not get
submitted/updated (reset to default values)
– Existing XPages need analysis/testing before using this
• Current onclick events might refer to controls where the data
is not submitted
– ExecMode available in 8.5.1
– Have to use source to enter ExecId in 8.5 (9.0 has Designer UI)
26
35. Partial Refresh AND Execution Demo - Results
Restore View Apply Request Values (1)
•Rendered property for id: label1
•Rendered property for id: inputText1
•Rendered property for id: inputText1
•Rendered property for id: label2
•Rendered property for id: comboBox1
•Rendered property for id: comboBox1
•Rendered property for id: computedField1
•Rendered property for id: computedField2
Process Validations (1)
•Rendered property for id: label1
•Rendered property for id: inputText1
•Rendered property for id: inputText1
•Validation for inputText1
•Default value property for id: inputText1
•Rendered property for id: label2
•Rendered property for id: comboBox1
•Rendered property for id: comboBox1
•values property for id: comboBox1
•Rendered property for id: computedField1
•Rendered property for id: computedField2
Update Model Values (1)
•Rendered property for id: label1
•Rendered property for id: inputText1
•Rendered property for id: inputText1
•Rendered property for id: label2
•Rendered property for id: comboBox1
•Rendered property for id: comboBox1
•Rendered property for id: computedField1
•Rendered property for id: computedField2
Invoke Application (1)
•OnClick event for id: button1
Render Response (2)
•Rendered property for id: label1
•Label property for id: label1
•Rendered property for id: inputText1
•Rendered property for id: label2
•Rendered property for id: comboBox1
•values property for id: comboBox1
•values property for id: comboBox1
•Rendered property for id: computedField1
•Value property for id: computedField1
•Rendered property for id: computedField2
•Value property for id: computedField2
6 SSJS Calls,
saved 33
27
36. Using the loaded Property
• Loaded = true
– In component tree
• Loaded = false
– Control is not created
– Can never be rendered
or accessed
– Saves memory too
28
Loaded only computed once in the createView phase
37. Life Cycle Performance Suggestions
• Most properties, like CSS “style” are
only computed in the
RenderResponse phase
• Watch and minimize:
– Rendered property (when dynamic)
• Computed multiple times!
• Use dataContexts or scoped variables
when able
• Use both Partial Refresh (Update)
and Partial Execute when able
29
38. Tools to Test/Debug Performance Issues
• Print statements
– In rendered/visible computations to see how often executed
• print("panel2 evaluating rendered property");
– In the XPages events such as:
• before/afterPageLoad, afterRestoreView,
before/afterRenderResponse
– In the document data source events:
• queryNewDocument, postSaveDocument, etc.
– Or use the Debug Toolbar (don‘t have to view server
console)
• http://www.openntf.org/main.nsf/project.xsp?r=project/
XPage%20Debug%20Toolbar
30
39. More Tools
• Server OS tools to monitor CPU, memory and network
• Browser developer tools
– for watching network transactions, partial updates, response
times
– BROWSER: Firebug, Chrome, etc. developer tools
– XPiNC: FirebugLite from ExtLib
• Java / Javascript Debugging
– Degrades performance but can inspect objects
• Use the Eclipse Java debugger
31
40. XPages Toolbox
• XPages based Application
– Runs on the Domino server or the Notes client
– An NSF needs to be installed on the server/Notes client
– A profiler jar file is added to the JVM directory
– Modify the security policy file
– Notes.ini is modified (all in the documentation!)
• Measures CPU performance and memory allocation
• Available from OpenNTF.org
– Free open source project
– http://www.openntf.org/main.nsf/project.xsp?r=project/XPa
ges%20Toolbox
32
41. XPages Toolbox Functionality
• Measures CPU and Wall time
• Back end Domino object profiling
• Run time monitor (memory)
• Session dumps (XML file)
• Heap dump of the JVM running in the HTTP task
– Or from the Domino console (or from your code)
• tell http xsp heapdump (triggers com.ibm.jvm.Dump.HeapDump())
• tell http xsp javadump (triggers com.ibm.jvm.Dump.JavaDump())
– Analyze the heap dump using the Eclipse memory analyzer (need to also
install the IBM dump tool)
http://www.eclipse.org/mat/
http://www.ibm.com/developerworks/java/jdk/tools/dtfj.html
• Thread Monitoring
33
44. Watch Out for @DbLookup
• @DbLookup about 3-4 times slower than SSJS
– res = @DbLookup(db,"CustomersByNameView",names[i], "phone");
vs.
– doc = vw.getDocumentByKey(names[i], true);
res = doc.getItemValueString("phone");
• Five lookups repeated 100 times
– @DbLookup averaged about 1728ms
– getDocumentByKey averaged 510ms
• Other @Functions not tested
36
45. • Simple Repeat – what could be wrong?
– Configuration Lookups to get other nsf names
– Lookups to get “role” of user
– Opening Notes document to get values
– Computed view value
– Complicated rendered formula in repeat
Case Study 1 - Repeat
37
46. • Add Application Scope variables to store database
names
• Or (better yet) create an ApplicationBean in Java
Case Study 1 – First Step add scoped variable for Config (db names)
38
To retrieve:
47. Improvement – Repeat_Config
39
Xpage Calls Time CPU Time Calls(%)
BE
Time(%)
CPU
Time(%)
Start 3564 1547 1688
Cache Config 2499 733 1016 143% 211% 166%
48. • Add App Scope variable to store user roles
• No more @DbLookup in rendered
– Pulls value from memory - much faster!
Case Study 1 – Next add scoped variable for User Information
40
To retrieve:
49. Improvement – Repeat_User
41
All previous changes are cumulative....
Xpage Calls Time CPU Time Calls(%)
BE
Time(%)
CPU
Time(%)
Start 3564 1547 1688
Cache Config 2499 733 1016 143% 211% 166%
Cache User 1992 265 469 179% 584% 360%
50. • Avoid opening NotesDocument object to get values
not in the view
– Created a new view with missing columns
– Changed reference to use EL for all but two
columns that need to lookup in another DB
Case Study 1 – Next create a new view
42
51. Improvement – Repeat_BetterView
43
All previous changes are cumulative....
Xpage Calls Time CPU Time Calls(%)
BE
Time(%)
CPU
Time(%)
Start 3564 1547 1688
Cache Config 2499 733 1016 143% 211% 166%
Cache User 1992 265 469 179% 584% 360%
Better View 1656 283 375 215% 547% 450%
52. • Avoid doing the @Dblookup to get the sales person
based on the region
• Use a Bean to cache Region/Salesperson data
– HashMap: key is region name, value is salesperson
– Application scope (shared by all users)
Lookup the Sales Person from a Bean
44
53. Improvement – Repeat_CacheRegion
45
All previous changes are cumulative....
Xpage Calls Time CPU Time Calls(%)
BE
Time(%)
CPU
Time(%)
Start 3564 1547 1688
Cache Config 2499 733 1016 143% 211% 166%
Cache User 1992 265 469 179% 584% 360%
Better View 1656 283 375 215% 547% 450%
Cache Region 1614 93 250 221% 1663% 675%
54. • Store Sales Total by Customer in HashMap
– viewScope Managed Bean
• Caches sales total, key is customer name
• Also use ViewNavigator to get totals via
getNextCategory()
– Fast initialization of HashMap
Next Try: Use Java to Cache Sales Lookup
46
SSJS call to Bean
55. Improvement – Repeat_ComputeSalesJava
47
All previous changes are cumulative....
Xpage Calls Time CPU Time Calls(%)
BE
Time(%)
CPU
Time(%)
Start 3564 1547 1688
Cache Config 2499 733 1016 143% 211% 166%
Cache User 1992 265 469 179% 584% 360%
Better View 1656 283 375 215% 547% 450%
Cache Region 1614 93 250 221% 1663% 675%
Compute Sales - Java 816 16 172 437% 9669% 981%
56. • CustomerBean
– passes Collection of customer objects to Repeat
– The scope could be request, view, or application
• CacheBean
– Long lived information
– Config settings (database path and name)
– User profile (manager, sales rep or user)
– Region information (get Sales person for region)
– Application Scope
Do Everything in Java!
48
58. Improvement – Repeat_AllJava
50
Xpage Calls Time CPU Time Calls(%)
BE
Time(%)
CPU
Time(%)
Start 3564 1547 1688
Cache Config 2499 733 1016 143% 211% 166%
Cache User 1992 265 469 179% 584% 360%
Better View 1656 283 375 215% 547% 450%
Cache Region 1614 93 250 221% 1663% 675%
Compute Sales - Java 816 16 172 437% 9669% 981%
All Java (request scope) 401 47 141 889% 3291% 1197%
All Java (view scope) 6 0 109 59400% NA 1549%
59. Performance Improvement for Case Study 1
51
0
500
1000
1500
2000
2500
3000
3500
4000
AxisTitle
Calls Time CPU Time
60. Case Study 2: Partial Refresh and Execution
• Added a lookup to compute sales by region
– Full Update/Exec
– Partial Refresh
– Partial Exec
– Both
52
Xpage Calls Time CPU Time Calls (%)
BE
Time (%)
CPU
Time(%)
Start 1918 1109 1375
Refresh 516 672 781 691% 230% 216%
Exec 1414 610 688 252% 254% 245%
Both 12 31 78 29700% 4990% 2164%
0
500
1000
1500
2000
2500
Start Refresh Exec Both
Calls Time CPU Time
61. Recap
• Think about performance when designing
– JSF Lifecycle
• Avoiding computations in rendered
– Cache whenever possible
• Scoped variables
• Beans
• Measure performance
– Part of your testing processes
– Look for ways to improve
53
62. • TLCC Performance Webinar with Ulrich Krause and
myself from October, 2013
– YouTube and Slides
• Paul Withers blog (each link below is different)
– Part 1, Part 2, Part 3
• Tony McGuckin’s Video - XPages Master class
– 4 videos plus sample applications
• IBM article on JSF (non XPages)
54
Homework Time – Further References
63. Questions????
55
Use the Orange Arrow button to
expand the GoToWebinar panel
Then ask your questions in the
Questions panel!
Remember, we will answer your
questions verbally
64. #XPages
@TLCCLtd
@Teamstudio
@PaulDNUpcoming Events:
Swiss Notes User Group - Oct 28
Social Connections 9, Stuttgart, Germany – Nov. 5 – 6
SUTOL Conference, Prague, CZ – Nov. 11
Connect, Orlando – Jan. 31 to Feb. 3
Question and Answer Time!
56
Teamstudio Questions?
contactus@teamstudio.com
978-712-0924
TLCC Questions?
howardg@tlcc.com paul@tlcc.com
888-241-8522 or 561-953-0095
Howard
Greenberg Courtney
Carter
Keep in mind:
TLCC Fall Sale
IBM Champion Nominations are Open