SlideShare a Scribd company logo
#atlassian
Connect Integration Patterns 
A Case Study 
PATRICK STREULE • CONNECT ARCHITECT • ATLASSIAN • @PSTREULE
Connect Refresher
CONNECT REFRESHER 
Atlassian Plug-ins 
Add-On 
• In Process 
• Resources are shared 
• Access to all data 
• Tied to the stack 
• Language 
• Frameworks 
Add-On

Recommended for you

Get Real: Adventures in realtime web apps
Get Real: Adventures in realtime web appsGet Real: Adventures in realtime web apps
Get Real: Adventures in realtime web apps

A presentation at High Ed Web 2012 conference in Milwaukee on available techniques for adding real time features to web applications.

web socketsnode.jsreal time
Python Code Camp for Professionals 3/4
Python Code Camp for Professionals 3/4Python Code Camp for Professionals 3/4
Python Code Camp for Professionals 3/4

Python Code Camp (Professionals) is a whole day workshop that aims to enable professionals to learn Python Basics and Django. Visit: http://devcon.ph/events/python-code-camp-professionals-2016

devconphdevconpython
JavaScript & HTML5 - Brave New World
JavaScript & HTML5 - Brave New WorldJavaScript & HTML5 - Brave New World
JavaScript & HTML5 - Brave New World

This document provides an overview of JavaScript and HTML5 capabilities including: - Canvas element for drawing - Video element for playing video files - Geolocation API to detect user location - Local and session storage for browser data - PostMessage API for cross-window communication It discusses JavaScript language features like variables, functions, and scope and shows examples of working with the DOM, events, and extending native objects. The document is an introduction to modern web technologies enabled by JavaScript and HTML5.

html5javascript
CONNECT REFRESHER 
Connect Add-Ons 
Add-On 
• Separate Process 
• Scales independently 
• Data access only through 
REST API 
• Choose your own stack 
• Language 
• Frameworks 
Add-On 
Connect HTTPS
CONNECT REFRESHER 
Simple Descriptor 
{ 
"key": "my-add-on", 
"name": "Ping Pong", 
"description": "My very first add-on", 
"baseUrl": "{{localBaseUrl}}", 
"authentication": { 
"type": "jwt" 
}, 
"lifecycle": { 
"installed": "/installed" 
}, 
"modules": { 
"generalPages": [{ 
"key": "hello-world-page-jira", 
"location": "system.top.navigation.bar", 
"name": { 
"value": "Hello World" 
}, 
"url": "/hello-world" 
}] 
} 
}
CONNECT REFRESHER 
Simple Descriptor 
{ 
"key": "my-add-on", 
"name": "Ping Pong", 
"description": "My very first add-on", 
"baseUrl": "{{localBaseUrl}}", 
"authentication": { 
"type": "jwt" 
}, 
"lifecycle": { 
"installed": "/installed" 
}, 
"modules": { 
"generalPages": [{ 
"key": "hello-world-page-jira", 
"location": "system.top.navigation.bar", 
"name": { 
"value": "Hello World" 
}, 
"url": "/hello-world" 
}] 
} 
} 
Add-on service 
location
CONNECT REFRESHER 
Simple Descriptor 
{ 
"key": "my-add-on", 
"name": "Ping Pong", 
"description": "My very first add-on", 
"baseUrl": "{{localBaseUrl}}", 
"authentication": { 
"type": "jwt" 
}, 
"lifecycle": { 
"installed": "/installed" 
}, 
"modules": { 
"generalPages": [{ 
"key": "hello-world-page-jira", 
"location": "system.top.navigation.bar", 
"name": { 
"value": "Hello World" 
}, 
"url": "/hello-world" 
}] 
} 
} 
How to auth 
calls 
Add-on service 
location

Recommended for you

Unity Makes Strength
Unity Makes StrengthUnity Makes Strength
Unity Makes Strength

How to improve your security by interconnecting devices/applications to increase their knowledge, detection/protection capabilities.

bsidessecurityprotection
Python Code Camp for Professionals 4/4
Python Code Camp for Professionals 4/4Python Code Camp for Professionals 4/4
Python Code Camp for Professionals 4/4

Python Code Camp (Professionals) is a whole day workshop that aims to enable professionals to learn Python Basics and Django. Visit: http://devcon.ph/events/python-code-camp-professionals-2016

devconcodecodecamp
Top 10 F5 iRules to migrate to a modern load balancing platform
Top 10 F5 iRules to migrate to a modern load balancing platformTop 10 F5 iRules to migrate to a modern load balancing platform
Top 10 F5 iRules to migrate to a modern load balancing platform

With the advent of automation, iRules have become an artifact of the past. Especially when the most commonly deployed F5 iRules such as HTTP redirects, content switching, or logging, require custom scripting. It can be a huge pain for an IT team to train staff on convoluted syntax and manual conversions. Avi eliminates most iRules (#iRulesNoMore) – basic or advanced – with native point-and-click functionalities. Watch this webinar to learn: - How over 75% of F5 iRules can be accommodated by native point-and-click features - Top 10 iRules that can be migrated to native policies on the Avi Vantage Platform - How advanced and custom use cases are easily configured with Avi’s DataScript Full webinar: https://info.avinetworks.com/webinars-avi-tech-corner-episode-2

irulesf5 networksload balancer
CONNECT REFRESHER 
Simple Descriptor 
{ 
"key": "my-add-on", 
"name": "Ping Pong", 
"description": "My very first add-on", 
"baseUrl": "{{localBaseUrl}}", 
"authentication": { 
"type": "jwt" 
}, 
"lifecycle": { 
"installed": "/installed" 
}, 
"modules": { 
"generalPages": [{ 
"key": "hello-world-page-jira", 
"location": "system.top.navigation.bar", 
"name": { 
"value": "Hello World" 
}, 
"url": "/hello-world" 
}] 
} 
} 
How to auth 
calls 
Lifecycle 
notification 
endpoints 
Add-on service 
location
CONNECT REFRESHER 
Simple Descriptor 
{ 
"key": "my-add-on", 
"name": "Ping Pong", 
"description": "My very first add-on", 
"baseUrl": "{{localBaseUrl}}", 
"authentication": { 
"type": "jwt" 
}, 
"lifecycle": { 
"installed": "/installed" 
}, 
"modules": { 
"generalPages": [{ 
"key": "hello-world-page-jira", 
"location": "system.top.navigation.bar", 
"name": { 
"value": "Hello World" 
}, 
"url": "/hello-world" 
}] 
} 
} 
Where is the 
add-on 
showing up? 
How to auth 
calls 
Lifecycle 
notification 
endpoints 
Add-on service 
location
CONNECT REFRESHER 
Simple Descriptor 
{ 
"key": "my-add-on", 
"name": "Ping Pong", 
"description": "My very first add-on", 
"baseUrl": "{{localBaseUrl}}", 
"authentication": { 
"type": "jwt" 
}, 
"lifecycle": { 
"installed": "/installed" 
}, 
"modules": { 
"generalPages": [{ 
"key": "hello-world-page-jira", 
"location": "system.top.navigation.bar", 
"name": { 
"value": "Hello World" 
}, 
"url": "/hello-world" 
}] 
} 
} 
Where is the 
add-on 
showing up? 
iFrame URL 
How to auth 
calls 
Lifecycle 
notification 
endpoints 
Add-on service 
location
CONNECT REFRESHER 
Product WEBHOOKS 
REST API 
REST API 
HTTP 
Add-On

Recommended for you

Working with AFNetworking
Working with AFNetworkingWorking with AFNetworking
Working with AFNetworking

It's difficult to find any app that doesn't connect to the network to get data. If you have used NSURLConnection you know that fetching data is easy, but can be fraught with a messy implementation. AFNetworking is delightful networking library for iOS and Mac that can simplify the process of getting JSON data, XML, or even images.

iosipadafnetworking
Operacion Guinda 2
Operacion Guinda 2Operacion Guinda 2
Operacion Guinda 2

Manual 2 para el Grupo G2 de Entrenamiento Virtual para Promotores del Proyecto e integrantes del Eco Camping Club

voluntariosredescampaña
Javascript call ObjC
Javascript call ObjCJavascript call ObjC
Javascript call ObjC

The document discusses techniques for enabling communication between JavaScript and Objective-C in iOS applications, including setting global variables accessible to both, making Objective-C selectors and properties available to JavaScript, and handling callbacks from JavaScript to Objective-C such as when the web view location changes or a form is submitted. Code snippets provide examples of implementing these techniques.

objcjavascriptuiwebview
From Add-Ons to 
Integrations
Add-Ons 
Connect Add-On
Integration Add-Ons 
Add-On 
Connect 
Application
Integration Add-Ons 
Add-On 
Connect 
Application 
Add-On 
Application

Recommended for you

REST in Peace
REST in PeaceREST in Peace
REST in Peace

Slides from our talk “REST in Peace” for DrupalCamp Baltics 2015: http://drupalcampbaltics.com/event/rest-peace Speakers: - Kate Marshalkina - Konstantin Komelin Speech transcript is available here: http://komelin.com/en/articles/rest-peace-api-development-drupal

restdrupaldrupal 8
Eve - REST API for Humans™
Eve - REST API for Humans™Eve - REST API for Humans™
Eve - REST API for Humans™

Introducing the Eve REST API Framework. FOSDEM 2014, Brussels PyCon Sweden 2014, Stockholm PyCon Italy 2014, Florence Python Meetup, Helsinki EuroPython 2014, Berlin

pythonweb apisrest
Apache CouchDB talk at Ontario GNU Linux Fest
Apache CouchDB talk at Ontario GNU Linux FestApache CouchDB talk at Ontario GNU Linux Fest
Apache CouchDB talk at Ontario GNU Linux Fest

This document provides an overview of CouchDB, a document-oriented database. It describes CouchDB's key features such as storing data as JSON documents with dynamic schemas, providing a RESTful HTTP API, using JavaScript for views and aggregations, and replicating data between databases. It also provides code examples for common operations like creating, retrieving, updating and deleting documents, as well as attaching files. The document recommends libraries for using CouchDB from different programming languages and shares the code for a simple CouchDB library created in an afternoon.

couchdboglf09oglf
Authentication
Authentication 
Add-On 
Connect 
Application 
JWT
Authentication 
Add-On 
Connect 
Application 
JWT
Authentication: Service Account 
Add-On Application 
JWT API Key 
Auth Token 
Basic Auth

Recommended for you

Drupal 8 Deep Dive: What It Means for Developers Now that REST Is in Core
Drupal 8 Deep Dive: What It Means for Developers Now that REST Is in Core Drupal 8 Deep Dive: What It Means for Developers Now that REST Is in Core
Drupal 8 Deep Dive: What It Means for Developers Now that REST Is in Core

Web Services in today's applications and websites have become critical to interacting with third parties. A lot of Drupal developers have the need to expose content and features on their site via an API. Luckily for us, Drupal 8 now has this capability in Core. And some contrib modules are attempting to make it even better. In this webinar, we will discuss what you can do with Drupal 8, what is included in core, and what is not. Topics covered will include what is new with REST in Drupal 8 and what it aims to solve. Attendees will learn: - What CRUD is and how to use it - What you can do with REST in Core - How to use and build on Services in Drupal 8 - How Drupal 8, Acquia, and Palantir can help you succeed

drupal webinardrupal developersdrupal js
Android webservices
Android webservicesAndroid webservices
Android webservices

The document discusses Android web services using the HttpClient API. It describes invocation styles in HttpClient as synchronous and asynchronous. It provides examples of sending HTTP requests using HttpGet and HttpPost, and receiving HTTP responses using HttpResponse and ResponseHandler interfaces. Common response formats like XML, JSON, RSS and Atom are mentioned and examples of parsing JSON responses using the JSONObject class are given.

Dropwizard Restful 微服務 (microservice) 初探 - JCConf TW 2014
Dropwizard Restful 微服務 (microservice) 初探 - JCConf TW 2014Dropwizard Restful 微服務 (microservice) 初探 - JCConf TW 2014
Dropwizard Restful 微服務 (microservice) 初探 - JCConf TW 2014

This document discusses Dropwizard, a microservices framework for Java. It provides an introduction to Dropwizard and microservice architecture. Key points include: Dropwizard allows developing applications as suites of small services that communicate via HTTP APIs; it provides libraries for configuration, metrics, logging, and health checks; and projects using Dropwizard are packaged into single JAR files for easy deployment. The document outlines how to structure a Dropwizard project and develop microservices using its various components.

dropwizard java
Example: Bitbucket Notifications in HipChat
Example: Bitbucket Notifications in HipChat
Example: Bitbucket Notifications in HipChat
Example: Bitbucket Notifications in HipChat

Recommended for you

JavaScript APIs - The Web is the Platform - .toster conference, Moscow
JavaScript APIs - The Web is the Platform - .toster conference, MoscowJavaScript APIs - The Web is the Platform - .toster conference, Moscow
JavaScript APIs - The Web is the Platform - .toster conference, Moscow

This document summarizes various JavaScript APIs available for building web applications. It discusses APIs for files, images, video, fullscreen, camera, WebRTC, pointer lock, web storage, IndexedDB, battery status, telephony, SMS, vibration, and more. The goal is to provide developers capabilities for building rich applications that interact with the user's device.

html5javascriptapis
PostgreSQL High-Availability and Geographic Locality using consul
PostgreSQL High-Availability and Geographic Locality using consulPostgreSQL High-Availability and Geographic Locality using consul
PostgreSQL High-Availability and Geographic Locality using consul

Virtual IPs or floating IPs have long been the workhorse mechanism for providing high-availability for database systems, however floating IP addresses have several limitations that make it problematic in modern data centers and cloud environments, notably that it requires all members be in the same Layer-2 domain. consul is a strongly consistent way of providing high-availability services in Layer-3 environments and provides fail-over across different geographic regions. In this talk we will discuss the benefits, setup, and use of consul for fail-over of PostgreSQL, both in a local data center scenario and a geographic redundancy scenario where databases are split across multiple data centers.

failoverpostgresqlconsul
Deep Dive: Building external auth plugins for Gloo Enterprise
Deep Dive: Building external auth plugins for Gloo EnterpriseDeep Dive: Building external auth plugins for Gloo Enterprise
Deep Dive: Building external auth plugins for Gloo Enterprise

Using the plugin framework for Ext. Auth Service in Gloo Enterprise, we can build any custom AuthN/AuthZ plugins to handle security requirements not provided out of the box.

envoyenvoy proxygloo
Example: Bitbucket Notifications in HipChat
Example: Bitbucket Notifications in HipChat
Installed in Bitbucket and HipChat 
Add-On 
bb-addon.json 
hc-addon.json
Installed in Bitbucket and HipChat 
Add-On 
bb-addon.json 
hc-addon.json 
"installable": { 
"callbackUrl": "/installed" 
}

Recommended for you

Mastering Spring Boot's Actuator with Madhura Bhave
Mastering Spring Boot's Actuator with Madhura BhaveMastering Spring Boot's Actuator with Madhura Bhave
Mastering Spring Boot's Actuator with Madhura Bhave

The document discusses Spring Boot Actuator, a module that allows monitoring and management of Spring Boot applications. It describes the various endpoints exposed by Actuator for tasks like health checks, metrics collection, and accessing bean configuration details. It also covers how to write custom endpoints and leverage existing endpoint functionality through extensions. The document provides examples of annotations used to build endpoints and operations along with HTTP request formats.

springone tourpivotal softwarespring boot
The Big Picture and How to Get Started
The Big Picture and How to Get StartedThe Big Picture and How to Get Started
The Big Picture and How to Get Started

Jeff Scudder, Eric Bidelman The number of APIs made available for Google products has exploded from a handful to a slew! Get the big picture on what is possible with the APIs for everything from YouTube, to Spreadsheets, to Search, to Translate. We'll go over a few tools to help you get started and the things these APIs share in common. After this session picking up new Google APIs will be a snap.

googleajax apisgoogle data
Chatting with HIpChat: APIs 101
Chatting with HIpChat: APIs 101Chatting with HIpChat: APIs 101
Chatting with HIpChat: APIs 101

The document provides instructions for integrating Bitbucket with HipChat using webhooks and APIs. It outlines the steps to install the Bitbucket integration in HipChat, including generating API keys and tokens. It also discusses HipChat add-ons and how they connect external services like Stripe to HipChat using APIs and the HipChat marketplace. The document contains examples of HipChat API calls to send messages to rooms and get room details.

Installed in Bitbucket and HipChat 
Add-On 
bb-addon.json 
hc-addon.json 
1 
"installable": { 
"callbackUrl": "/installed" 
} 
1 
2 
/installed 2
Installed in Bitbucket and HipChat 
Add-On 
bb-addon.json 
hc-addon.json 
"configurePage": { 
"url": "/config" 
} 
1 
"installable": { 
"callbackUrl": "/installed" 
} 
1 
2 
/installed 2
Installed in Bitbucket and HipChat 
Add-On 
bb-addon.json 
hc-addon.json 
"configurePage": { 
"url": "/config" 
} 
"installable": { 
"callbackUrl": "/installed" 
} 
/config 
1 
1 
2 
/installed 2
Installed in Bitbucket and HipChat 
Add-On 
bb-addon.json 
hc-addon.json 
"configurePage": { 
"url": "/config" 
} 
"installable": { 
"callbackUrl": "/installed" 
} 
/config 
1 
1 
2 
/installed 2

Recommended for you

how to use openstack api
how to use openstack apihow to use openstack api
how to use openstack api

The document provides details about an OpenStack API development workshop conducted by Liang Bo. The 2-day workshop covers topics like developing with OpenStack, developer tools, OpenStack APIs, SDKs and includes hands-on sessions to build a tiny project using OpenStack APIs. Day 1 covers introduction, developing with OpenStack, tools and OpenStack RESTful APIs. Day 2 focuses on workshops to use OpenStack APIs and SDKs.

openstackrestfulapipython
LF_APIStrat17_REST API Microversions
LF_APIStrat17_REST API Microversions LF_APIStrat17_REST API Microversions
LF_APIStrat17_REST API Microversions

The document discusses versioning challenges for open source services deployed across multiple cloud platforms. It describes typical REST API versioning that works for single vendors but breaks down when different teams develop and deploy the software. The document introduces the concept of microversions to allow incremental feature updates while maintaining backwards compatibility. It also questions how to manage raising minimum versions and backwards compatibility over time.

OSCamp #4 on Foreman | CLI tools with Foreman by Martin Bačovský
OSCamp #4 on Foreman | CLI tools with Foreman by Martin BačovskýOSCamp #4 on Foreman | CLI tools with Foreman by Martin Bačovský
OSCamp #4 on Foreman | CLI tools with Foreman by Martin Bačovský

Command-line is traditional environment for sysadmins and for most of them it is also the environment of choice. Scriptable interface is a key concept for automation which is getting more importance than ever before with infrastructures growing in size and complexity. Lets look together on command line tools for Foreman and possibilities for scripting Foreman related tasks. The talk will focus on Foreman API, available auth methods, API bindings for ruby, Foreman GraphQL interface, Hammer (the command line client), and other tools. We will discuss pros and cons of various methods along with examples and possible use cases.

oscampopensourceconference
Authentication: Multiple Service Accounts 
Add-On 
1 
2 
1 
2 
bb-addon.json 
hc-addon.json
Authentication: Multiple Service Accounts 
Add-On 
1 
2 
1 
2 
bb-addon.json 
hc-addon.json 
"webhooks": [ 
{ 
"event": "*", 
"url": "/events" 
} 
]
Authentication: Multiple Service Accounts 
Add-On 
1 
2 
1 
2 
bb-addon.json 
hc-addon.json 
"webhooks": [ 
{ 
"event": "*", 
"url": "/events" 
} 
]
Authentication: Multiple Service Accounts 
Add-On 
1 
2 
1 
2 
bb-addon.json 
hc-addon.json 
"webhooks": [ 
{ 
"event": "*", 
"url": "/events" 
} 
] 
/events

Recommended for you

Connecting the Dots: Kong for GraphQL Endpoints
Connecting the Dots: Kong for GraphQL EndpointsConnecting the Dots: Kong for GraphQL Endpoints
Connecting the Dots: Kong for GraphQL Endpoints

GraphQL is a popular alternative to REST for front-end applications as it offers flexibility and developer-friendly tooling. In this talk, we will look into the differences between REST and GraphQL, how GraphQL API Management presents a new set of challenges, and finally, how we can address those challenges by leveraging Kong extensibility.

apigraphqllua
How Bitbucket Pipelines Loads Connect UI Assets Super-fast
How Bitbucket Pipelines Loads Connect UI Assets Super-fastHow Bitbucket Pipelines Loads Connect UI Assets Super-fast
How Bitbucket Pipelines Loads Connect UI Assets Super-fast

Connect add-ons deliver better user experience when they load fast. Between CDN, server-side rendering, service workers, and code splitting, there are loads of techniques you can use to achieve this. In this session, Atlassian Developer Peter Plewa will reveal Bitbucket Pipelines' secret for fast loads, and what they can do in the future to make Pipelines even faster. Peter Plewa, Development Principal, Atlassian

atlassian summit europe 2017atlascamp 2017atlassian
Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013
Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013
Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013

"AWS CloudFormation gives developers and systems administrators an easy way to create and manage a collection of related AWS resources, provisioning and updating them in an orderly and predictable fashion. In this Zero to Sixty session, learn about CloudFormation's latest features along with best practices for using them, including maintaining complex environments with CloudFormation, template management and re-use, and controlling stack updates. Demos and code samples are available to all session attendees. Are you new to AWS CloudFormation? Get up to speed for this session by first completing the 60-minute Fundamentals of CloudFormation lab in the Self Paced Lab Lounge."

cloudformation setupamazon web servicesaws cloud
Authentication: Multiple Service Accounts 
Add-On 
1 
2 
1 
2 
bb-addon.json 
hc-addon.json 
"webhooks": [ 
{ 
/events 
JWT 
"event": "*", 
"url": "/events" 
} 
]
Authentication: Multiple Service Accounts 
Add-On 
1 
2 
1 
2 
bb-addon.json 
hc-addon.json 
"webhooks": [ 
{ 
/events 
JWT 
"event": "*", 
"url": "/events" 
} 
]
Authentication: Multiple Service Accounts 
Add-On 
1 
2 
1 
2 
/events 
JWT Group 
bb-addon.json 
hc-addon.json 
"webhooks": [ 
{ 
"event": "*", 
"url": "/events" 
} 
]
Authentication: Multiple Service Accounts 
Add-On 
1 
2 
/events 
JWT Group Auth 
1 
2 
bb-addon.json 
hc-addon.json 
"webhooks": [ 
{ 
"event": "*", 
"url": "/events" 
} 
] 
Token 
2

Recommended for you

Spring Boot Actuator
Spring Boot ActuatorSpring Boot Actuator
Spring Boot Actuator

This document provides information on using Spring Boot Actuator to add production-ready features like health monitoring, metrics collection, and auditing to Spring Boot applications. It describes built-in endpoints like /health and /metrics that provide health checks and application metrics. It also shows how to add custom health indicators, record custom metrics, and export metrics to external systems.

java spring jvm groovy microservice api
InterCon 2016 - Segurança de identidade digital levando em consideração uma a...
InterCon 2016 - Segurança de identidade digital levando em consideração uma a...InterCon 2016 - Segurança de identidade digital levando em consideração uma a...
InterCon 2016 - Segurança de identidade digital levando em consideração uma a...

Erick Tedeschi fala sobre Segurança de identidade digital levando em consideração uma arquitetura de microserviço no InterCon 2016. Saiba mais em http://intercon2016.imasters.com.br/

iMasters Intercon 2016 - Identity within Microservices
iMasters Intercon 2016 - Identity within MicroservicesiMasters Intercon 2016 - Identity within Microservices
iMasters Intercon 2016 - Identity within Microservices

In this presentation you will see a little example in how to use OAuth+OpenID Connect to improve microservices based on authorization and identity

microservicephpspoauth
Authentication: Mapped User Accounts (3LA) 
Add-On Application 
JWT 
AghJ87s 
l9JUYfsg 
?
Authentication: Mapped User Accounts (3LA) 
Add-On Application 
JWT 
AghJ87s 
l9JUYfsg 
?
Authentication: Mapped User Accounts (3LA) 
Add-On Application 
JWT 
AghJ87s 
l9JUYfsg 
?
Authentication: Mapped User Accounts (3LA) 
Add-On Application 
JWT NPcudk7 
AghJ87s 
l9JUYfsg

Recommended for you

FIWARE Training: IoT and Legacy
FIWARE Training: IoT and LegacyFIWARE Training: IoT and Legacy
FIWARE Training: IoT and Legacy

An online training course run by the FIWARE Foundation in conjunction with the i4Trust project. The core part of this virtual training camp (21-24 June 2021) covered all the necessary skills to develop smart solutions powered by FIWARE. It introduces the basis of Digital Twin programming using linked data concepts - JSON-LD and NGSI-LD and combines these with common smart data models for the sharing and augmentation of context data. In addition, it covers the supplementary FIWARE technologies used to implement the common functions typically required when architecting a complete smart solution: Identity and Access Management (IAM) functions to secure access to digital twin data and functions enabling the interface with IoT and 3rd systems, or the connection with different tools for processing and monitoring current and historical big data. This 12-hour online training course can be used to obtain a good understanding of FIWARE and NGSI Interfaces and form the basis of studying for the FIWARE expert certification. Extending this core part, the virtual training camp adds introductory and deep-dive sessions on how FIWARE and iSHARE technologies, brought together under the umbrella of the i4Trust initiative, can be combined to provide the means for the creation of data spaces in which multiple organizations can exchange digital twin data in a trusted and efficient manner, collaborating in the creation of innovative services based on data sharing. In addition, SMEs and Digital Innovation Hubs (DIHs) that go through this complete training and are located in countries eligible under Horizon 2020 will be equipped with the necessary know-how to apply to the recently launched i4Trust Open Call.

access managementapibig data
Python Code Camp for Professionals 1/4
Python Code Camp for Professionals 1/4Python Code Camp for Professionals 1/4
Python Code Camp for Professionals 1/4

This document provides instructions for building a Python web application using Bottle and Gevent. It discusses setting up an asynchronous server using Bottle and Gevent to make more efficient use of CPU resources. It then demonstrates how to create routes, handle inputs, return different content types like plaintext, JSON, and HTML templates, and display lists and highlight names in templates.

pythondevconphcode
Teaming up WordPress API with Backbone.js in Titanium
Teaming up WordPress API with Backbone.js in TitaniumTeaming up WordPress API with Backbone.js in Titanium
Teaming up WordPress API with Backbone.js in Titanium

WordPress is an absolutely powerful platform to publish content, but up till now it lacked the ability to publish and read content using a proper restful API. That is about to change. The new WP-API plugin is slated to be part of the WordPress core creating an easy access layer from a decoupled frontend. And a mobile app is of course such a decoupled frontend! This talk will show you how to leverage the power of the WordPress API to build an app in Appcelerator Titanium which uses Backbone.js as it's way of syncing. We'll go through the WP API basics, custom post types, proper API logic and offline strategies for your first app. Connecting the dots into Backbone.js is then a piece of cake!

backbonewp apirest
Authentication: Mapped User Accounts (3LA) 
Add-On Application 
JWT NPcudk7 
AghJ87s 
l9JUYfsg Auth Token 
NPcudk7
Get Started Today!
Get Started 
Dev Loop 
LOCAL 
• Learn: https://connect.atlassian.com 
• Create your JSON descriptor 
• Create your add-on service 
• Host and test locally 
STAGING 
• Create private Marketplace listing 
• Deploy add-on to a staging environment 
• Test add-on on a Cloud JIRA or Confluence instance 
PRODUCTION 
• Deploy add-on to a production environment
Private listing 
• Not visible for others 
• Version management 
• Tokens to control 
allowed installs

Recommended for you

Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...
Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...
Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...

The session for Local Experts in Data Sharing (LEBDs), the session will explain how to connect to legacy systems, IoT, and other Systems.

data sharingdata spacesdih
Serverless and Servicefull Applications - Where Microservices complements Ser...
Serverless and Servicefull Applications - Where Microservices complements Ser...Serverless and Servicefull Applications - Where Microservices complements Ser...
Serverless and Servicefull Applications - Where Microservices complements Ser...

Serverless is a misnomer, your future cloud native applications will consist of both microservices and functions, wrapped as Linux containers, but in many cases where you the developer ignore the operational aspects of managing that infrastructure. In this session we get started using Function as a Service (FaaS) engine with Apache OpenWhisk deployed on Kubernetes and OpenShift. With Kubernetes/OpenShift being de-facto platform for Cloud Native Java Applications, we will explore on to see how to make Cloud Native Java Applications a.k.a Microservices can complement the serverless Functions. This technical intensive session will open up one of the possible serverless web application architecture where we deploy an API Gateway into the FaaS platform to draw the curtains up to see the microservices talking to the serverless functions. This session ends with us seeing how Event Sinks and Event Sources map in the Serverless World.

red hatdevnation live
Nk API - examples
Nk API - examplesNk API - examples
Nk API - examples

This document provides an overview and examples of the NK API for developing mobile applications, websites, and OpenSocial applications. It describes REST and JS APIs for authentication, making requests, uploading photos, payments, inviting friends, adding shouts, and communicating with users. Code samples are given for common tasks like uploading photos, checking group membership, and sending messages between users. Developers can find full documentation and support for building applications on the NK platform.

nk api oauth
Thank you! 
PATRICK STREULE • CONNECT ARCHITECT • ATLASSIAN • @PSTREULE

More Related Content

What's hot

HTTP For the Good or the Bad - FSEC Edition
HTTP For the Good or the Bad - FSEC EditionHTTP For the Good or the Bad - FSEC Edition
HTTP For the Good or the Bad - FSEC Edition
Xavier Mertens
 
Node worshop Realtime - Socket.io
Node worshop Realtime - Socket.ioNode worshop Realtime - Socket.io
Node worshop Realtime - Socket.io
Caesar Chi
 
Hacking the Mesh: Extending Istio with WebAssembly Modules | DevNation Tech Talk
Hacking the Mesh: Extending Istio with WebAssembly Modules | DevNation Tech TalkHacking the Mesh: Extending Istio with WebAssembly Modules | DevNation Tech Talk
Hacking the Mesh: Extending Istio with WebAssembly Modules | DevNation Tech Talk
Red Hat Developers
 
Get Real: Adventures in realtime web apps
Get Real: Adventures in realtime web appsGet Real: Adventures in realtime web apps
Get Real: Adventures in realtime web apps
daviddemello
 
Python Code Camp for Professionals 3/4
Python Code Camp for Professionals 3/4Python Code Camp for Professionals 3/4
Python Code Camp for Professionals 3/4
DEVCON
 
JavaScript & HTML5 - Brave New World
JavaScript & HTML5 - Brave New WorldJavaScript & HTML5 - Brave New World
JavaScript & HTML5 - Brave New World
Robert Nyman
 
Unity Makes Strength
Unity Makes StrengthUnity Makes Strength
Unity Makes Strength
Xavier Mertens
 
Python Code Camp for Professionals 4/4
Python Code Camp for Professionals 4/4Python Code Camp for Professionals 4/4
Python Code Camp for Professionals 4/4
DEVCON
 
Top 10 F5 iRules to migrate to a modern load balancing platform
Top 10 F5 iRules to migrate to a modern load balancing platformTop 10 F5 iRules to migrate to a modern load balancing platform
Top 10 F5 iRules to migrate to a modern load balancing platform
Avi Networks
 
Working with AFNetworking
Working with AFNetworkingWorking with AFNetworking
Working with AFNetworking
waynehartman
 
Operacion Guinda 2
Operacion Guinda 2Operacion Guinda 2
Operacion Guinda 2
Red RADAR
 
Javascript call ObjC
Javascript call ObjCJavascript call ObjC
Javascript call ObjC
Lin Luxiang
 
REST in Peace
REST in PeaceREST in Peace
REST in Peace
Kate Marshalkina
 
Eve - REST API for Humans™
Eve - REST API for Humans™Eve - REST API for Humans™
Eve - REST API for Humans™
Nicola Iarocci
 
Apache CouchDB talk at Ontario GNU Linux Fest
Apache CouchDB talk at Ontario GNU Linux FestApache CouchDB talk at Ontario GNU Linux Fest
Apache CouchDB talk at Ontario GNU Linux Fest
Myles Braithwaite
 
Drupal 8 Deep Dive: What It Means for Developers Now that REST Is in Core
Drupal 8 Deep Dive: What It Means for Developers Now that REST Is in Core Drupal 8 Deep Dive: What It Means for Developers Now that REST Is in Core
Drupal 8 Deep Dive: What It Means for Developers Now that REST Is in Core
Acquia
 
Android webservices
Android webservicesAndroid webservices
Android webservices
Krazy Koder
 
Dropwizard Restful 微服務 (microservice) 初探 - JCConf TW 2014
Dropwizard Restful 微服務 (microservice) 初探 - JCConf TW 2014Dropwizard Restful 微服務 (microservice) 初探 - JCConf TW 2014
Dropwizard Restful 微服務 (microservice) 初探 - JCConf TW 2014
Anthony Chen
 
JavaScript APIs - The Web is the Platform - .toster conference, Moscow
JavaScript APIs - The Web is the Platform - .toster conference, MoscowJavaScript APIs - The Web is the Platform - .toster conference, Moscow
JavaScript APIs - The Web is the Platform - .toster conference, Moscow
Robert Nyman
 
PostgreSQL High-Availability and Geographic Locality using consul
PostgreSQL High-Availability and Geographic Locality using consulPostgreSQL High-Availability and Geographic Locality using consul
PostgreSQL High-Availability and Geographic Locality using consul
Sean Chittenden
 

What's hot (20)

HTTP For the Good or the Bad - FSEC Edition
HTTP For the Good or the Bad - FSEC EditionHTTP For the Good or the Bad - FSEC Edition
HTTP For the Good or the Bad - FSEC Edition
 
Node worshop Realtime - Socket.io
Node worshop Realtime - Socket.ioNode worshop Realtime - Socket.io
Node worshop Realtime - Socket.io
 
Hacking the Mesh: Extending Istio with WebAssembly Modules | DevNation Tech Talk
Hacking the Mesh: Extending Istio with WebAssembly Modules | DevNation Tech TalkHacking the Mesh: Extending Istio with WebAssembly Modules | DevNation Tech Talk
Hacking the Mesh: Extending Istio with WebAssembly Modules | DevNation Tech Talk
 
Get Real: Adventures in realtime web apps
Get Real: Adventures in realtime web appsGet Real: Adventures in realtime web apps
Get Real: Adventures in realtime web apps
 
Python Code Camp for Professionals 3/4
Python Code Camp for Professionals 3/4Python Code Camp for Professionals 3/4
Python Code Camp for Professionals 3/4
 
JavaScript & HTML5 - Brave New World
JavaScript & HTML5 - Brave New WorldJavaScript & HTML5 - Brave New World
JavaScript & HTML5 - Brave New World
 
Unity Makes Strength
Unity Makes StrengthUnity Makes Strength
Unity Makes Strength
 
Python Code Camp for Professionals 4/4
Python Code Camp for Professionals 4/4Python Code Camp for Professionals 4/4
Python Code Camp for Professionals 4/4
 
Top 10 F5 iRules to migrate to a modern load balancing platform
Top 10 F5 iRules to migrate to a modern load balancing platformTop 10 F5 iRules to migrate to a modern load balancing platform
Top 10 F5 iRules to migrate to a modern load balancing platform
 
Working with AFNetworking
Working with AFNetworkingWorking with AFNetworking
Working with AFNetworking
 
Operacion Guinda 2
Operacion Guinda 2Operacion Guinda 2
Operacion Guinda 2
 
Javascript call ObjC
Javascript call ObjCJavascript call ObjC
Javascript call ObjC
 
REST in Peace
REST in PeaceREST in Peace
REST in Peace
 
Eve - REST API for Humans™
Eve - REST API for Humans™Eve - REST API for Humans™
Eve - REST API for Humans™
 
Apache CouchDB talk at Ontario GNU Linux Fest
Apache CouchDB talk at Ontario GNU Linux FestApache CouchDB talk at Ontario GNU Linux Fest
Apache CouchDB talk at Ontario GNU Linux Fest
 
Drupal 8 Deep Dive: What It Means for Developers Now that REST Is in Core
Drupal 8 Deep Dive: What It Means for Developers Now that REST Is in Core Drupal 8 Deep Dive: What It Means for Developers Now that REST Is in Core
Drupal 8 Deep Dive: What It Means for Developers Now that REST Is in Core
 
Android webservices
Android webservicesAndroid webservices
Android webservices
 
Dropwizard Restful 微服務 (microservice) 初探 - JCConf TW 2014
Dropwizard Restful 微服務 (microservice) 初探 - JCConf TW 2014Dropwizard Restful 微服務 (microservice) 初探 - JCConf TW 2014
Dropwizard Restful 微服務 (microservice) 初探 - JCConf TW 2014
 
JavaScript APIs - The Web is the Platform - .toster conference, Moscow
JavaScript APIs - The Web is the Platform - .toster conference, MoscowJavaScript APIs - The Web is the Platform - .toster conference, Moscow
JavaScript APIs - The Web is the Platform - .toster conference, Moscow
 
PostgreSQL High-Availability and Geographic Locality using consul
PostgreSQL High-Availability and Geographic Locality using consulPostgreSQL High-Availability and Geographic Locality using consul
PostgreSQL High-Availability and Geographic Locality using consul
 

Similar to Connect Intergration Patterns: A Case Study - Patrick Streule

Deep Dive: Building external auth plugins for Gloo Enterprise
Deep Dive: Building external auth plugins for Gloo EnterpriseDeep Dive: Building external auth plugins for Gloo Enterprise
Deep Dive: Building external auth plugins for Gloo Enterprise
Christian Posta
 
Mastering Spring Boot's Actuator with Madhura Bhave
Mastering Spring Boot's Actuator with Madhura BhaveMastering Spring Boot's Actuator with Madhura Bhave
Mastering Spring Boot's Actuator with Madhura Bhave
VMware Tanzu
 
The Big Picture and How to Get Started
The Big Picture and How to Get StartedThe Big Picture and How to Get Started
The Big Picture and How to Get Started
guest1af57e
 
Chatting with HIpChat: APIs 101
Chatting with HIpChat: APIs 101Chatting with HIpChat: APIs 101
Chatting with HIpChat: APIs 101
colleenfry
 
how to use openstack api
how to use openstack apihow to use openstack api
how to use openstack api
Liang Bo
 
LF_APIStrat17_REST API Microversions
LF_APIStrat17_REST API Microversions LF_APIStrat17_REST API Microversions
LF_APIStrat17_REST API Microversions
LF_APIStrat
 
OSCamp #4 on Foreman | CLI tools with Foreman by Martin Bačovský
OSCamp #4 on Foreman | CLI tools with Foreman by Martin BačovskýOSCamp #4 on Foreman | CLI tools with Foreman by Martin Bačovský
OSCamp #4 on Foreman | CLI tools with Foreman by Martin Bačovský
NETWAYS
 
Connecting the Dots: Kong for GraphQL Endpoints
Connecting the Dots: Kong for GraphQL EndpointsConnecting the Dots: Kong for GraphQL Endpoints
Connecting the Dots: Kong for GraphQL Endpoints
Julien Bataillé
 
How Bitbucket Pipelines Loads Connect UI Assets Super-fast
How Bitbucket Pipelines Loads Connect UI Assets Super-fastHow Bitbucket Pipelines Loads Connect UI Assets Super-fast
How Bitbucket Pipelines Loads Connect UI Assets Super-fast
Atlassian
 
Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013
Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013
Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013
Amazon Web Services
 
Spring Boot Actuator
Spring Boot ActuatorSpring Boot Actuator
Spring Boot Actuator
Rowell Belen
 
InterCon 2016 - Segurança de identidade digital levando em consideração uma a...
InterCon 2016 - Segurança de identidade digital levando em consideração uma a...InterCon 2016 - Segurança de identidade digital levando em consideração uma a...
InterCon 2016 - Segurança de identidade digital levando em consideração uma a...
iMasters
 
iMasters Intercon 2016 - Identity within Microservices
iMasters Intercon 2016 - Identity within MicroservicesiMasters Intercon 2016 - Identity within Microservices
iMasters Intercon 2016 - Identity within Microservices
Erick Belluci Tedeschi
 
FIWARE Training: IoT and Legacy
FIWARE Training: IoT and LegacyFIWARE Training: IoT and Legacy
FIWARE Training: IoT and Legacy
FIWARE
 
Python Code Camp for Professionals 1/4
Python Code Camp for Professionals 1/4Python Code Camp for Professionals 1/4
Python Code Camp for Professionals 1/4
DEVCON
 
Teaming up WordPress API with Backbone.js in Titanium
Teaming up WordPress API with Backbone.js in TitaniumTeaming up WordPress API with Backbone.js in Titanium
Teaming up WordPress API with Backbone.js in Titanium
Jeroen van Dijk
 
Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...
Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...
Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...
FIWARE
 
Serverless and Servicefull Applications - Where Microservices complements Ser...
Serverless and Servicefull Applications - Where Microservices complements Ser...Serverless and Servicefull Applications - Where Microservices complements Ser...
Serverless and Servicefull Applications - Where Microservices complements Ser...
Red Hat Developers
 
Nk API - examples
Nk API - examplesNk API - examples
Nk API - examples
nasza-klasa
 
Development Workflows on AWS
Development Workflows on AWSDevelopment Workflows on AWS
Development Workflows on AWS
Amazon Web Services
 

Similar to Connect Intergration Patterns: A Case Study - Patrick Streule (20)

Deep Dive: Building external auth plugins for Gloo Enterprise
Deep Dive: Building external auth plugins for Gloo EnterpriseDeep Dive: Building external auth plugins for Gloo Enterprise
Deep Dive: Building external auth plugins for Gloo Enterprise
 
Mastering Spring Boot's Actuator with Madhura Bhave
Mastering Spring Boot's Actuator with Madhura BhaveMastering Spring Boot's Actuator with Madhura Bhave
Mastering Spring Boot's Actuator with Madhura Bhave
 
The Big Picture and How to Get Started
The Big Picture and How to Get StartedThe Big Picture and How to Get Started
The Big Picture and How to Get Started
 
Chatting with HIpChat: APIs 101
Chatting with HIpChat: APIs 101Chatting with HIpChat: APIs 101
Chatting with HIpChat: APIs 101
 
how to use openstack api
how to use openstack apihow to use openstack api
how to use openstack api
 
LF_APIStrat17_REST API Microversions
LF_APIStrat17_REST API Microversions LF_APIStrat17_REST API Microversions
LF_APIStrat17_REST API Microversions
 
OSCamp #4 on Foreman | CLI tools with Foreman by Martin Bačovský
OSCamp #4 on Foreman | CLI tools with Foreman by Martin BačovskýOSCamp #4 on Foreman | CLI tools with Foreman by Martin Bačovský
OSCamp #4 on Foreman | CLI tools with Foreman by Martin Bačovský
 
Connecting the Dots: Kong for GraphQL Endpoints
Connecting the Dots: Kong for GraphQL EndpointsConnecting the Dots: Kong for GraphQL Endpoints
Connecting the Dots: Kong for GraphQL Endpoints
 
How Bitbucket Pipelines Loads Connect UI Assets Super-fast
How Bitbucket Pipelines Loads Connect UI Assets Super-fastHow Bitbucket Pipelines Loads Connect UI Assets Super-fast
How Bitbucket Pipelines Loads Connect UI Assets Super-fast
 
Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013
Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013
Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013
 
Spring Boot Actuator
Spring Boot ActuatorSpring Boot Actuator
Spring Boot Actuator
 
InterCon 2016 - Segurança de identidade digital levando em consideração uma a...
InterCon 2016 - Segurança de identidade digital levando em consideração uma a...InterCon 2016 - Segurança de identidade digital levando em consideração uma a...
InterCon 2016 - Segurança de identidade digital levando em consideração uma a...
 
iMasters Intercon 2016 - Identity within Microservices
iMasters Intercon 2016 - Identity within MicroservicesiMasters Intercon 2016 - Identity within Microservices
iMasters Intercon 2016 - Identity within Microservices
 
FIWARE Training: IoT and Legacy
FIWARE Training: IoT and LegacyFIWARE Training: IoT and Legacy
FIWARE Training: IoT and Legacy
 
Python Code Camp for Professionals 1/4
Python Code Camp for Professionals 1/4Python Code Camp for Professionals 1/4
Python Code Camp for Professionals 1/4
 
Teaming up WordPress API with Backbone.js in Titanium
Teaming up WordPress API with Backbone.js in TitaniumTeaming up WordPress API with Backbone.js in Titanium
Teaming up WordPress API with Backbone.js in Titanium
 
Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...
Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...
Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...
 
Serverless and Servicefull Applications - Where Microservices complements Ser...
Serverless and Servicefull Applications - Where Microservices complements Ser...Serverless and Servicefull Applications - Where Microservices complements Ser...
Serverless and Servicefull Applications - Where Microservices complements Ser...
 
Nk API - examples
Nk API - examplesNk API - examples
Nk API - examples
 
Development Workflows on AWS
Development Workflows on AWSDevelopment Workflows on AWS
Development Workflows on AWS
 

More from Atlassian

International Women's Day 2020
International Women's Day 2020International Women's Day 2020
International Women's Day 2020
Atlassian
 
10 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 202010 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 2020
Atlassian
 
Forge App Showcase
Forge App ShowcaseForge App Showcase
Forge App Showcase
Atlassian
 
Let's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UILet's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UI
Atlassian
 
Meet the Forge Runtime
Meet the Forge RuntimeMeet the Forge Runtime
Meet the Forge Runtime
Atlassian
 
Forge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User ExperienceForge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User Experience
Atlassian
 
Take Action with Forge Triggers
Take Action with Forge TriggersTake Action with Forge Triggers
Take Action with Forge Triggers
Atlassian
 
Observability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeObservability and Troubleshooting in Forge
Observability and Troubleshooting in Forge
Atlassian
 
Trusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy ModelTrusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy Model
Atlassian
 
Designing Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI SystemDesigning Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI System
Atlassian
 
Forge: Under the Hood
Forge: Under the HoodForge: Under the Hood
Forge: Under the Hood
Atlassian
 
Access to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIsAccess to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIs
Atlassian
 
Design Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginDesign Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch Plugin
Atlassian
 
Tear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the BuildingTear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the Building
Atlassian
 
Nailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that MatterNailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that Matter
Atlassian
 
Building Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in MindBuilding Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in Mind
Atlassian
 
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Atlassian
 
Beyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced TeamsBeyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced Teams
Atlassian
 
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed TeamThe Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
Atlassian
 
Building Apps With Enterprise in Mind
Building Apps With Enterprise in MindBuilding Apps With Enterprise in Mind
Building Apps With Enterprise in Mind
Atlassian
 

More from Atlassian (20)

International Women's Day 2020
International Women's Day 2020International Women's Day 2020
International Women's Day 2020
 
10 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 202010 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 2020
 
Forge App Showcase
Forge App ShowcaseForge App Showcase
Forge App Showcase
 
Let's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UILet's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UI
 
Meet the Forge Runtime
Meet the Forge RuntimeMeet the Forge Runtime
Meet the Forge Runtime
 
Forge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User ExperienceForge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User Experience
 
Take Action with Forge Triggers
Take Action with Forge TriggersTake Action with Forge Triggers
Take Action with Forge Triggers
 
Observability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeObservability and Troubleshooting in Forge
Observability and Troubleshooting in Forge
 
Trusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy ModelTrusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy Model
 
Designing Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI SystemDesigning Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI System
 
Forge: Under the Hood
Forge: Under the HoodForge: Under the Hood
Forge: Under the Hood
 
Access to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIsAccess to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIs
 
Design Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginDesign Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch Plugin
 
Tear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the BuildingTear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the Building
 
Nailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that MatterNailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that Matter
 
Building Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in MindBuilding Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in Mind
 
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
 
Beyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced TeamsBeyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced Teams
 
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed TeamThe Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
 
Building Apps With Enterprise in Mind
Building Apps With Enterprise in MindBuilding Apps With Enterprise in Mind
Building Apps With Enterprise in Mind
 

Recently uploaded

React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
Semiosis Software Private Limited
 
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
Roshan Dwivedi
 
How we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hoursHow we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hours
Ortus Solutions, Corp
 
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
onemonitarsoftware
 
A Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdfA Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdf
kalichargn70th171
 
Cultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational TransformationCultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational Transformation
Mindfire Solution
 
Intro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AIIntro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AI
Ortus Solutions, Corp
 
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptxWired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
SimonedeGijt
 
Folding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a seriesFolding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a series
Philip Schwarz
 
Top 10 Tips To Get Google AdSense For Your Website
Top 10 Tips To Get Google AdSense For Your WebsiteTop 10 Tips To Get Google AdSense For Your Website
Top 10 Tips To Get Google AdSense For Your Website
e-Definers Technology
 
dachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdfdachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdf
DNUG e.V.
 
Break data silos with real-time connectivity using Confluent Cloud Connectors
Break data silos with real-time connectivity using Confluent Cloud ConnectorsBreak data silos with real-time connectivity using Confluent Cloud Connectors
Break data silos with real-time connectivity using Confluent Cloud Connectors
confluent
 
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
bhatinidhi2001
 
Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)
miso_uam
 
WEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service ProvidersWEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service Providers
Severalnines
 
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
avufu
 
Migrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS CloudMigrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS Cloud
Ortus Solutions, Corp
 
active-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptxactive-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptx
sudsdeep
 
React Native vs Flutter - SSTech System
React Native vs Flutter  - SSTech SystemReact Native vs Flutter  - SSTech System
React Native vs Flutter - SSTech System
SSTech System
 
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Asher Sterkin
 

Recently uploaded (20)

React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
 
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
 
How we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hoursHow we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hours
 
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
 
A Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdfA Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdf
 
Cultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational TransformationCultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational Transformation
 
Intro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AIIntro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AI
 
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptxWired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
 
Folding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a seriesFolding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a series
 
Top 10 Tips To Get Google AdSense For Your Website
Top 10 Tips To Get Google AdSense For Your WebsiteTop 10 Tips To Get Google AdSense For Your Website
Top 10 Tips To Get Google AdSense For Your Website
 
dachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdfdachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdf
 
Break data silos with real-time connectivity using Confluent Cloud Connectors
Break data silos with real-time connectivity using Confluent Cloud ConnectorsBreak data silos with real-time connectivity using Confluent Cloud Connectors
Break data silos with real-time connectivity using Confluent Cloud Connectors
 
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
 
Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)
 
WEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service ProvidersWEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service Providers
 
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
 
Migrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS CloudMigrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS Cloud
 
active-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptxactive-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptx
 
React Native vs Flutter - SSTech System
React Native vs Flutter  - SSTech SystemReact Native vs Flutter  - SSTech System
React Native vs Flutter - SSTech System
 
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
 

Connect Intergration Patterns: A Case Study - Patrick Streule

  • 2. Connect Integration Patterns A Case Study PATRICK STREULE • CONNECT ARCHITECT • ATLASSIAN • @PSTREULE
  • 4. CONNECT REFRESHER Atlassian Plug-ins Add-On • In Process • Resources are shared • Access to all data • Tied to the stack • Language • Frameworks Add-On
  • 5. CONNECT REFRESHER Connect Add-Ons Add-On • Separate Process • Scales independently • Data access only through REST API • Choose your own stack • Language • Frameworks Add-On Connect HTTPS
  • 6. CONNECT REFRESHER Simple Descriptor { "key": "my-add-on", "name": "Ping Pong", "description": "My very first add-on", "baseUrl": "{{localBaseUrl}}", "authentication": { "type": "jwt" }, "lifecycle": { "installed": "/installed" }, "modules": { "generalPages": [{ "key": "hello-world-page-jira", "location": "system.top.navigation.bar", "name": { "value": "Hello World" }, "url": "/hello-world" }] } }
  • 7. CONNECT REFRESHER Simple Descriptor { "key": "my-add-on", "name": "Ping Pong", "description": "My very first add-on", "baseUrl": "{{localBaseUrl}}", "authentication": { "type": "jwt" }, "lifecycle": { "installed": "/installed" }, "modules": { "generalPages": [{ "key": "hello-world-page-jira", "location": "system.top.navigation.bar", "name": { "value": "Hello World" }, "url": "/hello-world" }] } } Add-on service location
  • 8. CONNECT REFRESHER Simple Descriptor { "key": "my-add-on", "name": "Ping Pong", "description": "My very first add-on", "baseUrl": "{{localBaseUrl}}", "authentication": { "type": "jwt" }, "lifecycle": { "installed": "/installed" }, "modules": { "generalPages": [{ "key": "hello-world-page-jira", "location": "system.top.navigation.bar", "name": { "value": "Hello World" }, "url": "/hello-world" }] } } How to auth calls Add-on service location
  • 9. CONNECT REFRESHER Simple Descriptor { "key": "my-add-on", "name": "Ping Pong", "description": "My very first add-on", "baseUrl": "{{localBaseUrl}}", "authentication": { "type": "jwt" }, "lifecycle": { "installed": "/installed" }, "modules": { "generalPages": [{ "key": "hello-world-page-jira", "location": "system.top.navigation.bar", "name": { "value": "Hello World" }, "url": "/hello-world" }] } } How to auth calls Lifecycle notification endpoints Add-on service location
  • 10. CONNECT REFRESHER Simple Descriptor { "key": "my-add-on", "name": "Ping Pong", "description": "My very first add-on", "baseUrl": "{{localBaseUrl}}", "authentication": { "type": "jwt" }, "lifecycle": { "installed": "/installed" }, "modules": { "generalPages": [{ "key": "hello-world-page-jira", "location": "system.top.navigation.bar", "name": { "value": "Hello World" }, "url": "/hello-world" }] } } Where is the add-on showing up? How to auth calls Lifecycle notification endpoints Add-on service location
  • 11. CONNECT REFRESHER Simple Descriptor { "key": "my-add-on", "name": "Ping Pong", "description": "My very first add-on", "baseUrl": "{{localBaseUrl}}", "authentication": { "type": "jwt" }, "lifecycle": { "installed": "/installed" }, "modules": { "generalPages": [{ "key": "hello-world-page-jira", "location": "system.top.navigation.bar", "name": { "value": "Hello World" }, "url": "/hello-world" }] } } Where is the add-on showing up? iFrame URL How to auth calls Lifecycle notification endpoints Add-on service location
  • 12. CONNECT REFRESHER Product WEBHOOKS REST API REST API HTTP Add-On
  • 13. From Add-Ons to Integrations
  • 15. Integration Add-Ons Add-On Connect Application
  • 16. Integration Add-Ons Add-On Connect Application Add-On Application
  • 18. Authentication Add-On Connect Application JWT
  • 19. Authentication Add-On Connect Application JWT
  • 20. Authentication: Service Account Add-On Application JWT API Key Auth Token Basic Auth
  • 27. Installed in Bitbucket and HipChat Add-On bb-addon.json hc-addon.json
  • 28. Installed in Bitbucket and HipChat Add-On bb-addon.json hc-addon.json "installable": { "callbackUrl": "/installed" }
  • 29. Installed in Bitbucket and HipChat Add-On bb-addon.json hc-addon.json 1 "installable": { "callbackUrl": "/installed" } 1 2 /installed 2
  • 30. Installed in Bitbucket and HipChat Add-On bb-addon.json hc-addon.json "configurePage": { "url": "/config" } 1 "installable": { "callbackUrl": "/installed" } 1 2 /installed 2
  • 31. Installed in Bitbucket and HipChat Add-On bb-addon.json hc-addon.json "configurePage": { "url": "/config" } "installable": { "callbackUrl": "/installed" } /config 1 1 2 /installed 2
  • 32. Installed in Bitbucket and HipChat Add-On bb-addon.json hc-addon.json "configurePage": { "url": "/config" } "installable": { "callbackUrl": "/installed" } /config 1 1 2 /installed 2
  • 33. Authentication: Multiple Service Accounts Add-On 1 2 1 2 bb-addon.json hc-addon.json
  • 34. Authentication: Multiple Service Accounts Add-On 1 2 1 2 bb-addon.json hc-addon.json "webhooks": [ { "event": "*", "url": "/events" } ]
  • 35. Authentication: Multiple Service Accounts Add-On 1 2 1 2 bb-addon.json hc-addon.json "webhooks": [ { "event": "*", "url": "/events" } ]
  • 36. Authentication: Multiple Service Accounts Add-On 1 2 1 2 bb-addon.json hc-addon.json "webhooks": [ { "event": "*", "url": "/events" } ] /events
  • 37. Authentication: Multiple Service Accounts Add-On 1 2 1 2 bb-addon.json hc-addon.json "webhooks": [ { /events JWT "event": "*", "url": "/events" } ]
  • 38. Authentication: Multiple Service Accounts Add-On 1 2 1 2 bb-addon.json hc-addon.json "webhooks": [ { /events JWT "event": "*", "url": "/events" } ]
  • 39. Authentication: Multiple Service Accounts Add-On 1 2 1 2 /events JWT Group bb-addon.json hc-addon.json "webhooks": [ { "event": "*", "url": "/events" } ]
  • 40. Authentication: Multiple Service Accounts Add-On 1 2 /events JWT Group Auth 1 2 bb-addon.json hc-addon.json "webhooks": [ { "event": "*", "url": "/events" } ] Token 2
  • 41. Authentication: Mapped User Accounts (3LA) Add-On Application JWT AghJ87s l9JUYfsg ?
  • 42. Authentication: Mapped User Accounts (3LA) Add-On Application JWT AghJ87s l9JUYfsg ?
  • 43. Authentication: Mapped User Accounts (3LA) Add-On Application JWT AghJ87s l9JUYfsg ?
  • 44. Authentication: Mapped User Accounts (3LA) Add-On Application JWT NPcudk7 AghJ87s l9JUYfsg
  • 45. Authentication: Mapped User Accounts (3LA) Add-On Application JWT NPcudk7 AghJ87s l9JUYfsg Auth Token NPcudk7
  • 47. Get Started Dev Loop LOCAL • Learn: https://connect.atlassian.com • Create your JSON descriptor • Create your add-on service • Host and test locally STAGING • Create private Marketplace listing • Deploy add-on to a staging environment • Test add-on on a Cloud JIRA or Confluence instance PRODUCTION • Deploy add-on to a production environment
  • 48. Private listing • Not visible for others • Version management • Tokens to control allowed installs
  • 49. Thank you! PATRICK STREULE • CONNECT ARCHITECT • ATLASSIAN • @PSTREULE