SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
UNIVERSITY OF MORATUWA
Faculty of Engineering
MN4062: Organizational Behaviour
Individual Assignment
Training Report
WSO2 Lanka (Pvt) Ltd.
Dissanayake A.Y.
120126K
Department of Computer Science & Engineering
Date of submission: 9​th​
May 2016
1
Preface
This document consists mainly of the complete record of the internship I had at WSO2 Lanka
(pvt) Ltd as a software engineering intern from 28th October 2015 to 22th April 2016 and the
information about the organization itself. The content boils down into three main chapters:
Introductory description about the training establishment, description about the training I went
through and a conclusion of the overall experience I had during this time period.
It is imperative to have solid and sound idea about the culture of the organization. Without the a
proper knowledge of the functionality and the routines of the company, it is not possible to
perform effectively within any organization. Hierarchy and the structure of the company is also a
very important factor when it comes to our role as a team player in an organization. While
grokking these, the most vital thing is to understand the business process, technology, strategies
and other standards of the organization. Hence, in the first chapter, I will provide an expansive
description of these topics.
The second chapter elaborates the overall experience I had during the internship period. It
contains both technical experiences and the not technical experience I have gathered. Unlike the
previous internship programs, we have undergone a special training program which is given to
any fresh regular software engineering employee in the the company. The purpose of this is to
get us prepared before joining into the actual product teams. During this time period we got to
know about company culture, it’s ethics, clients, all products erc. . After the completion of that
project, I was assigned to research team. There, I have implemented a 2 new systems one for
Wso2Con Asia 2016 and one for USA Presidential Election. In the meantime, we were able to
gather knowledge and experience on team working, effective communicating, presentations and
many other life skills as well. Moreover, I got the opportunity to participate in many major
events of the organization and some other jovial events as well. Most importantly, it is about the
essence which I need practice in order to join and perform well in the industry as a software
engineer. These facts will be expressed descriptively in the proceeding chapters.
The concluding chapter contains my own notion about the internship I have experienced during
the past twenty four weeks. I have assessed and evaluated the pros and cons of the organizations
and how I should be adapted in order to perform at my best in the industry using my internship
experience.
2
Acknowledgements
I would like to make this a privilege to send my gratitudes to each and every person who has
been out there for my assistance to get the best out of this internship. This will not have turned
out as one of the best professional experiences I have gathered in my life without the great
contribution afforded by them from the beginning to the end of the whole 24 weeks of the
internship.
I would take this opportunity to thank Dr. Dr. Chathura R. De Silva, Head of the Department of
Computer Science and Engineering, Faculty of Engineering, University of Moratuwa for the
guidance offered and the effort made to provide us with training establishments. Moreover, I
should thank Dr. Dilum Bandara who is the industrial training coordinator of the department for
his immense dedication. I am really grateful to him as he made sure each and every one of us
will be getting a very good training establishments for our internships and organized introductory
sessions from those organization to make us more aware about their technology and guided from
selecting an organization to the completion of the internship.
I would also like to thank Eng.Plnr. Ananda Gamage, director of Industrial Training Division,
University of Moratuwa and all staff members of Industrial Training Division for providing
necessary facilities for the internship and keeping track of our work and the quality of the
training provided by each training establishment. Further I like to thank officials of National
National Apprentice and Industrial Training Authority who guided us to learn what is intended
from this internship in the sense of an professional in the industry and examined us throughout
the internship period.
I am extremely grateful to Dr. Sanjiva Weerawarana, Founder, Chairman and CEO of WSO2
Lanka(pvt) Ltd offering me this invaluable opportunity to work in a globally recognized
organization. I should be thankful to Selvaratnam Uthaiyashankar, Vice President of Engineering
at WSO2 who conducted the interviews for me before recommending me for the internship at
WSO2. I’m also grateful to Dr Srinath Perera, vice president of research at WSO2 who has been
there for us guiding from the beginning to the end on how to enhance our knowledge and skills
with the environment
provided by WSO2 to build our career. I am thankful to Mr. Thilina Deharagoda, Director of
Administration and Human resources for her assistance provided to us in order to gather a better
learning and professional experience during our internship period.
3
I am really thankful to the team member of the WSO2 Complex Event Processor, Enterprise
Service Bus and Data Analytics Server teams, who guided me in my project. I would like to
mention specially Mr. Vivekanandalingam Mohanadarshan, Senior software engineer,
Mrs.Sachini Jayasekara, Software Engineer, Mr.Tishan Dahanayakage,Software Engineer,
Mr.Niranda Perera, Software Engineer , Mr.Isuru Perera,Associate Technical Lead ,Miss. Dilini
Muthumala,Software Engineer,Mr.Buddhima Wijeweera,Software Engineer, Mr.Gihan
Anuruddha,Senior Software Engineer,Mrs.Sinthuja Ragendran, Associate Technical Lead and
Dakshika Jayathilaka,team lead UI team who gave me an immense help during by providing me
supervision during my implementation. I highly appreciate their support during the
demonstration and the code reviews amidst their busy schedules.
Finally I will thank each and every employees other interns including minor staff in WSO2, who
had been there for and with me during this entire time sharing each others experience and
thought to improve our knowledge and skills. I am grateful to everyone for making this an
exhilarating time period of my career.
4
Table of contents
i. Preface
ii. Acknowledgements
iii. Table of contents
iv. List of figures
v. List of tables
1. Introduction to the training establishment
2. Training experiences
3. Conclusion
Annexes
References/ Bibliography
[1] Handbook
[2] ​http://sanjiva.weerawarana.org/2009/08/wso2-is-4-years-old.html
[3] stackoverflow
[4] wso2con
[5] WS-BPEL
Acronyms/ Abbreviations
5
1. Introduction to the training establishment.
1.1. About WSO2 Lanka (pvt) Ltd
The term “WSO2” is an abbreviation for the name “Webservices Oxygen”. As the name implies,
WOS2 has been able to become the life breath for most entities who are in search of better
solutions in web services. The organization has been founded in 2005 by pioneers in XML and
web services technologies and standards as well as open source. It offers a complete SOA
platform, 100% free and open source and with cloud approach through WSO2 Stratos. It also
offers the only known only 100% open source PaaS in the current era.
WSO2 is mainly focused on developing and producing top quality products and they have the
base on the free and open source Apache software stack. Hence all of the products are released
under the Apache Software License. The company consists of locally and globally recognized set
of passionate software engineers, accountants, marketing experts and many other professionals
who enjoy and work hard to perform their best in the industry. Most of the software engineers
are committers of software projects like Axis2, Rampart, Synapse, Sandesha, Transport,
Cassandra, Commons of the Apache foundation and various other software communities
including Eclipse, Ruby and Rails. All the products at WSO2 are developed around one core
called “core carbon framework‟ which has the base in Apache Axis2 and company encourage
employees to build their own personal brand contributing these projects.
6
In overall, there are several servers in WSO2 products which help its’ users to start with a
connected businesses when it comes to web based solutions. Following are the examples for
some of these:
● Identity server: Provides authentication and authorization, manage security aspects of
systems in a variety of range from simple shopping application to a military system.
● Data Analytics Server: Comprehensive enterprise data analytics platform; it fuses batch
and real-time analytics of any source of data with predictive analytics via machine
learning
● Enterprise Service Bus : Effectively addresses integration standards and supports all
integration patterns, enabling interoperability among various heterogeneous systems and
business applications.
To most people, it is not clear how this process leads to a sustainable business. To provide
training, support and consultancy for their products to the customers is the main business
strategy of WSO2. As products are free to download, test and play with, if the customer
is willing to have WSO2 support and training to bring up a business solution for them, then they
are charged for that service. The company maintains a SOA developer portal called „WSO2
Oxygen Tank‟ which includes a knowledge base, articles, webinars, screencasts and tutorials
which creates an online resource center for anyone who intend to try out WSO2 products
without any expenses.
Not only with Apache software foundation, being an open source organization, WSO2 has been
able to build so many connections around the globe and some of them can be indicated as
follows.
● The World Wide Web Consortium (W3C)
● Microsoft‟s InterOP Vendor Alliance InfoCard Foundation
● OASIS
● OpenID Foundation
● NBQSA Competitions
● AMQP Working Group
● SOAP, WSDL and WS-SEC standards
● OCERT and OAuth
WSO2 has its’ branch offices in USA and Sri Lanka and it has customers throughout the world.
The office in USA is at Bloomington. Those are the the latest establishments of the organization.
Those are still in their growing stages regarding the technical development activities. The
branches in Sri Lanka acts as the main research and development center of WSO2. It currently
7
operates from the offices located at the address: 20, Palm Grove, Colombo 03 and Trace
Building, Maradana, Sri Lanka.
WSO2 is still a young player in the industry with an age of 9 years, yet it has been able to make
an impact which confronts the industrial giants who have been in the arena for many years, with
a great challenge. In the current situation, ,many of the customers are beginning to admire the
high performance and light-weight solutions that WSO2 provides with comparison to IBM,
Oracle and Microsoft.
WSO2 has achieved its’ position as one of the top open source SOA organizations with a small
team size. I can undoubtedly say that WSO2 has instigated a revolutionary step in open source
software in Sri Lankas’ software industry and proved to world its’ value and capabilities.
1.1.1 Culture of the organization
Culture is strongly bonded with the term “Open source, Open culture” within the organization
and in the outside relationships. Everything is open and welcome to everyone, employees and
and customers. Some of the aspects of this culture are as follows:
● Flat hierarchy:
○ First come first serve basis in almost every thing.
○ Calling by the first name from CEO to the maintenance staff.
○ Decision making done with the approval of all the parties involved in the event
and communication is transparent to the entire organization, so that any interested
party can give their opinion as well.
● Using WSO2 properties:
○ If an employee is given a WSO2 asset(Laptop, tablet PC, book, etc.) for private
use, it is employees’ responsibility to maintain it properly.
○ These assets will have to be return to the company when leaving or upon request.
○ Assets such as web services, internet bandwidth, servers, user credentials,
libraries should be used with care.
○ No asset can be used for personal purposes.
● Collaborative work
○ Each and every employee is responsible for helping each other.
○ Employees should respect each other.
○ They should avoid speaking in native languages when there is a person who does
not speak that language.
8
● Every employee should adhere to Unlawful Harassment Policy (annex 1) and act
accordingly.
● Flexible working hours
○ The constraint on working hours is almost zero. Employees are able to keep their
own working hours. This promotes employees’ freedom at work. They do not
need to work in fixed hours unless during urgent events
○ It is mandatory to attend to the meetings, code reviews, discussions and
conferences sharp at time.
○ If employees have to work overnight, dinner and transport will be provided by the
company upon their request.
● Vacations and leaves
○ Employees have the freedom to have vacation plans and leaves as they want.
○ Merchandise holidays are company holidays as well.
○ Engineering employees can work from home.
○ Official holidays are there at the end of the year.
● Food and beverages are freely available for employees.
1.2. History of WSO2
Though WSO2 does not have an official inception day, it has declared its birthday as 04 th of
August 2005 because lots of important things happened around that day including incorporation
of USA company, incorporation of Sri Lankan company, incorporation of UK company and
finalizing funding. At first the company came up with the name “Serendib Systems” and later
changed to WSO2 because of a request from an investor [2].
Those initial investments setted a financially strong foundation for the company, so it gradually
started its developments step by steps with a group of talented, skillful people to bring the core
carbon framework into its functional state. As a result of their commitment during the initial
bitter times, WSO2 culminated as a strong competitor who keeps abreast with giants in the
middleware industry who have been there for a long time.
WSO2 first product was WSO2 Tungsten Web services application server and it was released in
August 2006. By the end of 2006 WSO2 released an alpha version of its’ Enterprise Services
Bus, WSO2 ESB. They have initiated WSO2 Carbon project and it was the first fully
9
componentized service-oriented architecture (SOA) framework built on the OSGi specification
combining all core features of previous products in the industry.
Currently WSO2 has created a competitive environment for Oracle and IBM companies who are
having similar kind of products.
1.3. Vision of WSO2
WSO2 has been prevailed persistently with a firm and clear vision for the future improvements
regarding products, customers, employees and growth of technologies. Vision of WSO2 can be
boiled down to following main four categories.
1.3.1. Reinvent the technology
At the time when WSO2s’ inception, the industry was ruled by giants such as Oracle and IBM.
But WSO2 kept strong in its’ belief that they can reinvent the technology so that in order to
achieve the benefits that current industrial giants did not possess. With the advantage of starting
a project from scratch, WSO2 has put the full effort to build up Carbon platform, which is
currently considered as one of the most advanced middleware platform. In order to refrain from
foreseeable pitfalls, the platform was designed to defend issues and increase the performance. By
adopting OSGi (Open Services Gateway initiative) framework, components of framework
enables lean, high performance approach with self-consistency across the platform and provide
pluggable behavior. With the help of that approach users will be able to use the components what
they actually require and invent their own solutions for their needs. In addition to being able to
customize the products, WSO2 provides opportunity for building multi-tenancy, elasticity,
instant provisioning, monitoring the performance and make the platform as a service (PaaS) in
public and private clouds. Likewise, WSO2 is playing a major role in cloud computing, which is
an emerging field in computer based world.
1.3.2. Reinvent the business relationship
Despite the technology at WSO2 has cutting edge aspects, the core value is recognized as the
quality of the business relationship with the customer. So WSO2 has taken radical steps to a
customer-oriented company.
All product software created in WSO2 are 100% open source, built in under a fully open and
transparent development process. For this purpose, the personnel use wso2.org mailing lists and
the ASF mailing list. There are no any license fees or trial version that expires within a period, as
10
all the products are released under the Apache License 2.0 which means that there is no any
restriction on the products. There is no community license or evaluation license. Each and every
user use the same version of product and they will get the same functionalities.
The value WSO2 brings to products uniquely is the relationship build with customers in
customizing the products to meet the maximum efficiency for the customers’ context. Through
the high quality training, support, consulting services, 24x7x365 production support, or an
entire solution, WSO2 suffices its’ main objective to provide high quality expertise to each
customers’ unique needs.
1.3.3. Reinvent the support model
Only marketing is not sufficient for a business to be successful and prevail in the industry. It also
requires to have very strong and sensitive customer support service which can understand the
responsibility of running the system. Deviating from the conventional supporting systems,
WSO2 uses an online support system, which allows users to direct the issues to the best source of
expertise including WSO2 developers on the product or committers to the open source project.
With that kind of a system, WSO2 provides the chance for the users to interact with the most
suitable person as soon as possible directly. WSO2 does not have a separate group of people
called “Support Engineers” in the premise, but uses engineers who actually contributed in the
development as they are the people who are most familiar with the products. Hence they will
know where exactly is the problems occur and figure out exact solutions for the issues that
customer requires solutions for. When required, WSO2 provide hot fixes, patches, and service
packs to make the system up and running well.
Except for the production support, WSO2 does not ask customers to pay for bundle of services
with even a little amount of value. Instead WSO2 gives opportunity for customers to purchase
the most appropriate service they need. That would let the customer to maximize the value of
return on investment as well. WSO2 believes that the successful customers are the best way to
make the company a successful one among rest of the companies in global middleware market.
1.3.4. Create a great place to work
With the incomparable experience, the CEO and co-founder of WSO2, Dr. Sanjiva Weerawarana
always pursued after goals not only like reinventing the technology, creating business
relationships and improve support model for enterprise software, but also bringing Silicon
Valley-style entrepreneurialism to Sri Lanka. As a result the heart of WSO2 development and
operations is centralized in Colombo, Sri Lanka.
11
With close relationships with the top local universities and building creative spirit and global
leadership in open source technologies, WSO2 has been able to achieve its’ position as a
paradise for local innovators. WSO2 was able to actualize the dream of creating Apache
committers from Sri Lankans, which was earlier considered a way out of league target.
WSO2 encouraged personal development of its employees up to a state where they get to leave
the company for doctoral studies abroad. These employees are also encouraged to return to
WSO2 or to instigate new entrepreneurial companies in Sri Lanka, or to find employment in
other organizations where they can invest their talents to make Sri Lanka and the whole world a
better place to live.
WSO2 has that one and only vision that is not in the rat race after money or fame. It has built a
sustainable business that benefits both customers and the company with employees and
finally adding value to Sri Lanka and the whole world. This is truly admirable and it make a
charismatic place for true innovators.
1.4. WSO2 business model
This organization is offering a 100% FOSS (Free and Open Source Software) products and
those can be downloaded at freely by any intended user and they can do whatever changes they
want in those systems. Thereafter they can use famous building tools like Maven to build
customized version of that product. This process makes customer to try on WSO2 products
before they bring it into the business. This strategy sets WSO2 completely apart from the giants
in the industry like IBM or Oracle, where the customer has to pay even before getting the
product.
Through an enterprise system customers expect a great performance, low risk, good quality
and availability of 24x7x365 support, where WSO2 identified as the opportunity to earn the
income. Selling software support, providing training, on-site and off-site consultancy for the
product stack will bring the revenue for WSO2. In addition to that some client projects are
also carried out.
This innovative business model enables WSO2 to compete with industrial giants like IBM,
Oracle and Microsoft who were there for long time and get the preference of customers.
1.5. Organizational structure of WSO2
12
Within the premise, WSO2 maintains a very flat and informal hierarchical structure and
everyone is treated equally regardless of their maturity.
This structure can be divided into sub sections as follows.
● Leadership
● Advisors
● Engineering
● Marketing
● Sales
● Operations
1.6. Products and service of WSO2
Every single product of WSO2 is 100% open source products and base on open standards. These
product are base on the concept of SOA. The main advantage of WSO2 products is those are
built on a common foundation - WSO2 Carbon, a modular, reconfigurable, elastic, OSGi-based
architecture. This creates a strong stable base for building large-scale enterprise applications, as
well as integrating with legacy and existing applications. (Annex 2)
This structure allows WSO2 products to have the following characteristics.
● High customizability.
● High flexibility.
● Consistency among products.
● Ability to integrate with large number of legacy and package apps.
WSO2 product can be categorized according to the following structure.
16.1. Middleware platforms
1.6.1.1. WSO2 Carbon platform
This is the core of many of the WSO2 products. It is a lean, complete, OSGi-based platform
which includes more than 175 components – OSGi bundles or Carbon features. The WSO2
Carbon core framework functions as “Eclipse for servers” and includes common capabilities
shared by all WSO2 products, such as built-in registry, user management, transports, security,
logging, clustering, caching and throttling services, co-ordination, and a GUI framework.
13
1.6.1.2 Data services
WSO2 Data Services Server comes under this category. This provides unprecedented data access
and straightforward integration with business processes, mashups, gadgets, business intelligence
and mobile applications. it also supports secure and managed data access across federated data
stores, data service transactions, and data transformation and validation using a lightweight,
developer friendly, agile development approach.
1.6.1.3. Connectivity services
This category consist of Application Server and the Message Broker.
● Application Server: It allows business logic and data to be processed across the entire IT
ecosystem.
● Message Broker: This enables applications to exchange communications asynchronously
or publish messages for timely access by many subscribers.
1.6.2. Mobile platforms
Under this category, WSO2 has Enterprise Mobility Manager. This is a is a comprehensive
platform that helps solve mobile computing challenges enterprises face in the present when
dealing with both corporate owned, personally enabled devices and employee owned devices as
part of a bring your own device (BYOD) program.
1.6.3. Development tools
WSO2 Developer Studio is a complete Eclipse-based SOA development environment for the
WSO2 Carbon platform. Using that, developers can define a project representing a complete
Composite Application (C-App) spanning multiple products and features.
Developer Studio, immensely simplifies creation of artifacts with graphical editors and
management of the links and dependencies between these services. Developers can develop,
debug and deploy composite applications and Web services on-premises and in the cloud from
one environment.
1.9. Contribution from WSO2 to the society
14
It is not a secret that WSO2 has been able instigate a new era of software industry here in Sri
Lanka. It has enable Sri Lankan professionals to contribute in globally recognized projects in
Apache Software Foundation in large scale. Unlike the most conventional software companies in
Sri Lanka, which act as branches or affiliations of foreign software companies, WSO2 has
managed to create its’ own brand and establish it the industry.
The annual event, WSO2Con brings together expertise from the world and makes it an
opportunity for Sri Lankan professionals to meet with them and exchange ideas. Selected student
participants get the opportunity to take part in this event for a very low price whereas the actual
tickets are not in a affordable price range for students.
Moreover, regarding the education in Sri Lanka, WSO2 encourages its’ employees to engage in
further studies in renowned universities outside Sri Lanka. In addition to that, many top level
employees in WSO2 provide mentorships for student projects in local universities and provides
internships, so that undergraduates can get exposure to the industry.
WSO2 also sponsors the events organized by universities. It has also initiated many CSR
projects.
2. Training experience.
2.1. Beginning of the internship at WSO2
On 28th October 2015, I stepped first into the WSO2 office as fresh intern. From the beginning,
it has been a new and exciting experience for me, since I have never been in such an
environment before. We were welcomed by Mr Charitha Bandara-Lead, Administration and HR
and Ms Pramila Rajapaksa, senior manager of human resources and administration.
First we started 3 days training program. That programme start with introductory session to get
to know each other including their passion and brief summery of themselves. To get familiar
with the company culture and other traditions of the company, Mr Charitha conducted an
introductory session on the culture, hierarchy and other technical and non technical information
which will be useful for us in the upcoming period. He introduced us to the people who can
supervise us during the training program. After this session we were given our first job. It was to
wander around the office, find information about the WSO2 products, culture, hierarchical
structure and events then prepare group presentations on them. We got to know senior staff as
well through the different activities like “1st time run assassins”which is like a treasure hunt.
There were several session on harassment, email etiquette etc. Mr Waruna De Silva introduced
15
us a product and architecture of the company. In the session of “How to do a proper
presentation” by Zaithoon Bin Ahamed-Lead Marketing Officer introduced us to basic steps of
presentation introduce us a basic and very useful steps of presentation preparation, creating
contents , proper delivery and appearance. In the session of personal branding we learned how to
have good social and cultural relationship. And also touch us not to be a duplicate of another
person and try to be yourself. Within that session we got to know what sanjiva is expecting from
us as a employees using his talk at the wso2Con 2015.
After that we were lead to Mr. Dinesh Edirisinghe, Assistant administration officer to get our
laptops to be used during the training period. During the first day at the office we configured our
laptops so that they can be used in training and development purposes. I installed Ubuntu 14.04
operating system and installed other required software packages.
After those initiatives, we have been assigned to Dr. Srinath Perera, VP, Research. From there on
we had to work under his supervision in research teams. At the beginning he provided us with
some knowledge about the technologies we need to understand before working with the product
teams. He introduced the products, what are they for and how the development process goes in
WSO2. He told us that there will be different procedure for us unlike the previous batches from
Department of Computer Science and Engineering.
2.2. Beginning of 1st Project- US Election Analytic System
2.2.1 Collect tweets from twitter API
At the afternoon he arrange meeting and explained us our 1st task to implement a “US Election
2016 analytic system ” . He told us to use wso2 3 major products
1. Enterprise Service Bus(ESC)
2. Complex Event Processor(CEP)
3. Data Analytic Server(DAS)
And he assigned us Mr. Chanuka Dissanayake,Software Engineer to get more helps and It was
our job to report our progress as we complete each task. 1st task of our project is to collect tweets
from twitter API and pass them to CEP and DAS(Figure 2.1).
16
Figure 2.1 Initial design of 1st project
There was 2 members in our team and we both together have to do this task. So 1st we get to
know about ESB and connectors of ESB through documentation within first few days we could
able to get tweets from twitter API through twitter connector and custom inbound endpoint and
pass them to CEP and DAS servers as cloned streams through http receivers.
After passing data to the CEP we used siddhi event tables to store data to the mySQL database
which is locally placed. And in DAS we use persisted event stream to store data to the analytic
databases in DAS. Then we wrote jaggery script and get the data from database and display.
With that we finished our first task and started our next task after held meeting with Dr Srinath.
2.2.2 Write analytic script to tweets
At the second meeting we go separate tasks. There was 2 major use cases which can be handle
using CEP and DAS. they are
1. Community map using d3 library
2. Implement tweet ranking algorithm using CEP and selection algorithm based on minor
research.
I was assigned to CEP and Dinali was assigned to work on d3 scripts for community map. First I
wrote custom siddhi stream processor to CEP. This make much complicated because rank should
be depend on current time. And also need to remove duplicate events while replacing the
maximum rank to the event. So I have to recalculate events ranks which are inside the window to
the current time time. So I used following(Figure 2.2) optimized algorithm for my
implementation.
17
Figure 2.2
After That I began the research part to find constant parameters and best suited algorithm to
protect behavior of tweets which when we take top 200 window tweets must be updated as far as
18
possible and also should keep 80th percentiles of tweets for a long time period near 24 hours
from following (Figure 2.3 )algorithms.
Figure 2.3
For the plotting I use python..After that I wrote blog post including graphs and results summaries
such as bellows.
Figure 2.4
Figure 2.5
Then we apply them to tweets as well as links in tweets and created a dynamically moving
tweets list using javascripts and jaggery.
19
Figure 2.6
Figure 2.7
For the to tweet link selection I have to design a flowchart to minimized the http request count
and optimized the server side wait as following(Figure xxx).
20
Then I finish that part and move to write a script to select party of the user when displaying it in
community graph. That function is the most cost and critical function in our system because we
need to have historical analysis for selection party of user. For that we need to visit user’s twitter
account and get his historical tweets and decide a party based on hashtags which he had
21
mentioned and getting the top percentage as a party.. For that I use following algorithm which
took least time.
Figure 2.9
After deciding party of user ,the tweets are directly stored in analytic tables. Then using sparks
scripts choose node tables and edge tables separately and feed them to d3 library through REST
API. Following i is the final view of community graph(Figure 2.10). Generating graph using d3
is done by Dinali and writing sparks script part done by Chehara and myself.
22
Figure 2.10
Then I move to the sentimental analysis part. That also include few research parts which we
should compare.I wrote RSS reader as CEP extension and extract top 10 full texts of news
articles and extract their titles. Our intention is to apply sentiments on those text chunks which
has extracts from google news through google news ranking algorithm and searching through
candidate full name. While we doing that we design to display news items on election 2016 for
every 15 time as a new ticker as following.
I selected several method which are commonly used for sentiment analysis and then with the
help of ​Yudhanjaya Wijeratne,Marketing Officer selected the 10 articles with the human read and put
some sentiment scores. Then we run all sentimental analysis algorithms through that article and get results
23
and plot them as following (Figure 2.11) using python script. Then took the algorithm which had most
close result to human assign ranks.
Figure 2.11
Figure 2.12
24
After that I implemented it as CEP extension and then display the result as bar chart using
vizgramma library as follows(Figure 2.13). I put top 3 news item per day as tooltip.
My next task is to implement an extension which could count unique users for each party for 24
hours. For that I use unique counting time batch window which return me the most lates count
for each user. That part is display as following as real time updating counter using jaggery and js.
25
My next task is to create wordcloud.
2.3 Implement wso2Con track monitor for wso2Con 2016 (under project works this can move to
anex)
26
27
2.4 Code Reviews Notes
Some I got to know in code review
● There were several coding guidelines that we should adhere with. Because in the product
teams, the code quality is required, practicing according to these guidelines were very
important. Eclipse IDE users should use code cleanup template and code formatting
template prepared for WSO2 standards.
● There were coding standards we should practise. These are as follows.
28
○ Comments: Regarding the Doc comments, All classes and all methods/functions
MUST have doc comments. There each parameter, return type and assumptions
made should be clearly explained.Regarding the line comments, In case we have
complex logic, we have to explain it and the rationale for using that
methodology.
○ When logging, we should make it a habit to log then and there with ample local
information and context. We need to remember that logs are for users. So those
need to be meaningful, readable and also spelling and grammar should be correct.
We have to use correct log level, for an example, not to log errors as warnings or
vice versa. Before throwing any exception, it is required to log the error otherwise
there is no use in logging as that point of the code will not be reached.
○ There are several considerations when implementing our logic. We should make
our code readable first. It is required to use meaningful variable names as
compilers are able to handle very long variable names. Variables should be
declared in locality only when required. The underscore character should be used
only when declaring constants, and should not be used anywhere else in Java
code. Important thing about function/method names is they should be self
descriptive. One should be able explain a function/method using a single sentence
without conjunctions (that is no and/or in description). We should use status
variables to capture status and return at the end whenever possible. In case of
returning a collection, the program must return an empty collection and not null (or
NULL). We should not use interfaces to declare constants. Use a final class with
public static final attributes and a private constructor. It is a good practice to
always use braces to surround code blocks ({}) even if it is a single line. There are
many other simple rules and those can be put forward as follows.
■ Break code into multiple lines if it exceeds 100 columns.
■ Align method parameters, exception etc. in order to improve readability.
Use the settings in your IDE to do this.
■ Be sure to define, who should catch an exception when throwing one.
■ Be sure to catch those exceptions that you can handle.
■ Do not use string literals in the code, instead declare constants and use
them, constant names should be self descriptive.
■ Use constants already defined whenever possible, check to see if
someone already declared one, specially in base libs, like Axis2.
It is strongly recommended to run FindBugs on any new code or modified code, and commit
only after fixing any bugs reported by FindBugs. It is recommended to use the IntellijIDEA
(FindBugs-IDEA) or Eclipse FindBugs plugin to do this.
29
30

Mais conteúdo relacionado

Mais procurados

Internship report 2007eit043
Internship report 2007eit043Internship report 2007eit043
Internship report 2007eit043Isha Jain
 
Computer science/ IT Fianl attachment report
Computer science/ IT Fianl attachment reportComputer science/ IT Fianl attachment report
Computer science/ IT Fianl attachment reportPaullaster Okoth
 
Internship report-csit-isp_networking
 Internship report-csit-isp_networking Internship report-csit-isp_networking
Internship report-csit-isp_networkingsagarAcharya35
 
Computer science industrial training report carried out at web info net ltd ...
Computer science  industrial training report carried out at web info net ltd ...Computer science  industrial training report carried out at web info net ltd ...
Computer science industrial training report carried out at web info net ltd ...rashid muganga
 
Internship report (1)
Internship report (1)Internship report (1)
Internship report (1)brhne fitsum
 
Yuhang Chen - Internship Report
Yuhang Chen - Internship ReportYuhang Chen - Internship Report
Yuhang Chen - Internship ReportYuhang Chen
 
Information technology Internship report
Information technology Internship reportInformation technology Internship report
Information technology Internship reportRodney kaweesa
 
Final Report - Essam Khalid
Final Report - Essam KhalidFinal Report - Essam Khalid
Final Report - Essam KhalidEssam Khalid
 
Computer Science Internship Report PDF Leena AI
Computer Science Internship Report PDF Leena AIComputer Science Internship Report PDF Leena AI
Computer Science Internship Report PDF Leena AIshadowhazard77
 
Final Internship Report
Final Internship ReportFinal Internship Report
Final Internship ReportMinhas Kamal
 
Industrial training report
Industrial training reportIndustrial training report
Industrial training reportChanaka Sudheera
 
WMO Summer Training Report 2011
WMO Summer Training Report 2011WMO Summer Training Report 2011
WMO Summer Training Report 2011Varun Chopra
 
Portfolio report
Portfolio reportPortfolio report
Portfolio reportsaroshtk
 

Mais procurados (20)

Internship Report
Internship ReportInternship Report
Internship Report
 
Internship report 2007eit043
Internship report 2007eit043Internship report 2007eit043
Internship report 2007eit043
 
Internship Report
Internship ReportInternship Report
Internship Report
 
Software Engineering Internship
Software Engineering InternshipSoftware Engineering Internship
Software Engineering Internship
 
Computer science/ IT Fianl attachment report
Computer science/ IT Fianl attachment reportComputer science/ IT Fianl attachment report
Computer science/ IT Fianl attachment report
 
Internship report-csit-isp_networking
 Internship report-csit-isp_networking Internship report-csit-isp_networking
Internship report-csit-isp_networking
 
Computer science industrial training report carried out at web info net ltd ...
Computer science  industrial training report carried out at web info net ltd ...Computer science  industrial training report carried out at web info net ltd ...
Computer science industrial training report carried out at web info net ltd ...
 
Internship report (1)
Internship report (1)Internship report (1)
Internship report (1)
 
Yuhang Chen - Internship Report
Yuhang Chen - Internship ReportYuhang Chen - Internship Report
Yuhang Chen - Internship Report
 
Information technology Internship report
Information technology Internship reportInformation technology Internship report
Information technology Internship report
 
Final Report - Essam Khalid
Final Report - Essam KhalidFinal Report - Essam Khalid
Final Report - Essam Khalid
 
Computer Science Internship Report PDF Leena AI
Computer Science Internship Report PDF Leena AIComputer Science Internship Report PDF Leena AI
Computer Science Internship Report PDF Leena AI
 
Final Internship Report
Final Internship ReportFinal Internship Report
Final Internship Report
 
COOP REPORT
COOP REPORTCOOP REPORT
COOP REPORT
 
internship report covert
internship report covertinternship report covert
internship report covert
 
Industrial training report
Industrial training reportIndustrial training report
Industrial training report
 
WMO Summer Training Report 2011
WMO Summer Training Report 2011WMO Summer Training Report 2011
WMO Summer Training Report 2011
 
120463N
120463N120463N
120463N
 
Industrial training report
Industrial training report Industrial training report
Industrial training report
 
Portfolio report
Portfolio reportPortfolio report
Portfolio report
 

Semelhante a Internship Wso2

Open source CMS tool for web based job portal and recruitment system Thesis
Open source CMS tool for web based job portal and recruitment system ThesisOpen source CMS tool for web based job portal and recruitment system Thesis
Open source CMS tool for web based job portal and recruitment system ThesisArjun Rajeswaran
 
Satellite Systems and Terrestrial TV Distribution and receiving systems
Satellite Systems and Terrestrial TV Distribution and receiving systems Satellite Systems and Terrestrial TV Distribution and receiving systems
Satellite Systems and Terrestrial TV Distribution and receiving systems Chamira Nanayakkara
 
DIGITAL MARKETING PROJECT
DIGITAL MARKETING PROJECTDIGITAL MARKETING PROJECT
DIGITAL MARKETING PROJECTYugandhara Kute
 
Academia ERP Presentation - College and University Management System
Academia ERP Presentation - College and University Management SystemAcademia ERP Presentation - College and University Management System
Academia ERP Presentation - College and University Management SystemArpit Badjatya
 
My Internship Document part1
My Internship Document part1My Internship Document part1
My Internship Document part1Shashi_S_S
 
ERP on School Management System
ERP on School Management SystemERP on School Management System
ERP on School Management SystemAmit Gandhi
 
DeepSource Modernizing Code Analysis for Software Engineers.4.pptx
DeepSource Modernizing Code Analysis for Software Engineers.4.pptxDeepSource Modernizing Code Analysis for Software Engineers.4.pptx
DeepSource Modernizing Code Analysis for Software Engineers.4.pptxEntrepreneurFirstMed
 
tata power, SED internship report
tata power, SED internship reporttata power, SED internship report
tata power, SED internship reportAashish Sadri
 
BSCIMS_Thesis
BSCIMS_ThesisBSCIMS_Thesis
BSCIMS_ThesisJose Rego
 
dissertation- rukiye kırgıl - copy
dissertation- rukiye kırgıl - copydissertation- rukiye kırgıl - copy
dissertation- rukiye kırgıl - copyRukiye KIRGIL
 
Rcruitment & selection
Rcruitment & selectionRcruitment & selection
Rcruitment & selectionankush bathla
 
GAS MANAGEMENT SYSTEM.pdf
GAS MANAGEMENT SYSTEM.pdfGAS MANAGEMENT SYSTEM.pdf
GAS MANAGEMENT SYSTEM.pdfRmsDagi
 

Semelhante a Internship Wso2 (20)

Internship Report
Internship ReportInternship Report
Internship Report
 
Internship at SELISE
Internship at SELISEInternship at SELISE
Internship at SELISE
 
Help desk system report
Help desk system reportHelp desk system report
Help desk system report
 
Open source CMS tool for web based job portal and recruitment system Thesis
Open source CMS tool for web based job portal and recruitment system ThesisOpen source CMS tool for web based job portal and recruitment system Thesis
Open source CMS tool for web based job portal and recruitment system Thesis
 
Satellite Systems and Terrestrial TV Distribution and receiving systems
Satellite Systems and Terrestrial TV Distribution and receiving systems Satellite Systems and Terrestrial TV Distribution and receiving systems
Satellite Systems and Terrestrial TV Distribution and receiving systems
 
Proj
ProjProj
Proj
 
DIGITAL MARKETING PROJECT
DIGITAL MARKETING PROJECTDIGITAL MARKETING PROJECT
DIGITAL MARKETING PROJECT
 
Academia ERP Presentation - College and University Management System
Academia ERP Presentation - College and University Management SystemAcademia ERP Presentation - College and University Management System
Academia ERP Presentation - College and University Management System
 
Print
PrintPrint
Print
 
My Internship Document part1
My Internship Document part1My Internship Document part1
My Internship Document part1
 
ERP on School Management System
ERP on School Management SystemERP on School Management System
ERP on School Management System
 
Intern at leads corporation
Intern at leads corporationIntern at leads corporation
Intern at leads corporation
 
3 job adda doc 1
3 job adda doc 13 job adda doc 1
3 job adda doc 1
 
DeepSource Modernizing Code Analysis for Software Engineers.4.pptx
DeepSource Modernizing Code Analysis for Software Engineers.4.pptxDeepSource Modernizing Code Analysis for Software Engineers.4.pptx
DeepSource Modernizing Code Analysis for Software Engineers.4.pptx
 
tata power, SED internship report
tata power, SED internship reporttata power, SED internship report
tata power, SED internship report
 
BSCIMS_Thesis
BSCIMS_ThesisBSCIMS_Thesis
BSCIMS_Thesis
 
dissertation- rukiye kırgıl - copy
dissertation- rukiye kırgıl - copydissertation- rukiye kırgıl - copy
dissertation- rukiye kırgıl - copy
 
Online Job Portal
Online Job PortalOnline Job Portal
Online Job Portal
 
Rcruitment & selection
Rcruitment & selectionRcruitment & selection
Rcruitment & selection
 
GAS MANAGEMENT SYSTEM.pdf
GAS MANAGEMENT SYSTEM.pdfGAS MANAGEMENT SYSTEM.pdf
GAS MANAGEMENT SYSTEM.pdf
 

Último

Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxfenichawla
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...ranjana rawat
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdfKamal Acharya
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 

Último (20)

Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 

Internship Wso2

  • 1. UNIVERSITY OF MORATUWA Faculty of Engineering MN4062: Organizational Behaviour Individual Assignment Training Report WSO2 Lanka (Pvt) Ltd. Dissanayake A.Y. 120126K Department of Computer Science & Engineering Date of submission: 9​th​ May 2016 1
  • 2. Preface This document consists mainly of the complete record of the internship I had at WSO2 Lanka (pvt) Ltd as a software engineering intern from 28th October 2015 to 22th April 2016 and the information about the organization itself. The content boils down into three main chapters: Introductory description about the training establishment, description about the training I went through and a conclusion of the overall experience I had during this time period. It is imperative to have solid and sound idea about the culture of the organization. Without the a proper knowledge of the functionality and the routines of the company, it is not possible to perform effectively within any organization. Hierarchy and the structure of the company is also a very important factor when it comes to our role as a team player in an organization. While grokking these, the most vital thing is to understand the business process, technology, strategies and other standards of the organization. Hence, in the first chapter, I will provide an expansive description of these topics. The second chapter elaborates the overall experience I had during the internship period. It contains both technical experiences and the not technical experience I have gathered. Unlike the previous internship programs, we have undergone a special training program which is given to any fresh regular software engineering employee in the the company. The purpose of this is to get us prepared before joining into the actual product teams. During this time period we got to know about company culture, it’s ethics, clients, all products erc. . After the completion of that project, I was assigned to research team. There, I have implemented a 2 new systems one for Wso2Con Asia 2016 and one for USA Presidential Election. In the meantime, we were able to gather knowledge and experience on team working, effective communicating, presentations and many other life skills as well. Moreover, I got the opportunity to participate in many major events of the organization and some other jovial events as well. Most importantly, it is about the essence which I need practice in order to join and perform well in the industry as a software engineer. These facts will be expressed descriptively in the proceeding chapters. The concluding chapter contains my own notion about the internship I have experienced during the past twenty four weeks. I have assessed and evaluated the pros and cons of the organizations and how I should be adapted in order to perform at my best in the industry using my internship experience. 2
  • 3. Acknowledgements I would like to make this a privilege to send my gratitudes to each and every person who has been out there for my assistance to get the best out of this internship. This will not have turned out as one of the best professional experiences I have gathered in my life without the great contribution afforded by them from the beginning to the end of the whole 24 weeks of the internship. I would take this opportunity to thank Dr. Dr. Chathura R. De Silva, Head of the Department of Computer Science and Engineering, Faculty of Engineering, University of Moratuwa for the guidance offered and the effort made to provide us with training establishments. Moreover, I should thank Dr. Dilum Bandara who is the industrial training coordinator of the department for his immense dedication. I am really grateful to him as he made sure each and every one of us will be getting a very good training establishments for our internships and organized introductory sessions from those organization to make us more aware about their technology and guided from selecting an organization to the completion of the internship. I would also like to thank Eng.Plnr. Ananda Gamage, director of Industrial Training Division, University of Moratuwa and all staff members of Industrial Training Division for providing necessary facilities for the internship and keeping track of our work and the quality of the training provided by each training establishment. Further I like to thank officials of National National Apprentice and Industrial Training Authority who guided us to learn what is intended from this internship in the sense of an professional in the industry and examined us throughout the internship period. I am extremely grateful to Dr. Sanjiva Weerawarana, Founder, Chairman and CEO of WSO2 Lanka(pvt) Ltd offering me this invaluable opportunity to work in a globally recognized organization. I should be thankful to Selvaratnam Uthaiyashankar, Vice President of Engineering at WSO2 who conducted the interviews for me before recommending me for the internship at WSO2. I’m also grateful to Dr Srinath Perera, vice president of research at WSO2 who has been there for us guiding from the beginning to the end on how to enhance our knowledge and skills with the environment provided by WSO2 to build our career. I am thankful to Mr. Thilina Deharagoda, Director of Administration and Human resources for her assistance provided to us in order to gather a better learning and professional experience during our internship period. 3
  • 4. I am really thankful to the team member of the WSO2 Complex Event Processor, Enterprise Service Bus and Data Analytics Server teams, who guided me in my project. I would like to mention specially Mr. Vivekanandalingam Mohanadarshan, Senior software engineer, Mrs.Sachini Jayasekara, Software Engineer, Mr.Tishan Dahanayakage,Software Engineer, Mr.Niranda Perera, Software Engineer , Mr.Isuru Perera,Associate Technical Lead ,Miss. Dilini Muthumala,Software Engineer,Mr.Buddhima Wijeweera,Software Engineer, Mr.Gihan Anuruddha,Senior Software Engineer,Mrs.Sinthuja Ragendran, Associate Technical Lead and Dakshika Jayathilaka,team lead UI team who gave me an immense help during by providing me supervision during my implementation. I highly appreciate their support during the demonstration and the code reviews amidst their busy schedules. Finally I will thank each and every employees other interns including minor staff in WSO2, who had been there for and with me during this entire time sharing each others experience and thought to improve our knowledge and skills. I am grateful to everyone for making this an exhilarating time period of my career. 4
  • 5. Table of contents i. Preface ii. Acknowledgements iii. Table of contents iv. List of figures v. List of tables 1. Introduction to the training establishment 2. Training experiences 3. Conclusion Annexes References/ Bibliography [1] Handbook [2] ​http://sanjiva.weerawarana.org/2009/08/wso2-is-4-years-old.html [3] stackoverflow [4] wso2con [5] WS-BPEL Acronyms/ Abbreviations 5
  • 6. 1. Introduction to the training establishment. 1.1. About WSO2 Lanka (pvt) Ltd The term “WSO2” is an abbreviation for the name “Webservices Oxygen”. As the name implies, WOS2 has been able to become the life breath for most entities who are in search of better solutions in web services. The organization has been founded in 2005 by pioneers in XML and web services technologies and standards as well as open source. It offers a complete SOA platform, 100% free and open source and with cloud approach through WSO2 Stratos. It also offers the only known only 100% open source PaaS in the current era. WSO2 is mainly focused on developing and producing top quality products and they have the base on the free and open source Apache software stack. Hence all of the products are released under the Apache Software License. The company consists of locally and globally recognized set of passionate software engineers, accountants, marketing experts and many other professionals who enjoy and work hard to perform their best in the industry. Most of the software engineers are committers of software projects like Axis2, Rampart, Synapse, Sandesha, Transport, Cassandra, Commons of the Apache foundation and various other software communities including Eclipse, Ruby and Rails. All the products at WSO2 are developed around one core called “core carbon framework‟ which has the base in Apache Axis2 and company encourage employees to build their own personal brand contributing these projects. 6
  • 7. In overall, there are several servers in WSO2 products which help its’ users to start with a connected businesses when it comes to web based solutions. Following are the examples for some of these: ● Identity server: Provides authentication and authorization, manage security aspects of systems in a variety of range from simple shopping application to a military system. ● Data Analytics Server: Comprehensive enterprise data analytics platform; it fuses batch and real-time analytics of any source of data with predictive analytics via machine learning ● Enterprise Service Bus : Effectively addresses integration standards and supports all integration patterns, enabling interoperability among various heterogeneous systems and business applications. To most people, it is not clear how this process leads to a sustainable business. To provide training, support and consultancy for their products to the customers is the main business strategy of WSO2. As products are free to download, test and play with, if the customer is willing to have WSO2 support and training to bring up a business solution for them, then they are charged for that service. The company maintains a SOA developer portal called „WSO2 Oxygen Tank‟ which includes a knowledge base, articles, webinars, screencasts and tutorials which creates an online resource center for anyone who intend to try out WSO2 products without any expenses. Not only with Apache software foundation, being an open source organization, WSO2 has been able to build so many connections around the globe and some of them can be indicated as follows. ● The World Wide Web Consortium (W3C) ● Microsoft‟s InterOP Vendor Alliance InfoCard Foundation ● OASIS ● OpenID Foundation ● NBQSA Competitions ● AMQP Working Group ● SOAP, WSDL and WS-SEC standards ● OCERT and OAuth WSO2 has its’ branch offices in USA and Sri Lanka and it has customers throughout the world. The office in USA is at Bloomington. Those are the the latest establishments of the organization. Those are still in their growing stages regarding the technical development activities. The branches in Sri Lanka acts as the main research and development center of WSO2. It currently 7
  • 8. operates from the offices located at the address: 20, Palm Grove, Colombo 03 and Trace Building, Maradana, Sri Lanka. WSO2 is still a young player in the industry with an age of 9 years, yet it has been able to make an impact which confronts the industrial giants who have been in the arena for many years, with a great challenge. In the current situation, ,many of the customers are beginning to admire the high performance and light-weight solutions that WSO2 provides with comparison to IBM, Oracle and Microsoft. WSO2 has achieved its’ position as one of the top open source SOA organizations with a small team size. I can undoubtedly say that WSO2 has instigated a revolutionary step in open source software in Sri Lankas’ software industry and proved to world its’ value and capabilities. 1.1.1 Culture of the organization Culture is strongly bonded with the term “Open source, Open culture” within the organization and in the outside relationships. Everything is open and welcome to everyone, employees and and customers. Some of the aspects of this culture are as follows: ● Flat hierarchy: ○ First come first serve basis in almost every thing. ○ Calling by the first name from CEO to the maintenance staff. ○ Decision making done with the approval of all the parties involved in the event and communication is transparent to the entire organization, so that any interested party can give their opinion as well. ● Using WSO2 properties: ○ If an employee is given a WSO2 asset(Laptop, tablet PC, book, etc.) for private use, it is employees’ responsibility to maintain it properly. ○ These assets will have to be return to the company when leaving or upon request. ○ Assets such as web services, internet bandwidth, servers, user credentials, libraries should be used with care. ○ No asset can be used for personal purposes. ● Collaborative work ○ Each and every employee is responsible for helping each other. ○ Employees should respect each other. ○ They should avoid speaking in native languages when there is a person who does not speak that language. 8
  • 9. ● Every employee should adhere to Unlawful Harassment Policy (annex 1) and act accordingly. ● Flexible working hours ○ The constraint on working hours is almost zero. Employees are able to keep their own working hours. This promotes employees’ freedom at work. They do not need to work in fixed hours unless during urgent events ○ It is mandatory to attend to the meetings, code reviews, discussions and conferences sharp at time. ○ If employees have to work overnight, dinner and transport will be provided by the company upon their request. ● Vacations and leaves ○ Employees have the freedom to have vacation plans and leaves as they want. ○ Merchandise holidays are company holidays as well. ○ Engineering employees can work from home. ○ Official holidays are there at the end of the year. ● Food and beverages are freely available for employees. 1.2. History of WSO2 Though WSO2 does not have an official inception day, it has declared its birthday as 04 th of August 2005 because lots of important things happened around that day including incorporation of USA company, incorporation of Sri Lankan company, incorporation of UK company and finalizing funding. At first the company came up with the name “Serendib Systems” and later changed to WSO2 because of a request from an investor [2]. Those initial investments setted a financially strong foundation for the company, so it gradually started its developments step by steps with a group of talented, skillful people to bring the core carbon framework into its functional state. As a result of their commitment during the initial bitter times, WSO2 culminated as a strong competitor who keeps abreast with giants in the middleware industry who have been there for a long time. WSO2 first product was WSO2 Tungsten Web services application server and it was released in August 2006. By the end of 2006 WSO2 released an alpha version of its’ Enterprise Services Bus, WSO2 ESB. They have initiated WSO2 Carbon project and it was the first fully 9
  • 10. componentized service-oriented architecture (SOA) framework built on the OSGi specification combining all core features of previous products in the industry. Currently WSO2 has created a competitive environment for Oracle and IBM companies who are having similar kind of products. 1.3. Vision of WSO2 WSO2 has been prevailed persistently with a firm and clear vision for the future improvements regarding products, customers, employees and growth of technologies. Vision of WSO2 can be boiled down to following main four categories. 1.3.1. Reinvent the technology At the time when WSO2s’ inception, the industry was ruled by giants such as Oracle and IBM. But WSO2 kept strong in its’ belief that they can reinvent the technology so that in order to achieve the benefits that current industrial giants did not possess. With the advantage of starting a project from scratch, WSO2 has put the full effort to build up Carbon platform, which is currently considered as one of the most advanced middleware platform. In order to refrain from foreseeable pitfalls, the platform was designed to defend issues and increase the performance. By adopting OSGi (Open Services Gateway initiative) framework, components of framework enables lean, high performance approach with self-consistency across the platform and provide pluggable behavior. With the help of that approach users will be able to use the components what they actually require and invent their own solutions for their needs. In addition to being able to customize the products, WSO2 provides opportunity for building multi-tenancy, elasticity, instant provisioning, monitoring the performance and make the platform as a service (PaaS) in public and private clouds. Likewise, WSO2 is playing a major role in cloud computing, which is an emerging field in computer based world. 1.3.2. Reinvent the business relationship Despite the technology at WSO2 has cutting edge aspects, the core value is recognized as the quality of the business relationship with the customer. So WSO2 has taken radical steps to a customer-oriented company. All product software created in WSO2 are 100% open source, built in under a fully open and transparent development process. For this purpose, the personnel use wso2.org mailing lists and the ASF mailing list. There are no any license fees or trial version that expires within a period, as 10
  • 11. all the products are released under the Apache License 2.0 which means that there is no any restriction on the products. There is no community license or evaluation license. Each and every user use the same version of product and they will get the same functionalities. The value WSO2 brings to products uniquely is the relationship build with customers in customizing the products to meet the maximum efficiency for the customers’ context. Through the high quality training, support, consulting services, 24x7x365 production support, or an entire solution, WSO2 suffices its’ main objective to provide high quality expertise to each customers’ unique needs. 1.3.3. Reinvent the support model Only marketing is not sufficient for a business to be successful and prevail in the industry. It also requires to have very strong and sensitive customer support service which can understand the responsibility of running the system. Deviating from the conventional supporting systems, WSO2 uses an online support system, which allows users to direct the issues to the best source of expertise including WSO2 developers on the product or committers to the open source project. With that kind of a system, WSO2 provides the chance for the users to interact with the most suitable person as soon as possible directly. WSO2 does not have a separate group of people called “Support Engineers” in the premise, but uses engineers who actually contributed in the development as they are the people who are most familiar with the products. Hence they will know where exactly is the problems occur and figure out exact solutions for the issues that customer requires solutions for. When required, WSO2 provide hot fixes, patches, and service packs to make the system up and running well. Except for the production support, WSO2 does not ask customers to pay for bundle of services with even a little amount of value. Instead WSO2 gives opportunity for customers to purchase the most appropriate service they need. That would let the customer to maximize the value of return on investment as well. WSO2 believes that the successful customers are the best way to make the company a successful one among rest of the companies in global middleware market. 1.3.4. Create a great place to work With the incomparable experience, the CEO and co-founder of WSO2, Dr. Sanjiva Weerawarana always pursued after goals not only like reinventing the technology, creating business relationships and improve support model for enterprise software, but also bringing Silicon Valley-style entrepreneurialism to Sri Lanka. As a result the heart of WSO2 development and operations is centralized in Colombo, Sri Lanka. 11
  • 12. With close relationships with the top local universities and building creative spirit and global leadership in open source technologies, WSO2 has been able to achieve its’ position as a paradise for local innovators. WSO2 was able to actualize the dream of creating Apache committers from Sri Lankans, which was earlier considered a way out of league target. WSO2 encouraged personal development of its employees up to a state where they get to leave the company for doctoral studies abroad. These employees are also encouraged to return to WSO2 or to instigate new entrepreneurial companies in Sri Lanka, or to find employment in other organizations where they can invest their talents to make Sri Lanka and the whole world a better place to live. WSO2 has that one and only vision that is not in the rat race after money or fame. It has built a sustainable business that benefits both customers and the company with employees and finally adding value to Sri Lanka and the whole world. This is truly admirable and it make a charismatic place for true innovators. 1.4. WSO2 business model This organization is offering a 100% FOSS (Free and Open Source Software) products and those can be downloaded at freely by any intended user and they can do whatever changes they want in those systems. Thereafter they can use famous building tools like Maven to build customized version of that product. This process makes customer to try on WSO2 products before they bring it into the business. This strategy sets WSO2 completely apart from the giants in the industry like IBM or Oracle, where the customer has to pay even before getting the product. Through an enterprise system customers expect a great performance, low risk, good quality and availability of 24x7x365 support, where WSO2 identified as the opportunity to earn the income. Selling software support, providing training, on-site and off-site consultancy for the product stack will bring the revenue for WSO2. In addition to that some client projects are also carried out. This innovative business model enables WSO2 to compete with industrial giants like IBM, Oracle and Microsoft who were there for long time and get the preference of customers. 1.5. Organizational structure of WSO2 12
  • 13. Within the premise, WSO2 maintains a very flat and informal hierarchical structure and everyone is treated equally regardless of their maturity. This structure can be divided into sub sections as follows. ● Leadership ● Advisors ● Engineering ● Marketing ● Sales ● Operations 1.6. Products and service of WSO2 Every single product of WSO2 is 100% open source products and base on open standards. These product are base on the concept of SOA. The main advantage of WSO2 products is those are built on a common foundation - WSO2 Carbon, a modular, reconfigurable, elastic, OSGi-based architecture. This creates a strong stable base for building large-scale enterprise applications, as well as integrating with legacy and existing applications. (Annex 2) This structure allows WSO2 products to have the following characteristics. ● High customizability. ● High flexibility. ● Consistency among products. ● Ability to integrate with large number of legacy and package apps. WSO2 product can be categorized according to the following structure. 16.1. Middleware platforms 1.6.1.1. WSO2 Carbon platform This is the core of many of the WSO2 products. It is a lean, complete, OSGi-based platform which includes more than 175 components – OSGi bundles or Carbon features. The WSO2 Carbon core framework functions as “Eclipse for servers” and includes common capabilities shared by all WSO2 products, such as built-in registry, user management, transports, security, logging, clustering, caching and throttling services, co-ordination, and a GUI framework. 13
  • 14. 1.6.1.2 Data services WSO2 Data Services Server comes under this category. This provides unprecedented data access and straightforward integration with business processes, mashups, gadgets, business intelligence and mobile applications. it also supports secure and managed data access across federated data stores, data service transactions, and data transformation and validation using a lightweight, developer friendly, agile development approach. 1.6.1.3. Connectivity services This category consist of Application Server and the Message Broker. ● Application Server: It allows business logic and data to be processed across the entire IT ecosystem. ● Message Broker: This enables applications to exchange communications asynchronously or publish messages for timely access by many subscribers. 1.6.2. Mobile platforms Under this category, WSO2 has Enterprise Mobility Manager. This is a is a comprehensive platform that helps solve mobile computing challenges enterprises face in the present when dealing with both corporate owned, personally enabled devices and employee owned devices as part of a bring your own device (BYOD) program. 1.6.3. Development tools WSO2 Developer Studio is a complete Eclipse-based SOA development environment for the WSO2 Carbon platform. Using that, developers can define a project representing a complete Composite Application (C-App) spanning multiple products and features. Developer Studio, immensely simplifies creation of artifacts with graphical editors and management of the links and dependencies between these services. Developers can develop, debug and deploy composite applications and Web services on-premises and in the cloud from one environment. 1.9. Contribution from WSO2 to the society 14
  • 15. It is not a secret that WSO2 has been able instigate a new era of software industry here in Sri Lanka. It has enable Sri Lankan professionals to contribute in globally recognized projects in Apache Software Foundation in large scale. Unlike the most conventional software companies in Sri Lanka, which act as branches or affiliations of foreign software companies, WSO2 has managed to create its’ own brand and establish it the industry. The annual event, WSO2Con brings together expertise from the world and makes it an opportunity for Sri Lankan professionals to meet with them and exchange ideas. Selected student participants get the opportunity to take part in this event for a very low price whereas the actual tickets are not in a affordable price range for students. Moreover, regarding the education in Sri Lanka, WSO2 encourages its’ employees to engage in further studies in renowned universities outside Sri Lanka. In addition to that, many top level employees in WSO2 provide mentorships for student projects in local universities and provides internships, so that undergraduates can get exposure to the industry. WSO2 also sponsors the events organized by universities. It has also initiated many CSR projects. 2. Training experience. 2.1. Beginning of the internship at WSO2 On 28th October 2015, I stepped first into the WSO2 office as fresh intern. From the beginning, it has been a new and exciting experience for me, since I have never been in such an environment before. We were welcomed by Mr Charitha Bandara-Lead, Administration and HR and Ms Pramila Rajapaksa, senior manager of human resources and administration. First we started 3 days training program. That programme start with introductory session to get to know each other including their passion and brief summery of themselves. To get familiar with the company culture and other traditions of the company, Mr Charitha conducted an introductory session on the culture, hierarchy and other technical and non technical information which will be useful for us in the upcoming period. He introduced us to the people who can supervise us during the training program. After this session we were given our first job. It was to wander around the office, find information about the WSO2 products, culture, hierarchical structure and events then prepare group presentations on them. We got to know senior staff as well through the different activities like “1st time run assassins”which is like a treasure hunt. There were several session on harassment, email etiquette etc. Mr Waruna De Silva introduced 15
  • 16. us a product and architecture of the company. In the session of “How to do a proper presentation” by Zaithoon Bin Ahamed-Lead Marketing Officer introduced us to basic steps of presentation introduce us a basic and very useful steps of presentation preparation, creating contents , proper delivery and appearance. In the session of personal branding we learned how to have good social and cultural relationship. And also touch us not to be a duplicate of another person and try to be yourself. Within that session we got to know what sanjiva is expecting from us as a employees using his talk at the wso2Con 2015. After that we were lead to Mr. Dinesh Edirisinghe, Assistant administration officer to get our laptops to be used during the training period. During the first day at the office we configured our laptops so that they can be used in training and development purposes. I installed Ubuntu 14.04 operating system and installed other required software packages. After those initiatives, we have been assigned to Dr. Srinath Perera, VP, Research. From there on we had to work under his supervision in research teams. At the beginning he provided us with some knowledge about the technologies we need to understand before working with the product teams. He introduced the products, what are they for and how the development process goes in WSO2. He told us that there will be different procedure for us unlike the previous batches from Department of Computer Science and Engineering. 2.2. Beginning of 1st Project- US Election Analytic System 2.2.1 Collect tweets from twitter API At the afternoon he arrange meeting and explained us our 1st task to implement a “US Election 2016 analytic system ” . He told us to use wso2 3 major products 1. Enterprise Service Bus(ESC) 2. Complex Event Processor(CEP) 3. Data Analytic Server(DAS) And he assigned us Mr. Chanuka Dissanayake,Software Engineer to get more helps and It was our job to report our progress as we complete each task. 1st task of our project is to collect tweets from twitter API and pass them to CEP and DAS(Figure 2.1). 16
  • 17. Figure 2.1 Initial design of 1st project There was 2 members in our team and we both together have to do this task. So 1st we get to know about ESB and connectors of ESB through documentation within first few days we could able to get tweets from twitter API through twitter connector and custom inbound endpoint and pass them to CEP and DAS servers as cloned streams through http receivers. After passing data to the CEP we used siddhi event tables to store data to the mySQL database which is locally placed. And in DAS we use persisted event stream to store data to the analytic databases in DAS. Then we wrote jaggery script and get the data from database and display. With that we finished our first task and started our next task after held meeting with Dr Srinath. 2.2.2 Write analytic script to tweets At the second meeting we go separate tasks. There was 2 major use cases which can be handle using CEP and DAS. they are 1. Community map using d3 library 2. Implement tweet ranking algorithm using CEP and selection algorithm based on minor research. I was assigned to CEP and Dinali was assigned to work on d3 scripts for community map. First I wrote custom siddhi stream processor to CEP. This make much complicated because rank should be depend on current time. And also need to remove duplicate events while replacing the maximum rank to the event. So I have to recalculate events ranks which are inside the window to the current time time. So I used following(Figure 2.2) optimized algorithm for my implementation. 17
  • 18. Figure 2.2 After That I began the research part to find constant parameters and best suited algorithm to protect behavior of tweets which when we take top 200 window tweets must be updated as far as 18
  • 19. possible and also should keep 80th percentiles of tweets for a long time period near 24 hours from following (Figure 2.3 )algorithms. Figure 2.3 For the plotting I use python..After that I wrote blog post including graphs and results summaries such as bellows. Figure 2.4 Figure 2.5 Then we apply them to tweets as well as links in tweets and created a dynamically moving tweets list using javascripts and jaggery. 19
  • 20. Figure 2.6 Figure 2.7 For the to tweet link selection I have to design a flowchart to minimized the http request count and optimized the server side wait as following(Figure xxx). 20
  • 21. Then I finish that part and move to write a script to select party of the user when displaying it in community graph. That function is the most cost and critical function in our system because we need to have historical analysis for selection party of user. For that we need to visit user’s twitter account and get his historical tweets and decide a party based on hashtags which he had 21
  • 22. mentioned and getting the top percentage as a party.. For that I use following algorithm which took least time. Figure 2.9 After deciding party of user ,the tweets are directly stored in analytic tables. Then using sparks scripts choose node tables and edge tables separately and feed them to d3 library through REST API. Following i is the final view of community graph(Figure 2.10). Generating graph using d3 is done by Dinali and writing sparks script part done by Chehara and myself. 22
  • 23. Figure 2.10 Then I move to the sentimental analysis part. That also include few research parts which we should compare.I wrote RSS reader as CEP extension and extract top 10 full texts of news articles and extract their titles. Our intention is to apply sentiments on those text chunks which has extracts from google news through google news ranking algorithm and searching through candidate full name. While we doing that we design to display news items on election 2016 for every 15 time as a new ticker as following. I selected several method which are commonly used for sentiment analysis and then with the help of ​Yudhanjaya Wijeratne,Marketing Officer selected the 10 articles with the human read and put some sentiment scores. Then we run all sentimental analysis algorithms through that article and get results 23
  • 24. and plot them as following (Figure 2.11) using python script. Then took the algorithm which had most close result to human assign ranks. Figure 2.11 Figure 2.12 24
  • 25. After that I implemented it as CEP extension and then display the result as bar chart using vizgramma library as follows(Figure 2.13). I put top 3 news item per day as tooltip. My next task is to implement an extension which could count unique users for each party for 24 hours. For that I use unique counting time batch window which return me the most lates count for each user. That part is display as following as real time updating counter using jaggery and js. 25
  • 26. My next task is to create wordcloud. 2.3 Implement wso2Con track monitor for wso2Con 2016 (under project works this can move to anex) 26
  • 27. 27
  • 28. 2.4 Code Reviews Notes Some I got to know in code review ● There were several coding guidelines that we should adhere with. Because in the product teams, the code quality is required, practicing according to these guidelines were very important. Eclipse IDE users should use code cleanup template and code formatting template prepared for WSO2 standards. ● There were coding standards we should practise. These are as follows. 28
  • 29. ○ Comments: Regarding the Doc comments, All classes and all methods/functions MUST have doc comments. There each parameter, return type and assumptions made should be clearly explained.Regarding the line comments, In case we have complex logic, we have to explain it and the rationale for using that methodology. ○ When logging, we should make it a habit to log then and there with ample local information and context. We need to remember that logs are for users. So those need to be meaningful, readable and also spelling and grammar should be correct. We have to use correct log level, for an example, not to log errors as warnings or vice versa. Before throwing any exception, it is required to log the error otherwise there is no use in logging as that point of the code will not be reached. ○ There are several considerations when implementing our logic. We should make our code readable first. It is required to use meaningful variable names as compilers are able to handle very long variable names. Variables should be declared in locality only when required. The underscore character should be used only when declaring constants, and should not be used anywhere else in Java code. Important thing about function/method names is they should be self descriptive. One should be able explain a function/method using a single sentence without conjunctions (that is no and/or in description). We should use status variables to capture status and return at the end whenever possible. In case of returning a collection, the program must return an empty collection and not null (or NULL). We should not use interfaces to declare constants. Use a final class with public static final attributes and a private constructor. It is a good practice to always use braces to surround code blocks ({}) even if it is a single line. There are many other simple rules and those can be put forward as follows. ■ Break code into multiple lines if it exceeds 100 columns. ■ Align method parameters, exception etc. in order to improve readability. Use the settings in your IDE to do this. ■ Be sure to define, who should catch an exception when throwing one. ■ Be sure to catch those exceptions that you can handle. ■ Do not use string literals in the code, instead declare constants and use them, constant names should be self descriptive. ■ Use constants already defined whenever possible, check to see if someone already declared one, specially in base libs, like Axis2. It is strongly recommended to run FindBugs on any new code or modified code, and commit only after fixing any bugs reported by FindBugs. It is recommended to use the IntellijIDEA (FindBugs-IDEA) or Eclipse FindBugs plugin to do this. 29
  • 30. 30