API Management Fundamentals for Architects

API Management Fundamentals for Architects Courseware (WA2895)

With two intensive days of learning that combine theoretical concepts and hands-on labs, we will cover the fundamentals of the multifaceted process of API management. We also include MuleSoft, Apigee, analytics, security, microservices, and much more in this comprehensive course.

This course targets Business Analysts, IT Architects, Technical Managers and Developers

Benefits

  • Understanding Google's Geocoding API 
  • Comparing API Management Platforms
  • Working with Mule Soft Anypoint Studio
  • Understanding Monolith vs Microservices Design
  • Data Availability and Consistency
  • Using AWS API Gateway
  • Using API Management on Azure

Outline

  1. API Management Introduction
    1. Data is King
    2. Data Exchange Payloads
    3. API Management Defined
    4. The Driving Forces
    5. APIs to Monetize on Your Information Assets and Services
    6. The Traditional Point-to-point Integration Example
    7. It Raises Some Questions …
    8. The Facade Design Pattern
    9. API Management Conceptual Architecture
    10. Other "Complimentary" Services
    11. What Else is Needed?
    12. The Digital Transformation Strategies
    13. Gartner's Magic Quadrant for Full Life Cycle API Management
    14. Apigee
    15. MuleSoft
    16. Amazon Web Services (AWS)
    17. WSO2
    18. IBM API Connect
    19. KONG
    20. Summary
  2. Mulesoft & WSO2 Overview
    1. What is MuleSoft?
    2. MuleSoft AnyPoint Platform
    3. MuleSoft Cloud Community Manager
    4. Anypoint Studio
    5. Advanced REST Client (ARC)
    6. What is WSO2?
    7. User Roles in WSO2 Workflows
    8. The Main Client-Facing Web Applications and Capabilities
    9. WSO2 Main Features
    10. The API Gateway
    11. Workflow for Invoking an API
    12. Workflow for Creating an API
    13. Access Control and Security
    14. User Authentication via Access Token
    15. Manage and Scale API Traffic
    16. Monitor and Monetize
    17. WSO2 Cloud
    18. Summary
  3. Apigee Overview
    1. What is Apigee?
    2. The Big Picture
    3. API Consumers
    4. Apigee Main Components
    5. Apigee Edge API Management Platform Functional Diagram
    6. Apigee Capabilities and Actors
    7. Apigee Policies for Traffic Management and Data Transformation
    8. Apigee Sense
    9. Developer Portal
    10. Apigee Monetization
    11. Core Monetization Components
    12. API Runtime
    13. API Proxies
    14. API Proxy Virtual Hosts
    15. Flows
    16. OAuth 2.0 Integration
    17. API Beauty (an API Runtime's Capability)
    18. API Edge Caching
    19. Service Composition
    20. Apigee Edge Monitoring and Analytics
    21. Samples of Monitoring Charts
    22. Edge Microgateway
    23. Edge Microgateway Integration with Apigee Edge Analytics
    24. Examples of Edge Microgateway Deployments (1 of 3)
    25. Examples of Edge Microgateway Deployments (2 of 3)
    26. Examples of Edge Microgateway Deployments (3 of 3)
    27. Pricing: Standard Plan
    28. Apigee Hybrid
    29. Apigee Hybrid Capabilities
    30. Apigee Hybrid Collaboration Diagram
    31. Summary
  4. API Management Analytics
    1. API Metrics
    2. API Proxy (API Gateway) Performance
    3. The Apigee Proxy (API Service Gateway) Performance Chart
    4. The Apigee Target Service Performance Chart
    5. The Apigee Cache Performance Chart
    6. The Apigee Error Code Chart
    7. Geolocation Metric
    8. The Apigee GeoMap Chart
    9. Developer Engagement
    10. The Apigee Developer Engagement Chart
    11. Reports
    12. Summary
  5. RESTful Services Overview
    1. Many Flavors of Services
    2. SOAP or REST?
    3. Understanding REST
    4. Manipulation of Resources through Representations
    5. Principles of RESTful Services
    6. HTTP Methods
    7. HTTP Status Codes
    8. Related Standards: MIME
    9. Anatomy of a URL
    10. GET
    11. The GET Method
    12. Passing Parameters
    13. HTTP Methods That Modify/Create Resources
    14. POST
    15. POST Request Example
    16. POST Response Example
    17. PUT
    18. PUT Example - Update
    19. PUT Example - Create
    20. PATCH
    21. Patch Example - Update
    22. To PUT or POST?
    23. SOAP Examples
    24. A RESTful API for Tracking Video Games
    25. What is gRPC?
    26. How It Works
    27. gRPC Request - Response Diagram
    28. REST vs. gRPC
    29. So, REST or gRPC?
    30. Summary
  6. Describing RESTful APIs
    1. Describing RESTful APIs
    2. History
    3. Ad-hoc Interface definitions
    4. Modern Choices
    5. Stacking Up Open API vs RAML
    6. Open API vs RAML: Advantages and Disadvantages
    7. RAML
    8. Build A RAML API Description
    9. ROOT
    10. List Resources
    11. Define Methods
    12. Define Query Parameters
    13. Enter Responses
    14. Open API (Swagger)
    15. Swagger Versions
    16. Swagger Editor
    17. Swagger Codegen
    18. Swagger UI
    19. OpenAPI Service Description
    20. Pretty Printed OpenAPI Service Definition
    21. Summary
  7. Securing APIs
    1. What are the Security Domains?
    2. How to Secure an API?
    3. DDoS Protection
    4. Authentication
    5. OAuth2 Overview
    6. OAuth Components
    7. OAuth Authentication and Authorization Overview
    8. OAuth Collaboration Diagram
    9. Example: OAuth Client Credentials Grant with Apigee Edge
    10. Getting Authorization Code Through a Federated External Directory (Facebook or Google)
    11. What is Security Assertion Markup Language (SAML)?
    12. SAML 2.0 Web SSO Authentication
    13. SAML vs. OAuth2
    14. Identity mediation
    15. Encryption of Data in Transit with TLS
    16. Key and Certificate Management
    17. Threat Detection
    18. Apigee Content-based Security
    19. JSON Web Tokens (JWT)
    20. How JWT Works
    21. OAuth vs JWT
    22. Data-masking
    23. Last-mile security
    24. Summary
  8. Microservices Architecture Overview
    1. What is a "Microservice"?
    2. Principles of Microservices
    3. Properties and Attributes of Microservices
    4. Benefits of Using Microservices
    5. The Microservices Architecture
    6. Microservices Architecture vs SOA
    7. The ESB Connection
    8. Microservices Architecture Benefits
    9. Microservices Architecture Choices and Attributes
    10. Example: On-Line Banking Solution Based on MsA
    11. Distributed Computing Challenges
    12. Replaceable Component Architecture
    13. What Can Make a Microservices Architecture Brittle?
    14. Summary
  9. Designing and Implementing Microservices
    1. Two Types of IT Projects
    2. What is In Scope for a Robust Microservices Design?
    3. Scoping Your Microservice via the Bounded Context
    4. Scoping Your Solution's Microservices Architecture
    5. External / Shared and Internal Service Models
    6. General Architectural and Software Process Organizational Principles
    7. Loose Coupling, the OOD Perspective
    8. Crossing Process Boundary is Expensive!
    9. Cross Cutting Concerns
    10. More Cross Cutting Concerns
    11. To Centralize or Decentralize Client Access?
    12. Decentralized Client Access
    13. Centralized Client Access
    14. The Facade Pattern
    15. The Facade Service Conceptual Diagram
    16. The Service Mesh Integration Pattern
    17. Istio
    18. Mesh Pros and Cons
    19. Service-to-Service Communication with Mesh
    20. The Naked Objects Architectural Pattern
    21. When to Use Naked Objects Pattern
    22. Dealing with the State
    23. How Can I Maintain State?
    24. Micro Front-ends (a.k.a. MicroUI)
    25. How can MicroUI Help Me?
    26. Your Clients Are Diverse
    27. The "Rich Client" - "Thin Server" Paradigm
    28. The "Rich Client" - "Thin Server" Architecture
    29. RIA as a Driving Force to Turn the "Thin Server" into a Set of Microservices
    30. Design for Failure
    31. Resilience-Related Design Patterns
    32. The Immutable Infrastructure Principle
    33. Implementing Microservices
    34. Microservice-Oriented Application Frameworks and Platforms
    35. Embedding Databases
    36. Embedded Java Databases
    37. Summary
  10. Lab Exercises
    1. Understanding Google's Geocoding API (Research Project)
    2. Comparing API Management Platforms (Research Project)
    3. Working with MuleSoft Anypoint Studio
    4. Qwiklabs
    5. Monolith vs Microservices Design
    6. Data Availability and Consistency
    7. Using AWS API Gateway (Optional)
    8. Using API Management on Azure (Optional)

Required Prerequisites

Participants should have the understanding of software design principles and modern choices for application deployment.