• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Introduction to API Design: REST and Java
 

Introduction to API Design: REST and Java

on

  • 1,864 views

An introduction to application programming interfaces.

An introduction to application programming interfaces.

Statistics

Views

Total Views
1,864
Views on SlideShare
1,780
Embed Views
84

Actions

Likes
0
Downloads
13
Comments
0

2 Embeds 84

https://jujo00obo2o234ungd3t8qjfcjrs3o6k-a-sites-opensocial.googleusercontent.com 78
http://jujo00obo2o234ungd3t8qjfcjrs3o6k-a-sites-opensocial.googleusercontent.com 6

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Introduction to API Design: REST and Java Introduction to API Design: REST and Java Presentation Transcript

    • Introduction to API Design: REST and Java Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of Hawaii
    • What is an API?
      • Specifies a boundary between 2 systems
        • What you can do
        • What you can't do
      • The boundary is defined by:
        • Functions you can invoke
        • Objects passed & returned
      • APIs can exist:
        • Within a single program
        • Between independent programs
    • Advantages of APIs
      • Simplifies design by creating partitions
      • Enables change without "ripple effect"
      • Enables multiple implementations
      • Enables development to scale
        • Larger development teams
        • Concurrent development
    • Disadvantages of APIs
      • Increases implementation complexity
      • Creates boundaries that can make certain changes hard to accomplish
      • Can impede performance optimization
    • Kinds of APIs
      • Within a program
        • Separates components.
        • Creates "public" and "private" areas.
      • Between programs
        • Specifies a "protocol"
        • How to send and receive information.
    • Example in-Program API: Java Collections Framework
      • Interface java.util.Collection
        • boolean add (Object o)
        • void clear()
        • boolean equals(Object o)
        • boolean isEmpty()
      • This API is implemented by:
        • HashSet, LinkedList, TreeSet, etc.
    •  
    • Example between-program (REST)API: Twitter
      • The Twitter API is a RESTful protocol:
      • http://api.twitter.com/ version /statuses/public_timeline. format
        • Operations: GET
        • Formats: json, xml, rss, atom
        • Authentication: none
        • Parameters: trim_user, include_entities
    •  
    • Example between-program (REST)API: WattDepot
    • The Solar Decathlon iHale System
    • The Solar Decathlon iHale System
      • Within-program between-program
    • On to the demo