API at UCLA Enabling a Digital Ecosystem to
API at UCLA Enabling a Digital Ecosystem to Deliver the Value of UCLA Data to Customers. Curtis Fornadley, PMP Enterprise Integration, IT Services 11/12/2019 Bruin. Tech Information Technology
Why does UCLA need API? First we are going to talk about the history electricity… Although people have known about electricity since ancient times, we have only been harnessing its power for about 250 years. Benjamin Franklin’s famous “kite” experiment was in 1752. A major breakthroughs in electricity occurred in 1831: Michael Faraday discovered the basic principles of electricity generation. He observed that he could create or “induce” electric current by moving magnets inside coils of copper wire. The discovery of electromagnetic induction revolutionized how we use energy. In fact, Faraday’s process is used in modern power production - and years later in data storage. Information Technology
Edison’s light bulb was one of the first “Apps” using electricity. He patented the incandescent light bulb in 1880. Edison was a great inventor but … not a business man Enter Samuel Insull… Edison’s personal assistant impressed him with his business prowess and granted Insull power of attorney over his businesses. Fact: Electricity has to be consumed as soon as it is produced. P = V*I OR Power = Voltage x Current Insull mastered the engineering and the economics of the power grid. Over the next four decades built an electricity business that made him the Henry Ford of the modern electricity industry. Brought together mass efficiencies in production and consumption. Information Technology
Electricity and Standards • During the first 50 years of commercial electric power, standards developed rapidly based on experience. • De facto standards became formalized as official national and international standards. • Technical, safety, and economic factors influenced the development of all wiring devices and many varieties were invented. To this day these standards vary from country to country: plug format, line voltage and Hz • Europe adopted an AC standard of 220 -240 volts at 50 Hz • The standard in North America is 120 volts at 60 Hz. • http: //www. worldstandards. eu/electricity/plug-voltage-by-country/ Observation: After 250 years of electricity usage there is still more than one world wide standard. • Different valid standards can co-exist. • Many (but not all) devices can work on multiple standards through the use of adapters. • Within a given standard some things, like plug format, have settled and remained constant. Information Technology
Electricity to your Home Power Plant A bunch of complex stuff in the middle Power at your wall Electricity Flows on Wires … like Data… Fun Fact: Tesla developed a Wireless Power Transmission system. In 1899, at Colorado Springs, he transmitted 100 million volts of high-frequency electric power wirelessly over a distance of 26 miles which lit up a bank of 200 light bulbs and ran one electric motor! (Google “Tesla Tower”) Information Technology
Electricity in your Home The standard AC outlets in your house will accommodate any electrical device that you plug into it. Regardless of the complexity inside the device (service) there is a power cord that comes off of it, with a 2 or 3 prong plug… The emergence of USB based plug adapters is another step in this evolution. USB provides DC current AND also allows for the transmission of data. Data and power on same plug USB 2. 0 has 4 pins USB 3. 0 has 9 pins Challenge of backward compatibility Information Technology
Electricity vs. Data Parallels can be draw between Electricity Flow and Data Flow: Power Grid Data Grid (Cloud) Electricity: Distribution, routing, transformation, metering, circuit breakers, safety(security) Voltage, Hz and connector standards. Data: Distribution, routing, transformation, metering, access control, safety(security) Hardware: Connectors, Bus, Cable standards et al Software: Data formats, Endpoint and Transport standards (HTTP over TCP/IP) … APIs Information Technology
Electricity Evolution Continues But we are not done yet; the evolution continues. Environmental pressure, political agenda, alternative energy sources and… New Technology Changes Everything • Fuel cells making electricity and water, H + O 2 • Micro-turbines using natural gas • Photovoltaic cells • Energy storage systems (Tesla) New technologies will allow homes and businesses to become part of an even broader power grid. BTW - API’s are an enabler for some of these “disruptive” technologies. Information Technology
68 years of Electronic Digital Computing; still relatively young… 1951: Census Bureau UNIVAC, the world's first commercially produced electronic digital computer. 1957: The Space Age 1969: ARPANET – precursor to the Internet (UCLA! 10/29/1969) 1975: Microsoft is founded by Bill Gates and Paul Allen. 1976: Apple Computer, founded by Steve Jobs and Steve Wozniak 1980’s: Object-oriented models 1985: Microsoft introduces its Windows operating system. 1990’s: Component-based development model -> SOA 1991: HTTP and World Wide Web Was Made Public, Linux introduced 2000: Birth of Restful API’s : Roy Fielding and REST 2002: Gartner coins the Term Enterprise Service Bus (ESB) 2006: Facebook and Twitter launched development platform and API 2007: i. Phone introduced 2008: Laptop shipments overtake those of desktops for the first time 2010: The Age of the Consumer 2011: Netflix moves to the cloud; turns monolith app into hundreds of fine-grained micro services. 2011: Smart phone sales outpace PC sales for first time 2012: API common in social, cloud, ecommerce, mobile etc. 2013: ESB Program starts at UCLA 2016: Mobile internet usage surpasses desktop/laptop for the first time 2017: Io. T maturing. Self driving cars et al 2018: AI hits mainstream, 5 G 2019 -2020: … An API Program at UCLA? ? ? Information Technology
UCLA Integration Challenges The College Ascend Oracle Cloud SIS Integration Cashnet Information Technology ODS / Warehouse UC Path Oracle OMCS
Next Generation Campus Data Integration Key Concepts that will drive the future of campus data integration: Ø API (Discussed here) Ø Containers & Serverless Ø Cloud i. Paa. S Information Technology
What is API? Ø API stands for “Application Program Interface” Ø An API is an Ø Interface, that a service exposes, Ø So that other components can communicate with it. Ø What “API” means depends on the context. Ø The modern branding of the term “API” or “Web API” or “Rest. Ful API” Ø The broad exposure of services on the web Ø Well-defined and easy to use programming interfaces Information Technology
What is a REST API? Ø “Restful Web Services” or “Re. ST” (Representational State Transfer) Ø Enables “stateless” API calls to be made across straight HTTP Ø Using standard HTTP methods: GET, POST, PUT, PATCH and DELETE Ø These correspond to CRUD operations: create, read, update, and delete Ø Ø Ø Example: HTTP GET https: //www. mydomain. com/users Any text based, human readable, data format can be used for the returned data payload. Ø Ø https: //www. restapitutorial. com/lessons/httpmethods. html Java. Script Object Notation (JSON) is the most common Access to API’s can be: Ø Public, and open to the world Ø Public, but requires registration and an API Access Key – Most common Ø Private, with secure access control. Information Technology
It all starts with the Data… Database Data Provider Application API Management Information Technology Https Data Consumer Apps
Customer Requirements Should Drive the APIs that are Created Data Consumer Apps API Management API Data Provider Application Database Ø Value to UCLA: APIs can abstract and replace direct access to the internal infrastructure and backend processes of the campus. Ø API can “Future Proof” campus systems. Ø With a well established API, backend systems can be replaced without affecting consumers of the API. Ø API Management enables this Ø This is what SAIT is doing today with their Student API. Ø Over time this reduces rework and saves money Information Technology
The Current State of API at UCLA Ø 2015 the CSG API Work Group was formed – to survey the campus Ø In July 2018 the CSG API Work Group presented “CSG API Initial Implementation Recommendation” to CSG. Ø Ø Main Point: UCLA is at the point where an organizational and governance structure is required to scale APIs across the enterprise. Ø Ø https: //ucla. app. box. com/file/288676726326 This will Require Funding. In Dec. 2018 it was determined that a formal API Program proposal should be developed and presented to Go IT. Information Technology
API Program Proposal Ø The API Program Proposal was completed in Sept 2019 and submitted to CSG for review on Oct 22, 2019. Ø After CSG review the next stop is Go IT. Ø A key component of the proposal is the inclusion of Use Cases, written by current and future API data providers and consumers, to illustrate the benefits of an API Program. Ø Use Cases: Ø Ascend - Financial Systems (Ray Shah) Ø Opus - Faculty Systems (Datta Sharma) Ø Research Administration (Jackson Jeng) Ø Student Systems (Saheli Datta, SAIT) Ø Student Systems (Stephen Johann, DT, IT Services) Information Technology
UCLA API Program A well-executed, campus wide API Program will require: Ø API Management Platform Ø Including a common API Developer Portal Ø Dedicated API Platform Team Ø Federated Campus API Governance Information Technology
UCLA API Program API Platform Team Developers API Management Platform API Council API Product API Business need Information Technology Data API Functional Requirements
Creating an API Program at UCLA Ø UCLA API Program: Ø Administered and Coordinated by the API Platform Team Ø Governed by the API Council Ø API Management Platform, Hosting/Containing many API products Ø Each API Product contains a collection of APIs Ø APIs are conceived and created from the “Outside In” § Determine the experience you want to deliver to the customer § Determine the data and functionality you need § Make that available through APIs. Ø Key Point: The Data, and the Applications that provide the data, will exist in many locations, on and off campus. Ø It is the APIs, that expose and allow CRUD operations on this data, that live in the API Platform. Ø In the end the platform may be entirely data less. Information Technology
UCLA API Program API Dev portal acts as an internal API marketplace API Management The API Platform Team Admin and manage the Platform, Dev Portal and the portfolio of APIs. The API Council Federated oversite of the API Program Developers API Portal Third. Party APIs Browser End User Mobile Service Information Technology API Gateway Internal APIs API Developers
Full Life Cycle API Management Platform Ø Google Apigee - API Management platform for the campus (Saa. S) Ø Evaluated, selected and purchased Ø Ascend Project is paying for first 3 years Ø Ø Ø Ascend Steering Committee approved Oct. 2018 Ø https: //ucla. apigee. com - provisioned Dec. 2018 Ø UCSB has also implemented Apigee will aid the Integration needs of the Ascend Project Ø Enabling a focused API approach Ø Interface between Oracle Cloud and campus systems All services currently using the “Home grown” ESB/ESM Gateway for Access control will be migrated to Apigee. Ø The current set of SIS APIs will be an immediate benefactor of Apigee. Information Technology
Full Life Cycle API Management Platform Ø Service Registry and Developer Portal (https: //developer. api. ucla. edu) Ø Web portal listing of all services registered in the platform. Ø A single point for API Discovery, Access and Documentation Ø Ø Ø Supports a multi tenant experience to meet campus varied needs Ø API dependency tracking Service Gateway Ø Ø Ø Self-service Developer access provisioning Security Ø Authentication – client/consumer app Identity Ø Authorization - Access control to services Traffic Management: Routing, Tracing, Metering, Throttling and Prioritization API Management Ø Service & User activity logging, reporting analytics, auditing Information Technology
Full Life Cycle API Management Platform Ø API Developer Portal Ø Ø SID Global (contractor and Google Partner) Ø Started Portal development on Oct 28 th Ø The Portal will integrate directly with Apigee Ø Based on Drupal 8 Ø A phase 1 API Dev Portal release is targeted for Q 1 2020 The current pilot portal and the Apigee integrated portal, will live here: https: //developer. api. ucla. edu Information Technology
API Deployment - Step by Step API Dev portal acts as an internal API marketplace API Management Developers API Portal Third. Party APIs Browser End User Mobile Service Information Technology API Gateway Internal APIs API Developers
API Deployment - Step by Step Database 1 Data Provider App 1 GUI API End User An Application Developer creates an application that exposes CRUD on the data through APIs. This application may also have a GUI. Ideally this GUI should be developed using the same APIs - “Eating your own dog food”. Information Technology
API Deployment - Step by Step Database 1 Data Provider App 1 API Product 1 a – “Gold” API Developer Portal API Product 1 b – “Silver” API Developer (could be the same person as the Application Developer) logs into Apigee as an Apigee User. This Apigee User has Roles that control what they can edit in Apigee. API Developer creates API proxies to their Application, and groups them as API Products. • API Access control is done at the API Product level. • An API Product can contain one or more API Proxies. • API proxies can be created from an Open. API Spec. (Swagger) API Developer can choose to expose their API Products on the API Developer Portal for discovery and use. Information Technology
API Deployment - Step by Step API Product 1 a – “Gold” App. Dev 2 API Dev. Portal API Product 1 b – “Silver” Another Application Developer (App. Dev 2) comes to the API Developer Portal and discovers API Products. App. Dev 2 logs into the API Portal using their Shibboleth SSO. Note: This is a NOT the same as logging into Apigee. Information Technology
API Deployment - Step by Step Credentials API Product 1 a – “Gold” App ITS-My. App 1 App Dev 2 API Portal API Product 1 b – “Silver” Once logged in, App. Dev 2 can create an Apigee App that contains one or more API Products. Apps are: • API consumers registered with API providers. • Used to obtain credentials that enable access to one or more API products. Note: App Name Convention - [Org/Team-]App[-Environment] Information Technology
API Deployment - Step by Step API Product 1 a – “Gold” Credentials App ITS-My. App 1 App Dev 2 API Portal Yes or No API Product 1 b – “Silver” API Owner Some API Products will require the approval of the API Owner and the Data Owner. • The workflow that allows access to an API Product, and the data behind it, is dependent on the API Data Provider. Other API Products will provide automatic, self service access to the APIs. Information Technology
API Deployment - Step by Step Credentials App ITS-My. App 1 API Data Provider App 2 Database 2 GUI API End User Once approved, App. Dev 2 can now create a new Application, with its own set APIs. This new application can leverage the API Products provisioned through Apigee App “ITS-My. App 1”. Information Technology
API Digital Ecosystem API Product 1 a – “Gold” Database 1 Data Provider App 1 API Product 1 b – “Silver” Credentials Trusted Data Consumer App Trusted API App API Calls Credentials API Product 3 a – “Gold” Database 3 Data Provider App 3 API Information Technology API Product 3 b – “Silver” Basic API App Basic Data Consumer App
Apigee Demo https: //ucla. apigee. com Ø Hosted target – Node JS Ø Ø https: //ucla-test. apigee. net/hello-hosted-targets Ø Policies Ø Products Reverse Proxy Ø Accuweather Developer Portal Ø Ø https: //developer. accuweather. com/ https: //test. api. ucla. edu/caf-weather-test 1 Information Technology
Apigee Demo Information Technology
Next Steps for API’s at UCLA Ø Ø Implement the Apigee Management Platform Ø Support the development of Ascend API’s Ø Transition existing UCLA APIs to Apigee Ø Apigee training for UCLA API developers Ø Phase 1 (MVP) API Developer Portal, Currently in development Organized Governance with “Interested Volunteers” Ø Present the API Program Proposal to Go IT Ø Raise campus awareness of API; grass roots work. Ø Get developers on the “API train” Information Technology
Creating an API Program at UCLA Ø Businesses, like Higher Education, that are not digital businesses, must discover what is valuable to their customers in the digital realm and develop a “digital ecosystem” to deliver this value. Ø The API Program will enable a digital ecosystem to deliver the value of UCLA data to customers. Information Technology
The Current State and Future of Higher Education IT How much does Higher Education spend on IT? • On Average 4. 2% of institutional spending goes to IT • CDS Benchmarking report (2015) • On average (across institutions) about • 80% of the IT budget is spent on Operations (Run) • 13% on incremental changes (Grow) • 5% on non-incremental changes (Transform). • Information Age has given way to the Age of the Customer • Expectations have changed • Real time access to products and services – Driven by APIs! • The Internet of Things – Io. T – Driven by APIs! • All modern businesses are sensitive to changes in technology https: //www. insidehighered. com/blogs/technology-and-learning/how-much-does-higher-ed-spend-it https: //library. educause. edu/resources/2016/3/2015 -cds-benchmarking-report Information Technology
The Current State and Future of Higher Education IT • Higher Education IT spending • 80% of the IT budget is spent on operations (Run) • 13% on incremental changes (Grow) • 5% on non-incremental changes (Transform) • This is where API can make a difference. • Campus developers, embracing and using APIs, will be the key to its success at UCLA. Information Technology
Questions? Ø Curtis Fornadley Ø cfornadley@it. ucla. edu Information Technology
- Slides: 39