+ All Categories
Home > Documents > WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines,...

WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines,...

Date post: 12-Aug-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
27
WEB SITES, APPS & OPEN DATA Building on the CIOC API Presentation by Mark Walther
Transcript
Page 1: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

WEB SITES, APPS &

OPEN DATA

Building on the CIOC APIPresentation by Mark Walther

Page 2: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

WHAT IS AN API?

• A set of routines, protocols, and tools for building software applications

• APIs often come in the form of a library that includes specifications for routines, data structures, object classes, and variables

• In some cases an API is simply a specification of remote calls

Application Programming Interface (API)

Page 3: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

WHAT IS AN API?

• A means of communication:

– App to app or software to software

– Highly automated

– Usually no user interfaces

– Send a request -- get a response

Application Programming Interface (API)

Page 4: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

EXAMPLES of POPULAR APIs

Google Maps

Page 5: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

EXAMPLES of POPULAR APIs

Facebook, Twitter, LinkedIn

Page 6: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

EXAMPLES of POPULAR APIs

YouTube, AccuWeather, Amazon

Page 7: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

WHY HAVE AN API?

1. Scaling Development

2. Converting Competitors Into Partners

3. Scaling Market Research

4. Empowering Users

Page 8: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

WHY HAVE AN API?

• Add and enhance a program without having to get into the guts of the program itself

• Allows groups of developers (internal, partners or contract developers) anywhere in the world to enhance the product with minimal coordination

• Provides the opportunity to add value to your product outside of your regular development cycle

• Users who develop or purchase products that work on an API-based application are more reluctant to try alternatives because of the investment users have made in the product

Scaling Development

Page 9: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

WHY HAVE AN API?

• Allow competitors to build solutions on top of your product’s functionality

• Leverage the existing capabilities of your program and enhance it by using their expertise and know-how to create new and innovative solutions

• Avoids duplication of functionality• In return, they can get access to your user base or open up new markets for you with less investment in software development from either side

Converting Competitors Into Partners

Page 10: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

WHY HAVE AN API?

• Tap into markets and geographies you would not otherwise have the resources or expertise to get into

• An API offers the possibility of creating or modifying features to suit specific markets and it can also help automate the creation of content relevant to your market

Scaling Market Research

Page 11: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

WHY HAVE AN API?

• Empower end-users by making their product do things the original developers did not build into the product

• Let the users customize the product to better fit their needs and workflow

• Solve specific or specialized problems with less effort and development

Empowering Users

Page 12: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

EXAMPLES of POPULAR APIs

iOS & Android APIs for Mobile Development

$10 Billion Dollar App Marketplaces

2 Million+ Apps

Page 13: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

THE CIOC API

• It is designed to be a flexible general purpose solution for embedding search results and record details on another (non-CIOC) site

• It is intended to be used in real-time, in that a request to the remote site results in a request to this API

• This API is available in both Community Information and Volunteer modules

Designed to be Flexible

Page 14: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

THE CIOC API

How does it work?

Request from External Source

Response from CIOC Application

Internet

Page 15: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

THE CIOC API

Setting Up CIOC for API Access

• Setup a view, a user and a user type – similar to how you would create a new view within CIOC

• The user and password will be used in the request over https (secure)

• Within the view, you can limit the responses to a specific set of records as defined in your view

• You can setup which fields the API user can retrieve to limit the output to only relevant information

Page 16: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

THE CIOC API

Structuring the API Request

• Search:https://username:password@https://yoursite.cioc.ca/rpc/orgsearch.asp

The parameters will mimic what you can do within your CIOC database

• Record Details: https://username:password@https://yoursite.cioc.ca/rpc/record/NUM

where NUM is the record number

Page 17: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

THE CIOC API

Understanding the Response

• The CIOC API will return the data in either JSON (JavaScript Object Notation) or XML (Extensible Markup Language)

• Both are widely supported in most modern programming languages including ASP.NET, Objective C, Java, JavaScript and PHP

Page 18: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

THE CIOC API

Why use the API?

1. Create custom web sites

2. Develop mobile Apps

3. Data analysis and visualization

4. Future applications (Apple Watch?)

Page 19: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

THE CIOC API

Custom Web Sites

211nb.ca

• Built on WordPress

• Custom functionality

• Custom design & layout

Page 20: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

THE CIOC API

Custom Mobile Applications

211North

• iPhone App

• Keyword search

• Search by taxonomy

• View map of results

• Add to favourites

• One touch to connect to 211

Page 21: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

THE CIOC API

Open Data – Analysis & Visualization

Open Data Project

• Map organizations with othedata sets

• Analyze results

• Visualize on maps

Page 22: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

THE CIOC API

Best Practices

• Sanitize your input

• Test all possible scenarios

• It is difficult for CIOC to filter bad requests including problematic bots and unwanted traffic

• You are responsible for traffic and requests originating from your application

Page 23: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

THE CIOC API

Questions?

Page 24: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

Update on the State of CIOC

• KCL will continue to support CIOC under a different service model (12-16 month contract)

• New features to be released in the coming months

• CIOC is planning to move to back to Open Source

• CIOC continues to be the most powerful, flexible and fully-bilingual data management tool available

Page 25: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

Advantages of an Open Source Model

• Reach new markets

• Build a larger user base

• Grow a diverse developer community

• More options for future development

• Have a model to allow new innovations to be added into the open source repository

• Release the full potential of the CIOC software

Page 26: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

Current Status of Open Source Transition

• Outside experts have joined the transition team to assist in our due diligence process

• Transition expected to start phasing in this year

• New software distribution licenses, governance model

Page 27: WEB SITES, APPS & OPEN DATA · Presentation by Mark Walther. WHAT IS AN API? • A set of routines, protocols, and tools for building software applications • APIs often come in

Questions?


Recommended