This report is based on the internship experience I had during my time of internship. The relevant details of the internship program are available in the cover page. This report contains three main chapters namely, Introduction to the Training Establishment, Training Experience and Conclusion. In the following paragraphs, what each chapter contains is explained briefly.
The first chapter is titled, “Introduction to training establishment” and it contains information about the organization that I had my training at.
The second chapter includes information related to the training experience I had, during my time of stay at the training establishment.
The final chapter is the conclusion of the report, where it contains a summary of the training experience mentioned in chapter 2 and how all these training experiences affected my life and career and it distinguishes the university life from the training life, by clearly mentioning what I gained as an intern in that company.
Final Internship Report by kiyimba Bill (International University Of East Afr...Bill Kiyimba
An Internship / Field Attachment report sample format for fulfillment of the requirements of the degree in Software engineering, Computer science and Information Technology.
This report is based on the internship experience I had during my time of internship. The relevant details of the internship program are available in the cover page. This report contains three main chapters namely, Introduction to the Training Establishment, Training Experience and Conclusion. In the following paragraphs, what each chapter contains is explained briefly.
The first chapter is titled, “Introduction to training establishment” and it contains information about the organization that I had my training at.
The second chapter includes information related to the training experience I had, during my time of stay at the training establishment.
The final chapter is the conclusion of the report, where it contains a summary of the training experience mentioned in chapter 2 and how all these training experiences affected my life and career and it distinguishes the university life from the training life, by clearly mentioning what I gained as an intern in that company.
Final Internship Report by kiyimba Bill (International University Of East Afr...Bill Kiyimba
An Internship / Field Attachment report sample format for fulfillment of the requirements of the degree in Software engineering, Computer science and Information Technology.
A REPORT OF THE INDUSTRIAL ATTACHMENT UNDERTAKEN AT LAKE VICTORIA SOUTH WATER...Shikhule Kevin
This report is aimed to provide an overview of what I have done for three months at Lake Victoria South Water Works Development Agency as an attaché in the department of Corporate Services Department and was compiled in the fulfillment of Bachelors of Arts in Communication and Media Technology with IT of Maseno University.
An internship is a period of work experience offered by an employer to give students and graduates exposure to the working environment. It presents a directed, pragmatic learning experience outside of the normal classroom setting, in which students sharpen skills, gain expertise through work on advanced productions and be familiar with how professional companies or organizations operate. It offers a chance to relate a student‘s theoretical knowledge with the tougher real world environments.
Institute of Information Technology (IIT), University of Dhaka provides such a delightful opportunity to their students within their bachelor program. The main purpose of internship is to get the student exposed to the job market. Being an intern I crave to confess that my main challenge was to translate the theoretical concepts into the real life experience. IIT introduces the internship program and the study has following purposes:
To get and organize detail knowledge on the job responsibility.
To prudent the real business world.
To find out the conformity about real scenario with the lessons learned in IIT of Dhaka University
To fulfill the requirements of Bachelor of Science and Software Engineering (BSSE) Program. I feel proud for being a student of IIT and was sent to Orion Informatics Limited to complete my internship. With having a job count of zero, I started my journey of internship in Orion Informatics Ltd as an intern from 1st January, 2014. The expectations were high and now almost nearing the end of my internship I must admit that it was really an amazing experience.
The journey was not simple as it hears. There were many obstacles that I have faced. I had to handle those obstacles by accepting those challenges as my opportunity. The skills that I have gathered from ‗Orion‘ are immeasurable to me. I am greatly owed to Orion Informatics Ltd for
17
their kind help. In addition to that, some of the non-technical skills that I have procured, combined with those technical skills will certainly prove handy in my future jobs.
This report is the result of five months long internship program conducted in Orion Informatics Limited and is prepared as a requirement for the completion of the Bachelor of Science and software Engineering (BSSE) program of Dhaka University at IIT. The objective of the report can be classified into two forms. Those are -
General Objective
Specific Objective
18
1.2.1 General Objective
This internship report is prepared primarily to fulfill the Bachelor of Science and Software Engineering (BSSE) degree requirement under the Institute of Information Technology, University of Dhaka.
1.2.2 Specific Objective
More specifically, this study entails the following aspects:
To give an overview of Orion Informatics Limited.
To focus on the products, services, work environment and facilities provided to employees of Orion Informatics Limited.
To discuss the Standards and Effects of
This is my report that i did for my industrial placement or what one would call internship. It has some detailed information that can help anyone in the field of IT.
It has all sorts of topics like networks, systems administration and many others.
Students' Industrial Work Experience Scheme (SIWES) is a scheme developed for Undergraduates in NIGERIA to gain experience in the industry before graduating.
The Internship was an excellent opportunity for me to relate my academic knowledge with the industry trend. I am really grateful to Institute of Information Technology, University of Dhaka for providing me this opportunity. Here is the report based on my experiences and learnings during my internship at Orion Informatics Ltd., starting from January 01 to June 30, 2014.
The students industrial work experience scheme (SIWES) is a skills training programme designed to expose and prepare students of Universities, Polytechnics/Colleges of Technology/Colleges of Agriculture and Colleges of Education for the industrial work situation they are likely to meet after graduation.
This report contains concise details of in-plant training received at Colombo Dockyard PLC to fulfill the industrial training requirements of B.Sc. Eng. degree program at University of Moratuwa.
Final Internship Report at Institute of Information Technology, University of Dhaka (IIT, DU [http://www.iit.du.ac.bd]); performed at Jantrik Technologies Ltd. [http://www.jantrik.com]
A REPORT OF THE INDUSTRIAL ATTACHMENT UNDERTAKEN AT LAKE VICTORIA SOUTH WATER...Shikhule Kevin
This report is aimed to provide an overview of what I have done for three months at Lake Victoria South Water Works Development Agency as an attaché in the department of Corporate Services Department and was compiled in the fulfillment of Bachelors of Arts in Communication and Media Technology with IT of Maseno University.
An internship is a period of work experience offered by an employer to give students and graduates exposure to the working environment. It presents a directed, pragmatic learning experience outside of the normal classroom setting, in which students sharpen skills, gain expertise through work on advanced productions and be familiar with how professional companies or organizations operate. It offers a chance to relate a student‘s theoretical knowledge with the tougher real world environments.
Institute of Information Technology (IIT), University of Dhaka provides such a delightful opportunity to their students within their bachelor program. The main purpose of internship is to get the student exposed to the job market. Being an intern I crave to confess that my main challenge was to translate the theoretical concepts into the real life experience. IIT introduces the internship program and the study has following purposes:
To get and organize detail knowledge on the job responsibility.
To prudent the real business world.
To find out the conformity about real scenario with the lessons learned in IIT of Dhaka University
To fulfill the requirements of Bachelor of Science and Software Engineering (BSSE) Program. I feel proud for being a student of IIT and was sent to Orion Informatics Limited to complete my internship. With having a job count of zero, I started my journey of internship in Orion Informatics Ltd as an intern from 1st January, 2014. The expectations were high and now almost nearing the end of my internship I must admit that it was really an amazing experience.
The journey was not simple as it hears. There were many obstacles that I have faced. I had to handle those obstacles by accepting those challenges as my opportunity. The skills that I have gathered from ‗Orion‘ are immeasurable to me. I am greatly owed to Orion Informatics Ltd for
17
their kind help. In addition to that, some of the non-technical skills that I have procured, combined with those technical skills will certainly prove handy in my future jobs.
This report is the result of five months long internship program conducted in Orion Informatics Limited and is prepared as a requirement for the completion of the Bachelor of Science and software Engineering (BSSE) program of Dhaka University at IIT. The objective of the report can be classified into two forms. Those are -
General Objective
Specific Objective
18
1.2.1 General Objective
This internship report is prepared primarily to fulfill the Bachelor of Science and Software Engineering (BSSE) degree requirement under the Institute of Information Technology, University of Dhaka.
1.2.2 Specific Objective
More specifically, this study entails the following aspects:
To give an overview of Orion Informatics Limited.
To focus on the products, services, work environment and facilities provided to employees of Orion Informatics Limited.
To discuss the Standards and Effects of
This is my report that i did for my industrial placement or what one would call internship. It has some detailed information that can help anyone in the field of IT.
It has all sorts of topics like networks, systems administration and many others.
Students' Industrial Work Experience Scheme (SIWES) is a scheme developed for Undergraduates in NIGERIA to gain experience in the industry before graduating.
The Internship was an excellent opportunity for me to relate my academic knowledge with the industry trend. I am really grateful to Institute of Information Technology, University of Dhaka for providing me this opportunity. Here is the report based on my experiences and learnings during my internship at Orion Informatics Ltd., starting from January 01 to June 30, 2014.
The students industrial work experience scheme (SIWES) is a skills training programme designed to expose and prepare students of Universities, Polytechnics/Colleges of Technology/Colleges of Agriculture and Colleges of Education for the industrial work situation they are likely to meet after graduation.
This report contains concise details of in-plant training received at Colombo Dockyard PLC to fulfill the industrial training requirements of B.Sc. Eng. degree program at University of Moratuwa.
Final Internship Report at Institute of Information Technology, University of Dhaka (IIT, DU [http://www.iit.du.ac.bd]); performed at Jantrik Technologies Ltd. [http://www.jantrik.com]
An internship report submitted in partial fulfilment of the requirements for the a ward of diploma of science in information technology of muteesa 1 royal university
As IT student my main responsibility is to introduce new technologies or modify an existing System. I develop this Online Parking Reservation System for RANJAN LANKA IMP. PVT LTD to enhance efficiency, Effectiveness, and responsiveness of the online- parking process and reduce the problems of the business process of RANJAN LANKA IMP. PVT LTD.
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)MdTanvirMahtab2
This presentation is about the working procedure of Shahjalal Fertilizer Company Limited (SFCL). A Govt. owned Company of Bangladesh Chemical Industries Corporation under Ministry of Industries.
Courier management system project report.pdfKamal Acharya
It is now-a-days very important for the people to send or receive articles like imported furniture, electronic items, gifts, business goods and the like. People depend vastly on different transport systems which mostly use the manual way of receiving and delivering the articles. There is no way to track the articles till they are received and there is no way to let the customer know what happened in transit, once he booked some articles. In such a situation, we need a system which completely computerizes the cargo activities including time to time tracking of the articles sent. This need is fulfilled by Courier Management System software which is online software for the cargo management people that enables them to receive the goods from a source and send them to a required destination and track their status from time to time.
Student information management system project report ii.pdfKamal Acharya
Our project explains about the student management. This project mainly explains the various actions related to student details. This project shows some ease in adding, editing and deleting the student details. It also provides a less time consuming process for viewing, adding, editing and deleting the marks of the students.
Overview of the fundamental roles in Hydropower generation and the components involved in wider Electrical Engineering.
This paper presents the design and construction of hydroelectric dams from the hydrologist’s survey of the valley before construction, all aspects and involved disciplines, fluid dynamics, structural engineering, generation and mains frequency regulation to the very transmission of power through the network in the United Kingdom.
Author: Robbie Edward Sayers
Collaborators and co editors: Charlie Sims and Connor Healey.
(C) 2024 Robbie E. Sayers
Water scarcity is the lack of fresh water resources to meet the standard water demand. There are two type of water scarcity. One is physical. The other is economic water scarcity.
Saudi Arabia stands as a titan in the global energy landscape, renowned for its abundant oil and gas resources. It's the largest exporter of petroleum and holds some of the world's most significant reserves. Let's delve into the top 10 oil and gas projects shaping Saudi Arabia's energy future in 2024.
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
WSO2 Internship Report
1. UNIVERSITY OF MORATUWA
Faculty of Engineering
Non-GPA Module 3992: Industrial Training
TRAINING REPORT
WSO2 Lanka (pvt) Ltd.
From 18.11.2013 to 09.05.2014
Wickramarathna D.G.U.I
100590G
Department of Computer Science and Engineering
Date of Submission: 12th
May 2014
2. Page | ii
PREFACE
This document is presented at the end of the internship period I had from 18th November 2013 to
09th May 2014 at WSO2 Lanka (pvt) Ltd, No 20, Palm Grove, Colombo 03 as a trainee software
engineer. Document is arranged as three main chapters that explain the different aspect of the
training experience I have gained through my internship period.
The first chapter is about the detailed information about the training establishment, it is essential
to have a good understanding about functionalities of the company, the procedure, the
organizational hierarchy, culture of the company in order to getting things done in the correct
way. To give maximum contribution while learning from the company I have to have a good
understanding on the business activities, technologies, standards and strategies they follow.
The second chapter is dedicated for the experience I had in internship. This chapter has main
three categories as the training experience I had in fast track program, QA portal intern project
and the experience in the product team. In the fast track program section describes the new
technologies that I have learnt and experienced such as XML,Web services, Axis2, WSO2
products and etc.
and some implementation of those technologies as exercises. QA portal project section includes
my experience in the implementation of QA portal project, the technologies I have used ,
planning of the project and etc. Working with product team section includes the detailed
information about the product team I worked with the WSO2 CEP and the my contribution to the
team during my internship. Also it includes the technical experience I gained in developing my
component and the detailed description about the component that I have developed. In addition
to this technical experience second chapter includes the non technical experience I have gained
in my internship period.
In the third chapter I have discussed the effectiveness and personal feelings towards the training
program and the internship in WSO2, and also it includes how good WSO2 as a training
establishment.
3. Page | iii
ACKNOWLEDGEMENT
On my report about internship, it’s my privilege to thank all the people who contributed to make
this internship period a great and unforgettable experience in my life. If not for the commitment
of them from arranging the training establishment to the end of entire 6 months period, it would
not be this much effective.
First of all I would like to thank Dr Chandana Gamage the head of the department of Computer
Science and Engineering for the effort taken to provide us with training establishment. And I
should specially thank Dr Dilum Bandara, industrial coordinator of us who put a lot of effort to
find training establishment for all the students in the department of Computer Science and
Engineering. And following an very effective and fair procedure to select training establishment
for students. And also I would like to thank all the staff members of the Department of Computer
Science and engineering, who contributing by visiting our training establishment and evaluating
our experiences.
Also I’m grateful to Mr Nihal Wijewickrama , the director of Industrial training division,
University of Moratuwa and all the staff members of Industrial training division and NAITA
(National Apprentice and Industrial Training Authority) officials for providing opportunity to
have a great internship period and examine the quality of training.
I should be very thankful to Dr Sanjiwa Weeravarana, CEO and Founder of WSO2 for giving us
this invaluable opportunity to work in a globally recognized company with in friendly
environment with its unique culture.Then I would like to thank Mr. Shammi Jayasinghe, Mr.
Dushan Abeyruwan and Mr. Afkam Azeez, Director of Architecture at WSO2 who interviewed
me and selecting me for internship at WSO2.
Then I should specially thank Mr Samisa Abeysinghe, Who is the Vice President of training at
WSO2 and overall coordinator of our training program. Thank you very much for all the effort
you taken for making training program successful by organizing various activities, assigning
projects for us and selecting us for various product teams.
4. Page | iv
Also I should be very grateful to Mr Sriskandaraja Suhothayan, who was my supervisor and the
Tech lead of WSO2 CEP for giving me a such important project and guide me, advice me to
successfully complete the project. And I should thank Mr Mohandarshan Vivekanandalingam
and Mr Lasantha Fernando for giving me a great support in completing the project and also I
should thank other CEP team members Mr. Rajiv Sampath, Mr Sajith Ravindra, Ms Seshika
Fernando and Ms Dilini Muthumala for their supporting me in various way.
Then I would like to thank Ms. Udeshika Rathnaweera, Director of HR and Administration, Ms.
Pramila Rajapakshe, Senior Manager of HR and Administration and Ms. Maryam Carder, Senior
Manager of HR and Administration who looked at all needs of interns and make WSO2 better
place for interns in so many ways.
I would like to thank Mr Nirodha Gallage, Ms Evanthika Amarasiri ,tech lead of QA team for the
support they gave me. And also I should thank Dr Srinath Perera,Director of research, Mr
Jaminda Batuvanthudava, Director of Engineering, Mr Maduka Udantha, Mr Amal Gunathilaka,
Mrs Thilini Ishaka, Mr Nandika Jayawardana,Mr Hasitha Aravinda for giving so many help
during this 24 weeks. Also I should thank Mr KrishanthanThangarajah and Mrs Zaithoon Bin
Ahamed for conducting workshop for interns which are very helpful for us to learn so many
thing.
Also I would like to thank Mr Anushka Samaranayake, Mr Buddhi Mihara, Mr Indika Rowell
and Mr Lahiru Halkevla, fellow interns from other institutes for the support they gave us through
the internship program.Also I should thankful for my fellow interns from Department of
Comuputer Science and Engineering for all the help.
Finally I should thank each and every member of WSO2 family in technical, non technical, and
support staff for the great support they have given to us all.
5. Page | v
Table of Content
1. Introduction to the Training establishment .............................................................................. 1
1.1 WSO2 Inc.......................................................................................................................... 1
1.2 History of WSO2................................................................................................................ 3
1.3 WSO2 Vision ..................................................................................................................... 3
1.3.1 Reinvent the technology ............................................................................................... 3
1.3.2 Reinvent the business relationship ................................................................................ 4
1.3.3 Reinvent the Support ................................................................................................... 4
1.3.4 Create a great place to work......................................................................................... 5
1.4 WSO2 Business model........................................................................................................ 6
1.5 Support and Service Model ................................................................................................ 6
1.5.1 Community support..................................................................................................... 7
1.5.3 Development support................................................................................................... 7
1.5.4 Quick start program (QSP) .......................................................................................... 8
1.5.5 Production support...................................................................................................... 8
1.5.6 Turnkey packages........................................................................................................ 8
1.6 Organizational Structure.................................................................................................... 9
1.6.1 Employee hierarchy..................................................................................................... 9
1.6.2 Communication ..........................................................................................................10
1.7 WSO2 Team .....................................................................................................................11
1.8 WSO2 Product and services ..............................................................................................14
1.9 Strength and weaknesses...................................................................................................15
1.9.1 Strengths....................................................................................................................15
1.9.2 Weakness ...................................................................................................................16
1.10 Service to Sri Lanka society.............................................................................................17
1.11 Suggestions to improve....................................................................................................18
2. Training experience................................................................................................................18
2.1 Fast Track for Interns.......................................................................................................19
2.1.1 Development environment...........................................................................................19
2.1.2 XML ..........................................................................................................................20
2.1.3 Apache Axis2 web service............................................................................................22
2.1.4 Web Service................................................................................................................25
6. Page | vi
2.2 Intern Project (QA Portal ) ...............................................................................................28
2.2.1 Learning outcome from the project .............................................................................34
2.2.2. Further improvements in QA portal ...........................................................................34
2.3 Working with product team ..............................................................................................35
2.3.1 WSO2 CEP (Complex Event Processor).......................................................................35
2.3.1.1 Architecture ........................................................................................................35
2.3.2 Building ‘Carbon’ platform.........................................................................................36
2.3.4 Event Simulator..........................................................................................................38
2.3.4.1 Implementation of Event Simulator carbon component .............................................38
2.3.4.2 Event Simulator Feature ..........................................................................................45
2.3.4.3 Event Simulator Final product..................................................................................45
2.3.4.4 Event Simulator Future improvements .....................................................................49
2.4 Non technical experience...................................................................................................50
3. Conclusion.............................................................................................................................51
3.1 Experience........................................................................................................................51
3.2 WSO2 as a training establishment .....................................................................................52
Annexes..................................................................................................................................... liv
References................................................................................................................................ lvii
Abbreviation ............................................................................................................................ lvii
7. Page | vii
List of figures
Figure 1.1- Company Logo………………………………………………………………1
Figure 1.2-Employee hierarchy………………………………………………………....10
Figure 2.1-XSLT result page…………………………………………………………….22
Figure 2.2-TCP MON architecture………………………………………………….......24
Figure 2.3-Web service architecture in the web server…………………………….......25
Figure 2.4-QA Portal use case diagram………………………………………………....29
Figure 2.5-QA portal ER diagram……………………………………………………....30
Figure 2.6-QA Portal architecture………………………………………………………33
Figure 2.7-Carbon Component Structure………………………………………………37
Figure 2.8-Event Simulator Architecture…………………………………………….....47
Figure 2.9-Event simulator send single event…………………………………………...48
Figure 2.10- Event Simulator send multiple events…………………………………….48
Figure 2.11-Event Simulator file configuration………………………………………...49
8. 1. Introduction to the Training establishment
1.1 WSO2 Inc
Figure 1.1 Company logo
The name WSO2 stands for Web Service Oxygen, since it truly inspired with the Web Services
and finding enterprise solution in the web space. WSO2 was founded in August 2005 by pioneers
in XML (Extensible Markup Language) and Web Service technologies following Open Source
standards and it focused on providing SOA (Service oriented architecture) solutions for
professional developers . This SOA platform with the cloud approach through WSO2 Stratos is
the world’s only 100% open source PaaS (Platform as a Service) by recent times.
WSO2 is mainly focused on developing and producing top class product which are based on the
free and open source Apache software stack. Those all products are released under the Apache
Software licence. WSO2 has a team of locally and globally recognized professional software
engineers who are passionate with open source software development. Most of them are
committers of software projects like Axis2,Synapse, Rampart, Sandesha,Transport, Cassandra,
Commons of the Apache software foundation and various other open source communities
including Eclipse,Ruby and Rails. WSO2 product are developed on one core called “core carbon
framework” which uses Apache Axis 2 as the base engine. Company encourage employees to
build their own personal brand contributing these projects.
Currently WSO2 is offering 12 product servers as web based solution which are perfectly
designed to meet the business solution. One key advantage of WSO2 products is instead of
forcing customers to adapt their system to wso2 middleware platform WSO2 adjust to their
system. All WSO2 products can be adjust to different customer environment by just adding or
dropping its feature. And StratoLive provide all the services of these products 100% free in the
cloud environment.
9. Page | 2
Even though WSO2 produces 100% free and open source products WSO2 has made sustainable
business.The business strategy of WSO2 is providing training, support, development and
consultancy for their products. As all the products are free available any one can download and
use them. If customer is interest and satisfy with using wso2 product they are willing to have
wso2 support and consultancy to bring up a business solution for them , then wso2 charges for
that services. And also apart from wso2 support company maintains a SOA developer portal call
“WSO2 Oxygen Tank” which includes knowledge base, articles, webinars, screencasts, tutorials
and presentations which creates free online resource center for anyone who is interest in wso2
products.
Being an open source middleware company WSO2 has built so many connections around the
world apart from having great connection with Apache software foundation. Following are some
of those
● SOAP, WSDL and WS-SEC standards
● OCERT and OAuth
● The World Wide Web Consortium (W3C)
● OpenID Foundation
● Microsoft‟s InterOP Vendor Alliance
● OASIS
As a Global company WSO2 has three main offices in Sri Lanka, USA and UK and having
customers worldwide. The office in UK is mainly focus for marketing and developing the
customer relations. US office is contributing to the development of products. Sri Lankan branch
is acts as main research and development center for wso2 which is situated in No 20, Palm
Grove, Colombo 03.
Even though wso2 has just about 8 years of experience in the industry it has shown an immense
growth and still growing. Sometimes customers have admired the performance and lightweight
solution that wso2 has come up with compared to industry giants like IBM, Oracle and
Microsoft. WSO2 has stated as one of the top ten open source SOA companies in the world with
a comparatively little in team size. Most importantly WSO2 has been able to emerge the Sri
10. Page | 3
Lanka among other countries in the world in software industry while bringing lot of
opportunities and remarking the Sri Lankan contribution to the open source software industry.
1.2 History of WSO2
WSO2 was founded by Dr Sanjiwa Weerawarna with the Co-founder Paul Fremantle in August
2005. And WSO2 has officially declared its birthday as 04th August in 2005. Around these days
incorporation of all three branches has happened. At the first co-founders of WSO2 has named it
as “Serandib system” and has later changed due to a request of an investor.
After having initial investments and the funds of the investors company grows and they were
able to release the core carbon platform with the lot of effort and sacrifices of the group of very
skillful and talented people. Because of the sacrifices they did to overcome the hard times now
WSO2 has become one of the best middleware company in the world which competing with the
giants like IBM and Oracle who were at the business for long time.
1.3 WSO2 Vision
WSO2 has a very clear vision regarding its progress, products and the customers. Vision of
WSO2 is created with collaboration of following main categories.
1.3.1 Reinvent the technology
Even though middleware industry is obtain by the giants like Oracle and IBM when the WSO2
was founded WSO2 had the belief that middleware can be reinvented in better way. A way that
is simpler and straightforward from start to finish. So WSO2 had the advantage that they could
start from the scratch and make full benefit of hindsight. WSO2 put their full effort to build up
the award winning Carbon platform which is considered as most advanced middleware platform
available today. By adopting the OSGI (Open Services Gateway initiative) framework,WSO2
component model enables lean, high performance approach with self consistency across the
platform and provide pluggable behavior which is fully customizable carbon platform can be
11. Page | 4
adopt to the customers environment rather than customer environment adapt to the middleware
platform. Beyond being able to customize the product this advanced platform provide multi
tenancy , elasticity, instant provisioning , monitoring the performance and make the platform as a
service (PaaS) in private and public cloud. In that manner WSO2 is playing a great role in cloud
computing too.
1.3.2 Reinvent the business relationship
Although technology is the leading edge of the WSO2, It has identify the core value to the
customer is quality of business relationship. So WSO2 has taken the radical steps to orient
themselves to the customer. All the softwares are 100% free and open source and built under
open and transparent development process at wso2.org and apache software foundation. That
means there are no license fees, registration, no limited trial versions as all products are released
under Apache License 2.0 which means there are no restriction on using or developing products.
And no special license like Community license or dual license. Any one can experience the code
as well as the product.
The unique value of the WSO2 provides in the relationship with customer is customizing the
products to meet what the each customer requires through the high quality training, support,
consulting service, 24x7x365 production support or complete unique solution will give to the
customer
1.3.3 Reinvent the Support
For a successful business in the software industry marketing section is not just enough it is
essential to have a very good customer support service too. WSO2 has a online support system
that can be used to direct the customer issue to the best source of expertise with WSO2
developers on the product or committers to the open source product. WSO2 doesn’t have
“support engineers” instead of them WSO2 support let the user to quickly interact with the best
person in the world to solve their issue. They are the people who build the product they knows
12. Page | 5
every nook and corner of the product and can give the exact solution that customer requires.
When required WSO2 provides hot fixes, patches, service packs to keep the system running well.
Beyond the production support, WSO2 does not force customers to pay for bundle of services for
a little value instead customers have freedom to purchase the service they need. They would let
the customer to maximize the value of return on investment as well. WSO2 believes that satisfied
and successful customers are the best way to make WSO2 as a successful company in
middleware industry.
1.3.4 Create a great place to work
WSO2 development and operations are mainly going in Sri Lanka. After years in IBM research
CEO and co-founder Dr. Sanjiva Weeravarna had a dream not only to reinvent the technology,
business relationship and support model but also to bring the Silicon Valley style
entrepreneurialism to Sri Lanka.
Maintaining close relationship with the top local universities and building creative spirit and
global leadership in open source technologies, WSO2 has become the best place for local
innovators. WSO2 made being a Apache committer is a reality to Sri Lankans.
WSO2 encourage their employees without any hesitation to develop their personal brand and
even to leave the company for doctoral studies abroad. These employees are encouraged to
return WSO2 or to lay foundation to new companies or to find employment in other
organizations where they can give their talent and fullest contribution to make Sri Lanka and
world a better place.
The Vision of WSO2 is not based on financial values but in gaining sustainable benefits with
both customers and the company with employees. And to emphasize the Sri Lankan name in the
world software industry. And I believe WSO2 will be able to get the real values of Sri Lankan
brains to do innovative things in open source world and will be the hotbed for local innovators.
And will be able to become the world’s no 1 middleware company in recent future.
13. Page | 6
1.4 WSO2 Business model
WSO2 offers 100% FOSS (Free and Open Source) products , which can be downloaded at free
of charge and by any person and also the source code is available. Any person can modify the
source and utilize it with build tool like maven to customize the product as they wish.Therefore
wso2 giving their product free of charge there should be a different but feasible business model
to build a sustainable company.
WSO2 has a very unique and feasible business model, they attract the middleware market by
giving their products free while customers has to pay for other companies product even before
they use it. But in an enterprise system customer expects a great performance, low risk , high
efficiency and 24x7x365 support service where WSO2 identified as the opportunity to earn
money. Charge in software support, on site and off site consultancy and training for the product
stack that is based on SOA and web services will bring the revenue for WSO2.In addition to that
some client projects are also carried out.
With this unique business model WSO2 is able to compete with the giants like IBM,Oracle and
Microsoft in middleware industry and being preferred by the customer within several years.
1.5 Support and Service Model
Categories of support offering by the WSO2 are listed below
● Community support
● Evaluation support (Consultation)
● Development support
● Training
● Onsite training (lectures,seminars,conference and etc)
● Off site training (webinars,podcast,Self paced training etc.)
● Production support
14. Page | 7
There are also Quick start and Cloud start supporting service which are designed to bring
customers more familiar with WSO2 products.
1.5.1 Community support
Community support is done through the online website like stackoverflow. WSO2 allows users
to post question in public.Once someone has asked a question under wso2 tag, WSO2 puts full
effort to solve those issues so that answering these question will benefit to the community who
interest in WSO2 products. And also they maintain product documentation and knowledge base
library.
1.5.2 Evaluation support
This service is designed to help customers in selecting technologies,product selections, strategies
in early stage of middleware projects specially if there are to meet advance technology
challenges.For some qualified customers these supports are given free of charge.In this support
WSO2 offers support with middleware architecure consulting,Developing request for
Information/proposal and proof of concept implementation.
1.5.3 Development support
This support WSO2 experts directly assist the customers or clients engineering team during
development.In here WSO2 help migrate,integrate,optimize and manage the enterprise
middleware deployment by efficiently getting direct access to experts in product that customer
consume. Following are the key benefit that customer get through this supporting system.
● Communication through confidential forum with guaranteed response time
● Integrating with other middleware and infrastructure products
● Provide selected pre-production patches
● Developing custom product features
● WSO2 carbon studio support, including assistance, issue resolution and development
15. Page | 8
Through this process developing WSO2 engineers are exposed to well recognized engineers
throughout the world.
1.5.4 Quick start program (QSP)
This program helps customers to get start with the WSO2 products with in considerably lesser
amount of time. This will bring world class expert developers and architects on-site to work
collaboratively with customer’s team. Through this WSO2 will be able to clarify the customer
needs very well and provide necessary guidance to meet their requirements. For this process
WSO2 provide two on-site engineers and one off-site engineer in one week.
1.5.5 Production support
Production support is to secure critical application of the customers where a failure of a system
in production will have an immediate economic impact on the organization.Because of this
critical nature WSO2 has designed a support mechanism that guarantee WSO2 middleware
infrastructure enables the client application to be available 24x7x365 according to guidelines in
Annex A1.In addition to that custmers who take production support will be elegibe to have the
latest feature upgrades, product patches and service packs.
1.5.6 Turnkey packages
Apart from the main 12 WSO2 products on Carbon platform they also offers a set of turnkey
solution packages with 24 hours support and enterprise level maintenance on the entire client
system, installing monitoring and maintenance.These products are useful for customers
integration problem, security and identity problems, governance problems and more, to reduce
the complexities of deploying business solution.
16. Page | 9
Following are some examples of turnkey packages
● WSO2 Security and Identity gateway
● WSO2 FIX Gateway
● WSO2 SAP Message gateway
● WSO2 Mobile service gateway
● WSO2 App Factory
All the above products are based on award winning Carbon platform. So that it can be
customized as components to meet customer’s requirements and provide optimize solution.
1.6 Organizational Structure
WSO2 maintaining a very flat and informal structure. In the company every one considered as
equal no matter what the position, how old . This system creates team spirit and anyone can
directly speak with anyone.
1.6.1 Employee hierarchy
This employee hierarchy is apply in purpose of HRM (Human Resource Management) . But in
decision making even an intern can take part if considerable fact have in hand. This is very
helpful in fast decision making at the agile software development process because employees
will get the opportunity of applying perfect solution in right time. Figure 1.2 shows the employee
hierarchy of the WSO2
17. Page | 10
Figure 1.2 – Employee hierarchy
1.6.2 Communication
WSO2 maintains a transparent mail list which they believe the best way to fix any issue very
fast. This transparency allows anyone who has knowledge to reply and answer immediately to
any issue coming from the mailing list. So that requester as well as all the subscribers shares this
knowledge. This produce maximum output and lowers the confusion. WSO2 mailing list use not
only for technical purpose but also for non technical purposes as well.
● Support- dev - This mail list focus on the support for developers
● Training - To discuss things related to training inside WSO2 or outside where employees
can participate
● Infrastructure - Any matter regarding network, WSO2 servers and etc. goes here
● Operation - Any issue regarding daily operations of the company and
requesting/replacing hardware component goes here
● Vacation - Any type of leaves taken should be informed in here
● Marketing - Discuss matter regarding market strategy and etc .
CEO
VP
Finance
Account
manager
VP
Engineering
Directors
Architects
Tech leads
Engineers
VP Marketing
Managers
Team
members
VP Sales
Sales
team
Director of HR
and
Administration
Admin
staff
Support
staff
18. Page | 11
● News - Any news regarding the industry that seems useful for the company are posted
here
● Club - Entertaining events, trips, jokes and other stuff goes here
Through these mailing lists anyone in the company will have the opportunity to discuss any
issue, difficulties facing and sharing the knowledge. There is no need to follow the hierarchy to
reply the mails and solve the issues.
1.7 WSO2 Team
WSO2’s secret of being a successful company is the company consist of best people for each
field. It has experts in any field. Following is the current team of employees contributing their
full commitment to the company.
Leadership - WSO2 is leaded by very experienced and talented people who maintain the
company global scale success.
● Mr Sanjiva Weerawarana, PhD, Founder, Chairman and CEO
● Mr Paul Fremantle, PhD, Co-Founder and CTO
● Mr Jonathan Marsh, VP Business Development and Product Design
● Ms Monica Pal, VP Marketing
● Mr Lavi de Silva, VP Global Sales
● Mr Samisa Abeysinghe, VP Training
● Mr Selvarathnam Uthaiyashankar - VP Engineering
● Mr Devaka Randeniya, Senior Director of Sales
● Mr Paul Broekhoven, Director, European Sales
● Ms Padmika Dissanaike, VP Finance
● Ms Puny Navaratne, VP of Legal
● Ms Hasmin Abdul Cader, Director, Marketing
● Mr Asanka Abeysinghe, Director, Solutions Architecture
● Mr Mahesh Markus, Director, Support
● Mr Afkham Azeez – Director, Architecture
● Ms Udeshika Ratnavira, Senior Manager, Administration and HR
19. Page | 12
Advisors - WSO2 has world class personalities who guide the company through their experience
and valuable insight on the industry are as follows.
● Mr Larry Augustin – Investor/Advisor
● Mr Geir Magnusson Jr. – VP Engineering, Joost
● Mr Brian Behlendorf – Founder & CTO, Collabnet
● Mr Tom O‟Reilly – Founder, O‟Reilly Media
● Mr Patrick Grady – Chairman & CEO, Rearden Commerce
● Mr Tony Pizi – CIO Platform Engineering, Deutsche Bank
Teams
The Engineering team - Engineering team is the largest team in the WSO2. The engineers who
work on the research ,design, development and testing are categorized into this category. This
large team can be sub categorized according to the technology group and the different product
that they are working on. Following list shows the each technical group(TG) with the products
they have.
Developing TG
● Application server
● Tooling
● Jaggery server
Solution TG
● App Factory
● API Manager
Data TG
● Data Service server
● Business Activity Monitor
20. Page | 13
● Complex Event Processor
● Business Rules server
Integration TG
● Enterprise Service Bus
● Identity server
● Message Broker
● Governance Registry
● Business Process server
● Elastic Load balancer
Foundation TG
● Carbon
● Stratos
The sales team - Sales team deals with the customer and maintaining the connection between
customer and the developers.
The marketing team - Marketing team works on marketing the WSO2 products in the software
industry by means of sponsorship, advertising campaign, organizing conference, workshop,
webinars and etc. Most of the events are organized by the marketing with the help of whole wso2
team.
The finance team - Finance team takes care of accounts, income, expenditure and budget of the
company
The HR and administration team - Provides vital administration and human resource work like
recruiting employees, salary payments and etc.
21. Page | 14
1.8 WSO2 Product and services
All the WSO2 products are built on the enterprise middleware called WSO2 Carbon platform.
Targeting the major business issues existing in the middleware industry today WSO2 introduces
a set of products which are customizable according to the user requirements. A high level view
of categorizing WSO2 products attached with Annex , A2 . Following are the list of products and
brief description about them.
● WSO2 Application Server - for service hosting
● WSO2 Enterprise Service Bus - for mediation services
● WSO2 Message Broker for messaging services
● WSO2 Data Services Server for managing data sources and data access
● WSO2 Governance Registry and repository - for managing WSDL, schemas, policies,
life cycles and versioning
● WSO2 Gadget Server for portal services
● WSO2 Web Services Frameworks for C, C++ and PHP – provide simple APIs for
● implementing web services and web service clients
● WSO2 Identity Server - for authentication, single sign-on and access control
● WSO2 Business Process Server(BPEL)
● WSO2 Business Rules Server (JSR-94)
● WSO2 Complex Event Processing Server
● WSO2 Business Activity Monitor (JMX)
● WSO2 Mashup Server
Reach the position of one of the top middleware companies in the world with in several years is
the best fact to show the performance of the WSO2. WIth the commitment of best minds in the
country WSO2 has achieved lots of landmarks[2] and will be achieve in the future too. In
addition to that WSO2 has won following highly recognition awards in the industry.
● Kuppinger Cole European Identity Award 2011 - WSO2 was recognized for the
innovative features of its open source, multi-tenant WSO2 Identity as a Cloud Service
22. Page | 15
● SD Times 100 Award - For the fourth consecutive year, WSO2 was recognized as one of
the “top leaders and innovators” in the software industry by the editors of SD TIMES.
● Red Herring Asia 100 Award - WSO2 was awarded the Red Herring Asia 100 Award
in 2006 for being one of the most promising private technology companies in Asia.
● InfoWorld Best Open Source Software (Bossie) Award - WSO2 was named InfoWorld
2009 Best of Open Source Software (Bossie) Award winner and recognized for
delivering WSO2 Carbon
● National Best Quality Software Awards (NBQSA) - WSO2 walked away with:
-WSO2 Enterprise Service Bus :Gold Award under Infrastructure & Tools Category and
Overall Gold Award.
-WSO2 Gadget Server: Silver Award under Research & Development Category.
-WSO2 Data Services Server: Bronze Award under Infrastructure & Tools Category.
1.9 Strength and weaknesses
1.9.1 Strengths
Carbon platform - Award winning Carbon platform is the backbone of all WSO2 products. It
provides a complete middleware platform to make components on top of it.This innovative
product uses a componentized framework which the user can just use the component they want
and pay for the service they use.This flexibility gave the chance to WSO2 to present the first
PaaS - WSO2 Stratos.From this approach every development has concerned with local and cloud
support. The architecture of carbon platform is carefully designed to meet the challenges that
could occur due to business matters.
Highly skilled and dedicated team - This is the key for the strength in WSO2. WSO2
engineering team consist of high skilled software architects, software engineers and developers
having so many experience and technical knowledge in contributing to global industry. WSO2
23. Page | 16
highers a people who have smarter way of thinking since they come from the university. And
WSO2 having committers for all products it get from the ASF to get the benefit of using it.
Various people coming from various background and fields use and share their experience and
skill to add values to the company in every way they can. They just not only develop but share
their knowledge and experience by writing blogs, conducting sessions,talks and presentations.
Flexible working culture- Another unique thing in WSO2 comparing with other companies it
doesn’t force employees specially engineers to work in particular working hours employees have
flexible working hours. It has made very friendly connection between company and the
employee; they enjoy the freedom at work. With this friendly manner the responsibility and the
dedication of the employee towards the company has increased. They have every luxury of
working in the office and also the can working from home if they needed. Employees voluntarily
work as they have the dedication as heart feeling that they have to give the fullest commitment to
the company.
Being an Open Source company - Being an open source company souce code of every WSO2
product is exposed to the rest of the world. So anyone can use this source codes and try
them,identify the weaknesses, find bugs and fix them.And they can customize the source as they
wish and use them without any charge.This creates a large community for the WSO2 from
outside the company and the customers to attract.
1.9.2 Weakness
It’s hardly find any weakness in the company that I could identify. One thing that I faced is in
some point when I’m trying the some WSO2 products the lack of information in the provided
docs.Its not a weakness but something need to improve. Even though there are so many
documentations, articles, and blogs are maintained in the WSO2 Oxygen Tank[5] still there are
some lack of informations and the lack of samples for different scenarios in some of products.
WSO2 has already identified this issue and encourage the staff to keep complete documentations
and they have the specific group for technical writers for the support as well.
24. Page | 17
Another thing that needs to be improved is being a world class software company which has a
huge brand in software industry WSO2 has a great reputation in the software industry in the Sri
Lankan as well as the World. But it seems to me that general public of Sri Lanka has rarely heard
of WSO2, what WSO2 is, what it does.
1.10 Service to Sri Lanka society
WSO2 was able to create a new path for Sri Lankan software industry. While other software
companies works as the branch of foreign software companies WSO2 is formed as a Sri Lankan
software company lead by Dr Sanjiva Weeravarna, the founder and the CEO of WSO2.In
collaboration with ASF it gives more opportunity to Sri Lankan to contribute to more global
project and get the return back to the WSO2.And develop their personal brand as well.
WSO2 encourages and help their employees to do the higher studies as doctorial in abroad and
create more opportunities to serve the country after they have completed their studies.
WSO2 conducting many CSR projects as well. Conducting workshops, Seminars, sponsoring for
the events in universities and also apart from technological aspects they organize WSO2 blood
donation camps to donate to the blood bank.
Annually WSO2 organize their big event called WSO2-Con. This big conference bring the
experts to Sri Lanka and provide facilities for Sri Lankan professionals to meet them and share
technical and non technical experiences. These are just several examples of the services that
WSO2 is providing to the Sri Lankan society. This kind of contribution to the country shows the
true aspect of WSO2 and it always try to emerge the name of the country. Surely they will be
able to put the WSO2 and the Sri Lanka on top of the middleware industry in the world in near
future.
25. Page | 18
1.11 Suggestions to improve
As mention in 1.9.2 improving documentations with more samples and detailed description will
be very helpful to understand the product, how the product use, in what business problems that
product can use to solve them. And also the new developers as well as the customers will be very
beneficial from this. Providing many sample scenarios would be very helpful to understand the
different aspects and use cases of a particular product. And keeping the documents and articles
up to date in the Oxygen tank is very important.
2. Training experience
On 18th of November 2013 we joined with the WSO2 as interns. We stepped into the main
office of WSO2 in 20, Palm Grove, Colombo 03 and were warmly welcome by Pramila
Rajapaksha , senior manager of HR & admin. Then we were given laptops to use in the
internship period after confirming our details. There after we had a session to introduce the
WSO2 to us and our self to the company. In this session we were informed about the WSO2
culture ,the flat hierarchy, how to deal with the people,how we should behave within the
company. Do’s and dont’s.
Mr Samisa Abeysinghe is the VP of training and in charge of our training program who gave us
the introduction of the training program. How it is scheduled what are the areas that we are going
to cover and also he pointed out how to use the WSO2 mailing list appropriately to get the fullest
benefit out of it.
Internship program consist with three main aspects.
● Follow the Fast track
● Internship project
● Working with product teams
26. Page | 19
2.1 Fast Track for Interns
Fast track was designed by Mr Samisa with the suggestion from different product teams. This is
the training program which is given to the new employees as well. Main aspect of this fast track
is to introduce the basic technologies that are use in developing WSO2 products and get familiar
with different WSO2 products. This is very helpful that we are introduced to a so many
technologies and also very beneficial in working with the product team.
2.1.1 Development environment
Ubuntu - Since an open source company most of the WSO2 employees are using Ubuntu, an
open source linux based OS and I also started to work in Ubuntu environment, it was very
different from the familiar Windows OS that I have been working in the past.Lots of things have
to configure from the terminal other than a UI. Installing Java, Maven, Ant, Eclipse, Intellij idea
and etc were installed by following online tutorial because installing procedure is mainly
command line based. And then setting up environmental variable is differ from the Window
instead of UI Ubuntu has .bashrc file which should be edit in specific manner to set up the
environmental variables.
Eclipse - In the fast track period I used Eclipse Juno as the IDE which is very popular IDE and it
has many more plugins, which includes the WSO2 developer studio plugin as well.
SVN - The primary mechanism of version controlling that have been used at WSO2. We are
given svn space for check in our training works and the projects. But now WSO2 is moving to
the Git from SVN.
Maven - Maven is widely used open source software project management tool by Apache.
Almost all the WSO2 projects are managed using Maven. With the pom.xml that describes the
software project being built, its dependencies on other external modules, packages and
components and the build order. That makes the project build process easy. Maven dynamically
download java libraries and Maven plug-ins from remote repositories by reading the pom.xml at
build time. Maven provides built in support for retrieving files from the Maven2 Central
Repository and other Maven repositories.
27. Page | 20
Following are the key areas that I have covered in the Fast track
2.1.2 XML
XML , the Extensible Markup language is a markup language that we can create our own tags.
Self descriptive XML is designed to carry data or store data not to display data and it is widely
used for the representation of arbitrary data structure , for example in web service. In WSO2 ,
XML is used in every product , SOAP is one of the application which has been developed using
XML syntax which is highly use in WSO2 products in implementation of web services.
I have completed the following exercises using java libs and eclipse regarding to XML.
First I built a simple XML structure “interns.xml” using XML tags which is consist with the
interns personal data. And parse the build xml file to read the data.
XML Parser
Parsing a XML file means, XML parser converts the XML document into an object which can
use to extract the datas of xml file using programming language. There are three main XML
parsers that are widely used.
● DOM Parser
● SAX Parser
● STAX Parser
DOM Parser - Document Object Model (DOM) parser loaded the whole xml document into the
memory and converts the xml file into DOM object. DOM contains method to traverse trees,
access, insert and delete the nodes. Using DOM parser I have implement a java class to read the
data of “intern.xml” and print them. Since DOM parser creates an in memory tree representation
of XML file it requires more memory, if the xml file is too large parsing may take long time or
may not be able to load it completely causing “OutOfMemoryError”. But if the XML file is
small DOM parser is quite fast.And another advantage of DOM parser is it enables the random
access, it can access to any element in the xml file because it completely loaded to the memory.
28. Page | 21
SAX Parser - SAX stands for Simple API for XML Parsing, this is an event based XML parsing
and it parse xml file step by step. This is much suitable for large xml file.SAX trigger event
when it encounter an opening tag, closing tag, element or attribute and the parsing works
accordingly. SAX parser is recommend to use in java to read larger XML file since it doesn’t
load xml file completely but load small parts. But disadvantage is that SAX parser doesn’t
allowed random access it cannot access anywhere in the xml file at any time as we wish because
its event based mechanism. I have implemented a java class using SAX parser and study these
behaviors.
STAX Parser - Streaming API for XML (STAX) parser is the optimized parser which is
designed as a median of the above parsers, it use the mechanism call pull parsing.
XSD validation
XSD is used for validate a xml file . XSD or XML schema describes the structure of the xml file
it defines the legal building blocks of an XML document.I have created “interns.xsd” which is
the structure of the “intern.xml” file. And using DOM validation a given xml file can be validate
with a certain XSD . I implement a java class call “DOMValidator” to validate the “intern.xml”
file with the “intern.xsd”
Transform with XSLT
XSL stands for Extensible Stylesheet Language, and is a stylesheet language for XML
document. XSLT stands for XSL transformation. Using XSL we can apply style sheet for
particular XML file. XSLT is widely used for purposes other than XSL, like generating HTML
web pages from XML data. As an exercise I have created a XSL for “intern.xml” which is
named as “internsStyleSheet.xsl” and implemented a “XSLTtest.java” class to transform
“intern.xml” data using “internStyleSheet.xsl” to a html page. Figure 2.1 shows the result html
page.
29. Page | 22
Figure 2.1 XSLT result page
2.1.3 Apache Axis2 web service
As WSO2 name implies “web service oxygen”, WSO2 mainly concern on using web services
efficiently to solve business problem. So we need to have a good understanding and practice in
web services.
Apache Axis2 is a java based implementation of both client and server side of the web service.
Fundamental architecture of the Axis2 engine is shown in Annex A3 . This engine actually
covers the most fundamentals of all WSO2 product that we should know. Axis 2 enables to
perform following tasks easily.
● Create a web service out of a plain java class
● Send SOAP messages
● Receive and process SOAP messages
● Create implementation classes for both the server and client using wsdl
● Retrieve the WSDL for a service
● Create or utilize the services that take advantage of the various WS-* standards like WS-
Security,WS-addressing and etc
30. Page | 23
In order to understand the how web services works, how messages pass through the Axis2 engine
I have implemented a service called order processing service.Axis2 provide several ways to
implement a service.
● Building the service using AXIOM’s
● Deploying using Plain Old Java Objects (POJO)
● Generating the service using Axis2 Databinding Framework (ADB)
● Generating the service using XMLBeans.
I used POJO and AXIOM methods to implement the “order processing service “ this order
processing service is that it can store the details about clothes and using a client it can order list
of clothes, add clothes, and get the total price of order.
It doesn’t matter which method we use to implement the service, there is a specific structure of a
service.
“OrderProcessing.java” is the java class which has the logic of the service this is where all the
processing happens.
“service.xml” is the service descriptor which defines the class to be used by the service and the
appropriate message services.
31. Page | 24
Then create the ” .aar” file of this service and then deploy the “.aar” file by using Axis2 web
administration application or by copying it to the Axis2 service directory.
Then I implemented the clients for the services that I have created for test the services.There are
two major Message Exchanging Patterns between client and service
● In-out : The client sends a SOAP message to the server, which process the message and
send response back
● In-Only : The client sends a message to the server without expecting a response
Here in the service “addItem is a In-Only method and the “orderItems” is a In-Out method.
In order to create a client there are different methods too. In AXIOMS service I created the client
that accesses the service directly. Here client is just a simple java class where EndPointReference
is targeted to particular service.
Other method is client is generated from the WSDL file which is automatically generated when
the service is deployed. Using wsdl2java utility it can generate a stub class using WSDL file and
this stub class contains all the method that can be used to invoke the service.Using stub class
client can be created.
TCPMON
TcpMon is very useful debug tool which can use to monitor the message pass along in TCP
based conversation. Where this has many benefit when developing web services
Figure 2.2 TCP MON architecture
As shown in the figure 2.2 TCPMON can be used as an intermediary between client and the
service in this web service case. We can set a listening port in TCPMON and it shows the
packets and messages that come to that port and redirect them to the end. Using this feature we
can monitor the messages.
32. Page | 25
And also TCPMON can be used as a request sender for Web service in order to check the web
service methods work properly, the request soap messages can be pasted into the send screen and
sent directly to the server.
2.1.4 Web Service
As WSO2 products are based on SOA and web service, the knowledge about the web service is
essential in this training program. I have followed the guidelines that are given in the Fast track
Web services are application components which communicate using open protocol , and using
web service, application can publish its function and message to the out side. Mostly in web
service it uses XML to code and to decode data and SOAP to transport the data. The figure 2.3
shows how the architecture of the web service inside the web server.
Figure 2.3 Web service architecture in the web server
In my case TOM CAT server act as the App server or servlet engine which manipulate the life
cycles of services. and also Tom Cat has the HTTP Core which is the web server. Axis2 act as
the SOAP engine.
33. Page | 26
WSDL
WSDL stands for web service description language which describe web service. It is written in
XML.WSDL specifies the location of the service and the operations the service expose. WSDL
uses following major elements to describe the web service.
types - types element contains the data types definition used in the web service
message - element is the typed definition of the data being communicated
portType - this element describe the operations that can be performed ,and the message that are
involved in a web service . this happens to be the most important WSDL element
binding - this element defines the data format and protocol for each port type
Deploying a web service in a server like Axis2 the WSDL file for the particular web service is
automatically generated and this WSDL file can be used to generate the client for the service.
Another aspect in creating a web service is we can create WSDL file first and in Axis2 there is a
utility call “wsdl2java” using this tool we can generate the structure of the service where we can
code the logic inside the structure.
SOAP
SOAP stands for Simple Object Access Protocol. It is a communication protocol to communicate
between applications.And this Platform independent , language independent XML based
message format is created to communicate between application over HTTP , and it provides a
way to communicate between applications running on different operating systems with different
technologies and programming language. Web services are communicating through SOAP
messages.
SOAP is based on XML ,SOAP itself is a XML document which containing following main
elements
Envelope - This element identifies the XML document as a SOAP message, and is the root
element of the the SOAP message.
34. Page | 27
Header - This element contains application specific information about the SOAP message
Body - body element is the actual SOAP message which contains the call and response
information
Fault - This element contains the error and status information
Following is the structure of the SOAP message
35. Page | 28
2.2 Intern Project (QA Portal )
After completing the Fast track we were assigned into intern project. The project teams and the
project was assigned randomly so I was assigned to the QA portal project along with Sudheera,
Dammina, Maduranga,Ahsan and Vishmi. Users of the QA portal are the WSO2 quality
assurance team.
QA team is testing WSO2 products in order to check whether functionalities of the products are
working well or not. And if they find bugs and issues in their testing procedure they raise jira
issue for the developers concern to fix it. In their testing procedure QA team write test case for
the test plan that they are working in. Currently QA team maintains a spreadsheet that has the
details of the test plan, test result for the testing build.They manually enter the details to the
spreadsheet.In order to record the test cases and test results more efficiently and accurately the
requirement of a QA portal arise.
Mr Samisa Abeysinghe who was the mentor of the intern project given us the requirements and
the details of the QA portal, And we discussed with the QA team to identify the detailed user
requirements, what they really needed.
In the planning of the QA portal first thing was to identify the use cases according to the user
requirement and design use case diagrams. We identify four users for the QA portal and different
use cases among each of user. As the team suggested I should have to divide the different task
among all of us and assign each members to different task.
There are four users that we have identified, Admin, QA Engineer, QAA engineer and normal
user. Figure 2.4 shows the use cases for QA engineer and for QAA engineer. Use case diagrams
show the different tasks that user can do using QA portal.
36. Page | 29
Figure 2.4 QA Portal use case diagram
After planning the use cases, one of the most important tasks in the project is designing the data
model. I myself designed the data model, the ER diagram with the help of team members.
Designing data model is very crucial because whole project should build according to the data
model.Data Model which is the ER diagram is used to create the database of the project.
After series of discussions and modification we came across the final design of the data model
which is shown in figure 2.5.
37. Page | 30
Figure 2.5 QA portal ER diagram
After designing the ER diagram we design the wireframe diagrams and the data flow diagrams.
Wireframe diagrams show the sketch of the user interface of the QA portal. And data flow
diagrams show how data flows between different wireframes and the database.
After designing phase we started to implement the QA portal, QA portal is basically a jaggery
app which is run on the jaggery server. We used jaggery, java script languages to implement the
QA portal. And Mysql to access the database. In implementing QA portal we used following
WSO2 products.
● WSO2 Data service server
● WSO2 Jaggery server
● WSO2 Application server
38. Page | 31
WSO2 Data service server - WSO2 DSS provides simple, easy to use platform for integrating
data stores, creating composite data views and hosting data. We created the Mysql database
schema according to the designed data model and integrate it with the DSS. Using DSS we can
create data services to access the database with CRUD(create,read,update,delete) operations.QA
portal directly invoke the data services to access the database.When it integrate with the database
DSS automatically generate the data services for basic CRUD operation for each table in the
database. In order to perform different operations like join operations we had to implement data
service and create queries for them.
In generating the data services it automatically generate the CRUD style operations with a SOAP
style web services but in our project since we used REST style service, in order to access the
service queries we had to write resources.Following is an example of a query and particular
resource.
39. Page | 32
I used above query in the “WSO2_QAP_TEST_CASE_DataService” to insert the test case
values to “WSO2_QAP_TEST_CASE” table in the database.Following are the important
elements and attributes in the query.
<query id> - “query id” is used to identify the query from the resource and operation
<sql> - this is where Mysql query which is execute in the database is written.In the above
example it is a Mysql query to insert the values to the Test case table
<param> - this element contains the input parameters for the SQL query that are pass from the
resource in this query there are five parameters pass to the sql query as input parameters
<result> - In result element has the elements according to the table column name as well which
are the results from the execution of the query. Since this is a Insert query it doesn’t return any
values .But queries like view would result values.
This is the resource for above query
method - Since the aspect of invoking this resource is to insert the value here I used resource
method as “POST” because it doesn’t return back. This method can be “GET” ,
“PUT”,”DELETE” accordingly.
40. Page | 33
path - this is the path the URL for invoking this particular resource from the outside request it
should be data service path + resource path.Input parameters also can be send from the path
call-query - this is where resource reference to the query and this element contains the input
parameters to the query as well.
Data service contains series of queries and resources based on the functionality, from simple
query to very complex queries which join several tables. And we create data services as per each
table in the database.
Response from the resource invoke will be a json string containing the requested details.
Jaggery and Jaggery server - Jaggery is a javascript framework that has been developed by the
WSO2, which can be used to write all part of the web applications and services. QA portal
project is a jaggery application which runs on the jaggery server.
WSO2 Application server - WSO2 Application server brings together a number of WSO2
products and open source projects into a single server.It accomadates the hosting,deployment and
management of various applications. In the QA portal project we would have to use Data service
server for implementing data services and the Jaggery server for host the QA portal jaggery app.
But instead of using separate server WSO2 Application server provides the facility to host data
services and the qa portal app since it has the DSS component and jaggery server app with it.
Figure 2.6 shows the architecture of the QA portal
Figure 2.6 QA Portal architecture
41. Page | 34
2.2.1 Learning outcome from the project
In the QA portal project it helped me to learn and gain experience in several aspects. As in a real
software development process gathering user requirement is done by discuss with the QA team,
the user of the QA portal. It is a new experience which I have not experience in the university
project. And the user requirements can be changed during the implementation and we had to
adapt to the new requirements. And also we had to work under deadline.
In technological aspects I have learnt several technologies and had a good experience in working
with them.Following are some of the technical experience that I have gained from this project.
● Experience in designing complex data model as in QA portal
● Implementing database schema and integrate the database with WSO2 Data service
server.
● Working with data services and queries, and invoking RESTful services using json.
● Implementing the QA portal app using jaggery is a new experience since this is the first
time I have used the jaggery framework , and also I learnt javascript, jquery as well.
● Using of WSO2 application server, deploying application and etc.
● Javascript, Jquery, Json
2.2.2. Further improvements in QA portal
QA portal should be integrated with the test automation framework. Auto test cases that are
created should be assign for test cases that has been created before. And after running the test
automation, the test automation results should be added to the database as well. And can be view
in QA portal.
42. Page | 35
2.3 Working with product team
After fast track and the intern project we are divided into working with product teams. I was
assigned to WSO2 CEP team.
2.3.1 WSO2 CEP (Complex Event Processor)
Event processing is a method of tracking and analyzing streams of data and deriving a
conclusion from them. Complex Event processing process combined data from multiple sources
to infer events that suggest more complicated circumstances.And it identify meaningful events
and respond as quickly as possible.
WSO2 CEP is a lightweight,easy to use and open source server.Which identifies the most
meaningful events within the event cloud, and analyze them in real time.And it is built as
extremely high performing and largely scalable. As other products WSO2 CEP also built on the
WSO2 Carbon platform which is based on the OSGI framework enabling better modularity for
service oriented architecture.
2.3.1.1 Architecture
Annex A4 shows the WSO2 CEP architecture with its components and the Event flow
Input Event Adapter - The events that are coming to the CEP is received by the Input Event
Adapter. CEP supports most common implementation by default but can plug custom adaptors
for specific use case.
Event Builder - Event Builder converts the event received by the input event adapter (in
XML,JSON,Text,Map and WSO2Event formats) to event streams to send to the Event processor
to process.
Event Stream manager - Event stream manager manages all the event streams in the system.It
is the central for all events as well. Event Stream manager stores the stream definitions in the
governance registry and other components like Event Builder, Event Processor, Event formatter
interact with Event Stream manager to retrieve stream definitions and event streams.
43. Page | 36
Event Processor - This is the core event processing unit of the CEP. It manages different
execution plans and process events based on logic with the help of different Siddhi engine.Event
processor gets stream of events from the Event Stream manager and process the events and
create new event streams as output and send them back to the Event stream manager.
Event Formatter - Basically Event Formatter does the opposite of Event Builder, it converts the
event of event streams into different formats such as XML,JSON,Text and WSO2Event.
Output Event Adapter - Output event adapter publishes events to external systems and dumps
data to databases for future analysis. This also has different adapter implementations most
common ones are available default but can implement custom adapters for specific use cases.
This is the basic architecture of WSO2 CEP and how the event process flow happens. There are
so many different scenarios that the WSO2 CEP can be used. WSO2 CEP used by many
customers around the world as a business solution like big data handling in stock exchange, Loan
payment processing and etc.
2.3.2 Building ‘Carbon’ platform
As mentioned WSO2 Carbon is the platform of all products. It consist with OSGI bundles which
has interdependencies among the components. Before working in the carbon platform we need to
build the carbon platform so the maven dependencies which are used in the developing will be
downloading in building process. Completely successfully building a Carbon is quite a challenge
since all the developers from different products teams are committing new stuffs, and busy with
releases so there might be breaks.
Building carbon needs following prerequisites
1. Linux
2. Oracle Java 1.6
3. Apache Maven 3.0.5
4. Subversion
After check out from the Carbon source from the SVN ,There is a svn structure and sequence to
build the carbon.
Orbit, Kernel and Platform
44. Page | 37
Orbit - This is the directory which consists with third party library which are required for
Carbon core. In building Orbit it import third party libraries and convert them into OSGI
bundles.
Kernel - This is the Carbon core , it is the foundation for all the carbon products and has the
implementation that are common to all Carbon products, such as clustering,transport
security,logging etc.
Platform - Platform contains all the carbon components for WSO2 products, and there is a
complex build sequence in platform too.Annex A5 shows the WSO2 Carbon Platform .
After building the carbon platform , all the maven dependencies are downloaded to the local
repository it will be helpful to write new carbon component.
2.3.3 Carbon component
In this componentized carbon platform contains the different carbon components which are use
in one to several WSO2 products.In order to add a new functionality , component to the products
it needs to be create as a carbon component it is the basic building block in this carbon platform.
Carbon component is consist with main two sub components
Server component- This is the back end of the carbon component it does all the processing
UI component - This is the front end component which is the user interface.
Apart from these components it has service stub which connect the front end and back end
together.
Following is the structure of carbon component
Figure 2.7 Carbon Component Structure
45. Page | 38
2.3.4 Event Simulator
Event Simulator is the component that I was assigned to implement by the WSO2 CEP team. It is
a brand new feature that I have to implement from the scratch and it would be a challenge as well
as very helpful to learn rather than patching for an existing feature.
Event simulator is a debugging and monitoring tool which will be very useful for users as well as
the developers of WSO2 CEP. In implementing I created the Event Simulator carbon component.
2.3.4.1 Implementation of Event Simulator carbon component
As mentioned carbon component has two main sub components , Event Simulator carbon
component has the back end and front end components as well , following is the directory
structure of the Event simulator carbon component.
Here back end component consist with two modules Admin and Core modules.
Core - org.wso2.carbon.event.simulator.core
Core module is where all the processing happens in the Event simulator. Logic of the component
is inside here. Following is the directory structure and the java classes of Core module.
46. Page | 39
Here “EventSimulator” interface is exposed to the outside by OSGI register service in the
“EventSimulatorDS” class. “CarbonEventSimulator” is the implementation of the interface
where all the core code is written. “CSVDeployer” class is another important class which is
triggered when new file is uploaded to the deployment directory in my case it should be CSV
file. And file details can be retrieved using this class.
Here component.xml file contains the following details about the CSVDeployer class, deploying
directory and the file extension of required file to upload in to the deployment directory.
47. Page | 40
When building the source using Maven, pom.xml file is called it reference to the parent pom
files, dependencies, plug-ins, source files and etc. Following is the part of pom.xml file.
Parent tag contains the details to reference to the parent pom.xml following the details of the
core module. dependency tag contains the details of different dependencies which are used in
this module. These dependencies are also OSGI bundles which are expose as OSGI services.
And also this whole module is export package for the OSGI bundle.
Admin - org.wso2.carbon.event.simulator.admin
Admin module acts as a bridge to the core and to the front end UI. Admin module is exposed as
a web service which is invoked by the front end using service stub. Following is the directory
structure and the classes of Admin module
48. Page | 41
Here “EventSimulatorAdminService” has the methods to access the exposed method in
“EventSimulator” interface. This class is used as the service class for the
“EventSimulatorAdminService” web service using this web service the service stub is generated
which is used by the front end UI to invoke the different operations/methods in the Admin
service.
services.xml is the contains the target class (EventSimulatorAdminService) to expose as a web
service and the which methods should be exposed as operations. Following is the services.xml
code.
<Parameter name=”ServiceClass” > reference the service class as EventSimulatorAdminService
class. <opereation> are the methods that are exposed in the web service operation name should
be the method name.
49. Page | 42
UI - org.wso2.carbon.event.simulator.ui
UI module is in the front end component which has the user interface. This module is very much
like a web application module. I used Java script and JSP to implement the Event Simulator UI.
UI doesn’t directly interact with the back end core instead it used EventSimulatorAdminService
web service. In order to invoke the methods in web service it uses the service stub which is
generated using the WSDL file of web service.
Following is the directory structure of the UI module.
50. Page | 43
In EventSimulatorUIUtils class EventSimulatorAdminServiceStub is implemented.
“CSVUploaderclient” and “CSVUploadExecutor” class are used to upload the file .
In component.xml class following configuration has to be done.
<menu> tag contains the details of the link in carbon server navigator panel.The index.jsp page
the homepage to be appear when click the link.
<FileUploadConfig> - is mapps the CSVUploadExecutor class
51. Page | 44
Service stub - org.wso2.carbon.event.simulator.stub
Service stub is used by the UI as a client to invoke the “EventSimulatorAdminService” web
service. Following is the directory structure of the stub.
EventSimulatorAdminService.wsdl file is the description wsdl file of
EventSimulatorAdminService web service. Using this wsdl file it generates the stub class.
pom.xml file contains all the configurations to convert the wsdl file into java class and export
package to OSGI bundle. Here it uses wsdl2java maven-antrun-plugin to convert the wsdl file to
java stub class.
52. Page | 45
2.3.4.2 Event Simulator Feature
After Event Simulator carbon component is built it has to be released as a feature, This feature
can be installed into the carbon product or in this case the WSO2 CEP, using Feature manager.
In a carbon feature consist three sections ,
● Server feature
● UI feature
● Composite feature
Following is the directory structure of Event Simulator feature
Server feature pom.xml contains the bundle dependencies of Core and Admin module. UI
feature contains the bundle dependencies of UI and stub modules. And composite feature have
dependencies from generated new server and UI features.
2.3.4.3 Event Simulator Final product
After completing the Event Simulator component and the feature I successfully completed the
project that I have assigned. And also I was able to contribute to the recent WSO2 CEP 3.1.0
release with the Event Simulator 1.0.0 version which is already using by the customers as well.
53. Page | 46
Need of an Event Simulator
Event Simulator can be used as a debugging and monitoring tool in different aspects for both
users and the developers of CEP. Specially to debug Execution plan, Event Output adapter and
Event Formatters. Following is one of scenario where Event Simulator can be useful.
Debug an Execution plan
After creating an Execution plan if we want to check whether it gives the correct output ,
whether to check it is working well or not. In that case we should have to send event streams
through the execution plan according to the import stream in the execution plan. In order to
execute such a scenario currently we have to implement an external event source (client) to send
events to CEP, and then have to configure Input Event Adapters, Event Builders . This is a bit of
time consuming work for a simple debug. In such a scenario we can use the Event Simulator to
simply create events and send them through the execution plan.
Underlying Architecture and Event flow
Figure 2.8 shows the position of the Event Simulator in CEP architecture and the flow of events.
Event Simulator gets the stream definitions from the Event Stream manager and according to the
user perspective which will be described later, Event Simulator creates events and send them
back to the stream manager where it connects all other component such as Execution plan, Event
Formatter, Output event adapter as stream is defined.
54. Page | 47
Figure 2.8 - Event Simulator Architecture
Use cases of Event Simulator
Event Simulator has mainly two use cases.
● Send Single Event
● Send Multiple Events
55. Page | 48
Send Single Event
Figure 2.9 Event simulator send single event
Event Simulator has sending single event capability, First selecting the Event Stream definition
which have to create events. And it generates the form with input fields according to the stream
definition attributes as shown in figure 2.9. Then user can input the appropriate values to the
input fields and by just clicking the send button, it create the event and send them to the
components (Execution plan, Event Adapters, Event Formatter) defined in the event stream.
Send Multiple Events
Figure 2.10 Event Simulator send multiple events
56. Page | 49
Event Simulator can be used to send multiple events as well.In order to create multiple events it
uses CSV files which has the event details. Using the UI user can upload a CSV file which has
the event details, and this CSV file need to be containing event details line by line for an event
and all the details should be according to a one stream definition. After uploading, the uploaded
files are shown in the UI as in the figure 2.10.
Then the file has to be configured for the target event stream
Clicking the configure button will pop up Event Mapping Configuration window as figure 2.11
Figure 2.11 Event Simulator file configuration
Figure 1-Event Simulator file configuration
After configuring the file ,user can create and send multiple events by clicking the play button,
these events are sent to components (Execution plan, Event Adapters, Event Formatter) defined
in the event stream.
2.3.4.4 Event Simulator Future improvements
Event Simulator is planned to record the event streams that are going through the Event Builder
and these streams of events are saved into a CSV file and can be reused to send events.
57. Page | 50
2.4 Non technical experience
In addition to the technical experience I got from WSO2 I have experienced so many non
technical social experiences as well. WSO2 doesn’t treat interns as outsiders they treated us like
a part of WSO2 family. Every facility, events that are given to the employees are given to us too.
WSO2 Con 2014 Asia
WSO2 Con is the annual conference held by the WSO2, we all interns are selected to this
valuable opportunity. WSO2 Con 2014 was held in the water’s edge, Battaramulla. Theme of the
WSO2 Con Asia 2014 was “Connected business”. It has been held for three days the first day
was tutorials session that I participated the tutorials about javascript world and the Turning
events and Big data into insight with WSO2 CEP and WSO2 BAM. Then the following two days
had special keynotes, presentations, tech talks and etc. And there was a networking session
organized in the evening in both days. Where all enjoyed and had great fun with tasty foods,
dancing, listening to music and etc.
WSO2 year-end party
WSO2 organize an annual year end party where all are enjoying and celebrate the success
throughout the year. This time end of the 2013 Year end party it was named as year-end dance
was held on Cinnamon Lakeside hotel. Every employees participated in the occasion and it had
several events as well.
Sports Activity
WSO2 provide several sports facilities for their employees. This is very much helpful them to
release stresses hang out with others and enjoy the work rather than getting stressed. WSO2 has
basketball court, Gym, pool table, table tennis table, carom, cricket, hockey and etc.
58. Page | 51
WSO2 has organized a pool tournament which I have won the championship with my partner
Nadeeshan. And we participated in a bowling tournament in the Excel World where all the
interns enjoyed well in their final day of internship.
There are lot more activities that we have participate,learn and enjoyed.Such as award ceremony,
WSO2 planning meetup, CEP team outing They were great experience that I have gain in my
life. I felt so happy that I’ve been the part of WSO2 family that makes fame to our country in the
field of software industry.
3. Conclusion
3.1 Experience
My internship period can be divided into 3 main periods
● Fast track training period
● QA portal project
● Event Simulator project in CEP team
In these three periods I got opportunity to learn so many new technologies that I haven’t
experienced before. In the fast track I studied so many new technologies and practices them.
Then those technologies that I have learnt can be able to applied in a practical scenario in QA
portal project and Event Simulator project. Some of technologies that I have learnt are XML,
Web services, Axis2, REST.JSON, SOAP, OSGI framework, javascript, jquery ,JSP,SVN and
etc.
And also I learnt how to apply the knowledge that learnt from university to real world
application. I got to know how the actual software development process happens in a real worlds
in the industry and was able to work with it and had a very good experience. Other than all the
technical knowledge and experience I learnt how to behave in a professional way, how to
collaborate with the fellow employees, how to be an effective team player, how to get help from
others, email ethics and etc..Although working in the industrial environment is totally different
from the university environment I was able to adopt it very quickly with the great support from
59. Page | 52
the employees of WSO2. With all of these experiences this was one of the greatest experiences I
gained in my whole life
3.2 WSO2 as a training establishment
I can highly recommend WSO2 as a great training establishment that gives a complete exposure
to the global software industry in a modern company background. WSO2 has a special training
program which gives a great technical knowledge in very practical manner and also the other
social knowledge which is needed to be a professional software engineer. WSO2 took 24
students as interns, highest number of interns recruited by any company. I think reason for this
is WSO2 has all the facilities to provide good training program for all of them and they have
large number of product teams and employees who can supervise each one of us. I believe they
have provided great and valuable internship program for all 24. And also WSO2 consider this as
a future investment too. The training program fast track program they have provide for interns is
the same program that they provide for new employees. So if they recruit an intern as an
employee in future they wouldn’t give the fast track for them. This shows the quality of the
program.Also interns have opportunity to take part in the product teams in actual software
development process. As my experience I was able to contribute to the WSO2 CEP 3.1.0 release
with my new feature. Most important thing is the support that give by all the employees to the
interns. WSO2 culture is made with helping to each other. Although we are working in a one
product team all the product has dependencies so they all are connected so we have to deal with
other product teams as well, this WSO2 culture has make all employees are willing to help. In
my experience when I have an issue and ask it from a fellow team members they not only help to
fix the issue but they explain background in it and the basics of the scenario and all of these
things that we should have to learn as an intern. An additionally they organize technical and non
technical training session for the interns.
This is very good opportunity to get to know some of giants in the software industry, Interns are
invited to all the events that WSO2 organize such as year end party, award ceremony, WSO2
planning meetup, sports events, team outing and lot more events where interns can hang out with
all the employees from CEO, directors,architectures to all other employees. And we can learn so
many thing from their knowledge and experience.
60. Page | 53
I can’t imagine any kind of negative feedback on my 6 months of training at WSO2, because I
gained maximum advantage from the internship at WSO2 in technical aspect as well as non
technical aspect. I think WSO2 will continue this training program in future as well because I
don’t see anything is missing or should be improved in the training program.
As conclusion, I can say WSO2 provided very valuable and great internship to me and as well as
my fellow interns. And I can recommend WSO2 as one of the perfect place for anyone to work
as an employe or an intern.
64. Page | lvii
References
1. http://wso2.com/
2. http://axis.apache.org/axis2/java/core/
3. http://jaggeryjs.org/
4. https://docs.wso2.org/display/CEP310/About+CEP
5. http://www.w3schools.com/webservices/ws_wsdl_ports.asp
6. https://sites.google.com/a/wso2.com/training-knowledge-base/xml?pli=1
7. http://wso2.com/library/tutorials/2014/03/how-to-write-a-wso2-carbon-component/
Abbreviation
API – Application Programming Interface
ASF – Apache Software Foundation
VP – Vice President
UI – User Interface
IDE – Integrated Development Environment
CEP – Complex Event Processor
OSGI- Open Service Gateway Initiative
PaaS – Platform as a Service
SOA – Service Oriented Architecture
SVN – Subversion
XML – Extensible markup language
XSLT – Extensible Style sheet Language Transform
QA – Quality assurance
CEO- Chief Executive Officer
WSDL – Web Service Description Language
SOAP – Simple Object Access Protocol
FOSS –Free and Open Source
TG – Technical Group
OS – Operating System
DOM – Data Object Model
SAX – Simple API for XML
STAX – Streaming API for XML
XSD – XML Schema Definition
65. Page | lviii
POJO – Plain Old Java Object
TCP – Transmission Control Protocol
HTTP- Hypertext Transfer Protocol
DSS – Data Service Server
AS- Application Server
REST – Representational State Transfer
CSV- Comma Separated Value
BAM – Business Activity Monitor