apim_4xx_support_multiple_analytics_publishers APIM manage workflow with multiple roles APIM 3.0.0 per API based subscription workflow Logging internal HTTP requests Log APIM analytics events to a file Monetization and sample with WSO2 API Manager 2.6.0 Share application and subscription among a set of specific groups or roles WSO2 APIM Correlating analytics event with correlationID APIM analytics distinguish production and sandbox traffic APIM 2.x.x analytics internal and analytics tuneup Configure APIM(Next release) Key Manager User stores APIM(Next release) working with key manager DAS 3.x Parse system variables to Spark Context Revoke OAuth application In APIM 2.1.0 Next WSO2 APIM powered by WSO2 Ballerina Configure WSO2 APIM Analytics on Cluster environment Configure WSO2 DAS 3.1.0 for WSO2 APIM 2.0.0 Analytics WSO2 APIM publishing custom statistics WSO2 APIM Error codes Working with WSO2 message tracer Use DAS admin service to query using Spark SQL Configure WSO2 APIM Analytics using XML WSO2 APIM Generating and Retrieving Custom Statistics Understanding WSO2 APIM Statistics Model Publishing WSO2 APIM 1.10.x Runtime Statistics to DAS with RDBMS Publishing_APIM_1100_Runtime_Statistics_to_DAS Aggregate functions with WSO2 DAS REST API Create a cApp for WSO2 DAS Debugging WSO2 Products using OSGI console. Publishing APIM Runtime Statistics to DAS Deploy cApp on WSO2 DAS How to configure and start the Accumulo minicluster How to setup DNS server on Ubuntu and Ubuntu server How to use Java Reflection how to install apache web server on ubuntu and ubuntu server How to install Mail server on Ubuntu and Ubuntu server How to install squirrelmail webmail client on Ubuntu and Ubuntu Server Pass and return String value to JNI method Pass and return numeric value to JNI method Calling a C Function from the Java Programming Language using JNI AXIS 2 Sample web service Client with maven and eclipse How to setup AXIS 2 with Apache Tomcat AXIS 2 Sample web service with maven and eclipse Robot framework Sample with Selenium Robot framework Custom Library Sample Behaviour-Driven Development with JBehave and Eclipse Play Audio with Netbeans and linking with LibVLC Implement LibVLC based player with QT-part2 Simple Audio playing sample with LibVLC How to install LibVLC on Ubuntu Implement LibVLC based player with QT-part1
Next WSO2 APIM powered by WSO2 Ballerina
  1. Introduction

    Ballerina is Next WSO2 Gateway language is released recently. APIM also targeted new ballerina language to use for APIM Gateways. Ballerina language is used as integrating various service and have the ability to implement new logic based on that. Which is also have the more advanced feature than apache synapse we have used earlier. The inbuilt connectors allow connecting to the world via many protocols. Which is a graphical modeling programming language which is easy to implement using graphical components.

  2. Why Ballerina for APIM

    Ballerina is an awesome programming language which is easy to use for connecting. The following features help it making API management so easy.

    • A connector which let to connect services
    • In Built utilities function(json, string etc)
    • Ballerina composer, help to implement logic graphically
    • Ballerina composer’s swagger to ballerina and wise verse code generation Support
    • Swagger specification

    The above feature available in the Ballerina can be used in APIM to make it easy for users to come up with customizable APIs. unlike the previous releases, we encourage users to update ballerina source to introduce new logic and even resources. Because of the composer feature, it let users implement API resources and mediation logic easily. And also which is more reliable and unwilling for errors. Also, it supports most of the Swagger specification. That means we can write a ballerina service equal to a swagger API. Which feature is used by APIM and it can directly generate API by importing swagger definition. Also in composer which enable to design ballerina or swagger API and generate ballerina or swagger equal source.

  3. Play with Ballerina

    To get an idea about ballerina visit ballerina official website and try. There is a tryout editor where you can run your own code there and get the result. Also, you can see there is a different resource which contains about the ballerina. Also, you can visit the ballerina blog(https://medium.com/ballerinalang) which have a list of blogs.

  4. Try with APIM 3.0.0 M1

    APIM 3.0.0 M1 released recently and which used ballerina as a Gateway. So please refer APIM 3.0.0 official document from here

    1. Follow the step below to configure the Gateway.
      • For the API Manager 3.0.0 M1 release, Ballerina runtime is used as the Gateway.
      • Download Ballerina v0.8.1 runtime from here and extract it.
      • Both the Ballerina and WSO2 API Manager runtime servers are required to be hosted in the same for the moment.
      • Since both runtimes are using the same node, offset the Ballerina port by doing the following,
        • Open the <gwHome>/bre/conf/netty-transports.yml file.
        • Change the default port from 9090 to 9091.
        • Set the environment variable gwHome by pointing to the Ballerina home directory.
    2. Start the Ballerina runtime server.
      • If gwHome is configured, the Ballerina source for created APIs is generated in the /deployment/org/wso2/apim/ directory.
      • Open the terminal and change the directory to gwHome.
      • Start the Ballerina runtime by giving the relative path to the ballerina sources.
              	$ cd $gwHome
                $ bin/ballerina run service deployment/org/wso2/apim/
              
    3. Follow the steps below to invoke an API.
      • Before invoking an API, create and publish an API in the API Publisher.
      • Once a new API is published, the Ballerina server needs to be restarted for the APIs to be deployed. See step 2 above.
      • Subscribe to the API by creating a new application.
      • Make sure you generate an access token for the application.
      • Invoke the API using the following cURL command,
                  $ curl -H 'Authorization: Bearer e9352afd-a19d-3d40-9db3-b60e963ae91c' 'http://localhost:9091/hello/'           
                  $ Hello World!
                

Add Comment

* Required information
1000
Powered by Commentics

Comments (0)

No comments yet. Be the first!