This document provides an overview of GraphQL, including:
- GraphQL is a query language for APIs created by Facebook in 2012 that allows clients to request specific data fields and embed requests.
- It addresses issues with REST APIs like multiple requests being needed to join data and consumer having to parse responses.
- GraphQL allows consumer-driven queries that return exactly what is asked for in a hierarchical JSON response.
- The document discusses GraphQL queries, mutations, subscriptions, and introspection capabilities. It provides examples of using GraphQL with Watson Work Services and the Darwino implementation.
GraphQL is a syntax that describes how to ask for data, and is generally used to load data from a server to a client. GraphQL has three main characteristics:
It lets the client specify exactly what data it needs.
It makes it easier to aggregate data from multiple sources.
It uses a type system to describe data.
How web works and browser works ? (behind the scenes)Vibhor Grover
how web and browser works, this presentation can help you in understanding what happens when you enter a URL in your browser and how the page is displayed by the browser, and how we can improve the performance of our applications.
Entity Framework: Code First and Magic UnicornsRichie Rump
Entity Framework is an object-relational mapping framework that allows developers to work with relational data using domain-specific objects. It includes features like code first modeling, migrations, data annotations, and the DbContext API. Newer versions have added additional functionality like support for enums, performance improvements, and spatial data types. Resources for learning more include blogs by Julie Lerman and Rowan Miller as well as StackOverflow and PluralSight videos.
This document provides an overview of GraphQL, including:
- GraphQL allows clients to request specific data fields from an API rather than entire resources.
- It addresses limitations of REST such as multiple requests being needed to get related data.
- Many large companies use GraphQL including Facebook, GitHub, and Yelp.
- GraphQL has a type system including object, query, mutation, scalar and other types.
- Examples demonstrate basic GraphQL syntax and concepts like fields, arguments, and fragments.
- Additional resources are provided for learning more about GraphQL.
Igor Anishchenko
Odessa Java TechTalks
Lohika - September, 2012
This session starts with a high-level look at all that the Spring Data project has to offer.
Then we’ll dive deeper into a few select Spring Data modules, including Spring Data JPA, Spring Data MongoDB and Spring Data Redis.
Implementing a data access layer of an application has been cumbersome for quite a while. Too much boilerplate code had to be written!
Spring Data is a project that makes it easier to build Spring-powered applications that use new data, offering a reasonably consistent programming model regardless of which type of database you choose.
In addition to supporting the new “NoSQL” databases such as document and graph databases, Spring Data also greatly simplifies working with RDBMS-oriented datastores using JPA -simplifies the development of creating a JPA-based data access layer.
LINQ (Language Integrated Query) allows querying of data from various sources like objects, XML, SQL databases using a consistent SQL-like syntax. It provides a standardized model for querying different data types and improves performance over traditional methods. The document provides examples of LINQ to Objects, LINQ to XML and LINQ to SQL queries and promises a demo of LINQ to SQL. It concludes by listing references for further reading on LINQ.
This document discusses Language Integrated Query (LINQ) in .NET, including LINQ building blocks, sequences, query operators and expressions, query expression trees, and LINQ to Objects. LINQ allows querying over various data sources like collections, databases, and XML documents using a SQL-like syntax. Query expressions are translated into expression trees which provide optimizations. LINQ to Objects refers to using LINQ directly over IEnumerable collections without an intermediate provider.
Atlanta JUG - Integrating Spring Batch and Spring IntegrationGunnar Hillert
This document provides an overview and introduction to Spring Batch, Spring Integration, and Spring XD. It discusses key concepts and features of Spring Batch for batch processing and Spring Integration for enterprise integration. It also demonstrates how Spring Batch and Spring Integration can be used together for batch integration use cases. Finally, it introduces Spring XD for unified data ingestion, analytics, and export capabilities using existing Spring projects. The presentation includes code samples and links to documentation and GitHub repositories for further information.
GraphQL is a syntax that describes how to ask for data, and is generally used to load data from a server to a client. GraphQL has three main characteristics:
It lets the client specify exactly what data it needs.
It makes it easier to aggregate data from multiple sources.
It uses a type system to describe data.
How web works and browser works ? (behind the scenes)Vibhor Grover
how web and browser works, this presentation can help you in understanding what happens when you enter a URL in your browser and how the page is displayed by the browser, and how we can improve the performance of our applications.
Entity Framework: Code First and Magic UnicornsRichie Rump
Entity Framework is an object-relational mapping framework that allows developers to work with relational data using domain-specific objects. It includes features like code first modeling, migrations, data annotations, and the DbContext API. Newer versions have added additional functionality like support for enums, performance improvements, and spatial data types. Resources for learning more include blogs by Julie Lerman and Rowan Miller as well as StackOverflow and PluralSight videos.
This document provides an overview of GraphQL, including:
- GraphQL allows clients to request specific data fields from an API rather than entire resources.
- It addresses limitations of REST such as multiple requests being needed to get related data.
- Many large companies use GraphQL including Facebook, GitHub, and Yelp.
- GraphQL has a type system including object, query, mutation, scalar and other types.
- Examples demonstrate basic GraphQL syntax and concepts like fields, arguments, and fragments.
- Additional resources are provided for learning more about GraphQL.
Igor Anishchenko
Odessa Java TechTalks
Lohika - September, 2012
This session starts with a high-level look at all that the Spring Data project has to offer.
Then we’ll dive deeper into a few select Spring Data modules, including Spring Data JPA, Spring Data MongoDB and Spring Data Redis.
Implementing a data access layer of an application has been cumbersome for quite a while. Too much boilerplate code had to be written!
Spring Data is a project that makes it easier to build Spring-powered applications that use new data, offering a reasonably consistent programming model regardless of which type of database you choose.
In addition to supporting the new “NoSQL” databases such as document and graph databases, Spring Data also greatly simplifies working with RDBMS-oriented datastores using JPA -simplifies the development of creating a JPA-based data access layer.
LINQ (Language Integrated Query) allows querying of data from various sources like objects, XML, SQL databases using a consistent SQL-like syntax. It provides a standardized model for querying different data types and improves performance over traditional methods. The document provides examples of LINQ to Objects, LINQ to XML and LINQ to SQL queries and promises a demo of LINQ to SQL. It concludes by listing references for further reading on LINQ.
This document discusses Language Integrated Query (LINQ) in .NET, including LINQ building blocks, sequences, query operators and expressions, query expression trees, and LINQ to Objects. LINQ allows querying over various data sources like collections, databases, and XML documents using a SQL-like syntax. Query expressions are translated into expression trees which provide optimizations. LINQ to Objects refers to using LINQ directly over IEnumerable collections without an intermediate provider.
Atlanta JUG - Integrating Spring Batch and Spring IntegrationGunnar Hillert
This document provides an overview and introduction to Spring Batch, Spring Integration, and Spring XD. It discusses key concepts and features of Spring Batch for batch processing and Spring Integration for enterprise integration. It also demonstrates how Spring Batch and Spring Integration can be used together for batch integration use cases. Finally, it introduces Spring XD for unified data ingestion, analytics, and export capabilities using existing Spring projects. The presentation includes code samples and links to documentation and GitHub repositories for further information.
This document provides an agenda for a LINQ training that covers:
- A brief history of data access technologies leading to LINQ
- An overview of what LINQ is and the C# language enhancements that support it
- Base concepts like LINQ to Objects, deferred and immediate operators
- More advanced concepts like LINQ to Datasets, XML, and SQL
- Examples and questions
The document provides an overview of Entity Framework 4.0. It discusses the history of data access frameworks leading up to EF4, key features of EF4 like the Entity Data Model (EDM), and patterns for developing with EF4 such as repositories, unit of work, and POCO objects. It also covers querying EF4 models using LINQ to Entities, testing with EF4 through interfaces like IObjectSet, and enabling lazy loading for related entities.
What's LINQ, its advantages, its Operators and examples on some of them, Methods of Writing it.
LINQ to Objects and Collections and Data Source Transformation.
Rapid Web API development with Kotlin and KtorTrayan Iliev
Introduction to Kotlin and Ktor with flow, async and channel examples. Ktor is an async web framework with minimal ceremony that leverages the advantages of Kotlin like coroutines and extensible functional DSLs..
This document provides an introduction to LINQ (Language Integrated Query). LINQ allows querying over various data sources using a common SQL-like syntax. It introduces key LINQ concepts like LINQ to Objects, LINQ to SQL, LINQ to XML and language features in .NET that support LINQ like lambda expressions and extension methods. The document also provides examples of standard query operators and using LINQ to query objects, databases and XML documents.
This document provides an introduction and overview of LINQ (Language Integrated Query). It discusses that LINQ allows developers to query data from different sources using a SQL-like syntax directly in .NET code. It also summarizes the key LINQ concepts like data sources, query operators, LINQ providers for different data types, and IDE support for LINQ in Visual Studio.
Tomer Elmalem - GraphQL APIs: REST in Peace - Codemotion Milan 2017Codemotion
This talk will introduce attendees to GraphQL and then dive into the intricacies of how we built the API. It’ll cover end-to-end the flow we provide to our developers and some of the specific considerations we took when making it a public API: * solving the N+1 data retrieval problem and query planning * structuring models for optimal data retrieval * when to use GraphQL This talk will also cover some of the specifics of hooking GraphQL into a service-oriented architecture, how it’s built into our infrastructure, and the advantages you gain by having GraphQL interface with your services.
Microsoft Entity Framework is an object-relational mapper that bridges the gap between object-oriented programming languages and relational databases. The presentation introduced Entity Framework, discussed its architecture including the conceptual data model and entity data model, and demonstrated CRUD operations and other core functionality. It also provided an overview of Entity Framework's history and versions.
This document discusses setting up MongoDB on Windows using the .NET framework and C#. It provides an overview of MongoDB and describes how to install and run MongoDB as a service on Windows. It then discusses the MongoDB C# driver, including how to add it to projects using NuGet. It describes the driver's main namespaces and classes for working with BSON documents and connecting to MongoDB databases and collections. The document ends with examples of performing CRUD operations on MongoDB collections from C# code.
AngularJS 1.x - your first application (problems and solutions)Igor Talevski
We will talk about all aspects of building a single page application with AngularJS, and we will discuss real examples from day-to-day work. We will also cover a large amount of theory about general web development, best practices, and today's client demands. We will focus on three (3) main points: architecture, security, and real time notification.
APIdays Paris 2018 - Building scalable, type-safe GraphQL servers from scratc...apidays
Building scalable, type-safe GraphQL servers from scratch
Johannes Schickling, Founder & CEO, Prisma
Apply to be a speaker here - https://apidays.typeform.com/to/J1snsg
NicheTech Is the best software firm in ahmedabad . We are providing live project training to MCA students . We are also offering ASP.NET Training Ahmedabad , ASP.NET Course Ahmedabad , ASP.NET Classes Ahmedabad.
ASP.NET : http://mcaprojecttraining.com/asp.net_live_training.html
Live Project Training Ahmedabad
http://mcaprojecttraining.com/asp.net_live_training.html
This document provides an overview of Entity Framework Code First, including its basic workflow, database initialization strategies, configuring domain classes using data annotations and fluent API, modeling relationships like one-to-one, one-to-many and many-to-many, and performing migrations using automated and code-based approaches. Code First allows writing classes first and generating the database, starting from EF 4.1, and supports domain-driven design principles.
Data Persistence in Android with Room LibraryReinvently
Android developer Dmitry Dogar talks on how to organize data persistence in Android using the new Room library. Topic inspired by Google Developer Group meetup.
This document summarizes the GLORP (Generic Lightweight Object-Relational Persistence) library, an open-source library for object-relational mapping. It discusses GLORP's motivations, including supporting schema changes for a critical application with a complex data model. Key features highlighted are GLORP's declarative mappings, optimized queries, automatic transaction handling, and object-level rollback support. The document also covers GLORP's licensing under the LGPL and acknowledges its contributors.
Entity Framework Database and Code FirstJames Johnson
James Johnson is the founder and president of the Inland Empire .NET User's Group. He is a three time Microsoft MVP in CAD and works as a software developer during the day and runs side projects at night. He gave a presentation on Entity Framework and code first development where he demonstrated how to scaffold controllers and views from classes to generate a basic web application with CRUD functionality and database access.
This document discusses alternatives to using WebObjects for developing web applications. It summarizes the key aspects of a stack that could satisfy former WebObjects developers, including:
- Dependency injection frameworks like Spring and Google Guice that allow loose coupling between classes.
- HTML frameworks like Tapestry that are similar to WebObjects in allowing infinitely nestable page components.
- JAX-RS as a REST framework specification implemented by libraries like Jersey that maps HTTP requests to Java methods.
- Migrating from WebObjects by keeping its philosophies but rewriting code from scratch using these new frameworks, with tools to import existing data models and port components like DirectToWeb and DirectToJavaClient.
This document provides an agenda for a LINQ training that covers:
- A brief history of data access technologies leading to LINQ
- An overview of what LINQ is and the C# language enhancements that support it
- Base concepts like LINQ to Objects, deferred and immediate operators
- More advanced concepts like LINQ to Datasets, XML, and SQL
- Examples and questions
The document provides an overview of Entity Framework 4.0. It discusses the history of data access frameworks leading up to EF4, key features of EF4 like the Entity Data Model (EDM), and patterns for developing with EF4 such as repositories, unit of work, and POCO objects. It also covers querying EF4 models using LINQ to Entities, testing with EF4 through interfaces like IObjectSet, and enabling lazy loading for related entities.
What's LINQ, its advantages, its Operators and examples on some of them, Methods of Writing it.
LINQ to Objects and Collections and Data Source Transformation.
Rapid Web API development with Kotlin and KtorTrayan Iliev
Introduction to Kotlin and Ktor with flow, async and channel examples. Ktor is an async web framework with minimal ceremony that leverages the advantages of Kotlin like coroutines and extensible functional DSLs..
This document provides an introduction to LINQ (Language Integrated Query). LINQ allows querying over various data sources using a common SQL-like syntax. It introduces key LINQ concepts like LINQ to Objects, LINQ to SQL, LINQ to XML and language features in .NET that support LINQ like lambda expressions and extension methods. The document also provides examples of standard query operators and using LINQ to query objects, databases and XML documents.
This document provides an introduction and overview of LINQ (Language Integrated Query). It discusses that LINQ allows developers to query data from different sources using a SQL-like syntax directly in .NET code. It also summarizes the key LINQ concepts like data sources, query operators, LINQ providers for different data types, and IDE support for LINQ in Visual Studio.
Tomer Elmalem - GraphQL APIs: REST in Peace - Codemotion Milan 2017Codemotion
This talk will introduce attendees to GraphQL and then dive into the intricacies of how we built the API. It’ll cover end-to-end the flow we provide to our developers and some of the specific considerations we took when making it a public API: * solving the N+1 data retrieval problem and query planning * structuring models for optimal data retrieval * when to use GraphQL This talk will also cover some of the specifics of hooking GraphQL into a service-oriented architecture, how it’s built into our infrastructure, and the advantages you gain by having GraphQL interface with your services.
Microsoft Entity Framework is an object-relational mapper that bridges the gap between object-oriented programming languages and relational databases. The presentation introduced Entity Framework, discussed its architecture including the conceptual data model and entity data model, and demonstrated CRUD operations and other core functionality. It also provided an overview of Entity Framework's history and versions.
This document discusses setting up MongoDB on Windows using the .NET framework and C#. It provides an overview of MongoDB and describes how to install and run MongoDB as a service on Windows. It then discusses the MongoDB C# driver, including how to add it to projects using NuGet. It describes the driver's main namespaces and classes for working with BSON documents and connecting to MongoDB databases and collections. The document ends with examples of performing CRUD operations on MongoDB collections from C# code.
AngularJS 1.x - your first application (problems and solutions)Igor Talevski
We will talk about all aspects of building a single page application with AngularJS, and we will discuss real examples from day-to-day work. We will also cover a large amount of theory about general web development, best practices, and today's client demands. We will focus on three (3) main points: architecture, security, and real time notification.
APIdays Paris 2018 - Building scalable, type-safe GraphQL servers from scratc...apidays
Building scalable, type-safe GraphQL servers from scratch
Johannes Schickling, Founder & CEO, Prisma
Apply to be a speaker here - https://apidays.typeform.com/to/J1snsg
NicheTech Is the best software firm in ahmedabad . We are providing live project training to MCA students . We are also offering ASP.NET Training Ahmedabad , ASP.NET Course Ahmedabad , ASP.NET Classes Ahmedabad.
ASP.NET : http://mcaprojecttraining.com/asp.net_live_training.html
Live Project Training Ahmedabad
http://mcaprojecttraining.com/asp.net_live_training.html
This document provides an overview of Entity Framework Code First, including its basic workflow, database initialization strategies, configuring domain classes using data annotations and fluent API, modeling relationships like one-to-one, one-to-many and many-to-many, and performing migrations using automated and code-based approaches. Code First allows writing classes first and generating the database, starting from EF 4.1, and supports domain-driven design principles.
Data Persistence in Android with Room LibraryReinvently
Android developer Dmitry Dogar talks on how to organize data persistence in Android using the new Room library. Topic inspired by Google Developer Group meetup.
This document summarizes the GLORP (Generic Lightweight Object-Relational Persistence) library, an open-source library for object-relational mapping. It discusses GLORP's motivations, including supporting schema changes for a critical application with a complex data model. Key features highlighted are GLORP's declarative mappings, optimized queries, automatic transaction handling, and object-level rollback support. The document also covers GLORP's licensing under the LGPL and acknowledges its contributors.
Entity Framework Database and Code FirstJames Johnson
James Johnson is the founder and president of the Inland Empire .NET User's Group. He is a three time Microsoft MVP in CAD and works as a software developer during the day and runs side projects at night. He gave a presentation on Entity Framework and code first development where he demonstrated how to scaffold controllers and views from classes to generate a basic web application with CRUD functionality and database access.
This document discusses alternatives to using WebObjects for developing web applications. It summarizes the key aspects of a stack that could satisfy former WebObjects developers, including:
- Dependency injection frameworks like Spring and Google Guice that allow loose coupling between classes.
- HTML frameworks like Tapestry that are similar to WebObjects in allowing infinitely nestable page components.
- JAX-RS as a REST framework specification implemented by libraries like Jersey that maps HTTP requests to Java methods.
- Migrating from WebObjects by keeping its philosophies but rewriting code from scratch using these new frameworks, with tools to import existing data models and port components like DirectToWeb and DirectToJavaClient.
Let's start GraphQL: structure, behavior, and architectureAndrii Gakhov
In this talk, I describe the path to start with GraphQL in a company that has experience with Python stack and REST API. We go from the definition of GraphQL, via behavioral aspects and data management, to the most common architectural questions.
This document summarizes a presentation about using Scala with the Spring framework. It discusses how Spring's core features like dependency injection, aspect oriented programming, and service abstraction can be used with Scala. It provides examples of implementing dependency injection with both XML configuration and annotations. It also discusses how to handle callbacks when using Spring's service abstraction in Scala. Some potential issues and areas for improvement are identified, such as better support for Scala collections and implicit conversions in Spring configuration.
GraphQL is an application layer query language from Facebook. With GraphQL, you can define your backend as a well-defined graph-based schema. Then client applications can query your dataset as they are needed. GraphQL’s power comes from a simple idea — instead of defining the structure of responses on the server, the flexibility is given to the client. Will GraphQL do to REST what REST did to SOAP?
Introduces the use of JSON-Like data structures within DivConq. Includes how to create and access the structures within Java, as well as how to declare structures in dcSchema for data validation.
GraphQL is a query language for APIs that was created by Facebook in 2012. It allows clients to define the structure of the data required, and exactly the data they need from the server. This prevents over- and under-fetching of data. GraphQL has grown in popularity with the release of tools like Apollo and GraphQL code generation. GraphQL can be used to build APIs that integrate with existing backend systems and databases, with libraries like Express GraphQL and GraphQL Yoga making it simple to create GraphQL servers.
Spring Day | Spring and Scala | Eberhard WolffJAX London
2011-10-31 | 09:45 AM - 10:30 AM
Spring is widely used in the Java world - but does it make any sense to combine it with Scala? This talk gives an answer and shows how and why Spring is useful in the Scala world. All areas of Spring such as Dependency Injection, Aspect-Oriented Programming and the Portable Service Abstraction as well as Spring MVC are covered.
Field injection, type safe configuration, and more new goodies in Declarative...bjhargrave
In the recently published Release 6 specifications, OSGi provides a significant update to the already awesome Declarative Services (DS) specification. DS is _the_ way to write and use OSGi services since it handles the details and lets you, the developer, declare what you want. The DS 1.3 specification in Release 6 includes a number of new features to make using DS even better. This talk will go over the new features to help you better understand how to use them in your bundles.
Tutorial: Building a GraphQL API in PHPAndrew Rota
This document discusses building a GraphQL API in PHP. It provides an overview of GraphQL concepts like queries, fields, types and schemas. It then outlines the steps to build a GraphQL API in PHP using the graphql-php library:
1. Define object types and the Query root type in the schema
2. Initialize the GraphQL schema instance
3. Execute GraphQL queries against the schema and return the result
By following these steps, one can build an API for querying a database of PHP conferences and speakers to understand how to build GraphQL APIs in PHP.
Simplify Access to Data from Pivotal GemFire Using the GraphQL (G2QL) ExtensionVMware Tanzu
This document discusses Geode GraphQL Extension (G2QL), which allows a Geode cache to be accessed via GraphQL queries and mutations. G2QL introspects a Geode cache configuration and generates a corresponding GraphQL schema. It converts GraphQL queries and mutations to Geode region operations and OQL, eliminating the need to write resolvers. G2QL addresses issues like schema duplication, boilerplate code, and inefficient data access through features like schema generation, automatic conversion of queries to Geode operations, and batching of queries. The document provides an example of G2QL in action and discusses next steps for the project.
The document discusses the requirements and architecture of an SDN controller. It states that an SDN controller should be a flexible platform that can accommodate diverse applications through common APIs and extensibility. It should also scale to support independent development and integration of applications. The OpenDaylight controller satisfies these requirements through its use of YANG modeling and the Model-Driven Service Abstraction Layer (MD-SAL). MD-SAL generates Java classes from YANG models and provides messaging between controller components.
MongoDB World 2019: Building a GraphQL API with MongoDB, Prisma, & TypeScriptMongoDB
Originally developed by Facebook, GraphQL is taking over the industry and replaces REST as an API standard. Learn how it works and build your own GraphQL API with Prisma, MongoDB & TypeScript. Prisma auto-generates a MonogDB client to connect your GraphQL resolvers with MongoDB in a type-safe way.
MongoDB.local Berlin: Building a GraphQL API with MongoDB, Prisma and TypescriptMongoDB
This document discusses building GraphQL APIs with MongoDB, Prisma and TypeScript. It begins with introductions to GraphQL and understanding GraphQL servers, including defining schemas and resolver functions. It then covers using Prisma as an ORM for MongoDB to provide type-safe database access and simplify workflows like migrations and queries. Finally, it promotes GraphQL Yoga as a framework that combines Prisma and GraphQL for building modern backends with full type-safety and deep database integration.
GraphQL and its schema as a universal layer for database accessConnected Data World
GraphQL is a query language mostly used to streamline access to REST APIs. It is seeing tremendous growth and adoption, in organizations like Airbnb, Coursera, Docker, GitHub, Twitter, Uber, and Facebook, where it was invented.
As REST APIs are proliferating, the promise of accessing them all through a single query language and hub, which is what GraphQL and GraphQL server implementations bring, is alluring.
A significant recent addition to GraphQL was SDL, its schema definition language. SDL enables developers to define a schema governing interaction with the back-end that GraphQL servers can then implement and enforce.
Prisma is a productized version of the data layer leveraging GraphQL to access any database. Prisma works with MySQL, Postgres, and MongoDB, and is adding to this list.
Prisma sees the GraphQL community really coming together around the idea of schema-first development, and wants to use GraphQL SDL as the foundation for all interfaces between systems.
Nick Raienko ''Service-oriented GraphQL''OdessaJS Conf
This document discusses service-oriented architectures and GraphQL. It describes GraphQL as providing a unified query language for data, supporting real-time interactions, and allowing for easy decomposition of monolithic architectures and switching between data stores. The document outlines the key concepts of GraphQL, including its specification, implementations, and ecosystem of tools. It also discusses how GraphQL compares to REST and can be used with service-oriented frameworks like Feathers.
Composable Parallel Processing in Apache Spark and WeldDatabricks
The main reason people are productive writing software is composability -- engineers can take libraries and functions written by other developers and easily combine them into a program. However, composability has taken a back seat in early parallel processing APIs. For example, composing MapReduce jobs required writing the output of every job to a file, which is both slow and error-prone. Apache Spark helped simplify cluster programming largely because it enabled efficient composition of parallel functions, leading to a large standard library and high-level APIs in various languages. In this talk, I'll explain how composability has evolved in Spark's newer APIs, and also present a new research project I'm leading at Stanford called Weld to enable much more efficient composition of software on emerging parallel hardware (multicores, GPUs, etc).
Speaker: Matei Zaharia
This document provides an introduction to Node-RED, including what it is, its origins and key facts. It discusses Node-RED's low-code approach and ease of use for integration. The fundamentals of Nodes, messages and flows are explained. Installation and usage are demonstrated locally and via Docker. Security, authentication, configuration and developing custom nodes are also covered.
Engage 2019: Modernising Your Domino and XPages Applications Paul Withers
This document discusses modernizing Domino and XPages applications. It covers modernizing web and mobile interfaces, using Dynamic Query Language for improved performance, and integrating applications via REST APIs. The document provides examples and considerations for updating applications' user interfaces, database design, and integration to meet modern needs and habits while leveraging new platform capabilities.
The document discusses the history and current state of artificial intelligence. It describes early milestones in AI development from Alan Turing to modern successes like AlphaGo. The document also discusses challenges with AI systems, noting they are only as good as their training and can learn bad behaviors if exposed to unsafe examples online. Additionally, the document explores applications of AI in healthcare and insurance, and the need for machine ethics as AI becomes more advanced and autonomous.
Social Connections 14 - ICS Integration with Node-RED and Open SourcePaul Withers
The document summarizes a presentation about integrating Node-RED with open source technologies. Node-RED is a browser-based flow editor that allows wiring together hardware devices, APIs, and online services to build IoT applications. It can be run on edge devices like Raspberry Pi or in the cloud. The presentation covers Node-RED's open source development, popular nodes, deployment options including on IBM Cloud, and demos of connecting Node-RED to IBM Connections.
ICONUK 2018 - Do You Wanna Build a ChatbotPaul Withers
- Watson Assistant is an IBM cloud service that uses natural language processing and structured processing to build dialog workflows for chatbots.
- It handles intents, entities, context variables, and dialog flow to understand user input and determine responses.
- Developers use the browser-based tool to build, test, and train chatbot conversations by managing intents, entities, dialog nodes, and context.
IBM Think Session 8598 Domino and JavaScript Development MasterClassPaul Withers
Session from IBM Think 2018. Note: the architecture used is an extreme case of what's possible (and it could go further), rather than a real-world expectation
IBM Think Session 3249 Watson Work Services Java SDKPaul Withers
This document discusses developing applications with the Watson Work Services Java SDK to integrate with Watson Workspace and Watson Work Services APIs. It provides an overview of app prerequisites, the OAuth 2.0 process, IDE options, the Watson Work Services APIs and GraphQL endpoint, an introduction to the Watson Work Services Java SDK, and examples of using the SDK.
OpenNTF Domino API (ODA): Super-Charging Domino DevelopmentPaul Withers
The document discusses the OpenNTF Domino API (ODA), which is an OSGi plugin that extends the core Domino Java API. It provides features like reducing unnecessary coding, modernizing constructs, improving readability, adding new features, and enabling flexible session management beyond XPages. The document outlines some of the key features of ODA, how to enable it for XPages and Java applications, and how it improves upon and extends the standard Domino Java API in areas like sessions, documents, views, transactions, and more. It also discusses related OpenNTF projects like XOTS, database listeners, and ExtMgr that integrate with ODA.
This document provides an overview of a presentation on troubleshooting XPages applications. It discusses common issues developers face with XPages, such as state management and partial refreshes not working as expected. The presentation covers techniques for debugging these issues, including using a PhaseListener to identify problems with partial refreshes and ensuring components are rendered in the correct lifecycle phases. It also provides examples of questions asked on StackOverflow about XPages.
Social Connections 2015 CrossWorlds and DominoPaul Withers
This document discusses CrossWorlds, which allows developing generic web applications using the IBM Domino application server. CrossWorlds is a feature for IBM Websphere Liberty Profile that makes Liberty act like a Domino server to applications. It allows accessing Domino data and services via the OpenNTF Domino API from standard web applications. CrossWorlds provides advantages like Domino's security and data storage along with Liberty's speed and tooling. The OpenNTF Domino API also provides more flexible session handling and data access than traditional XPages development.
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.
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...Paul Withers
BP106 From XPages Hero To OSGi Guru: Taking The Scary Out Of Building Extension Libraries. From IBM ConnectED 2015, delivered jointly with Christian Guedemann
OpenNTF Domino API - Overview IntroductionPaul Withers
The document provides an overview of the OpenNTF Domino API (ODA) project. It describes the mission to modernize and extend the Domino API, lists the initial contributors and reasons for starting the project. It outlines the core areas and functionality that ODA has developed over time, including transaction processing, events, email handling, indexing, sorting, and graph implementations. It also describes the project structure and integration with XPages.
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.
The OpenNTF Domino API is a community-developed Java API that provides an alternative to using the native Notes objects in Domino. It was created to bridge the gap between LotusScript and Java developers, remove the need for try/catch blocks and recycling, and take advantage of Java collections and helper methods. The API is deployed via an update site and its packages include core interfaces, extension interfaces, and implementation classes. It provides features like logging, transaction processing, and database event listeners. Developers can convert code by changing imports, removing unnecessary code, and using the API's helper methods.
IBM Connect 2014 BP204: It's Not Infernal: Dante's Nine Circles of XPages HeavenPaul Withers
The document summarizes Dante's nine circles of hell from his Divine Comedy and relates them to different aspects of developing XPages applications. It discusses how the first circle of Limbo relates to hybrid XPage/Domino applications, how the second circle of Lust relates to focusing on user interface and experience, and how the third circle of Gluttony relates to managing server resources and page loading. It provides examples and demonstrations for each circle. The document concludes by listing additional sessions at the conference related to XPages development, Java, and IBM collaboration tools.
Embracing the power of the notes clientPaul Withers
This document discusses various tips and tricks for getting the most out of the IBM Notes client, including navigation shortcuts, copying data as a table, quick find and search features, full text searching, managing searches via policies, and extending functionality through widgets, plugins, and XPages integration. It provides an overview of live text recognition and regex testing capabilities, as well as how to share custom widgets and plugins.
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...kalichargn70th171
In today's fiercely competitive mobile app market, the role of the QA team is pivotal for continuous improvement and sustained success. Effective testing strategies are essential to navigate the challenges confidently and precisely. Ensuring the perfection of mobile apps before they reach end-users requires thoughtful decisions in the testing plan.
How Can Hiring A Mobile App Development Company Help Your Business Grow?ToXSL Technologies
ToXSL Technologies is an award-winning Mobile App Development Company in Dubai that helps businesses reshape their digital possibilities with custom app services. As a top app development company in Dubai, we offer highly engaging iOS & Android app solutions. https://rb.gy/necdnt
The Comprehensive Guide to Validating Audio-Visual Performances.pdfkalichargn70th171
Ensuring the optimal performance of your audio-visual (AV) equipment is crucial for delivering exceptional experiences. AV performance validation is a critical process that verifies the quality and functionality of your AV setup. Whether you're a content creator, a business conducting webinars, or a homeowner creating a home theater, validating your AV performance is essential.
The Rising Future of CPaaS in the Middle East 2024Yara Milbes
Explore "The Rising Future of CPaaS in the Middle East in 2024" with this comprehensive PPT presentation. Discover how Communication Platforms as a Service (CPaaS) is transforming communication across various sectors in the Middle East.
Manyata Tech Park Bangalore_ Infrastructure, Facilities and Morenarinav14
Located in the bustling city of Bangalore, Manyata Tech Park stands as one of India’s largest and most prominent tech parks, playing a pivotal role in shaping the city’s reputation as the Silicon Valley of India. Established to cater to the burgeoning IT and technology sectors
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...kalichargn70th171
Visual testing plays a vital role in ensuring that software products meet the aesthetic requirements specified by clients in functional and non-functional specifications. In today's highly competitive digital landscape, users expect a seamless and visually appealing online experience. Visual testing, also known as automated UI testing or visual regression testing, verifies the accuracy of the visual elements that users interact with.
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
React.js, a JavaScript library developed by Facebook, has gained immense popularity for building user interfaces, especially for single-page applications. Over the years, React has evolved and expanded its capabilities, becoming a preferred choice for mobile app development. This article will explore why React.js is an excellent choice for the Best Mobile App development company in Noida.
Visit Us For Information: https://www.linkedin.com/pulse/what-makes-reactjs-stand-out-mobile-app-development-rajesh-rai-pihvf/
The Role of DevOps in Digital Transformation.pdfmohitd6
DevOps plays a crucial role in driving digital transformation by fostering a collaborative culture between development and operations teams. This approach enhances the speed and efficiency of software delivery, ensuring quicker deployment of new features and updates. DevOps practices like continuous integration and continuous delivery (CI/CD) streamline workflows, reduce manual errors, and increase the overall reliability of software systems. By leveraging automation and monitoring tools, organizations can improve system stability, enhance customer experiences, and maintain a competitive edge. Ultimately, DevOps is pivotal in enabling businesses to innovate rapidly, respond to market changes, and achieve their digital transformation goals.
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...XfilesPro
Wondering how X-Sign gained popularity in a quick time span? This eSign functionality of XfilesPro DocuPrime has many advancements to offer for Salesforce users. Explore them now!
Superpower Your Apache Kafka Applications Development with Complementary Open...Paul Brebner
Kafka Summit talk (Bangalore, India, May 2, 2024, https://events.bizzabo.com/573863/agenda/session/1300469 )
Many Apache Kafka use cases take advantage of Kafka’s ability to integrate multiple heterogeneous systems for stream processing and real-time machine learning scenarios. But Kafka also exists in a rich ecosystem of related but complementary stream processing technologies and tools, particularly from the open-source community. In this talk, we’ll take you on a tour of a selection of complementary tools that can make Kafka even more powerful. We’ll focus on tools for stream processing and querying, streaming machine learning, stream visibility and observation, stream meta-data, stream visualisation, stream development including testing and the use of Generative AI and LLMs, and stream performance and scalability. By the end you will have a good idea of the types of Kafka “superhero” tools that exist, which are my favourites (and what superpowers they have), and how they combine to save your Kafka applications development universe from swamploads of data stagnation monsters!
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid
IBM watsonx Code Assistant for Z, our latest Generative AI-assisted mainframe application modernization solution. Mainframe (IBM Z) application modernization is a topic that every mainframe client is addressing to various degrees today, driven largely from digital transformation. With generative AI comes the opportunity to reimagine the mainframe application modernization experience. Infusing generative AI will enable speed and trust, help de-risk, and lower total costs associated with heavy-lifting application modernization initiatives. This document provides an overview of the IBM watsonx Code Assistant for Z which uses the power of generative AI to make it easier for developers to selectively modernize COBOL business services while maintaining mainframe qualities of service.
Enhanced Screen Flows UI/UX using SLDS with Tom KittPeter Caitens
Join us for an engaging session led by Flow Champion, Tom Kitt. This session will dive into a technique of enhancing the user interfaces and user experiences within Screen Flows using the Salesforce Lightning Design System (SLDS). This technique uses Native functionality, with No Apex Code, No Custom Components and No Managed Packages required.
2. Paul Withers
ICS Consultant, Intec Systems Ltd
IBM Champion since 2011
OpenNTF Board Member
WWS Java SDK developer
2#engageug
3. Philippe Riand
CTO of Trilog Group & Darwino Inc.
Former application development
chief architect for
IBM Collaboration Services
Chief architect, and inventor,
of IBM Domino XPages
3#engageug
4. The Problem With REST
Multiple calls required
• “Joins” are consumer’s responsibility
• May result in a large number of REST calls –> Latency is multiplied by
the number of calls -> sequential behaviour
Provider-driven
• Consumer gets what they get, needs to parse accordingly
Versions
• Changes typically require version increment
• May affect consumer’s application object model
Validation
• Request cannot be validated prior to submission
4#engageug
6. What Is GraphQL?
Created by Facebook 2012
Specification for standard began 2015
Query language
• Not database architecture
• Not programming language
• A modern way to expose your API and give your clients more Control
on what they get
6#engageug
7. Why GraphQL?
Consumer-driven
• Returns what the client asks for and no more!
Hierarchical
• Query and response are both JSON, in same hierarchical structure
Strongly Typed
• GraphQL type structure ensures query can be tested for syntactical
correctness and validity before execution
Introspective
• GraphQL language can be used to query the type structure
7#engageug
8. GraphQL
• Open source in-browser IDE https://github.com/graphql/graphiql
• Build validated and syntactically correct queries /
mutations and fragments
• Define query variables
• Run queries and browse response
• Run a query to introspect schema
• Drill down through schema documentation
• Visualizer tools also available
http://nathanrandal.com/graphql-visualizer/
8#engageug
10. GraphQL and Watson Work Services
• Documentation online
https://workspace.ibm.com/developer/docs
• GraphiQL tool for WWS
https://workspace.ibm.com/graphql
• Must be authenticated in browser to Watson Workspace first!
• Queries run as user, not application
• Some queries are not available to applications
• Additional REST endpoints exist (e.g. authentication,
focus, photos)
• These are usually version-based, e.g. …/v1/…
10#engageug
12. GraphQL Query Structure
Query can have operation name, optional if only one query
Query object has fields for things that can be returned
Fields may take (or require) arguments
• Arguments have a type (String, Int, ID etc)
• See GraphQL documentation for more details
• Required arguments have “!” after the type in documentation (e.g.
space(id:ID!)
• Argument values may be literal or map to variables
12#engageug
13. GraphQL Query Structure
Variables
• Passed as an argument of the operation name
• Format is “$VariableName: Type” (e.g. $FIRST: Int)
• Passed to value of an argument in the operation
• Declared as a separate JSON object
• Key is variable name as a String
• Value is variable value
• Validated in GraphiQL IDE, like rest of query
13#engageug
14. GraphQL Query Structure
Fields may have an alias
• Format is “alias: field”
• Allows query to retrieve multiple result objects of same field type
• In response, field type is replaced with alias
Fields will themselves have fields and/or objects to return
14#engageug
15. GraphQL Query Structure
Queries on lists may return lots of objects
“Slice” using first and last
Return pageInfo object to get cursor
Pass cursor back to query using before or after
15#engageug
16. GraphQL Query Structure
Fragments can be included to improve readability of
complex queries
• Defined as separate JSON object
• Format is “fragment fragmentName on type”
• Allows fields to be defined and validated inline
• Used with format “…fragmentName”
Schema may return an interface or union type
• Inline fragment may be required to act differently depending on
actual implementation from interface
• Format is “… on type”
• Not used in WWS, see GraphQL documentation for examples
16#engageug
20. GraphQL Mutations
Mutation can have an operation name
Declares the field to set (function)
Pass an input object to the field
Returns a type
• May just be a scalar (e.g. true / false)
• May be an object (e.g. a space)
• If an object, that can be queried, as in a query
Can pass multiple fields (processed sequentially)
20#engageug
21. GraphQL Subscriptions
Subscription allows clients to receive updates
Declares the field to subscribe to
Pass an input object to the field, including subscription id
Nothing yet implemented for this in Watson Work Services
21#engageug
22. Introspecting GraphQL Schema
GraphQL schema can be introspected with GraphQL query!
• __schema queries the schema
• __type introspects a specific type
• kind introspects field type
• If NON_NULL, ofType returns its actual type
“It’s GraphQL queries all the way down”
22#engageug
23. GraphQL – Real World Implementations
- Facebook
- Watson Works Services
- Darwino (OpenSource Project hosted on OpenNTF and
darwino.org)
- Connections Pink
23#engageug
24. Darwino GraphQL Implementation
Darwino is providing a set of open source libraries for both
consumers and producers of GraphQL
The libraries are part of the Darwino core code but hosted
on OpenNTF/darwino.org
The code depends on some core Darwino classes (JSON,
utilities…) but these are part of Darwino community edition
24#engageug
25. Schemaless GraphQL Queries
GraphQL uses static schemas to validate the queries and
make them discoverable by tools (code completion…)
This forces the queries to be fully defined on the producer
side
All the fields have to be predefined
All the relations between data sets have to be predefined as well
What about semi structured data, like Domino documents?
-> Would benefit from more flexibility
To seamlessly access the data in an unstructured document
To make prototyping easier and faster
To traverse relations that are not known upfront
25#engageug
26. Dynamic JSON Data Type
A JSON data type is a GraphQL type that exposes its
content as a virtual JSON Object
Its dynamic content is accessed using pseudo fields extract
the value using JSON Path
26#engageug
27. A Simple Domino Example
Reading items from an existing Domino document
DominoDocument is a pseudo field loading a document
based on parameters, and returning a JSON data type
string is a pseudo field extracting a string value from a
JSON data type using a JSON path
27#engageug
doc: DominoDocument(database:"DarwinoReports.nsf",
unid:"DD2028D6B53ADCCB852581080009C40E") {
_unid,
code: string(path:"PRODUCTCODE"),
name: string(path:"PRODUCTNAME"),
}
https://playground.darwino.com/playground.nsf/GraphqlSnippets.xsp#snippet=Notes_Domino_Read_Document
28. Dynamic JSON Types
Dynamic JSON types are pseudo fields that can be added
any object
By convention, these fields start with a capital letter, like a
class in Java: DominoDocument, DominoView…
They are used with an alias to name the result field
Dynamic types are contributed by extension points,then
added to every type in the final GraphQL schema.
28#engageug
view: DominoView(name: “myview”){
…
doc: DominoDocument(unid: ‘xxx’) {
…
}
}
29. Dynamic JSON Fields
Dynamic fields are also peudo fields, extracting a value
using a JSON path and coercing the result to the desired
type:
New dynamic fields can be added by the developers
29#engageug
val: string(path:“a.b.c")
val: number(path:“a.b.c")
val: int:“a.b.c")
val: long(path:“a.b.c")
val: boolean(path:“a.b.c")
val: value(path:“a.b.c")
val: eval(formula:“@Trim(@UserName)")
30. JSON Path Introduction
A JSON Path is to JSON what an XPath is to XML
The syntax is closed to JavaScript, starting with a ‘$’
$.firstName
$.spouse.firstName
$.spouse[‘firstName’]
$.addresses[1].street
$ {whole document}
There are more complex operators
http://goessner.net/articles/JsonPath/
Darwino core provides a high performance, advanced
JSON Path engine
30#engageug
{
firstName: ‘Barak’,
spouse: {
firstName: ‘Michele’,
…
}
addresses: [
{ street: ‘Main St’, …},
{ street: ‘Bob Sq’, …},
],
…
}
31. Static Fields
A JSON dynamic type can mix and match static fields with
dynamic ones
By convention, system fields start with a ‘_’ (_unid, …)
Functional static fields can be added
31#engageug
DominoDocument(database:"DarwinoReports.nsf",
unid:"DD2028D6B53ADCCB852581080009C40E") {
_unid,
_noteId,
_created,
_lastAccessed,
user {
cn, dn
}
name: string(path:"PRODUCTNAME"),
}
32. Passing Parameters to JSON Types
In the previous Domino example, the unid parameter is
hard coded which is not that useful…
unid can be set from a GraphQL variable, but this is also
global to the request – cannot be used for relations
Darwino implementation uses a special syntax to calculate
parameters
Delegates the evaluation of ‘docid’ to the parent object
Drawback: all parameters have to be declared as strings in GraphQL
32#engageug
doc: DominoDocument(unid:$VAR)
doc: DominoDocument(unid:”${docid}”)
35. Java Client Builder
• A GraphQL query is a text file that is always painful to
build safely
• Escaping the text pieces, quotes…
• Making sure that all the braces { } are balanced
• Format it to be either compacted or developer friendly
• Darwino provides an easy to use builder to help the
creation of queries in Java
• Highly readable by developer
• Supports code completion in a Java IDE
• Based on the Java Builder pattern
• Fully extensible to handle known objects
35#engageug
37. Example from the Playground
Putting it altogether…
37#engageug
String q = new GQuery("example")
.field(new GField("Document")
.attribute("unid", "1000")
.attribute("database", "playground")
.attribute("store", "pinball")
.field("_id")
.field("_unid")
.field("_cdate")
.field("_muser")
.stringField("name","name")
.stringField("manufacturer","manufacturer")
.numberField("released","released")
.longField("players","players")
.intField("flippers","flippers")
).build();
https://playground.darwino.com/playground.nsf/JavaSnippets.xsp#snippet=GraphQL_Run_Inline_Client_Query
38. Watson Work Services Java SDK
Java SDK for Watson Work Service
• On OpenCode4Workspace (run by OpenNTF)
• Download the project
• Consume from Maven
<dependency>
<groupId>org.opencode4workspace.watson-work-services</groupId>
<artifactId>wws-api</artifactId>
<version>0.6.0</version>
</dependency>
• View source code on Stash (includes Junit tests)
• Explore implementation in Watson Workspace for Eclipse / Notes
Latest documentation on OpenNTF Wiki, Javadoc available
38#engageug
39. Watson Work Services Java SDK
Client authentication as application
Client authentication as user
Build queries with Java objects, methods and enums
• No need to construct queries as complex Strings
Methods to output built query as String and response as
String
Conversion of response to Java objects
Methods to parse error responses
Standard REST endpoints also supported
39#engageug
42. WWS Java SDK
Variables not current supported
• Use Java method to construct query based on variable
Fragments not currently supported
• Use Java method / object to specify standard fields
Directives not currently supported
• Use Java method to construct query based on variable
Aliases not currently supported
• Track the JIRA issue
42#engageug
44. Thank You
44#engageug
Paul Withers
Intec Systems Ltd & OpenNTF
pwithers@intec.co.uk
@paulswithers
https://www.intec.co.uk/blog
https://paulswithers.github.io
Philippe Riand
Darwino Inc.
phil@darwino.com
@philriand
http://blog.riand.com/
https://www.darwino.com/