SlideShare una empresa de Scribd logo
1 de 27
Your API is not a Website! 9.15.11 @ 11:05 PST VOIP or Dial-in (see chat) Greg Brail		@gbrail Brian Pagano@brianpagano
@brianpagano @gbrail
API Workshop Webinar Series (videos & slides at http://blog.apigee.com/taglist/webinar)  Mapping out your API Strategy  Pragmatic REST: API Design Fu			          10 Patterns in Successful API Programs What to Measure: API Analytics Is your API Naked?  API Tech &  Operations Does your API need PCI? (Compliance) Developers Hate Marketing: Driving API Adoption OAuth:  The Big Picture  “Boss, we need an API” Your API is not a Website!
Setup APIs seem at first like web sites without images. On deeper inspection that’s not the case! Examining the differences is a great discussion on API technology.
But first, how are APIs and Websites the same?
Image by caseymultimedia
How are APIs and Websites the same?  24x7 operations
How are APIs and Websites the same?  24x7 operations Frequent deployment
How are APIs and Websites the same?  24x7 operations Frequent deployment Fast expectations On the Internet this is not news. But inside corporate IT, it is a new way of life! This is the case for public and private APIs.
So how are they different?
Image by lindzstrom
How are APIs and Websites different?  Audience Longevity Analytics Security Integration Testability
Audience Websites are used by humans APIs are used by programmers. Programmers, in turn, make apps for humans. image by maanow
Why does this matter? Developers don’t care about images, fonts, colors, and other design elements. Developers do care about the “look and feel” of the API itself. Is it easy to develop to? Does it use REST appropriately?  (according to their own definition of “REST”) Does it make me do anything weird? Does it work? Is it down a lot?
Longevity Web sites change all the time. APIs must remain compatible over time. image by wilhelmja
Why Does this Matter? Humans are fairly resilient to change We may complain… …but when a site design changes, we (usually) adapt Programs are not resilient to change Developers don’t want to re-write Old apps might not have developers any more Users don’t install updates right away
Analytics Most web analytics depend on the browser. API clients might not be browsers at all!
Why Does this Matter? API analytics can’t rely on: JavaScript that runs on the client “Beacon” URLs that get downloaded all the time Cookies the client must return API clients just don’t do these things - especially when built by 3rd parties You need to embed analytics on the server. Use what is sent in the request and only that
Security Web sites can be scraped carefully. APIs are extremely easy to “scrape” and automate. APIs and web sites need different types of security. OAuth for APIs, passwords for web sites, SSL for both!
Why Does this Matter? Since APIs are so easy to program, they are easy to ‘do damage.’ Try to crack passwords using an API Download a company’s whole product catalog Book a whole bunch of flights to mess with pricing Rate limits and quotas are essential.
Why Else Does this Matter? Passwords are lousy for public APIs. They propagate to lots of sites that use the APIs They propagate to devices that use the APIs Consider OAuth for these cases
Integration Web sites can pull content from all over. APIs sit in one place.
Why Does this Matter? The architecture is just different. Websites can include scripts, gadgets, and images from all over the web APIs can’t – developers expect a few API calls to do it all But you can pull things together on the server side…
Testability Automated web site testing is hard. Automated API testing is easier.
Why Does this Matter? Any API needs to: Change quickly Remain compatible Perform consistently How do you ensure this? Test early and test often Automated regression testing is the key A good API should make this EASY
Conclusion A great API is not the same as a great web site. A great API is: Fast-moving, yet it never breaks the apps Reliable, stable, and fast Easy to understand and program to Secure and resilient to failure You need both.
THANK YOU Questions and ideas to: @apigee @gbrail @brianpagano

Más contenido relacionado

La actualidad más candente

Infinum - Building API based apps without an API
Infinum - Building API based apps without an APIInfinum - Building API based apps without an API
Infinum - Building API based apps without an API
Infinum
 
Native iphone app test automation with appium
Native iphone app test automation with appiumNative iphone app test automation with appium
Native iphone app test automation with appium
James Eisenhauer
 

La actualidad más candente (20)

10x Test Coverage, Less Drama: Shift Left Functional & Performance Testing
10x Test Coverage, Less Drama: Shift Left Functional & Performance Testing10x Test Coverage, Less Drama: Shift Left Functional & Performance Testing
10x Test Coverage, Less Drama: Shift Left Functional & Performance Testing
 
Why APIs Call for 2xs the DevOps
Why APIs Call for 2xs the DevOpsWhy APIs Call for 2xs the DevOps
Why APIs Call for 2xs the DevOps
 
Infinum - Building API based apps without an API
Infinum - Building API based apps without an APIInfinum - Building API based apps without an API
Infinum - Building API based apps without an API
 
How to pass a coding interview as an automation developer talk - Oct 17 2016
How to pass a coding interview as an automation developer talk - Oct 17 2016How to pass a coding interview as an automation developer talk - Oct 17 2016
How to pass a coding interview as an automation developer talk - Oct 17 2016
 
Webinar: “Introduction to the Postman API Network”
Webinar: “Introduction to the Postman API Network”Webinar: “Introduction to the Postman API Network”
Webinar: “Introduction to the Postman API Network”
 
Pepperoni 2.0 - How to spice up your mobile apps
Pepperoni 2.0 - How to spice up your mobile apps Pepperoni 2.0 - How to spice up your mobile apps
Pepperoni 2.0 - How to spice up your mobile apps
 
Welcome Note by Abhinav Asthana, CEO at Postman
Welcome Note by Abhinav Asthana, CEO at PostmanWelcome Note by Abhinav Asthana, CEO at Postman
Welcome Note by Abhinav Asthana, CEO at Postman
 
Why You Need a Developer Relations Team for Your API
Why You Need a Developer Relations Team for Your APIWhy You Need a Developer Relations Team for Your API
Why You Need a Developer Relations Team for Your API
 
State of the API: Insights Into the Future of APIs
State of the API: Insights Into the Future of APIsState of the API: Insights Into the Future of APIs
State of the API: Insights Into the Future of APIs
 
Enterprise E-commerce Webinar Series, Episode 2: Deploying and Monitoring You...
Enterprise E-commerce Webinar Series, Episode 2: Deploying and Monitoring You...Enterprise E-commerce Webinar Series, Episode 2: Deploying and Monitoring You...
Enterprise E-commerce Webinar Series, Episode 2: Deploying and Monitoring You...
 
API Security with Postman and Qualys
API Security with Postman and QualysAPI Security with Postman and Qualys
API Security with Postman and Qualys
 
Emulators as an Emerging Best Practice for API providers
Emulators as an Emerging Best Practice for API providersEmulators as an Emerging Best Practice for API providers
Emulators as an Emerging Best Practice for API providers
 
Enterprise ecommerce-webinar 1
Enterprise ecommerce-webinar 1Enterprise ecommerce-webinar 1
Enterprise ecommerce-webinar 1
 
Scaling API Design - Nordic APIs 2014
Scaling API Design - Nordic APIs 2014Scaling API Design - Nordic APIs 2014
Scaling API Design - Nordic APIs 2014
 
Scaling API Design
Scaling API DesignScaling API Design
Scaling API Design
 
Native iphone app test automation with appium
Native iphone app test automation with appiumNative iphone app test automation with appium
Native iphone app test automation with appium
 
Response Visualizations in Postman
Response Visualizations in PostmanResponse Visualizations in Postman
Response Visualizations in Postman
 
POST/CON Keynote 2019
POST/CON Keynote 2019POST/CON Keynote 2019
POST/CON Keynote 2019
 
Postman for Enterprises
Postman for EnterprisesPostman for Enterprises
Postman for Enterprises
 
Common Security API Issues and How to Mitigate Them Using Postman
Common Security API Issues and How to Mitigate Them Using PostmanCommon Security API Issues and How to Mitigate Them Using Postman
Common Security API Issues and How to Mitigate Them Using Postman
 

Similar a Your API is not a Website!

SOA in the API World - Facades, Transactions, Stateless Services
SOA in the API World - Facades, Transactions, Stateless Services SOA in the API World - Facades, Transactions, Stateless Services
SOA in the API World - Facades, Transactions, Stateless Services
Apigee | Google Cloud
 
I Love APIs 2015: Create Design-driven APIs with Node.js and Swagger
I Love APIs 2015: Create Design-driven APIs with Node.js and SwaggerI Love APIs 2015: Create Design-driven APIs with Node.js and Swagger
I Love APIs 2015: Create Design-driven APIs with Node.js and Swagger
Apigee | Google Cloud
 

Similar a Your API is not a Website! (20)

SOA in the API World - Facades, Transactions, Stateless Services
SOA in the API World - Facades, Transactions, Stateless Services SOA in the API World - Facades, Transactions, Stateless Services
SOA in the API World - Facades, Transactions, Stateless Services
 
On the shoulders of giants Learning About API Design by Looking Backwards
On the shoulders of giants Learning About API Design by Looking Backwards On the shoulders of giants Learning About API Design by Looking Backwards
On the shoulders of giants Learning About API Design by Looking Backwards
 
Huge: Running an API at Scale
Huge: Running an API at ScaleHuge: Running an API at Scale
Huge: Running an API at Scale
 
Creating Datadipity
Creating DatadipityCreating Datadipity
Creating Datadipity
 
Practical guide to building public APIs
Practical guide to building public APIsPractical guide to building public APIs
Practical guide to building public APIs
 
The API and APP-ification of the Web
The API and APP-ification of the WebThe API and APP-ification of the Web
The API and APP-ification of the Web
 
Your API is your Product - Arun Ravindran, Unisys
Your API is your Product - Arun Ravindran, UnisysYour API is your Product - Arun Ravindran, Unisys
Your API is your Product - Arun Ravindran, Unisys
 
Understanding API Architectures: Web API vs. Minimal API – An In-Depth Compar...
Understanding API Architectures: Web API vs. Minimal API – An In-Depth Compar...Understanding API Architectures: Web API vs. Minimal API – An In-Depth Compar...
Understanding API Architectures: Web API vs. Minimal API – An In-Depth Compar...
 
API Product Opportunity Responsibility Nicolas Sierro 2015.pptx
API Product Opportunity Responsibility Nicolas Sierro 2015.pptxAPI Product Opportunity Responsibility Nicolas Sierro 2015.pptx
API Product Opportunity Responsibility Nicolas Sierro 2015.pptx
 
Best practices for API Integration - Bearer.sh
Best practices for API Integration - Bearer.shBest practices for API Integration - Bearer.sh
Best practices for API Integration - Bearer.sh
 
Pitney Bowes Uses Development and Testing Tools to Drive Early API Developmen...
Pitney Bowes Uses Development and Testing Tools to Drive Early API Developmen...Pitney Bowes Uses Development and Testing Tools to Drive Early API Developmen...
Pitney Bowes Uses Development and Testing Tools to Drive Early API Developmen...
 
I Love APIs 2015: Create Design-driven APIs with Node.js and Swagger
I Love APIs 2015: Create Design-driven APIs with Node.js and SwaggerI Love APIs 2015: Create Design-driven APIs with Node.js and Swagger
I Love APIs 2015: Create Design-driven APIs with Node.js and Swagger
 
Pain Points In API Development? They’re Everywhere
Pain Points In API Development? They’re EverywherePain Points In API Development? They’re Everywhere
Pain Points In API Development? They’re Everywhere
 
apidays LIVE Jakarta - What will the next generation of API Portals look like...
apidays LIVE Jakarta - What will the next generation of API Portals look like...apidays LIVE Jakarta - What will the next generation of API Portals look like...
apidays LIVE Jakarta - What will the next generation of API Portals look like...
 
Things you must know on ruby on rails single page application
Things you must know on ruby on rails single page applicationThings you must know on ruby on rails single page application
Things you must know on ruby on rails single page application
 
The Next Step to Build Better APIs — Consistent Data Structure
The Next Step to Build Better APIs — Consistent Data StructureThe Next Step to Build Better APIs — Consistent Data Structure
The Next Step to Build Better APIs — Consistent Data Structure
 
API-first, going beyond SOA, ESB & Integration
API-first, going beyond SOA, ESB & IntegrationAPI-first, going beyond SOA, ESB & Integration
API-first, going beyond SOA, ESB & Integration
 
Web API Design
Web API DesignWeb API Design
Web API Design
 
Web API Design: Crafting Interfaces that Developers Love
Web API Design:  Crafting Interfaces that Developers LoveWeb API Design:  Crafting Interfaces that Developers Love
Web API Design: Crafting Interfaces that Developers Love
 
Auckland API & Microservices Meetup 1: API led design
Auckland API & Microservices Meetup 1: API led designAuckland API & Microservices Meetup 1: API led design
Auckland API & Microservices Meetup 1: API led design
 

Más de Apigee | Google Cloud

Más de Apigee | Google Cloud (20)

How Secure Are Your APIs?
How Secure Are Your APIs?How Secure Are Your APIs?
How Secure Are Your APIs?
 
Magazine Luiza at a glance (1)
Magazine Luiza at a glance (1)Magazine Luiza at a glance (1)
Magazine Luiza at a glance (1)
 
Monetization: Unlock More Value from Your APIs
Monetization: Unlock More Value from Your APIs Monetization: Unlock More Value from Your APIs
Monetization: Unlock More Value from Your APIs
 
Apigee Demo: API Platform Overview
Apigee Demo: API Platform OverviewApigee Demo: API Platform Overview
Apigee Demo: API Platform Overview
 
Ticketmaster at a glance
Ticketmaster at a glanceTicketmaster at a glance
Ticketmaster at a glance
 
AccuWeather: Recasting API Experiences in a Developer-First World
AccuWeather: Recasting API Experiences in a Developer-First WorldAccuWeather: Recasting API Experiences in a Developer-First World
AccuWeather: Recasting API Experiences in a Developer-First World
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?
 
Apigee Product Roadmap Part 2
Apigee Product Roadmap Part 2Apigee Product Roadmap Part 2
Apigee Product Roadmap Part 2
 
The Four Transformative Forces of the API Management Market
The Four Transformative Forces of the API Management MarketThe Four Transformative Forces of the API Management Market
The Four Transformative Forces of the API Management Market
 
Walgreens at a glance
Walgreens at a glanceWalgreens at a glance
Walgreens at a glance
 
Apigee Edge: Intro to Microgateway
Apigee Edge: Intro to MicrogatewayApigee Edge: Intro to Microgateway
Apigee Edge: Intro to Microgateway
 
Managing the Complexity of Microservices Deployments
Managing the Complexity of Microservices DeploymentsManaging the Complexity of Microservices Deployments
Managing the Complexity of Microservices Deployments
 
Pitney Bowes at a glance
Pitney Bowes at a glancePitney Bowes at a glance
Pitney Bowes at a glance
 
Microservices Done Right: Key Ingredients for Microservices Success
Microservices Done Right: Key Ingredients for Microservices SuccessMicroservices Done Right: Key Ingredients for Microservices Success
Microservices Done Right: Key Ingredients for Microservices Success
 
Adapt or Die: Opening Keynote with Chet Kapoor
Adapt or Die: Opening Keynote with Chet KapoorAdapt or Die: Opening Keynote with Chet Kapoor
Adapt or Die: Opening Keynote with Chet Kapoor
 
Adapt or Die: Keynote with Greg Brail
Adapt or Die: Keynote with Greg BrailAdapt or Die: Keynote with Greg Brail
Adapt or Die: Keynote with Greg Brail
 
Adapt or Die: Keynote with Anant Jhingran
Adapt or Die: Keynote with Anant JhingranAdapt or Die: Keynote with Anant Jhingran
Adapt or Die: Keynote with Anant Jhingran
 
London Adapt or Die: Opening Keynot
London Adapt or Die: Opening KeynotLondon Adapt or Die: Opening Keynot
London Adapt or Die: Opening Keynot
 
London Adapt or Die: Lunch keynote
London Adapt or Die: Lunch keynoteLondon Adapt or Die: Lunch keynote
London Adapt or Die: Lunch keynote
 
London Adapt or Die: Closing Keynote — Adapt Now!
London Adapt or Die: Closing Keynote — Adapt Now!London Adapt or Die: Closing Keynote — Adapt Now!
London Adapt or Die: Closing Keynote — Adapt Now!
 

Último

Último (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

Your API is not a Website!

  • 1. Your API is not a Website! 9.15.11 @ 11:05 PST VOIP or Dial-in (see chat) Greg Brail @gbrail Brian Pagano@brianpagano
  • 3. API Workshop Webinar Series (videos & slides at http://blog.apigee.com/taglist/webinar) Mapping out your API Strategy Pragmatic REST: API Design Fu 10 Patterns in Successful API Programs What to Measure: API Analytics Is your API Naked? API Tech & Operations Does your API need PCI? (Compliance) Developers Hate Marketing: Driving API Adoption OAuth: The Big Picture “Boss, we need an API” Your API is not a Website!
  • 4. Setup APIs seem at first like web sites without images. On deeper inspection that’s not the case! Examining the differences is a great discussion on API technology.
  • 5. But first, how are APIs and Websites the same?
  • 7. How are APIs and Websites the same? 24x7 operations
  • 8. How are APIs and Websites the same? 24x7 operations Frequent deployment
  • 9. How are APIs and Websites the same? 24x7 operations Frequent deployment Fast expectations On the Internet this is not news. But inside corporate IT, it is a new way of life! This is the case for public and private APIs.
  • 10. So how are they different?
  • 12. How are APIs and Websites different? Audience Longevity Analytics Security Integration Testability
  • 13. Audience Websites are used by humans APIs are used by programmers. Programmers, in turn, make apps for humans. image by maanow
  • 14. Why does this matter? Developers don’t care about images, fonts, colors, and other design elements. Developers do care about the “look and feel” of the API itself. Is it easy to develop to? Does it use REST appropriately? (according to their own definition of “REST”) Does it make me do anything weird? Does it work? Is it down a lot?
  • 15. Longevity Web sites change all the time. APIs must remain compatible over time. image by wilhelmja
  • 16. Why Does this Matter? Humans are fairly resilient to change We may complain… …but when a site design changes, we (usually) adapt Programs are not resilient to change Developers don’t want to re-write Old apps might not have developers any more Users don’t install updates right away
  • 17. Analytics Most web analytics depend on the browser. API clients might not be browsers at all!
  • 18. Why Does this Matter? API analytics can’t rely on: JavaScript that runs on the client “Beacon” URLs that get downloaded all the time Cookies the client must return API clients just don’t do these things - especially when built by 3rd parties You need to embed analytics on the server. Use what is sent in the request and only that
  • 19. Security Web sites can be scraped carefully. APIs are extremely easy to “scrape” and automate. APIs and web sites need different types of security. OAuth for APIs, passwords for web sites, SSL for both!
  • 20. Why Does this Matter? Since APIs are so easy to program, they are easy to ‘do damage.’ Try to crack passwords using an API Download a company’s whole product catalog Book a whole bunch of flights to mess with pricing Rate limits and quotas are essential.
  • 21. Why Else Does this Matter? Passwords are lousy for public APIs. They propagate to lots of sites that use the APIs They propagate to devices that use the APIs Consider OAuth for these cases
  • 22. Integration Web sites can pull content from all over. APIs sit in one place.
  • 23. Why Does this Matter? The architecture is just different. Websites can include scripts, gadgets, and images from all over the web APIs can’t – developers expect a few API calls to do it all But you can pull things together on the server side…
  • 24. Testability Automated web site testing is hard. Automated API testing is easier.
  • 25. Why Does this Matter? Any API needs to: Change quickly Remain compatible Perform consistently How do you ensure this? Test early and test often Automated regression testing is the key A good API should make this EASY
  • 26. Conclusion A great API is not the same as a great web site. A great API is: Fast-moving, yet it never breaks the apps Reliable, stable, and fast Easy to understand and program to Secure and resilient to failure You need both.
  • 27. THANK YOU Questions and ideas to: @apigee @gbrail @brianpagano

Notas del editor

  1. Creative Commons Attribution-Share Alike 3.0 United States License