Discovering Admin Services in a WSO2 (Carbon) Server

This should be a quick how-to type guide; This method will work in any Carbon Based WSO2 Server (AS, ESB, BPS etc). I am taking WSO2 ESB as the example.

      1. Download the ESB and extract it. (lets say I extracted to {ESB_HOME})
      2. You will want to see the service contracts once you discover them so navigate to
        {ESB_HOME}/repository/conf

        and open carbon.xml

      3. make, HideAdminServiceWSDLs to false
        <HideAdminServiceWSDLs>false</HideAdminServiceWSDLs>

        and save the document

      4. Start the ESB with OSGI Console
        sh {ESB_HOME}/bin/wso2server.sh -DosgiConsole
      5. Once the server is started, push few return keys (hit enter) to get the OSGI shell in the console
      6. In the OSGI shell type
        osgi> listAdminServices
      7. That will give a list of services as shown below,
      1. All right now you want to see the service contract, lets select “Authentication Admin” Service which is listed as
AuthenticationAdmin, AuthenticationAdmin, https://192.168.219.1:8243/services/AuthenticationAdmin
    1. Take the url from the list and paste it in the browser with ?wsdl at the end, that will give the entire contract of the service

Happy Hacking :)

 

{jaggery.js}

Is something I’ve been working on at wso2 for sometime, if you are following me I have tweeted the updates, releases etc. Jaggery went live with its fifth milestone, few weeks ago at jaggeryjs.org, its still young and has alot to improve.

Explaining a little bit about jaggery; Its NOT an alternative to node, its simply a toolkit to easily compose webapps and apis. Its a completely javascript way of writing all parts of the web application, and communicate throughout in json. Jaggery has out of the box features to create RESTfull applications, and its one of it’s value propositions. Jaggery can be easily extended via modules which can be written in javascript or java for that matter.

A very simple page that prints out some request properties in jaggery looks like,

<html>
   <body>
      <p>
      <%
          print("Method : " + request.getMethod() + "<br/>");
          print("Protocol : " + request.getProtocol() + "<br/>");
          print("User-Agent : " + request.getHeader("User-Agent"));
      %>
      </p>
   </body>
</html>

Jaggery docs site also provide a tool for you to try out some code and play around. So you can simply copy the above code and paste in jaggery try-it

I recently did a webinar on jaggery that explains the simple case, over looking its API and samples. Below is the recording hope it’ll help.

Events notification (presentation) using WSO2 technologies

The post is about creating a dashboard to display event notifications using few of WSO2 Technologies.

Requirement : Capture events from an event sender and display it in a dashboard

Used Technologies : WSO2 Enterprise Service Bus, WSO2 Application Server, WSO2 Gadget Server

Architecture : In brief, events are generated randomly, ESB will act as an event sink, and it will publish the events to the subscribed parties (to a service deployed in WSO2 AS). There is a gadget deployed in WSO2 Gadget Server where it will poll the received events from the service periodically.

HOWTO :

The ESB

At the ESB end we will have to set up the event sink as following,

Then you need to create a topic in the ESB and subscribe the created service. Steps in doing so is documented here

The Service

A very simple service to accumulate the events (this is not at all production grade, who whats to keep all the event in memory ;) )

The Client

Its too long to post, you can check it at https://gist.github.com/1653062

You can run the client like “ant trafficevent -Dtrpurl=http://localhost:8280 -Devent=traffic.is.crazy

The Gadget

In Action