Creation Gadget for WSO2 BAM - wso2

I am creation Gadget for WSO2 BAM dashboard. I need to add the data to the chart that gives service of monitored server as result. How can I make this data as values of charts?

The standard way to follow is,
You need to first expose this data through a service. Ex: Can be done through a data service with WSO2 DSS, a back end carbon component on top of WSO2 Carbon, or just any web service
Then, write a gadget to consume this service. Reference: gadget tutorial
PS. There is a new BAM that will make all these things extremely easy, without having to write code. It should be available towards the end of the year.

You can use the BAM2 alpha2 available in here for generating gadgets according to your requirement. It is now much easier to generate a gadget with drag and drop gadget IDE comes with BAM2.
You can find more information from documentation

This is available using GadgetGen tool feature under latest BAM version

Related

WSO2 API : how to create custom api usage statistics in wso2 api manager and analytics

I am fairly new in this tool. I need some guidance and help to create custom api usage statistics in wso2 api manager and analytics.
Right now I am using H2 database which is embedded in wso2 and need to generate report from database which has custom information.
I have been able to extract the data from various usage table like (API_RESOURCE_USAGE_SUMMARY and API_REQUEST_SUMMARY) but not able to include other details in this which is necessary for the use case on which I am working right now.
Guidance in this would be really helpful.

How to implement Edge computing using WSO2

I am currently running WSO2 Analytics on a windows server but I want implement the analysing part somehow that a client can connect to the server and do some processing like visualization on its own rather than all processing being done on the server. Is this something possible on WSO2 platform?
Thanks
You can setup database you want ( see the documentation ). For production usage I woudn't even recomment using the bundled H2 database. WSO2 analytics supports number of databases by default, I believe Oracle is one of them.
As stated in the comments - you can create a client or service which reads the data from the database and displays them its own way.
most challenging part for me is that how the client uses the information from the database?
This is already on your own (outside scope of this question). You've asked if your client can access the analytics (result) data - yes you can. How to do that is up to you. (depending what the client is, ..)
For example at our client they are building data APIs which are directly consumable by different frontend libraries creating nicer charts and reports.

Extract data from Crystal Reports via Web Service

I would like to access the aggregated data of a chart in a Crystal Report. It seems there are many different Web services such as SAP BO RESTful Web Service, Crystal Reports REST WebService, OpenDocument Web service and it is - to be honest - a bit confusing.
Does anyone know if accessing the aggregated data of a Crystal Report via a Web Service is possible?
If so, which web service is the correct one?
In the best case I would expect to get the data in XML or JSON format in return.
Thanks for your suggestions. :)
I'm not an expert on Crystal Reports, but you can already eliminate OpenDocument for this scenario, as this is used to open a document hosted in the BI Platform, and display it in the browser. The use case for OpenDocument is to provide inter- and intra-document links as well as allow you to link from outside the BI Platform to a specific document.
Using the Crystal Report REST SDK, you could perhaps use the OData protocol to retrieve the necessary information. Have a look at the RESTful Web Services documentation to see if that provides what you need (OData is described in section 3.6).

What is the best practices for WSO2 ESB in perticular XSLT transformations

I am working on WSO2 ESB 4.0.3 on MAC OS X Lion (10.7.4)
I would like to know what are the best practices for development for WSO2 ESB 4.0.3.
Currently I am using Data Services Feature in it and existing tomcat application, which we are trying to port to WSO2 ESB, does the SQL query in 2-3 seconds where as WSO2 ESB 4.0.3 with Data Services feature taking around 16-17 secodns.
I would be thankful if some body can let me know best practices for WSO2 and in perticular XSLT transformation.
Hoping for answer.
thanks
Hi Prabath
Here is how my environment is
I am using WSO2 ESB 4.0.3 with Data Services Feature 3.2.2. Proxy service front ends the DS service. Data sources are defined as carbon data sources in datasources.properties.
I tried to run the same service in the WSO2 Data Services Server 2.6.3 and the performance is comparable to what existing tomcat application does but the ESB 4.0.3 with Data Services Feature 3.2.2 takes 8 times more time than tomcat application. Looks like XSLT is not a issue as I thought earlier.
I have all the error handling & input validation in the proxy service which calls this DS.
Also I tried changing it to local for the transport but still same performance issue. Also I have to make sure the format of the forwarded XML is SOAP 12 in the end point definition otherwise proxy service does not forward with local transport.
Can you please suggest so that I can use WSO2 ESB with Data Services Feature 3.2.2 and get comparable performance?
Help really appreciated.
thanks
Abhijit
Hi Prabath
Thanks for reply.
Proxy service validation and transformation is not a problem. Looking at the logs it looks like Data Service deployed in ESB with Data Services feature is taking 8 times more time than the tomcat application. So it is Data Services Feature which is problem I believe and not the proxy service.
Even if we remove the proxy service where you will do the input validations and error handling?
Please let me know.
thanks
Abhijit
Abhijit,
I'm not quite clear of whether this problem is related to executing SQL using dbReport/dbLookup mediators against doing the same thing having data services features installed in ESB OR transforming responses using XSLT at the ESB layer against doing it at the DSS layer.
If it's the former, then you should be able to effectively use the db mediator pair (namely dbLookup and dbreport) to execute simple SQL queries such as SELECT, INSERT, UPDATE, DELETE, etc. However, it is not recommended to do use those mediators to do much complex queries such as stored procedures with "OUT and INOUT" parameters etc as WSO2 DSS is specifically designed to serve any sort of complex queries like that. However, this (using data services) comes at the cost of network latency. Because, you're invoking a data service endpoint through the network which obviously adds the network latency to the end-to-end time taken to get your task done. However, if you're using Data Services features installed in the WSO2 ESB, you always have the option of using "local" transport instead of "http/https" which does an in-JVM call and thus would not dispatch the request over the network.
If this is related to the later, meaning, if you refer to the XSLT transformations, I believe there's no such hard and fast rules in doing this and this would completely depend on your requirements and the usecase. For example, if you're only using WSO2 DSS and want to get some request transformed into a particular format that is expected by the client side, it would only be enough for you to get it done at the WSO2 DSS layer. Because, dispatching it into ESB ONLY for the sake of getting the XSLT transformation done, would add an additional unwanted overhead to the end-to-end completion time of your task. On the other hand, if you're doing this as a part of a configuration flow at the ESB side, then it's perfectly okay to use something like XSLT mediator inside the flow itself.
Hope this helps!
Regards.
Prabath
I hope Prabath already gave the answer to your question.
However, it is not recommended to do use those mediators to do much complex queries such as stored procedures with "OUT and INOUT" parameters etc as WSO2 DSS is specifically designed to serve any sort of complex queries like that. However, this (using data services) comes at the cost of network latency. Because, you're invoking a data service endpoint through the network which obviously adds the network latency to the end-to-end time taken to get your task done. However, if you're using Data Services features installed in the WSO2 ESB, you always have the option of using "local" transport instead of "http/https" which does an in-JVM call and thus would not dispatch the request over the network.

Creation Dashboard using WSO2 BAM already defined dashboards

I have question. I need to provide the report for my master work to compare BAM tools and one of them is WSO2 BAM.I am beginner in it. I have to provide dashboards in WSO2BAM which will take information from my own database, from Oracle. According to the theoretical introduction of WSO2BAM it has already defined dashboards and is it possible to configure it for my own database and how? and Is there some tutorials, some documentation or examples?
Check under user defined data in the BAM documentation. It should tell you how to do send custom events. After this is stored in the BAM database. You have to write a gadget and a data service or a back end component to pull out the data and display the data.