WSO2 Internship - V
Published:
In this series of posts, I provide some key points and Ideas that I report to my university during my internship. I arrange these posts as a set of reports, where each report provides the summary of tasks I have done during those four weeks of my training and the experience I gained during that period.
This post is the fifth post in the series of posts about my internship @WSO2.
I mainly focused on the last parts of my projects these four weeks, completing the search part and moving into the notification part. I have made the search part look like the one that existed in the Business Activity Manager’s Message Console. I also make it work efficiently for the dashboard level.
Then I move into the notification part; first, I have looked into the real-time analytics parts such as siddhi queries and execution plans. I have a look at the documentation and get a clear idea of that. Then I have a meeting with mentors regarding implementing things, and based on that, out of the six ideas proposed; they choose two scenarios since it becomes worthwhile doing. And I started doing that.
In the meantime, I also focused on the packaging artifacts as CApp. Then I started designing the dashboard first design dashboard to display the alerts that persisted in the event store. Then I focused on developing Interactive Map using the leaflet
javascript library, and Also I improved it to display the popup. After that, I have a look into the notification of SMS and Email Alerts using Alert Setting.
Problem Encountered & Things I learnt
Arbitrary Attribute
We can’t directly use the arbitrary attribute as it is commonly available as an arbitrary data map. The way to get specific arbitrary attribute is,
cast(map:get(ArbitraryMap,'relatedfield/key'), 'typeOfKey')
as fieldName
, here typeOfKey
can be string,long,int,double. fieldName
is used for ease of access.
cast(map:get(ArbitraryMap,'relatedfield/key'), 'typeOfKey')
can be used to filter the input streams based on our requirement.
Dealing with jaggery controller with CApp
We can use jaggery controller at dashboard rather than deploying it at /portal/controllers/apis
.
Template manager
Template manager use for complex event processing related concepts mainly, it is best practice for making the custom publisher
, executionplans
, eventstore
, eventstream
.
References
My Blog Links :