Loose coupling of systems is key to future development! Why? Because it will allow us to change the "components" as we go along instead of creating monster big systems that are tied together using all sorts of different technologies. Webservices have been a way to obtain this over the last decade. More recently a special variant has become very popular, namely the JSON based REST service. Imagine you could extend your data out to the world outside your Domino environment? - in an easy way....! And imagine those data could easily be incorporated into other systems via standardized interfaces... Could that extend the value of your current systems further? Could this be a way to use new technologies to modernize your users' experience of working with your systems? Come and take away knowledge about how to open your Domino/XWork based systems up to the world outside using JSON based REST services. They are going to be key to future development in Domino/XWork - whether you want to use data in browser solutions (e.g. based on angular.js or ExtJS) or native mobile apps (built in whatever technology is best).
A powerful web application server (intravision IBM Connect 2013 Update) Febru...Per Henrik Lausten
I gave this presentation at the IBM Connect 2013 Update seminar hosted by Intravision on February 25 at IBM in Copenhagen.
http://per.lausten.dk/blog/2013/02/ibm-connect-2013-update-with-intravision.html
RESTful services on IBM Domino/XWork (SUTOL 11 Nov. 2015 in Prague)John Dalsgaard
Loose coupling of systems is key to future development! Why? Because it will allow us to change the "components" as we go along instead of creating monster big systems that are tied together using all sorts of different technologies. Webservices have been a way to obtain this over the last decade. More recently a special variant has become very popular, namely the JSON based REST service. Imagine you could extend your data out to the world outside your Domino environment? - in an easy way....! And imagine those data could easily be incorporated into other systems via standardized interfaces... Could that extend the value of your current systems further? Could this be a way to use new technologies to modernize your users' experience of working with your systems? Come and take away knowledge about how to open your Domino/XWork based systems up to the world outside using JSON based REST services. They are going to be key to future development in Domino/XWork - whether you want to use data in browser solutions (e.g. based on angular.js or ExtJS) or native mobile apps (built in whatever technology is best).
This presentation introduces REST services and JSON, and how they can be used with IBM Domino and XWork. It discusses REST architecture and JSON syntax. It then demonstrates how to use the Domino Access Service, Extension Library controls, and building your own REST services to expose data from Domino databases via REST APIs using JSON. The presentation concludes with a live demo of these techniques.
REST services and IBM Domino/XWork - DanNotes 19-20. november 2014John Dalsgaard
Loose coupling of systems is key to future development! Why? Because it will allow us to change the "components" as we go along instead of creating monster big systems that are tied together using all sorts of different technologies. Webservices have been a way to obtain this over the last decade. More recently a special variant has become very popular, namely the JSON based REST service.
Imagine you could extend your data out to the world outside your Domino environment? - in an easy way....! And imagine those data could easily be incorporated into other systems via standardized interfaces... Could that extend the value of your current systems further? Could this be a way to use new technologies to modernize your users' experience of working with your systems?
Come and take away knowledge about how to open your Domino/XWork based systems up to the world outside using JSON based REST services. They are going to be key to future development in Domino/XWork - whether you want to use data in browser solutions (e.g. based on angular.js or ExtJS) or native mobile apps (built in whatever technology is best).
ICONUK 2015: Zen and the art of requirements gathering, why getting to "In ti...Femke Goedhart
As delivered by Tim Clark & Femke Goedhart on September 21st in London at ICONUK.
session abstract: Often forgotten or trivialized, good requirements gathering can make or brake your project. This session will give you techniques and tips on how to effectively get to the core of the requirements, identify ways of prioritizing them and explains some core concepts of Functional and Technical design elements. Based on years of experience gathering requirements (and working with them!) Femke & Tim will take you through some of the real life examples they've come across and a lot of do's & don'ts they have run into. Tying them into practice and theory that can help you get your projects off to a better start.
MVC and IBM XPages - from #DanNotes in Korsør (DK) 28 November 2013John Dalsgaard
Learn how you can improve your coding in IBM XPages by using the Model-View-Controller (MVC) design pattern. This is my advice on how to take advantage of the XPages (i.e. JSF) architecture to prepare for much better applications (separate database access, business rules and view components).
COSCUP 2019 - The discussion between Knex.js and PostgreSQLLen Chang
This document discusses using knex.js to solve schema change problems. Knex.js is a SQL query builder that can be used with Node.js and relational databases. It features query building, pooling, transactions, migrations, and seed files. Migrations allow defining schema changes, and seed files populate data. Testing, automatic deployment, and using only JavaScript helps avoid crashes during schema updates and reduces operation errors.
The document discusses how to migrate a WordPress site from WordPress.com to a self-hosted WordPress.org site. It covers exporting content from WordPress.com and importing it into a new WordPress.org site. Plugins like Duplicator can be used to transfer files, databases, and content. DNS settings need to be updated to point the domain to the new site. Troubleshooting tips are provided for issues like white screen of death errors.
A powerful web application server (intravision IBM Connect 2013 Update) Febru...Per Henrik Lausten
I gave this presentation at the IBM Connect 2013 Update seminar hosted by Intravision on February 25 at IBM in Copenhagen.
http://per.lausten.dk/blog/2013/02/ibm-connect-2013-update-with-intravision.html
RESTful services on IBM Domino/XWork (SUTOL 11 Nov. 2015 in Prague)John Dalsgaard
Loose coupling of systems is key to future development! Why? Because it will allow us to change the "components" as we go along instead of creating monster big systems that are tied together using all sorts of different technologies. Webservices have been a way to obtain this over the last decade. More recently a special variant has become very popular, namely the JSON based REST service. Imagine you could extend your data out to the world outside your Domino environment? - in an easy way....! And imagine those data could easily be incorporated into other systems via standardized interfaces... Could that extend the value of your current systems further? Could this be a way to use new technologies to modernize your users' experience of working with your systems? Come and take away knowledge about how to open your Domino/XWork based systems up to the world outside using JSON based REST services. They are going to be key to future development in Domino/XWork - whether you want to use data in browser solutions (e.g. based on angular.js or ExtJS) or native mobile apps (built in whatever technology is best).
This presentation introduces REST services and JSON, and how they can be used with IBM Domino and XWork. It discusses REST architecture and JSON syntax. It then demonstrates how to use the Domino Access Service, Extension Library controls, and building your own REST services to expose data from Domino databases via REST APIs using JSON. The presentation concludes with a live demo of these techniques.
REST services and IBM Domino/XWork - DanNotes 19-20. november 2014John Dalsgaard
Loose coupling of systems is key to future development! Why? Because it will allow us to change the "components" as we go along instead of creating monster big systems that are tied together using all sorts of different technologies. Webservices have been a way to obtain this over the last decade. More recently a special variant has become very popular, namely the JSON based REST service.
Imagine you could extend your data out to the world outside your Domino environment? - in an easy way....! And imagine those data could easily be incorporated into other systems via standardized interfaces... Could that extend the value of your current systems further? Could this be a way to use new technologies to modernize your users' experience of working with your systems?
Come and take away knowledge about how to open your Domino/XWork based systems up to the world outside using JSON based REST services. They are going to be key to future development in Domino/XWork - whether you want to use data in browser solutions (e.g. based on angular.js or ExtJS) or native mobile apps (built in whatever technology is best).
ICONUK 2015: Zen and the art of requirements gathering, why getting to "In ti...Femke Goedhart
As delivered by Tim Clark & Femke Goedhart on September 21st in London at ICONUK.
session abstract: Often forgotten or trivialized, good requirements gathering can make or brake your project. This session will give you techniques and tips on how to effectively get to the core of the requirements, identify ways of prioritizing them and explains some core concepts of Functional and Technical design elements. Based on years of experience gathering requirements (and working with them!) Femke & Tim will take you through some of the real life examples they've come across and a lot of do's & don'ts they have run into. Tying them into practice and theory that can help you get your projects off to a better start.
MVC and IBM XPages - from #DanNotes in Korsør (DK) 28 November 2013John Dalsgaard
Learn how you can improve your coding in IBM XPages by using the Model-View-Controller (MVC) design pattern. This is my advice on how to take advantage of the XPages (i.e. JSF) architecture to prepare for much better applications (separate database access, business rules and view components).
COSCUP 2019 - The discussion between Knex.js and PostgreSQLLen Chang
This document discusses using knex.js to solve schema change problems. Knex.js is a SQL query builder that can be used with Node.js and relational databases. It features query building, pooling, transactions, migrations, and seed files. Migrations allow defining schema changes, and seed files populate data. Testing, automatic deployment, and using only JavaScript helps avoid crashes during schema updates and reduces operation errors.
The document discusses how to migrate a WordPress site from WordPress.com to a self-hosted WordPress.org site. It covers exporting content from WordPress.com and importing it into a new WordPress.org site. Plugins like Duplicator can be used to transfer files, databases, and content. DNS settings need to be updated to point the domain to the new site. Troubleshooting tips are provided for issues like white screen of death errors.
What's New and Next in OpenNTF Domino API (ICON UK 2014)Paul Withers
- The document summarizes the presentation "What's New And Next in OpenNTF Domino API" given by Paul Withers.
- It describes recent enhancements to the OpenNTF Domino API including improvements to logging, database methods, document serialization, and email functionality.
- Future plans include expanding the XOTS task framework, graph database support, classes to represent all design elements, and potential integration with administrative functions.
Everything you ever wanted to know about lotus scriptBill Buchan
Bill Buchan, a CEO and consultant with experience in LotusScript since 1995, gave a presentation on LotusScript. He discussed that LotusScript is an older language that is no longer a priority for development. However, it is still used to maintain many existing Domino applications. The presentation covered LotusScript basics like variables, classes, lists and the NotesSession object. It also discussed advanced topics such as calling C APIs, using the Execute statement, and creating web services with LotusScript.
Migrations are a thing we have to do sometimes but dread doing. You ask yourself before, will it go okay? You think later, did I forget anything?
In this talk I’m going to give you some key insights into migrating information from WordPress.com to a WordPress.org self-hosted site. After we’ll discuss the details of migrating a production web site from one host to another. I’ll give you the tools to test the migration before completely flipping the switch. Lastly, we’ll talk about when you want to migrate content from a development copy of the site over to your production site.
Webinar topic: MPLS on Router OS V7 - Part 1
Presenter: Achmad Mardiansyah & M. Taufik Nurhuda
In this webinar series, How MPLS on Router OS V7 works
Please share your feedback or webinar ideas here: http://bit.ly/glcfeedback
Check our schedule for future events: https://www.glcnetworks.com/en/schedule/
Follow our social media for updates: Facebook, Instagram, YouTube Channel, and telegram also discord
Recording available on Youtube
https://youtu.be/SvZrYNA0-rQ
Restlet: Building a multi-tenant API PaaS with DataStax Enterprise SearchDataStax Academy
Starting from the persistence needs of an API PaaS, we'll explain how we selected Cassandra and, finally, DSE Search, the main challenges we faced both in term of development and operations, and the solutions we have implemented.
Martin Tepper presented on using MongoDB as a queryable cache for Travel IQ, a meta search engine for flights and hotels. Travel IQ was experiencing slow API response times due to complex queries on its normalized SQL database. MongoDB was implemented as a caching layer to store denormalized offer data to allow for faster querying. This improved response times but also led to some headaches around data consistency and segmentation faults that were later addressed.
Webinar topic: Zettabyte File System (ZFS)
Presenter: Achmad Mardiansyah
In this webinar series, We are discussing Zettabyte File System (ZFS)
Please share your feedback or webinar ideas here: http://bit.ly/glcfeedback
Check our schedule for future events: https://www.glcnetworks.com/schedule/
Follow our social media for updates: Facebook, Instagram, YouTube Channel, and telegram
See you at the next event
Recording available on Youtube
https://youtu.be/yPwxY9rViao
A Study of our path using WordPress
Dawson College with 10,000+ students and 1,000+ faculty and staff has adopted WordPress as our primary web publishing platform. We’ve mostly had success, but we’ve also had our share of failures and growing pains. In this case study, I’m going to talk about how we started out with WordPress in 2010, migrated our main website a few years later to a multi-site install and how it all evolved to what we have today. Since then, we’ve adopted the “lean and mean” mantra to building sites, while making them easy to update. This case study will showcase the front and back-ends of our higher profile sites to show how we achieved our goals. We’ll also explain how we manage expectations, do our development, choose plugins and tools, and which themes we’ve come to rely on.
Scaling up and accelerating Drupal 8 with NoSQLOSInet
Drupal 8 can scale well and serve pages fast to many users, especially by offloading parts of the work load from the main SQL database to NoSQL solutions.
This presentation describes the strategies and technologies usable to achieve such gains, including specific configuration, contributed modules and custom coding strategies.
This document provides an overview of key web technologies including HTTP, XML, HTML, XHTML, CSS, JavaScript, DOM, SVG, and Unicode. It discusses what each technology is, the latest versions, and basic properties and functionality. For example, it states that HTTP is the underlying protocol for the web, XML is a simplified version of SGML used for data exchange, and CSS is used to separate style from content in HTML and XML documents.
Part One: Building Web Apps with the MERN StackMongoDB
This document provides an overview and agenda for a workshop on building web applications with the MERN stack using MongoDB Atlas and Google Cloud Platform. It introduces MERN stack technologies like MongoDB, Express, React, and Node.js. It discusses database concepts and shows how to get started with MongoDB Atlas, including creating a free account and building a cluster. It also outlines plans to code an exercise tracker application using MongoDB and Mongoose to explore and work with data in the MongoDB Atlas database.
This document provides an overview of web services, including RESTful and SOAP-based services. It discusses key concepts such as APIs, URIs, HTTP methods, XML/JSON data formats. For RESTful services, it covers the main design principles of being stateless, using explicit HTTP methods, and having directory-like URIs. For SOAP-based services, it describes the roles of SOAP, WSDL, and UDDI in defining and discovering services. The document also provides examples and comparisons of RESTful and SOAP-based approaches.
The document provides an overview of the EXPath project, which aims to define a standard library of extension functions for XPath, XSLT, XQuery and other languages. It describes several EXPath modules including an HTTP client, ZIP file support, and a packaging system. The overall goal is to enable collaborative development of portable extension libraries that can be used across implementations.
The document discusses XML schemas. It explains that an XML schema describes the structure of an XML document and is an alternative to DTDs. It is written in XML and supports data types and namespaces. The document provides examples of simple XML schemas defining elements and attributes, and using restrictions to define acceptable values for elements and attributes.
JavascriptMVC: Another choice of web frameworkAlive Kuo
JavascriptMVC is another client side web MVC framework based on jQuery. It has totally solution to build a web application. This slide will introduce basic features of JavascriptMVC3.2
Out of the Blue - the Workflow in Bluemix DevelopmentOliver Busse
This document outlines Oliver Busse's presentation on workflow in Bluemix development. The presentation covers an introduction to tools used like Git, Eclipse, and the Bluemix plugin. It then demonstrates starting an application on Bluemix, continuing development locally, and pushing changes back to Bluemix using the DevOps pipeline. The document also discusses extending XPages applications on Bluemix using the Domino NoSQL service and modifying designs to access data dynamically.
This document summarizes a presentation given by Paul Withers at UKLUG 2012 in Cardiff, Wales. The presentation covered updates to the Xots task scheduling library, session management in the OpenNTF Domino API, using graphs instead of documents to store and access data, and several demos including a conference application built with Vaadin running on WebSphere Liberty Profile connected to a Domino backend. It also discussed how the OpenNTF Domino API allows developing applications that interact with Domino data beyond just XPages.
Planning & Completing An IBM Connections UpgradeGabriella Davis
Presentation from ICON UK in London Sept 2015 on approaches to upgrading IBM Connections whether it's a WebSphere iFix, TDI, DB2 or the Connections applications themselves
Presentation from ICON UK with Mark Myers on how to approach positioning yourself for work as a consultant and the importance in not undervaluing the skills you have built up that are not directly related to any one technology
Pentesting RESTful webservices talks about problems penetration testers face while testing RESTful Webservices and REST based web applications. The presentation also talks about tools and techniques to do pentesting of RESTful webservices.
Getting to the core, requirements gathering in the wildFemke Goedhart
Session slides as delivered on March 18th 2014 at Engage in Breda, The Netherlands by Sophie Lavignac-Le Madec & Femke Goedhart
Abstract: The basis of any good project is good requirements. Knowing what it is you are going to build / get determines whether your project will be a success or a flat out failure. In reality though the requirements phase is often trivialized or even forgotten. This session will give you tips & tricks as well as explain to you the basic techniques on how to effectively get to the core of the requirements, identify ways of prioritizing them and explain some core concepts of Functional and Technical design elements. Coming from a requirement gathering as well as development & customer point of view Femke & Sophie will take you through some of the real life examples they have come across and a lot of do's & don'ts they have seen (and despaired over)
What's New and Next in OpenNTF Domino API (ICON UK 2014)Paul Withers
- The document summarizes the presentation "What's New And Next in OpenNTF Domino API" given by Paul Withers.
- It describes recent enhancements to the OpenNTF Domino API including improvements to logging, database methods, document serialization, and email functionality.
- Future plans include expanding the XOTS task framework, graph database support, classes to represent all design elements, and potential integration with administrative functions.
Everything you ever wanted to know about lotus scriptBill Buchan
Bill Buchan, a CEO and consultant with experience in LotusScript since 1995, gave a presentation on LotusScript. He discussed that LotusScript is an older language that is no longer a priority for development. However, it is still used to maintain many existing Domino applications. The presentation covered LotusScript basics like variables, classes, lists and the NotesSession object. It also discussed advanced topics such as calling C APIs, using the Execute statement, and creating web services with LotusScript.
Migrations are a thing we have to do sometimes but dread doing. You ask yourself before, will it go okay? You think later, did I forget anything?
In this talk I’m going to give you some key insights into migrating information from WordPress.com to a WordPress.org self-hosted site. After we’ll discuss the details of migrating a production web site from one host to another. I’ll give you the tools to test the migration before completely flipping the switch. Lastly, we’ll talk about when you want to migrate content from a development copy of the site over to your production site.
Webinar topic: MPLS on Router OS V7 - Part 1
Presenter: Achmad Mardiansyah & M. Taufik Nurhuda
In this webinar series, How MPLS on Router OS V7 works
Please share your feedback or webinar ideas here: http://bit.ly/glcfeedback
Check our schedule for future events: https://www.glcnetworks.com/en/schedule/
Follow our social media for updates: Facebook, Instagram, YouTube Channel, and telegram also discord
Recording available on Youtube
https://youtu.be/SvZrYNA0-rQ
Restlet: Building a multi-tenant API PaaS with DataStax Enterprise SearchDataStax Academy
Starting from the persistence needs of an API PaaS, we'll explain how we selected Cassandra and, finally, DSE Search, the main challenges we faced both in term of development and operations, and the solutions we have implemented.
Martin Tepper presented on using MongoDB as a queryable cache for Travel IQ, a meta search engine for flights and hotels. Travel IQ was experiencing slow API response times due to complex queries on its normalized SQL database. MongoDB was implemented as a caching layer to store denormalized offer data to allow for faster querying. This improved response times but also led to some headaches around data consistency and segmentation faults that were later addressed.
Webinar topic: Zettabyte File System (ZFS)
Presenter: Achmad Mardiansyah
In this webinar series, We are discussing Zettabyte File System (ZFS)
Please share your feedback or webinar ideas here: http://bit.ly/glcfeedback
Check our schedule for future events: https://www.glcnetworks.com/schedule/
Follow our social media for updates: Facebook, Instagram, YouTube Channel, and telegram
See you at the next event
Recording available on Youtube
https://youtu.be/yPwxY9rViao
A Study of our path using WordPress
Dawson College with 10,000+ students and 1,000+ faculty and staff has adopted WordPress as our primary web publishing platform. We’ve mostly had success, but we’ve also had our share of failures and growing pains. In this case study, I’m going to talk about how we started out with WordPress in 2010, migrated our main website a few years later to a multi-site install and how it all evolved to what we have today. Since then, we’ve adopted the “lean and mean” mantra to building sites, while making them easy to update. This case study will showcase the front and back-ends of our higher profile sites to show how we achieved our goals. We’ll also explain how we manage expectations, do our development, choose plugins and tools, and which themes we’ve come to rely on.
Scaling up and accelerating Drupal 8 with NoSQLOSInet
Drupal 8 can scale well and serve pages fast to many users, especially by offloading parts of the work load from the main SQL database to NoSQL solutions.
This presentation describes the strategies and technologies usable to achieve such gains, including specific configuration, contributed modules and custom coding strategies.
This document provides an overview of key web technologies including HTTP, XML, HTML, XHTML, CSS, JavaScript, DOM, SVG, and Unicode. It discusses what each technology is, the latest versions, and basic properties and functionality. For example, it states that HTTP is the underlying protocol for the web, XML is a simplified version of SGML used for data exchange, and CSS is used to separate style from content in HTML and XML documents.
Part One: Building Web Apps with the MERN StackMongoDB
This document provides an overview and agenda for a workshop on building web applications with the MERN stack using MongoDB Atlas and Google Cloud Platform. It introduces MERN stack technologies like MongoDB, Express, React, and Node.js. It discusses database concepts and shows how to get started with MongoDB Atlas, including creating a free account and building a cluster. It also outlines plans to code an exercise tracker application using MongoDB and Mongoose to explore and work with data in the MongoDB Atlas database.
This document provides an overview of web services, including RESTful and SOAP-based services. It discusses key concepts such as APIs, URIs, HTTP methods, XML/JSON data formats. For RESTful services, it covers the main design principles of being stateless, using explicit HTTP methods, and having directory-like URIs. For SOAP-based services, it describes the roles of SOAP, WSDL, and UDDI in defining and discovering services. The document also provides examples and comparisons of RESTful and SOAP-based approaches.
The document provides an overview of the EXPath project, which aims to define a standard library of extension functions for XPath, XSLT, XQuery and other languages. It describes several EXPath modules including an HTTP client, ZIP file support, and a packaging system. The overall goal is to enable collaborative development of portable extension libraries that can be used across implementations.
The document discusses XML schemas. It explains that an XML schema describes the structure of an XML document and is an alternative to DTDs. It is written in XML and supports data types and namespaces. The document provides examples of simple XML schemas defining elements and attributes, and using restrictions to define acceptable values for elements and attributes.
JavascriptMVC: Another choice of web frameworkAlive Kuo
JavascriptMVC is another client side web MVC framework based on jQuery. It has totally solution to build a web application. This slide will introduce basic features of JavascriptMVC3.2
Out of the Blue - the Workflow in Bluemix DevelopmentOliver Busse
This document outlines Oliver Busse's presentation on workflow in Bluemix development. The presentation covers an introduction to tools used like Git, Eclipse, and the Bluemix plugin. It then demonstrates starting an application on Bluemix, continuing development locally, and pushing changes back to Bluemix using the DevOps pipeline. The document also discusses extending XPages applications on Bluemix using the Domino NoSQL service and modifying designs to access data dynamically.
This document summarizes a presentation given by Paul Withers at UKLUG 2012 in Cardiff, Wales. The presentation covered updates to the Xots task scheduling library, session management in the OpenNTF Domino API, using graphs instead of documents to store and access data, and several demos including a conference application built with Vaadin running on WebSphere Liberty Profile connected to a Domino backend. It also discussed how the OpenNTF Domino API allows developing applications that interact with Domino data beyond just XPages.
Planning & Completing An IBM Connections UpgradeGabriella Davis
Presentation from ICON UK in London Sept 2015 on approaches to upgrading IBM Connections whether it's a WebSphere iFix, TDI, DB2 or the Connections applications themselves
Presentation from ICON UK with Mark Myers on how to approach positioning yourself for work as a consultant and the importance in not undervaluing the skills you have built up that are not directly related to any one technology
Pentesting RESTful webservices talks about problems penetration testers face while testing RESTful Webservices and REST based web applications. The presentation also talks about tools and techniques to do pentesting of RESTful webservices.
Getting to the core, requirements gathering in the wildFemke Goedhart
Session slides as delivered on March 18th 2014 at Engage in Breda, The Netherlands by Sophie Lavignac-Le Madec & Femke Goedhart
Abstract: The basis of any good project is good requirements. Knowing what it is you are going to build / get determines whether your project will be a success or a flat out failure. In reality though the requirements phase is often trivialized or even forgotten. This session will give you tips & tricks as well as explain to you the basic techniques on how to effectively get to the core of the requirements, identify ways of prioritizing them and explain some core concepts of Functional and Technical design elements. Coming from a requirement gathering as well as development & customer point of view Femke & Sophie will take you through some of the real life examples they have come across and a lot of do's & don'ts they have seen (and despaired over)
Talend connect BE Vincent Harcq - Talend ESB - DIVincent Harcq
This document discusses how to use Talend ESB to connect mediation routes to data integration jobs. It provides an example of setting up a route that passes context to a job. The route defines the context and calls the job, while the job reads the context and performs the data integration tasks. Tips are given on using context groups to pass parameters between routes and jobs to make them reusable. The presentation is from Audaxis, a Belgium-based company that provides data integration and other software solutions.
GoldenGate and Oracle Data Integrator - A Perfect Match- Upgrade to 12cMichael Rainey
- The document discusses upgrading Oracle GoldenGate 11g and Oracle Data Integrator 11g to their 12c versions. It provides an overview of the steps to upgrade each product including preparing the source and target systems, installing 12c, updating supplemental logging, and finalizing the upgrade by altering processes to write a new sequence number. It also discusses using the convprm tool to convert GoldenGate parameter files during the upgrade process.
Ar*@!+$es to this. getting IBM connections to do what you want Mark Myers
The document summarizes a presentation given by Mark Myers of the London Developer Co-op at UKLUG 2012 in Cardiff, Wales about customizing IBM Connections applications. The presentation introduces Connections and its architecture, describes tools for customization including native web applications, and demonstrates connecting to databases, handling requests, and scheduling jobs. It also discusses integrating Connections with Domino applications and debugging tools.
Geospatial web services using little-known GDAL features and modern Perl midd...Ari Jolma
This document summarizes a talk about using GDAL features and modern Perl middleware to build geospatial web services. It discusses using the GDAL virtual file system to read from and write to non-file sources, redirecting GDAL's virtual stdout to output to a Perl object, and using the PSGI specification to build middleware applications with Plack and services with the Geo::OGC framework. Code examples are provided for a WFS service using PostgreSQL and on-the-fly WMTS tile processing.
It tells about how dom really used in javascript & html.And it tells about its levels and its w3c standards. And some Dom example programs with source code and screenshots.
The Document Object Model (DOM) is a standard for representing and interacting with objects in HTML, XML and SVG documents. It defines the logical structure of documents and the way a document is accessed and manipulated. The DOM represents the document as nodes and objects, which can be manipulated programmatically by JavaScript to change the document structure, style and content. It allows dynamic access to and manipulation of page content that is useful for building interactive web applications. The DOM specification is developed by the W3C and provides a platform- and language-neutral interface that can be used across different web technologies.
This document provides an overview of Oracle's core technology stack and evolution from mainframe to multi-tier architectures. It discusses Oracle database, middleware, and development products. Case studies on Amazon.com and GE Power Systems are presented showing migrations to multi-tier environments. Job roles that interact with Oracle technologies are defined, including administrators, developers, and end users. Product families and typical career paths for different roles are outlined.
Slides semantic web and Drupal 7 NYCCamp 2012scorlosquet
This document summarizes a presentation about using semantic web technologies like RDFa, schema.org, and JSON-LD with Drupal 7. It discusses how Drupal 7 outputs RDFa by default and can be extended through contributed modules to support additional RDF formats, a SPARQL endpoint, schema.org mapping, and JSON-LD. Examples of semantic markup for events and people are provided.
A set of slides that provides a high-level overview of the W3C Linked Data Platform specification presented at the 4th Linked Data in Architecture and Construction Workshop.
For more detailed and technical version of the presentation, please refer to
http://www.slideshare.net/nandana/learning-w3c-linked-data-platform-with-examples
LDAC 2016 programme
http://smartcity.linkeddata.es/LDAC2016/#programme
The document discusses enhancing authentication for an organization using Oracle technologies. It describes implementing Oracle Unified Directory as an LDAP proxy for Active Directory to enable single sign-on. It also covers configuring Oracle Enterprise User Security to centrally manage users stored in Active Directory without requiring an Oracle directory. The document highlights challenges that can arise with these technologies and provides tips for troubleshooting authentication issues.
Webinar topic: Automatic Backup via FTP Part 1
Presenter: Achmad Mardiansyah & Een Fahlepi
In this webinar series, How Automatic Backup via FTP works
Please share your feedback or webinar ideas here: http://bit.ly/glcfeedback
Check our schedule for future events: https://www.glcnetworks.com/en/schedule/
Follow our social media for updates: Facebook, Instagram, YouTube Channel, and telegram also discord
Recording available on Youtube
https://youtu.be/4gsbidPonps
The document summarizes a presentation about the OData protocol given by Jorge Gonçalves and Manuel Costa. OData provides a standardized way to expose and consume data via RESTful web services. It allows data from various sources to be unlocked and queried using HTTP, JSON, and other web technologies. The presentation covered the basics of OData, how to create and consume OData services using .NET, and various OData client options for JavaScript, Excel, and LightSwitch. Questions from attendees were invited at the end.
These slide belonged to the presentation I hold to my colleagues in Göttingen as an introduction to Apache Solr open source search engine. In the structure I followed Trey Grainger and Timothy Potter excellent Solr in Action book (Manning, 2014), and I took some of the examples form there. Some others come from the examples bundeled with Solr, and from the projects I had opportunity to work with in the past (eXtensible Catalog and Europeana).
These slides don't go too deep, if you want to know more about the topic, just drop me an email, or consult with the references on the last slide.
Happy searching!
Building Local-loop Services for CustomersGLC Networks
Webinar topic: Building Local-loop Services for Customers
Presenter: Achmad Mardiansyah
In this webinar series, Building Local-loop Services for Customers
Please share your feedback or webinar ideas here: http://bit.ly/glcfeedback
Check our schedule for future events: https://www.glcnetworks.com/en/schedule/
Follow our social media for updates: Facebook, Instagram, YouTube Channel, and telegram also discord
Recording available on Youtube
https://youtu.be/FhLjNLrO_tU
The lazy administrator, how to make your life easier by using tdi to automate...Klaus Bild
My session on how you can use Tivoli Directory Integrator with other IBM Collaboration Solutions like IBM Connections or Domino to reuse data of the different systems.
The complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, ParisOW2
Even if not totally new, IoT era is bringing many new challenges to address but at a larger scale.
Market oracles are publishing various figures about the expected gross,
while security experts are alarming about their concerns.
Software developers will use as much resources they can, while hardware engineers will focus on optimizing hardware for reducing cost of production or usage by focusing on power consumption.
IoT is involving many subdomains from electronics to radio communication or cloud backends, and thus many skills than nobody can seriously claim to have.
The good news is that nobody is alone in the world of open standards and free software,
and cooperation is one of the key for a seamless "INTERnet of things" where everyone can find a place in this new landscape.
To illustrate openness and interoperability, a couple of projects supported by Samsung Opensource group will be presented and how to get kickstarted on Web+IoT Technologies.
The document discusses challenges and opportunities in connecting the Internet of Things (IoT) to the World Wide Web. It outlines differences between developing for the web and IoT, including in goals, architectures, standards, hardware, and market adoption. It proposes that the "Web of Things" aims to reduce complexity for developers by linking the physical world to the open web ecosystem using open standards and interoperable data models. Connecting IoT to the web could enable more programmable and shared applications and services.
The document discusses challenges and opportunities in connecting the Internet of Things (IoT) to the World Wide Web. It outlines differences between developing for the web and IoT, including in goals, architectures, standards, hardware, and market adoption. It proposes that the "Web of Things" aims to reduce complexity for developers by linking the physical world to the open web ecosystem using open standards and interoperable data models. Connecting IoT to the web could enable more programmable and shared applications and services.
Similar to RESTful services on IBM Domino/XWork (ICON UK 21-22 Sept. 2015) (20)
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...GlobalLogic Ukraine
Під час доповіді відповімо на питання, навіщо потрібно підвищувати продуктивність аплікації і які є найефективніші способи для цього. А також поговоримо про те, що таке кеш, які його види бувають та, основне — як знайти performance bottleneck?
Відео та деталі заходу: https://bit.ly/45tILxj
How information systems are built or acquired puts information, which is what they should be about, in a secondary place. Our language adapted accordingly, and we no longer talk about information systems but applications. Applications evolved in a way to break data into diverse fragments, tightly coupled with applications and expensive to integrate. The result is technical debt, which is re-paid by taking even bigger "loans", resulting in an ever-increasing technical debt. Software engineering and procurement practices work in sync with market forces to maintain this trend. This talk demonstrates how natural this situation is. The question is: can something be done to reverse the trend?
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...DanBrown980551
This LF Energy webinar took place June 20, 2024. It featured:
-Alex Thornton, LF Energy
-Hallie Cramer, Google
-Daniel Roesler, UtilityAPI
-Henry Richardson, WattTime
In response to the urgency and scale required to effectively address climate change, open source solutions offer significant potential for driving innovation and progress. Currently, there is a growing demand for standardization and interoperability in energy data and modeling. Open source standards and specifications within the energy sector can also alleviate challenges associated with data fragmentation, transparency, and accessibility. At the same time, it is crucial to consider privacy and security concerns throughout the development of open source platforms.
This webinar will delve into the motivations behind establishing LF Energy’s Carbon Data Specification Consortium. It will provide an overview of the draft specifications and the ongoing progress made by the respective working groups.
Three primary specifications will be discussed:
-Discovery and client registration, emphasizing transparent processes and secure and private access
-Customer data, centering around customer tariffs, bills, energy usage, and full consumption disclosure
-Power systems data, focusing on grid data, inclusive of transmission and distribution networks, generation, intergrid power flows, and market settlement data
This talk will cover ScyllaDB Architecture from the cluster-level view and zoom in on data distribution and internal node architecture. In the process, we will learn the secret sauce used to get ScyllaDB's high availability and superior performance. We will also touch on the upcoming changes to ScyllaDB architecture, moving to strongly consistent metadata and tablets.
Getting the Most Out of ScyllaDB Monitoring: ShareChat's TipsScyllaDB
ScyllaDB monitoring provides a lot of useful information. But sometimes it’s not easy to find the root of the problem if something is wrong or even estimate the remaining capacity by the load on the cluster. This talk shares our team's practical tips on: 1) How to find the root of the problem by metrics if ScyllaDB is slow 2) How to interpret the load and plan capacity for the future 3) Compaction strategies and how to choose the right one 4) Important metrics which aren’t available in the default monitoring setup.
ScyllaDB is making a major architecture shift. We’re moving from vNode replication to tablets – fragments of tables that are distributed independently, enabling dynamic data distribution and extreme elasticity. In this keynote, ScyllaDB co-founder and CTO Avi Kivity explains the reason for this shift, provides a look at the implementation and roadmap, and shares how this shift benefits ScyllaDB users.
Session 1 - Intro to Robotic Process Automation.pdfUiPathCommunity
👉 Check out our full 'Africa Series - Automation Student Developers (EN)' page to register for the full program:
https://bit.ly/Automation_Student_Kickstart
In this session, we shall introduce you to the world of automation, the UiPath Platform, and guide you on how to install and setup UiPath Studio on your Windows PC.
📕 Detailed agenda:
What is RPA? Benefits of RPA?
RPA Applications
The UiPath End-to-End Automation Platform
UiPath Studio CE Installation and Setup
💻 Extra training through UiPath Academy:
Introduction to Automation
UiPath Business Automation Platform
Explore automation development with UiPath Studio
👉 Register here for our upcoming Session 2 on June 20: Introduction to UiPath Studio Fundamentals: https://community.uipath.com/events/details/uipath-lagos-presents-session-2-introduction-to-uipath-studio-fundamentals/
AI in the Workplace Reskilling, Upskilling, and Future Work.pptxSunil Jagani
Discover how AI is transforming the workplace and learn strategies for reskilling and upskilling employees to stay ahead. This comprehensive guide covers the impact of AI on jobs, essential skills for the future, and successful case studies from industry leaders. Embrace AI-driven changes, foster continuous learning, and build a future-ready workforce.
Read More - https://bit.ly/3VKly70
"Scaling RAG Applications to serve millions of users", Kevin GoedeckeFwdays
How we managed to grow and scale a RAG application from zero to thousands of users in 7 months. Lessons from technical challenges around managing high load for LLMs, RAGs and Vector databases.
Discover the Unseen: Tailored Recommendation of Unwatched ContentScyllaDB
The session shares how JioCinema approaches ""watch discounting."" This capability ensures that if a user watched a certain amount of a show/movie, the platform no longer recommends that particular content to the user. Flawless operation of this feature promotes the discover of new content, improving the overall user experience.
JioCinema is an Indian over-the-top media streaming service owned by Viacom18.
In our second session, we shall learn all about the main features and fundamentals of UiPath Studio that enable us to use the building blocks for any automation project.
📕 Detailed agenda:
Variables and Datatypes
Workflow Layouts
Arguments
Control Flows and Loops
Conditional Statements
💻 Extra training through UiPath Academy:
Variables, Constants, and Arguments in Studio
Control Flow in Studio
From Natural Language to Structured Solr Queries using LLMsSease
This talk draws on experimentation to enable AI applications with Solr. One important use case is to use AI for better accessibility and discoverability of the data: while User eXperience techniques, lexical search improvements, and data harmonization can take organizations to a good level of accessibility, a structural (or “cognitive” gap) remains between the data user needs and the data producer constraints.
That is where AI – and most importantly, Natural Language Processing and Large Language Model techniques – could make a difference. This natural language, conversational engine could facilitate access and usage of the data leveraging the semantics of any data source.
The objective of the presentation is to propose a technical approach and a way forward to achieve this goal.
The key concept is to enable users to express their search queries in natural language, which the LLM then enriches, interprets, and translates into structured queries based on the Solr index’s metadata.
This approach leverages the LLM’s ability to understand the nuances of natural language and the structure of documents within Apache Solr.
The LLM acts as an intermediary agent, offering a transparent experience to users automatically and potentially uncovering relevant documents that conventional search methods might overlook. The presentation will include the results of this experimental work, lessons learned, best practices, and the scope of future work that should improve the approach and make it production-ready.
Introducing BoxLang : A new JVM language for productivity and modularity!Ortus Solutions, Corp
Just like life, our code must adapt to the ever changing world we live in. From one day coding for the web, to the next for our tablets or APIs or for running serverless applications. Multi-runtime development is the future of coding, the future is to be dynamic. Let us introduce you to BoxLang.
Dynamic. Modular. Productive.
BoxLang redefines development with its dynamic nature, empowering developers to craft expressive and functional code effortlessly. Its modular architecture prioritizes flexibility, allowing for seamless integration into existing ecosystems.
Interoperability at its Core
With 100% interoperability with Java, BoxLang seamlessly bridges the gap between traditional and modern development paradigms, unlocking new possibilities for innovation and collaboration.
Multi-Runtime
From the tiny 2m operating system binary to running on our pure Java web server, CommandBox, Jakarta EE, AWS Lambda, Microsoft Functions, Web Assembly, Android and more. BoxLang has been designed to enhance and adapt according to it's runnable runtime.
The Fusion of Modernity and Tradition
Experience the fusion of modern features inspired by CFML, Node, Ruby, Kotlin, Java, and Clojure, combined with the familiarity of Java bytecode compilation, making BoxLang a language of choice for forward-thinking developers.
Empowering Transition with Transpiler Support
Transitioning from CFML to BoxLang is seamless with our JIT transpiler, facilitating smooth migration and preserving existing code investments.
Unlocking Creativity with IDE Tools
Unleash your creativity with powerful IDE tools tailored for BoxLang, providing an intuitive development experience and streamlining your workflow. Join us as we embark on a journey to redefine JVM development. Welcome to the era of BoxLang.
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...Fwdays
Direct losses from downtime in 1 minute = $5-$10 thousand dollars. Reputation is priceless.
As part of the talk, we will consider the architectural strategies necessary for the development of highly loaded fintech solutions. We will focus on using queues and streaming to efficiently work and manage large amounts of data in real-time and to minimize latency.
We will focus special attention on the architectural patterns used in the design of the fintech system, microservices and event-driven architecture, which ensure scalability, fault tolerance, and consistency of the entire system.
JavaLand 2024: Application Development Green Masterplan
RESTful services on IBM Domino/XWork (ICON UK 21-22 Sept. 2015)
1. 1
UKLUG 2012 – Cardiff, Wales
REST services
and
IBM Domino/XWork
A presentation for ICON UK 2015
21-22 September 2015
by John Dalsgaard
2. 2
UKLUG 2012 – Cardiff, Wales
Agenda
● About me
● Webservices
● REST & JSON
● Domino/XWork – out of the box...
– Domino Access Service (DAS)
– Extension Library controls
– Build your own
– Demos
● Round up
3. 3
UKLUG 2012 – Cardiff, Wales
About me
● Worked with Notes since 1995
version 4.5
● Java since Notes 5.0.7 (2000)
● Large web-apps. (40.000+ users)
● Object Oriented approach since 1999 (yes, in
LotusScript...)
● XPages & mobile apps (Appcelerator Titanium)....
● Certified Principal/advanced administrator and
developer – all versions 4.6 → 9.0
● Developer, project manager, IT manager – own
company (Dalsgaard Data A/S) since 1998.
● IBM Champion for 2015
5. 5
UKLUG 2012 – Cardiff, Wales
Webservices
● What is a webservice?
– Program to program communication
– Implemementation independent
– ”Contract” about interface
● Traditionally SOAP & XML...
– Very ”verbose” (=not ”light”)
– Needs pre-/post processing to ”extract” data
→ Meet the ”new kid on the block”:
6. 6
UKLUG 2012 – Cardiff, Wales
REST services using JSON
● REST = REpresentational State Transfer
● JSON = JavaScript Object Notation
● Why?? → Loose coupling...
– Angular, Ext.js, etc.
– Mobile apps/web apps
● Let's take a quick look at these terms:
7. 7
UKLUG 2012 – Cardiff, Wales
REST
● Wikipedia:
Representational state transfer (REST) is an abstraction of the
architecture of the World Wide Web; more precisely, REST is an
architectural style consisting of a coordinated set of architectural
constraints applied to components, connectors, and data elements,
within a distributed hypermedia system. REST ignores the details of
component implementation and protocol syntax in order to focus on the
roles of components, the constraints upon their interaction with other
components, and their interpretation of significant data elements.....
WHAT?????
8. 8
UKLUG 2012 – Cardiff, Wales
REST
● Client-server architecture
– Uniform interface separates client from server
● Stateless
– All info in request
● Cacheable communications protocol
– Almost always HTTP
● Uniform interface...
– HTML, URIs, XML, JSON, MIME, meta-data....
● Actually, WWW via HTTP can also be viewed as a REST-based
architecture – so nothing new here that you did not know... :-)
9. 9
UKLUG 2012 – Cardiff, Wales
”RESTful” web-service
● Architectural style:
– URI structure (base URI)
– Internet media type. JSON – or: XML, Atom, …
– Standard HTTP methods:
● GET
● POST
● PUT
● DELETE
… also known as: CRUD (Create, Read, Update,
Delete) methods
10. 10
UKLUG 2012 – Cardiff, Wales
”RESTful” web-service
● Designed for networked applications
● Using HTTP as a simple alternative to more
complex mechanisms to connect between
machines:
– WebServices (SOAP, WSDLs etc.)
– CORBA
– RPC
11. 11
UKLUG 2012 – Cardiff, Wales
”RESTful” web-service
● Example – SOAP:
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:body pb="http://www.acme.com/phonebook">
<pb:GetUserDetails>
<pb:UserID>12345</pb:UserID>
</pb:GetUserDetails>
</soap:Body>
</soap:Envelope>
– … must be sent via a request (HTTP POST)
● Example – RESTful web-service:
http://www.acme.com/phonebook/UserDetails/12345
– … just a URL!! (HTTP GET) – simple....
12. 12
UKLUG 2012 – Cardiff, Wales
JSON
● Wikipedia:
JSON (/ d e sən/ jay-sən), orˈ ʒ ɪ JavaScript Object Notation, is an
open standard format that uses human-readable text to transmit
data objects consisting of attribute–value pairs. It is used primarily
to transmit data between a server and web application, as an
alternative to XML.
Although originally derived from the JavaScript scripting
language, JSON is a language-independent data format. Code for
parsing and generating JSON data is readily available in a large
variety of programming languages.
13. 13
UKLUG 2012 – Cardiff, Wales
JSON
● A syntax for storing & exchanging data
● An easier to use alternative to XML
● Is a lightweight data interchange format
● Is language independant
● Is ”self-describing” and easy to understand
JSON uses JavaScript syntax, but the JSON format is text only,
just like XML. Text can be read and used as a data format by any
programming language...
14. 14
UKLUG 2012 – Cardiff, Wales
JSON vs. XML
● XML
<employees>
<employee>
<firstName>John</firstName> <lastName>Doe</lastName>
</employee>
<employee>
<firstName>Anna</firstName> <lastName>Smith</lastName>
</employee>
<employee>
<firstName>Peter</firstName> <lastName>Jones</lastName>
</employee>
</employees>
● JSON
{"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]}
16. 16
UKLUG 2012 – Cardiff, Wales
JSON and JavaScript
Sample data:
var text = ”{ 'name' : 'ICON UK', 'current' : 2015 }”;
● Create an object:
– var iconUK = JSON.parse(text);
● Create text representation of an object:
– var iconUKText = JSON.stringify(iconUK);
● Refer to attributes:
– var name = iconUK.name;
● Add another attribute:
– iconUK['venue'] = 'London'
17. 17
UKLUG 2012 – Cardiff, Wales
Domino/XWork - out of the box
● Webservices (SOAP, XML, etc...)
– Provider (server) – since 7.0
– Consumer (client) – since 8.0
– Written in LotusScript/Java
RESTful service using JSON →
● Domino Access Services (DAS)
– core service - since 9.0.1
– data service - since 8.5.3 UP1 (~DDS)
– calendar service - since 9.0.1
18. 18
UKLUG 2012 – Cardiff, Wales
Domino Access Services
● Implemented as OSGi plugins/servlets
● Based on Apache Wink
● How to enable & configure
– Web access
– Enable Domino Access Service (DAS)
– Enable for database
– Enable for specific elements
19. 19
UKLUG 2012 – Cardiff, Wales
Enable web access
● HTTP Server must be started.
– Check console: show tasks
HTTP Server Listen for connect requests on TCP Port:80
● Use internet sites – just do it!
– Activate in server document
– Create Internet site document for domain
● After changes: restart task http
● Check:
– Open the server on the port you saw on the console
– http://server.dom.dk:80/ (leave out port if 80)
20. 20
UKLUG 2012 – Cardiff, Wales
Check DAS
Open: server.dom.dk/api
– lists services and
their state
21. 21
UKLUG 2012 – Cardiff, Wales
Enable data service
● On Internet site document (configuration tab):
● Need to refresh http to take effect
– tell http refresh
22. 22
UKLUG 2012 – Cardiff, Wales
DAS: List all ”services” (db's)
● Open: server.dom.dk/api/data
23. 23
UKLUG 2012 – Cardiff, Wales
DAS: Open a specific database
● Try: server.dom.dk/reports.nsf/api/data/collections
→ We need to enable DAS for the database
24. 24
UKLUG 2012 – Cardiff, Wales
DAS: Enable for database
● On the advanced properties of the database:
● Select level in ”Allow Domino Data Service”:
● Important decision:
– Views only or views and documents
25. 25
UKLUG 2012 – Cardiff, Wales
DAS: Open database again
● Try: server.dom.dk/demo/json.nsf/api/data/collections
26. 26
UKLUG 2012 – Cardiff, Wales
DAS: Enable for view
● We need to enable DAS for the view first
● Open the view in Domino Designer
● On the view properties – advanced tab
● Enable: ”Allow Domino Data Service operations”:
● Save the view, open it using the url returned
27. 27
UKLUG 2012 – Cardiff, Wales
DAS: Open a view
● Try: server.dom.dk/.../collections/unid/A892133953...
● Heureka!! - we see a list of all documents!
● Also try: server.dom.dk/.../collections/name/persons
28. 28
UKLUG 2012 – Cardiff, Wales
DAS: Open a document
● Try: server.dom.dk/.../documents/unid/33735D0BC...
● Requires ”Views and documents” to be set in DB props.
29. 29
UKLUG 2012 – Cardiff, Wales
DAS: Writing back...
● Remember content type MUST be:
– application/json
– Set ”Content-type” in header of request
● If you get ”405 Method not allowed”
– Enable method in internet site
● By default these are NOT enabled:
– PUT
– PATCH
– DELETE
– Or override header in your request
● ”X-HTTP-Method-Override” : ”POST”
30. 30
UKLUG 2012 – Cardiff, Wales
DAS: Save existing document
● Use ”PATCH” to change specific fields
– url: …/documents/unid/33735D0BCE799....
– updates only the fields in the request
● Use ”PUT” to change ALL fields
– url: …/documents/unid/33735D0BCE799....
– All fields are replaced with the fields from
request – fields not specified are blanked....
31. 31
UKLUG 2012 – Cardiff, Wales
DAS: Create / delete document
● Use ”POST” to create a document with
specified fields
– url: …/documents?form=Person
– You MUST add form to url
● Use ”DELETE” to remove the document
entirely
– url: …/documents/unid/33735D0BCE799....
32. 32
UKLUG 2012 – Cardiff, Wales
DAS: Data service - more...
● See the design of a view:
– //.../collections/name/persons/design
● Compute values on update of document
– //.../documents/unid/33735D0BC...?computewithform=true
● Use ”normal” url actions to control view collection,
e.g.
– //.../collections/name/persons?start=1&count=2
34. 34
UKLUG 2012 – Cardiff, Wales
Demo...
● Server:
– Local VM with Domino 9.0.1FP2 on CentOS 6.7
– Extension Library (from IBM)
– OpenNTF Domino API installed
– OpenNTF Essentials installed
● A demo database (download from Bitbucket.org)
– Showing an MVC pattern I use
– Added a number of JSON demos
– Is available for download
● Tool for testing:
– Google Chrome Postman
35. 35
UKLUG 2012 – Cardiff, Wales
DAS: Calendar service
● There is a ”catch” to enabling this service...
– In the internet site document you have to type
”Calendar” as an option.... - it is not predefined
36. 36
UKLUG 2012 – Cardiff, Wales
DAS: Calendar service
● Built on the new calendar backend classes in
Domino/XWork 9.0.1
● Current user's calendars, email address, and
services
server.dom.dk/api/calendar
● Events from specific calendar
server.dom.dk/demo/cal.nsf/api/calendar/events
● Events from specific calendar (iCal format)
server.dom.dk/.../events?format=iCalendar
● Only shows events that have NOT started yet
37. 37
UKLUG 2012 – Cardiff, Wales
DAS: Calendar service
● You can also CREATE new events!!!
– Using POST and specifiying all fields under an
”events” object
– Handles the various types: Meeting, appointment,
etc.
– Will send invites to participants of meetings
– Handles notifications
– Actions for complete workflow: Accept, decline,
delegate, etc.
– … and more!
38. 38
UKLUG 2012 – Cardiff, Wales
DAS: Calendar service
● You can also UPDATE existing events!!!
– Using PUT and specifiying ALL fields under an
”events” object – as it is returned by creating or
getting the event
● Use ”.../events/<exact id as from request>
–including ”....-Lotus_Auto_Generated” !!!
● You should keep all fields – including system fields
– If you don't → Defaults are applied...
● E.g. specifying only start time → end time set to same..!!!
● Failure to follow these guidelines will result in an error
400 ”Bad request”
40. 40
UKLUG 2012 – Cardiff, Wales
Extension Library
● Comes with the Domino 9.0.x server (and Domino
Designer)
● Just needs to be enabled in XSP properties
● Does NOT require DAS to be enabled
● Provides easy to use controls:
– REST Service (data)
– Remote Service (JSON-RPC)
● Allow you to run serverside code as a REST service...
● Also provide support for:
– NSF and OSGi servlets... - advanced stuff!!
41. 41
UKLUG 2012 – Cardiff, Wales
Extension Library
● Why would you use it...????
● → Allows further customizations
– Include/exclude certain data columns
– Include/exclude system columns (@....)
– Calculate contents of own columns
– Run code before/after CRUD operations
– Sort and search
– Create ”handles” (variable) to use in XPage as
datasources
42. 42
UKLUG 2012 – Cardiff, Wales
Ext. Lib. REST Service
● Create a new XPage
● Drag a ”REST Service” component
to it:
● Fill in ”the blanks”
– pathInfo → identifies
the service
– Select service
– Fill in the info
needed for that
type of service
43. 43
UKLUG 2012 – Cardiff, Wales
Ext. Lib. REST Service
● To call your service you open the XPage with the
REST Service control(s) and add the pathInfo,
e.g.:
server.dom.dk/db.nsf/yourpage.xsp/persons
– ...assuming you set pathInfo to ”persons” for one of
the REST Services on the ”yourpage” XPage
44. 44
UKLUG 2012 – Cardiff, Wales
Ext. Lib. NSF servlet
● You can register a servlet to e.g. give you a
JSON representation of a view
● Extends DefaultServletFactory
– add a factory that maps to a service (e.g. view
name)
– Register in Code/Java/META-INF/services
● file: com.ibm.xsp.adapter.servletFactory
→ Full name of servlet class
● Refer to using url, e.g.:
server.dom.dk/db.nsf/xsp/services/Persons
● Does NOT require DAS to be enabled
46. 46
UKLUG 2012 – Cardiff, Wales
Build your own...
● Why??
– … using your own MVC – Java objects
– Full control
– Does NOT require DAS to be enabled
● Handy ”ingredients”
– Java
– XPages
● Use an ”XAgent” (or an NSF/OSGi servlet)
● Select a JSON ”package”
– Built-in with XPages
– Or others like GSON – (wrap as plugin!!)
47. 47
UKLUG 2012 – Cardiff, Wales
Build your own...
● Use cases:
– Generate JSON directly from your Java class
– Consume your JSON POSTs directly by parsing
them to the corresponding Java class
→ Ready to use in your logic
– Control e.g. date formating generally for all Date
fields
● Eg. use ISO datetime format
48. 48
UKLUG 2012 – Cardiff, Wales
Build your own...
● LotusScript....
– You didn't expect me to say this!
– An option if you have existing systems with
business logic written in LotusScript
– Simple:
● print – correct content-type
● print …. your JSON (as text)
– … but I would not advice to build new this way →
you would like to use a library/package to build
your JSON for you!
● Does NOT require DAS to be enabled
50. 50
UKLUG 2012 – Cardiff, Wales
Round Up
● What are REST and JSON
● GET, POST, PUT, DELETE – ~CRUD
● Domino Access Services – out of the box
– Data
– Calendar
● Extension Library
– REST Service
– (Remote Service)
● Build own solution
– Java & JSON ”package” - …. & LotusScript ;-)
51. 51
UKLUG 2012 – Cardiff, Wales
Questions??
● Did you learn something?
● Could you use it?
?
52. 52
UKLUG 2012 – Cardiff, Wales
Contact info
Please feel free to contact me:
John Dalsgaard
Dalsgaard Data A/S
Solbjergvej 42
Solbjerg
DK-4270 Høng
Phone: +45 4914-1271
Email: john@dalsgaard-data.dk
www.dalsgaard-data.dk
Blog: www.dalsgaard-data.eu
Twitter: @john_dalsgaard, @DalsgaardDataAS
Skype: john_dalsgaard
53. 53
UKLUG 2012 – Cardiff, Wales
Sources & links
● Wikipedia: Representational state transfer
● Learn REST: A Tutorial
● VIEW Tips: Brad Balassaitis on JSON-RPC
● IBM Domino Access Services 9.0.1
● Wikipedia: JSON / JavaScript Object Notation
● Introducing JSON
● JSON Tutorial
● REST services in Domino - Domino Access Services (PDF)
● Extension Library REST Services (PDF)
● Extension Library on OpenNTF (includes demo db)
● JSON test client: Chrome Postman
● Wrap an existing jar into a plugin
● Demo-DB on Bitbucket.org
54. 54
UKLUG 2012 – Cardiff, Wales
Sources & links
● For the advanced – check these frameworks....
– Apache Wink (what DAS etc. is build on)
– … and Wink with OpenNTF Extension Library
– Jersey
– Specifikation: Java API for RESTful Services (JAX-RS)