Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Introduction to WSO2 Microservices Framework for Java - MSF4J - WSO2Con Asia 2016

2,424 views

Published on

Introduction to WSO2 Microservices Framework for Java - MSF4J -

Published in: Technology
  • Be the first to comment

Introduction to WSO2 Microservices Framework for Java - MSF4J - WSO2Con Asia 2016

  1. 1. Creating Microservices with WSO2 Microservices Framework for Java (MSF4J) Afkham Azeez, Director, Architecture WSO2 Inc.
  2. 2. What is MSF4J? A lightweight, high performance framework for building microservices in Java
  3. 3. Recap: Inner & Outer Architectures
  4. 4. Vision for MSF4J • Lightweight & fast runtime • Use Java annotations as a way of defining microservices APIs as well as metrics • Support well known & widely used methods such as JAXRS annotations • Provide simple ways to develop & deploy microservices • Built-in Metrics & Analytics APIs with out of the box integration with WSO2 Data Analytics Server (DAS) • To be used in the WSO2 platform as a way of replacing all admin services as well as defining other microservices for inter-component interactions
  5. 5. MSF4J- Performance Comparison
  6. 6. MSF4J- Memory Consumption Comparison
  7. 7. MSF4J Implementation • Transport is based on Netty 4.0 • Supports streaming • High performance • Low memory footprint • 5MB pack size • Starts within 300ms
  8. 8. Download • MSS 1.0.0 release is available at https://github.com/wso2/msf4j/releases/tag/v1.0.0 • Refer to the getting started guide in GitHub • A good place to start is the samples – https://github.com/wso2/msf4j/tree/v1.0.0/samples
  9. 9. Core Features in MSS • Quick & simple development model using simple annotations • Lightweight & high performance • Custom interceptors • JWT based security • Metrics gathering & publishing • Tracing of requests using a unique message ID • Streaming input & streaming output support • WSO2 DevStudio based tooling for generating microservices projects starting from a Swagger API definition • Comprehensive samples demonstrating how to develop microservices application
  10. 10. MSF4J– Flow & Thread Model
  11. 11. Runner
  12. 12. Request Streaming
  13. 13. Security • Security is done via a central server issuing JWT tokens • The JWTSecurityInterceptor verifies the signature, expiry & claims in the token
  14. 14. Analytics & Monitoring • Supports annotations –Timed – measures execution time –Metered – measures rate of events –Counted – Counts the total invocations –HTTPMonitoring – monitors HTTP requests
  15. 15. Analytics & Monitoring
  16. 16. Metrics Output to Console
  17. 17. JMX Metrics
  18. 18. Analytics & Monitoring
  19. 19. Tooling (Swagger -> Code) Swagger API Definition MSS Code 1 2 3
  20. 20. MSF4J in Action! https://github.com/afkham/wso2conasia2016
  21. 21. MSF4J Pet store sample
  22. 22. MSF4J Pet store sample
  23. 23. Thank You

×