0% found this document useful (0 votes)
142 views

An Overview On How To Develop A Low-Code Application Using Outsystems

This document provides an overview of developing a low-code application using OutSystems to create a self-service platform for employees: 1. The application allows employees to manage personal information, schedule tasks, and book vacations independently through a web interface. 2. It was developed over 4 months with initial training in OutSystems, and demonstrates how low-code platforms can efficiently develop applications. 3. Key features for employees, superusers, and HR include managing personal data, documentation, expenses, and a hierarchy chart to assign roles.

Uploaded by

Tapiwa Jemwa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
142 views

An Overview On How To Develop A Low-Code Application Using Outsystems

This document provides an overview of developing a low-code application using OutSystems to create a self-service platform for employees: 1. The application allows employees to manage personal information, schedule tasks, and book vacations independently through a web interface. 2. It was developed over 4 months with initial training in OutSystems, and demonstrates how low-code platforms can efficiently develop applications. 3. Key features for employees, superusers, and HR include managing personal data, documentation, expenses, and a hierarchy chart to assign roles.

Uploaded by

Tapiwa Jemwa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

An overview on how to develop a low-code

application using OutSystems


1 1,2,3
Ricardo Martins,Filipe Caldeira, 1,2 Filipe Sá, 3 Maryam Abbasi, 1,2 Pedro Martins
1
Polytechnique Institute of Viseu, Portugal
2
CISeD – Research Centre in Digital Services, Polytechnic of Viseu, Portugal
3
CISUC - Centre for Informatics and Systems of the University of Coimbra, Portugal
[email protected], [email protected],
[email protected], [email protected], [email protected]

Abstract—The motivation for developing a self-service plat- they are associated and finally they can record their
form for employees arises precisely from the idea that in all working hours for each project.
organizations there are tasks that could be automated in order • The possibility of making a hierarchy chart of the institu-
to redirect work resources to more important tasks. The proposed
application consists of the development of a self-service platform, tion, assign job titles and positions to employers. These
for personal information and scheduling tasks, aimed at the tasks are more focused on the SuperUser and Human
employees instead of all the solutions that are in the market Resources.
that aim their platform to the Human Resources. We focus on
the employers giving them more responsibility to make their
The development time of was four months with no expe-
own personal management like, change their personal info, book rience with the OutSystems low-code platform [7], where a
their vacations and other, giving to the Human Resources the month of training was dedicated to learning all the components
tasks of managing all these actions made by the employers. of the platform. In this way, we can consider the learning curve
At the end of the work, it is expected that the final solution with great growth depending on the time used for training. In
to be considered as an example of success with regards to the
theme of business automation and innovation, using the low-code
this paper we show that by using a low code framework, it is
application Outsystems to perform the full proposed application possible to produce results with more quality in less time.
development. This document is organized as follows. Introduction, respon-
Keywords-outsystesms, application, development, business sible for framing the developed proposed application. Section
management, low code. II, related work, some related applications are analysed and
refer to the architecture of OutSystems platform. Section III,
the use cases are presented. Section IV, prototype and applica-
I. I NTRODUCTION
tion, refers to the low fidelity and high-fidelity prototypes that
This work aims to develop a reactive web application were developed. Finally Section VI, conclusions and results
that allows employers from any institution to manage in an are discussed, as well as the future work guidelines.
automated way some tasks of their daily routine in the office.
This includes basic information such as skills and soft skills II. R ELATED WORK
and even more detailed information, book vacations, internal Paycor is a complete human resource platform that in-
personal documentation management, and other tasks. cludes tools for recruitment, integration, employees, time,
Although this work is focused on the employers, we still attendance, benefits, payroll, taxation and much more [11].
have other types of users in the application such as the Supe- Zenefits is an online HR platform designed to help small and
rUser (with extended permitions to change others information) medium-sized businesses when it comes to payroll, benefits
and the Human Resources, that their actions are focused on management and other processes related to employees and
managing all the requests made by the employers but they still the workforce. Resources include management for employees,
can make all the tasks that employers can make. The specific employee benefits and insurance, recruitment and integration.
goals for the three developed modules, developed with a low- Zenefits unifies all features and tools in one panel to provide
code framework, are the following: comprehensive control in compliance with regulations and
• The possibility for each employee to have a personal area better access to employee information [4]. Zoho People is HR
to add their private information (not shared with other software from Zoho Company’s complete suite of business
employers) and a section where users could add, view tools and applications for small and medium businesses. It is
and edit three sections: “About Me”, “Skills”, “Linguistic a simple and scalable HR solution to manage all activities and
Skills” and “Social networks”. concerns related to the workforce and employees. Created to
• The possibility of managing their personal documentation work immediately, Zoho People is ideal for companies that
like abilities certification, knowledge, likes, and others, want an application that they can easily deploy and customize
also they can submit expenses related to a project which exactly to their needs and expectations [12].

978-1-7281-7213-2/20/$31.00 2020
c IEEE 395

Authorized licensed use limited to: Carleton University. Downloaded on June 02,2021 at 09:53:03 UTC from IEEE Xplore. Restrictions apply.
Fig. 1: OutSystems architecture

Additionally other three low code tools were studied, Out-


systems [5], kissflow [8] and Mendix [6]. Table I compares
the three main low-code development tools available, where
the learning time, and development easiness, is an average Fig. 2: Use cases
evaluation of 6 users developing the same tasks.
We opted to use OutSystems in this work, this is because
after analyzing each of the functionalities it is the one that model that was developed in the visual editor and generates
offers more control over the work developed and also offers all the native application components, ready to be deployed
native support for Agile development methodology that is used to an application server. When the code generator retrieves
in this proposal. the application model it runs a deep graph analysis on the
OutSystems is a fast delivery platform for low-code ap- application model, checks for optimizations that can be done,
plications that speeds up the delivery of mobile and web generates integration proxies, generates native code for all the
applications [5]. Developers use an integrated development layers in the application, Bundles session management and
environment that covers the entire life cycle of development: add logging and monitoring capabilities to the application.
development, quality assurance, implementation, monitoring Deployment services: The deployment services deploy the
and management [2]. generated application components to an application server and
In Table II is presented a comparison of final products ensure the application is consistently installed on each front-
that directly compete with the proposed application, Paycor end server of an organization’s server farm [3].
[13], Zenfits [9], Zoho People [10], PeopleSoft [14]. Table
III. U SE CASES
II shows the functionalities of all the platforms mentioned
the proposed application as well. The proposed application This section includes an in-depth analysis of the proposed
supports the most essential features present in these platforms. application structure, a brief discussion of the application
At the same time, the proposed application wants to give architecture, an explanation of the use cases and an analysis
more responsibility to the company’s employees to carry out of the database model.
their personal management, such as the delivery of expenses, The development of the proposed architecture modules was
scheduling holidays. conceived as actions performed by each actor in the different
The underlying OutSystems architecture is not apparent to modules. To analyze how actions that the user can use on the
the end-users of the apps, the developers creating them, or platform, Figure 2, a diagram of use cases was developed. To
even the operations teams managing the application. In Figure analyze the actions of the application architecture modules,
1 we can see the components of this architecture [1]. process flowcharts were executed.
Figure 1, Platform Server: OutSystems platform server Figure 2 shows the use case diagram for the “PersonalData”
is the core of OutSystems. It is a server component that module, which is focused on the personal data of the employ-
complements a standard web application server stack with a set ers.
of services. The platform server takes care of all steps required This use case has two actors, namely employers and human
to generate, optimize, compile and deploy applications into resources. These two actors perform actions similarly. As an
a standard web application server, or package into a native employer, he/she can change personal data, as well as request
mobile app and had a set of specialized services under the technological and linguistic skills that will be registered in the
hood. Code generator: This compiler takes the application form of requests for further evaluation and decision by Human

396 International Conference on Smart Technologies in Computing, Electrical and Electronics (ICSTCEE 2020)

Authorized licensed use limited to: Carleton University. Downloaded on June 02,2021 at 09:53:03 UTC from IEEE Xplore. Restrictions apply.
TABLE I: Comparison low-code platforms
OutSystems KiSSFLOW Mendix
- Monitoring progresso; - Centralized application
- Full access control and performance;
- Single Login; management multichannel;
- Native Support for agile development
Functionalities - Interactive workflows; - Business integration;
and complete DevOps deployment;
- Advanced reporting and - Public and private application
- Real-time monitoring;
predefined reports; stores;
Zapier, Amazon EC2, GitHub. Lync Online,
Facebook, Twitter, Linkedin,
Integrations Microssoft Azure, Caspio, Microssoft Excel,
Salesforce, ZenDesk, Paypal, Twillio
Xero, Paypal, Stripe Salesforce App Cloud, Skype
Average
30 days 60 days 60 days
learning time
Development
easy medium easy
easiness

TABLE II: At final product level

Paycor Zenfits Zoho People PeopleSoft


Human resource management    
Employability screen    
Employability screen    
Payroll    
Reporting    
Support for employers    
Self-service for employers    

Resources. The employer can still see the profile of the other
members of the organization. Human resources can carry out
all these tasks to and also create skills that later the employee
can associate to their profile, and make the management of
the requests.

IV. P ROTOTYPE AND APPLICATION

After the requirements, prototypes were made to idealize


the application structure. Following an intensive study of the
technologies and tools to be used in the implementation of
this project, the specific goals of the project were elaborated
on the prototypes illuminating the interface of contact with the
user. Paper and pencil were used to make these prototypes. In
Figure 3 is depicted one of many prototypes, where we can
see the sketch version of the user’s Profile.
After the first prototypes finalized, the final application
design was created. Note that, by using a low-code framework,
Outsystems, The design of the full functional application lasted
only a couple of weeks. It is presented in Figure 4.
Figure 4 shows the profile of an employer, here he/she can
change their personal data that is shown in their profile, assign
skills like it is shown in the Tab “skills” and also assign
Fig. 3: Low Fidelity Prototype (Employee Profile)
linguistic skills. The employee has the responsibility for the
way he presents his profile and what he wants tho show to

International Conference on Smart Technologies in Computing, Electrical and Electronics (ICSTCEE 2020) 397

Authorized licensed use limited to: Carleton University. Downloaded on June 02,2021 at 09:53:03 UTC from IEEE Xplore. Restrictions apply.
employees of a given project. In the entity “Expenses” we
have the expense record of a specific employee where all the
information related to the employee is kept, associating the
expense to a specific project and employee. We also have
a status attribute for later validation by Human Resources.
Finally, the “Skills” and “MemberSkills” tables these two
tables that aim at creating competencies and assigning them
to an employee.
B. Application development
The whole application is built on a single integrated devel-
opment environment using a low-code approach. This includes
the front-end, back-end, database, and integration with existing
systems or services. To build the UI of the mobile or web-app
we can use templates and pre-built blocks that work across
devices, we can extend the UI with standard HTML, JavaScript
and CSS. All the aspects of the back-end are developed using
a visual language, including APIs, web services, workflows,
and business rules. The application database it is modelled
Fig. 4: Final Application Design (Employee Profile) visually and can be connected to any existing data source.
Also, it is possible to use open-source connectors to connect
to software packages, current apps, or existing databases and,
other users since this page can be also seen by other employees visually consume or expose web-services or build your own
of the organization. connectors with custom code.
After obtaining the key requirements of the application,
A. Database model the development was started. The page-to-page flow is easy
OutSystems tool helps generating the Data Model and to manage, the screen is an interface element that has other
Entities (i.e. tables) as it is called in OutSystems platform. elements for user interaction, the screens are used to create
OutSystems has three types of entities, entities, static entities web pages and mobile screens in applications. The screen
and OutSystems entities. Entities are elements that are created interface allows us to add input and local variables to manage
by us to store information in the database we can think of them the user interaction, also we can have actions in the screen and
as tables. Static entities are entities that group data that we fetch data from the database with aggregate widget. In Figure
need in the application, those that are not constantly changed. 6 we can see the composition of a screen with all mentioned
Data such as the status of a task (active, in development, features.
archived) are saved. OutSystems entities are automatically The screen shown in Figure 6 has all the features mentioned,
generated by the platform. These are necessary for the proper for example, the input variable “ProjectId” so we can easily
functioning of the application, such as, for example, the make a fetch from the database with this Id, the local variable
application menus that are automatically saved in an entity “Pagination” that will, in this case, handle the pagination of the
generated by it. The user’s entity is also automatically gener- records retrieved, the Aggregate “GetProjectsMembersByPro-
ated by the platform, which is a necessary entity in practically jectId” which uses the input variable as a filter of search and
all developed projects. some actions that handles users interactions.
The application database model is presented in Figure 5. The page-to-page flow is easy to manage as mentioned
The Relational Data Model represents the tables and the and with all these features we can easily pass data between
relationship between them, schematically in order to obtain screens or manage the navigation to another screen. Some of
a representation of the existing Database. the widgets such as Button widget and link widget have the
Highlighted in green are the main entities of the database. destination property where we can say without making some
Table “Member” is used to store the data of the users of the code where we want to navigate after the user click, we can
application as well as their personal data that will be displayed also use an action to make this happen we just need to add a
on their profile. The database table “Projects” is used to record navigation component in the flow as it is shown in Figure 7,
all of the organization projects as well as their data such as wherein the end of the flow it will navigate to the “ProjectList”
the project area, their engagement, start date and end date. Screen.
The database table “ProjectsMembersHour” is used to record
the hours of work carried out by a member of a given project, V. A PPLICATION
where the number of hours carried out by the employee a The objective of the current section is to demonstrate the
will be later validated by Human Resources or SuperUser. implementation of the features developed for the application
The database table “ProjectMembers” is used to register the in accordance with the requested requirements.

398 International Conference on Smart Technologies in Computing, Electrical and Electronics (ICSTCEE 2020)

Authorized licensed use limited to: Carleton University. Downloaded on June 02,2021 at 09:53:03 UTC from IEEE Xplore. Restrictions apply.
Fig. 5: Database model

Fig. 6: Screen interface

The proposed application will have three major user agents,


Employee, Human Resources and SuperUser, where each one
will have their permissions and the possibility to execute
Fig. 7: Flow
certain functions. Employee can carry out everything that is
related to himself, from profile change, vacation booking,

International Conference on Smart Technologies in Computing, Electrical and Electronics (ICSTCEE 2020) 399

Authorized licensed use limited to: Carleton University. Downloaded on June 02,2021 at 09:53:03 UTC from IEEE Xplore. Restrictions apply.
among others it is an employee of the organization. Human
Resources, in addition to being able to perform as employee
tasks, still have permissions to use orders and validate them.
Finally, the SuperUser is the owner of the application and has
the possibility to perform everything that is the task of the
application without any type of restriction.
Right after logging in, into the application, the user is
presented with the home page (Figure 4), which is the profile.
When editing the profile (and after filling in all the mandatory
fields), with the intention of saving its changes, the user will Fig. 8: Employee Hierarchy
have to select the Save button or select Cancel button to
dismiss. In purpose of changing the profile data, in addition to
navigating to the Profile screen again, the system will acquire
all the information that was written in the input fields, that
will appear in the screen when Edit button selected, and will
perform an Update in the Members tables, also a request will
be made for later validation by Human Resources.
The skills and linguistic skills are available to the user to add
and other documents, such as the certificates or curricula. All
of these tasks require validation from the Human Resources or
SuperUser. These skills are created by the management group
of the application (Human Resources, SuperUser). Fig. 9: Example of requests
When the employee is associated with a project that has,
for instance, to travel, he can submit expenses in terms of
VI. C ONCLUSIONS AND FUTURE WORK
transportation or whatever he finds relevant by presenting sup-
porting documents and clarifying the purpose of the expense, The various phases of development were followed through
this request once again will be validate by the management the Software Engineering processes, where the functional
group. The documents section, as already mentioned, is in- and non-functional requirements of the project to be devel-
tended to provide the possibility of adding documents and oped were identified and prioritized, formalized and approved
other certificates to the employee profile these documents can through meetings with the client.
only been seen by the employee and the management group. The expected time for the development of each module was
Here you can add the document an since it is submitted it three weeks and this time was fulfilled which lead us to three
can be previewed instead of downloading it in the employee months of development. OutSystems uses several tools that
profile. Since the registration of working hours is an essential were already known by us such as HTML, JavaScript and
task in any organization, the employee still manages to carry CSS. Also, OutSystems helps with updates of the application
out this registration in an automated and simple way. and database changes because of its architecture it’s very
easy to make changes in the data base, add or remove a
The management group are able to view the diagram of
parameter because the platform will automatically update the
the organization’s hierarchy, it is still possible to check the
entity without generate errors.
members of each level an assign it to an employee. The
The development team was asked for feedback to evaluate
two agents used this module has the possibility to perform
the usability of the low-code framework, when compared with
a simple and quick search through the level or by the name of
developing the same application from the scratch without using
the employee, still available in addition to the functionalities
the low-code tool. Results are presented in Figure 10. From
applied, the possibility of exporting this information to an
this results (collected from eight starter developers in low-
Excel file as shown in Figure 8.
code) the benefits of using a low-code tool vs. not using are
As mentioned, the platform is aimed at employees, and clearly an advantage to any tech development business.
all the requests made by them must be validated by the Compared to traditional methods, the development time for
management group. Figure 9 shows an example of how these this project would not have been ready to deliver on time,
requests are handled. Here the management group can accept OutSytems helped to reduce the develop time of this project
or decline the requests made by the employers, in this page because of the many features the platform has, the reduction
is shown all the requests made by employers followed by the of the need to write code it’s one of the benefits that make
date of the request and also the identification of the employer this process easier and more effective.
who made, if the request is refused an email will be sent with The learning curve to start using the platform is also very
the reason of the decision. low since OutSystems uses several tools that were already

400 International Conference on Smart Technologies in Computing, Electrical and Electronics (ICSTCEE 2020)

Authorized licensed use limited to: Carleton University. Downloaded on June 02,2021 at 09:53:03 UTC from IEEE Xplore. Restrictions apply.
Fig. 10: Low-code tool evaluation

know so the learning curve focus more in learn how to use R EFERENCES
all the features that the platform give us however the user [1] A. N. Alonso, J. Abreu, D. Nunes, A. Vieira, L. Santos, T. Soares,
interface it is very user friendly and easy to understand the and J. Pereira. Towards a polyglot data access layer for a low-code
various scenarios. application development platform. arXiv preprint arXiv:2004.13495,
2020.
The life cycle of a software project is never really com- [2] S. W. Ambler. Agile software development at scale. In IFIP Central and
pleted, there is always something more that can be done East European Conference on Software Engineering Techniques, pages
1–12. Springer, 2007.
to improve the quality, complexity and efficiency. During [3] F. J. M. Cunha. Optimizing Service Orchestration in OutSystems. PhD
the implementation of the proposed application, situations thesis, 2019.
leading to the formation of ideas for future implementation [4] H. K. Davison, M. N. Bing, D. H. Kluemper, and P. L. Roth. Social
media as a personnel selection and hiring resource: Reservations and
have been idealized and analyzed. Some of these ideas are recommendations. In Social media in employee selection and recruit-
outlined below. When the decision of the requests was made ment, pages 15–42. Springer, 2016.
by the manage groups, it was more advantageous sending [5] D. Golovin. Outsystems as a rapid application development platform
for mobile and web applications. 2017.
notifications through the platform instead of sending an email [6] M. Henkel and J. Stirna. Pondering on the key functionality of
to notify the employee of the decision. This way the employee model driven development tools: The case of mendix. In International
can quickly see the notifications in his personal area. Recon- Conference on Business Informatics Research, pages 146–160. Springer,
2010.
struction of data export files in order to allow easier reading [7] H. Henriques, H. Lourenço, V. Amaral, and M. Goulão. Improving
for human resources, for example adding color divisions or the developer experience with a low-code process modelling language.
making the data we want to show more explicit. Sometimes In Proceedings of the 21th acm/ieee international conference on model
driven engineering languages and systems, pages 200–210, 2018.
a web page helps us to visualize data as it is a large number [8] D. Kreutz, J. Yu, P. Esteves-Verissimo, C. Magalhaes, and F. M. Ramos.
of them this data file would help a lot the role of Human The kiss principle in software-defined networking: a framework for
Resources, making this improvement an important piece of secure communications. IEEE Security & Privacy, 16(5):60–70, 2018.
[9] M. B. Narang, M. Mathew, M. K. Dubey, and M. Mathew. The
our platform. Finally, calendar integration with organization’s technological innovation using blockchain and social media analytics
Outlook. So, in this way we can quickly view all events such in employee recruitment.
as meetings, company events or even holidays on the platform. [10] J. A. R. Plata, M. E. Orozco, and I. Z. J. Villaseñor. Green infrastructure
and social welfare. lessons for sustainable urban development in the
metropolitan zone of leon, mexico. In Universities and Sustainable
Communities: Meeting the Goals of the Agenda 2030, pages 71–88.
ACKNOWLEDGEMENTS Springer, 2020.
[11] B. Power. Digital transformation through saas multiclouds. IEEE cloud
computing, 5(3):27–30, 2018.
[12] A. Shabdar. Mastering Zoho Creator: Build Cloud-Based Business
“This work is funded by National Funds through the FCT - Applications from the Ground Up. Apress, 2017.
Foundation for Science and Technology, I.P., within the scope [13] M. A. Stokes. Evidence-based policy and procedure review system.
of the project Ref UIDB/05583/2020. Furthermore, we would 2020.
[14] R. A. Young, J. Baiza, V. Eck, L. Lino, and R. Vega. The success of
like to thank the Research Centre in Digital Services (CISeD), peoplesoft information system at the belize telemedia ltd. Journal of
the Polytechnic of Viseu for their support.” MIS@ UB, 4(1), 2020.
Additionally, we would like to thank Deloitte Viseu for their
support.

International Conference on Smart Technologies in Computing, Electrical and Electronics (ICSTCEE 2020) 401

Authorized licensed use limited to: Carleton University. Downloaded on June 02,2021 at 09:53:03 UTC from IEEE Xplore. Restrictions apply.

You might also like