You are previewing Exposing and Managing Enterprise Services with IBM API Management.
O'Reilly logo
Exposing and Managing Enterprise Services with IBM API Management

Book Description

This IBM® Redbooks® publication provides insight into what application programming interfaces (APIs) are and why they are important. It also provides insight into how to use IBM API Management to create, subscribe, and connect to APIs, how to secure and test APIs, and how to gain business value from APIs.

With an API, developers can exploit the functions of existing computer programs in other applications. Today, companies are exposing APIs to allow others to consume business functions of APIs. This helps companies to extend the reach of its brand, increase customer loyalty, and innovate, and integrate more quickly with customers, business partners, and suppliers.

IBM API Management Version 2.0 is a complete on-premises solution, enabling companies to rapidly create, socialize, and manage their APIs. It is designed to help create a scalable, secure, enterprise API management solution. It provides functions and capabilities through configuration, not coding, key areas of API management including security, capabilities, caching, analytics, and community.

This book shows you how to expose and manage APIs using IBM API Management. We develop a use case example, and step through the actual implementation of the solution and usage of the APIs. We cover several known best practices and areas to consider when working with IBM API Management.

This book is written for anyone who will be working with IBM API Management for design, development, testing, deployment, administration, and maintenance of API management solutions.

Related BLOG posts

  • Introduction to IBM API Management

  • Securing your APIs with IBM API Management

  • What’s not to like about IBM API Management?

  • API Management scalability

  • 5 Things to Know about IBM API Management

  • The World of APIs

  • Versioning and promoting APIs in IBM API Management

  • Mobile applications and the need for Application Programming Interfaces (APIs)

  • Table of Contents

    1. Front cover
    2. Notices
      1. Trademarks
    3. Preface
      1. Authors
      2. Now you can become a published author, too!
      3. Comments welcome
      4. Stay connected to IBM Redbooks
    4. Chapter 1. API concepts, trends, and overview
      1. 1.1 The world of APIs
      2. 1.2 APIs and the traditional websites
        1. 1.2.1 API economy
        2. 1.2.2 Various types of APIs
      3. 1.3 The business of APIs
        1. 1.3.1 Market pressure, competitive pressures, and business value
        2. 1.3.2 Evolution and growth of APIs
        3. 1.3.3 Current trends across industries
        4. 1.3.4 Need for APIs
        5. 1.3.5 Considerations before launching APIs
        6. 1.3.6 Business strategies for APIs
        7. 1.3.7 Business models for APIs
      4. 1.4 Summary
    5. Chapter 2. IBM API Management introduction
      1. 2.1 Introduction to IBM API Management
      2. 2.2 Deployment topologies
        1. 2.2.1 Mobile enterprise application platforms
        2. 2.2.2 Internal API exposure
        3. 2.2.3 External API exposure
      3. 2.3 API Management components
      4. 2.4 IBM API Management solution overview
        1. 2.4.1 Creating and managing APIs: Overview of the API Manager
        2. 2.4.2 API creation
        3. 2.4.3 Socializing APIs: An overview of the Developer Portal
        4. 2.4.4 Management
      5. 2.5 Introducing the use case scenario and user roles
        1. 2.5.1 Storyboard
        2. 2.5.2 User roles, fictitious names, and their responsibilities
    6. Chapter 3. Defining APIs
      1. 3.1 Understanding API technology
        1. 3.1.1 Architectural decisions: REST and SOAP
        2. 3.1.2 Encoding decisions: XML and JSON
      2. 3.2 Designing APIs
        1. 3.2.1 Pragmatic REST
        2. 3.2.2 Strict REST
      3. 3.3 Defining APIs with IBM API Management 2.0
        1. 3.3.1 Creating an API definition
        2. 3.3.2 Adding resources
        3. 3.3.3 Testing the definition
      4. 3.4 Scenario: Defining the JKHLE Airways API
        1. 3.4.1 Creating the API definitions
        2. 3.4.2 Creating the proxy definition
        3. 3.4.3 Creating the Assembly definitions
        4. 3.4.4 Starting and testing the API definitions
    7. Chapter 4. Entitlements
      1. 4.1 Overview of entitlements
      2. 4.2 Implementing entitlements in IBM API Management
        1. 4.2.1 Creating a local entitlement
        2. 4.2.2 Creating a global entitlement
      3. 4.3 Scenario: Defining the JKHLE Airways entitlements
        1. 4.3.1 Creating the basic entitlement
        2. 4.3.2 Creating the premium entitlement
    8. Chapter 5. API security
      1. 5.1 API security introduction and its importance
      2. 5.2 Transmission encryption
        1. 5.2.1 SSL certificates
      3. 5.3 App ID and App Secret
      4. 5.4 Authenticating APIs and resources
        1. 5.4.1 Authenticating application users
        2. 5.4.2 Nonauthenticated APIs
        3. 5.4.3 Basic authentication
        4. 5.4.4 OAuth protocol
      5. 5.5 Securing an API in IBM API Management
        1. 5.5.1 Create an LDAP connection
        2. 5.5.2 Create an OAuth profile
        3. 5.5.3 Set up an Authentication URL
        4. 5.5.4 Securing the passenger profile API
        5. 5.5.5 Testing OAuth
    9. Chapter 6. Scalability
      1. 6.1 Introduction
      2. 6.2 Best practices
      3. 6.3 Capacity planning
        1. 6.3.1 Sizing the Management node
        2. 6.3.2 Sizing the Analytics node
        3. 6.3.3 Sizing the Gateway node
        4. 6.3.4 Sizing the Assembly node
      4. 6.4 API caching
      5. 6.5 Service level management
        1. 6.5.1 Enforcing SLAs through Entitlements
        2. 6.5.2 Capacity planning using Analytics
      6. 6.6 Cloud deployments for enterprise scale
        1. 6.6.1 IBM PureApplication system
        2. 6.6.2 IBM Workload Deployer
    10. Chapter 7. Testing, debugging, and error handling
      1. 7.1 Overview of API testing and debugging
        1. 7.1.1 Testing APIs
      2. 7.2 Testing APIs with IBM API Management 2.0
        1. 7.2.1 Testing in the API developer role (Shavon)
        2. 7.2.2 Testing in the application developer role (Andre)
      3. 7.3 Debugging APIs
        1. 7.3.1 Debugging in IBM API Management 2.0 (Shavon's role)
        2. 7.3.2 Debugging in IBM API Management 2.0 (Bob's role)
        3. 7.3.3 Advanced debugging techniques
        4. 7.3.4 Using monitoring, alerting, and postmortems
      4. 7.4 Error handling
        1. 7.4.1 Implementing Error Handling in IBM API Management 2.0
    11. Chapter 8. Versioning and promoting APIs
      1. 8.1 Versioning APIs
        1. 8.1.1 Minor versions
        2. 8.1.2 Major versions
      2. 8.2 Promoting APIs
        1. 8.2.1 Exporting APIs
        2. 8.2.2 Importing APIs
        3. 8.2.3 Limitations
      3. 8.3 Best practices
      4. 8.4 Scenario: Versioning and promoting the JKHLE Airways API
        1. 8.4.1 Creating a major version
        2. 8.4.2 Updating and unit testing the GET profile resource
        3. 8.4.3 Promoting the GET profile resource changes to test
        4. 8.4.4 Updating and unit testing the GET profile resource in test
        5. 8.4.5 Creating and unit testing the PUT profile resource
        6. 8.4.6 Promoting the PUT profile resource to test
        7. 8.4.7 Reverting to Version 2.1 in test
        8. 8.4.8 Updating and unit testing the PUT profile resource in test
        9. 8.4.9 Promoting the new version to production
    12. Chapter 9. Developer Portal
      1. 9.1 Introduction to API Management Developer Portal
      2. 9.2 Configuring the Developer Portal
        1. 9.2.1 Accessing the configuration page
        2. 9.2.2 Customizing the home page
        3. 9.2.3 Configuring the Sign Up Page
      3. 9.3 Registration, sign in, and details
        1. 9.3.1 Sign In
        2. 9.3.2 Profile settings
      4. 9.4 API documentation
      5. 9.5 Registering an application
      6. 9.6 Using entitlements
        1. 9.6.1 Selecting an entitlement
      7. 9.7 Testing and using APIs
      8. 9.8 Measuring your API usage: the Dashboard
      9. 9.9 Developing the scenario
        1. 9.9.1 Registration
        2. 9.9.2 Registering an application
        3. 9.9.3 Selecting API entitlements
        4. 9.9.4 Testing an API resource
    13. Chapter 10. Analytics
      1. 10.1 Introduction to analytics
      2. 10.2 API product manager
        1. 10.2.1 Top five APIs
        2. 10.2.2 API calls and response time statistics
        3. 10.2.3 Search and deep analysis on API calls
      3. 10.3 IT operations
        1. 10.3.1 Monitor health of the environment
        2. 10.3.2 View information about activities
      4. 10.4 API developer (publisher)
        1. 10.4.1 Audit Activity
        2. 10.4.2 API Activity
        3. 10.4.3 Alerts
      5. 10.5 Application developer (consumer)
        1. 10.5.1 Dashboard
    14. Chapter 11. Mobile app development
      1. 11.1 API Management and mobile
      2. 11.2 IBM MobileFirst
      3. 11.3 IBM Worklight for mobile application development
        1. 11.3.1 Worklight component overview
      4. 11.4 Topology
        1. 11.4.1 Internal and external APIs
      5. 11.5 Integration and Worklight adapters
      6. 11.6 Using REST APIs in building an app
        1. 11.6.1 Benefits of an API assembly and API optimization
    15. Appendix A. Additional material
      1. Locating the Web material
      2. Using the Web material
    16. Related publications
      1. IBM Redbooks
      2. Online resources
      3. Help from IBM
    17. Back cover