Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Rapid Application Development with OutSystems
Rapid Application Development with OutSystems

Rapid Application Development with OutSystems: Create applications with OutSystems up to seven times faster than with traditional technologies

Arrow left icon
Profile Icon Ricardo Pereira
Arrow right icon
€18.99 per month
Full star icon Full star icon Full star icon Half star icon Empty star icon 3.8 (6 Ratings)
Paperback Jan 2022 402 pages 1st Edition
eBook
€28.99 €41.99
Paperback
€52.99
Subscription
Free Trial
Renews at €18.99p/m
Arrow left icon
Profile Icon Ricardo Pereira
Arrow right icon
€18.99 per month
Full star icon Full star icon Full star icon Half star icon Empty star icon 3.8 (6 Ratings)
Paperback Jan 2022 402 pages 1st Edition
eBook
€28.99 €41.99
Paperback
€52.99
Subscription
Free Trial
Renews at €18.99p/m
eBook
€28.99 €41.99
Paperback
€52.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
Table of content icon View table of contents Preview book icon Preview Book

Rapid Application Development with OutSystems

Chapter 1: Exploring the OutSystems Platform

After all, what is OutSystems?

We will provide a quick overview of what their components and tools are and how they work, as well as all the capabilities and potential of the OutSystems platform.

The OutSystems platform enhances and accelerates the development and delivery of enterprise-level web and mobile applications, always with the guarantee of following the best standards of security and performance available on the market.

All of this is possible because it is made available through low-code development environments, while code is generated that will be made available for an enterprise-level, full stack system.

The platform integrates with other systems in a very practical and simple way, namely, existing databases and legacy applications used by the companies themselves or even with existing code.

Out-of-the-box management and analysis tools regarding the applications developed and existing users are made available so that everything can work as expected.

In this chapter, we will have the opportunity to visualize the different features and capabilities of the OutSystems platform at a high level, as well as existing tools and built-in elements such as Service Center, LifeTime, Service Studio, and Integration Studio.

As expected, topics such as connection and integration with existing systems will be addressed using Service Studio, a modern development interface based on the Visual Code paradigm used to create applications in record time, or with Integration Studio, a great interface development that allows us to create our connections to external databases and create our native C#/.NET code to use services from legacy systems. After being created in this powerful tool, applications are then compiled based on standard and optimized code, such as HTML, CSS, JavaScript, and .NET.

These applications are made available on the different OutSystems environments in a continuous approach, following the best CI/CD practices. Code is constantly inspected and analyzed for impacts, and there is zero downtime when promoting applications to the next environment.

In addition to all this, the OutSystems platform can be deployed both in the cloud and on-premises, enabling the availability of applications in any type of infrastructure.

Are you curious? Do you want to take up the challenge? So, let's get started!

We will cover topics from the platform server to development tools, more specifically, the Service Studio and Integration Studio. The administration and operation tools of the framework will also be addressed, namely, Service Center and LifeTime.

As a bonus, we will provide an overview of OutSystems Forge and Community, helping to understand how these resources can be useful in application development.

So let's get started!

The following topics will be covered in this chapter:

  • Platform overview
  • OutSystems factory options
  • External tools, components, and support

Now let's dive deeper into the OutSystems platform and understand the capabilities and features provided by it.

Platform overview

First, we should realize that there are two possible contexts for working in OutSystems:

  • Personal Environment: OutSystems offers a small software factory free of charge (in the cloud) so that we can do our exercises, tests, and small applications without a productive context.
  • Enterprise: Licensed software factories for companies. It can exist in the cloud (AWS), private cloud, or on the company's own physical servers (on-premises). Enterprise versions can exist in different types of licensing and are paid.

We will be able to see this issue in more detail in Chapter 3, Starting Work with OutSystems.

All these tools exist both in personal environments and in enterprise factories. In personal environments, there is a set of restrictions and limitations of services and features, from the number of environments available and the space available in the database to the number of IT users allowed.

Whenever we think of an enterprise environment, we are aware that there must be non-productive and productive environments, the most common model being that of three environments:

  • Development
  • Quality Assurance
  • Production

All existing tools can connect to the environments that make up the OutSystems infrastructure, allowing you to perform any type of necessary task, without, in most cases, the use of external tools.

Platform server

The Platform server is composed of a set of servers (which can be installed both in the cloud and on-premises) that perform all the necessary operations so that the developed applications are available to users. These operations are as follows:

  • Compile
  • Deploy
  • Manage
  • Run
  • Monitor

To develop our applications, we can connect to the platform server using Service Studio and Integration Studio. After development, we can publish our applications, and the platform server handles the operations necessary to make the applications available to users.

When we publish an application, the platform saves the version of it in its database, thus creating a repository of versions and backups. During publication, the platform will compile, optimize the code, and make it available on the servers for use.

Application servers use traditional databases and conventional external systems to run applications, thereby ensuring uniformity and standardization.

The following screenshot shows the OutSystems environment ecosystem:

Figure 1.1 – OutSystems ecosystem

Figure 1.1 – OutSystems ecosystem

As we can see, the ecosystem has all the characteristics of a state-of-the-art model while maintaining simplicity for those who develop applications or manage the platform. To take advantage of this ecosystem, we need to have agile tools at our fingertips, both to develop applications and to manage them and the ecosystem itself. And that's what we've already followed!

Service Studio

Service Studio is the visual OutSystems IDE. Its use is related to the low-code paradigm, reducing the use of textual code as much as possible, reducing the error factor, and thus offering the opportunity for the developer to focus more on the business itself. Using this same tool, we can develop both our web and mobile applications.

This tool addresses four layers of application development:

  • Data
  • Logic
  • Frontend
  • Processes

In addition, it provides a section called TrueChange, where the entire analysis of the code is reported, providing detailed information on existing errors and warnings.

The following screenshot shows the look and feel of Service Studio:

Figure 1.2 – OutSystems Service Studio canvas look and feel

Figure 1.2 – OutSystems Service Studio canvas look and feel

OutSystems main application development tool manages to be super intuitive and provides us with numerous accelerators that we can take advantage of. However, this is not all!

Integration Studio

Do you need to create your own custom C #/.NET code? Do you need to connect with external databases? Do you need to create a connection with your legacy systems? Then this is your tool!

Integration Studio offers a set of accelerators to support our native C # code, as well as integrations with databases external to the platform, making these routines simple and easily scalable.

After creating our code and our integrations, Integration Studio, together with the platform server, creates its representations in the OutSystems universe, thereby being available for use in the same visual paradigm with which we develop our OutSystems applications.

The following screenshot shows the look and feel of Integration Studio:

Figure 1.3 – OutSystems Integration Studio look and feel

Figure 1.3 – OutSystems Integration Studio look and feel

With the tools presented, we found out which path to take to develop and make reactive web and mobile applications available at the speed of light. Now, how can we manage and operate the application server? With the next tools!

Service Center

Service Center is a web console that allows you to manage an OutSystems environment, including parameterization, the inspection of logs, and viewing existing applications and the current status of existing services, thereby facilitating the export of generated event reports. The following screenshot shows the look and feel of Service Center:

Figure 1.4 – OutSystems Service Center look and feel

Figure 1.4 – OutSystems Service Center look and feel

Service Center guarantees us a very practical control of each of our environments. However, OutSystems wanted to go further and complemented this tool with the one we'll demonstrate next, taking the power and ease with which we can master our platform even further.

LifeTime

We are going to visualize a kingdom, composed of several layers, and at the top there is someone on a throne. Is it displayed? Whoever is on the throne is called LifeTime!

LifeTime, also a web console, allows you to control, monitor, and configure the complete life cycle of our applications between the multiple environments in the framework. With this, this tool allows you to go further than we can through Service Center.

With this console, we are able to deploy the different applications existing in the OutSystems infrastructure, benefiting from multiple integrity checks to guarantee the stability and robustness of the environments. In addition, the deployments made by LifeTime guarantee "zero downtime," translating this into a better experience for the end user since, in this way, applications are never unavailable.

In addition, LifeTime allows you to track versions of our applications, and we can customize their tags at the time of deployment (if we do not, LifeTime does it for us).

Another fantastic feature that exists in LifeTime is the ability to manage the permission levels of each IT user and development team, thus ensuring the ownership of each of the existing workstreams.

The following screenshot shows the look and feel of LifeTime:

Figure 1.5 – OutSystems LifeTime look and feel

Figure 1.5 – OutSystems LifeTime look and feel

As we can see, OutSystems allows us, in addition to having great power and control over all aspects of the platform, to do so responsibly, with guarantees to maintain the correct functioning and abstracting from the high complexity that a system of this category has. Everything is much simpler, more practical, and more effective.

Next, we will analyze the functionalities and capabilities that the OutSystems platform makes available to us in order to facilitate and accelerate our work, thereby ensuring that we have a greater focus on the business and its needs.

With this information in mind, a pertinent question arises: How do we publish our applications to our servers?

Publishing an application

We know that if we want to have our applications fully available and make the most of our infrastructures, we will want to publish them on all our frontend servers to process all requests coming from browsers or mobile devices in an identical manner. In the example of three frontend servers, did we need to publish the application three times (once on each server)?

The answer is no! OutSystems tools such as Service Studio, Integration Studio, and Service Center provide the 1-Click Publish functionality, which basically triggers the action of publishing in the corresponding environment. In addition, this feature manages to do it in style: with so-called zero downtime! Applications are never unavailable during the publishing process, minimizing the impact on their users. This feature is achieved by publishing the necessary files in a virtual directory, and when the operation is complete, the old directory is replaced in its entirety by the new one. This whole process is called hot deployment.

To obtain this behavior, there is a server called Deployment Controller Server that has installed the Deployment Controller Service service (it does not need to be a dedicated server; this service can be installed on one of the frontend servers, assuming the same two roles) that communicates with all other frontends through their deployment services.

In summary, we press the 1-Click Publish button, which saves a new version of our module, generates and compiles optimized code and SQL scripts, and updates the database model until it finally deploys the application.

The following screenshot shows the application publishing flow from Service Studio:

Figure 1.6 – OutSystems application publishing flow from Service Studio

Figure 1.6 – OutSystems application publishing flow from Service Studio

The publishing flow of an application is done in a fully controlled way to ensure that everything is ready and without generating any issues regarding the use of our applications. Even so, it may be necessary to check events to ensure that everything runs smoothly. Monitoring? Logging? Of course these functions are available!

Monitoring and logging

The OutSystems platform provides an automatic monitoring service for our applications. This means that any event is recorded in databases so that we can search for them in the future. To this end, an asynchronous approach was applied to the writing of the logs. If they were recorded in real time, we would have a performance problem because we have lots of logs to be written simultaneously in the database, thereby causing delays and possible locks on the tables. We can imagine an application with hundreds or thousands of users at the same time… anything could go wrong (Murphy's law always comes up).

And how does asynchronous logging work? To this end, each frontend server has a logging service. The logs are transmitted to the Microsoft Message Queuing (MSMQ)by the service center of the respective server, and they are subsequently captured by the log service from time to time which, in turn, inserts the data in bulk (bulk insert) in the respective database tables. These same tables, to ensure the best possible performance in writing, do not use indexes (indexes are very useful and optimize performance in research, but slow down writing).

Well, throughout this explanation, we have already seen that there are several functionalities for writing data to the existing tables on the database server. For the better segregation of concepts, OutSystems makes it possible (only on on-premises installations, that is, on its own servers and not in the cloud) to create multiple database catalogs in order to facilitate the maintenance and segregation of databases. All of this can be done in a very simple way through the Service Center tool. It is not a topic that it makes sense to go into in too much detail since the focus of OutSystems is to orient the market to the future: the cloud (as a curiosity, OutSystems, when it received its name, did not have the term cloud in it because the cloud was not prevalent at that time).

The following screenshot shows the monitoring view (errors) in Service Center:

Figure 1.7 – Monitoring View in the OutSystems Service Center

Figure 1.7 – Monitoring View in the OutSystems Service Center

Service Center allows us to make the most of the platform's logs – practical filters, information details, exportability, and everything else – grouped by concept. This is proof that, in addition to OutSystems equipping us with tools, it does it the right way.

Distribution

Another functionality provided by the OutSystems platform is support for Content Distribution Network (CDN). What does this consist of?

Firstly, the CDN is located between the clients' browsers and the frontend servers (on farm installations, from the load balancer).

The CDN is used to distribute content efficiently among end users. Basically, the idea is that, instead of our environment doing the distribution of content for all requests made, there are servers in the various zones where applications are available that do this for them. With this, the distribution of cached resources such as CSS is much more efficient and faster, thereby freeing the environment for other tasks. Note that even with CDN, the frontend servers in our environments continue to process information requested by end users, such as the HTML of the web page for each request. That same HTML has references and links to CSS files, JavaScript, images, and static content, these being loaded from the servers made available by the CDN.

But how do these servers know whether the content should be updated? That is, if we publish a new version of our application with changes to the content stored on the servers made available by the CDN, they must be able to know that such an event has occurred. For this, the platform facilitates this operation with the simple suffix in the resources, and the servers can compare the same with the version existing in themselves. If the suffix is different, the servers obtain the necessary new content and update their versions. The browser's cache works in exactly the same way: if the suffix is different, even in cases of an aggressive cache, the browser obtains the new content from the frontend servers (if there is no CDN) or from the servers provided by the CDN.

Note

Throughout this book, the term CDN will be used to identify the functionality of the content distribution network.

The following screenshot shows an example of a CDN:

Figure 1.8 – General example of a CDN

Figure 1.8 – General example of a CDN

While it is difficult to accurately predict what the future of CDNs will be, one thing is certain: this industry will grow exponentially, which means that the technologies used to run them will evolve further.

Cache

The OutSystems platform provides built-in caching capabilities. With this, we seek to obtain substantial improvements in performance (long cache, normally associated with static content, similar to what we saw regarding the CDN) and the prevention of the so-called "peak traffic heavy load" (short cache).

Regarding the long cache, this is something automatic on the part of the platform. For example, if we inspect a web page of an application developed in OutSystems, we can verify in the properties of static content (as in the case of images) that the value of a month is set to a maximum age for cache control in response headers.

In the case of the short cache, it has this name precisely because its period of stay is defined in minutes, seconds, or milliseconds and serves to save computing time on servers. This functionality is used whenever it is guaranteed that the orders are identical and that their result does not vary, otherwise, that same cache would not be used, leading to computational reprocessing.

This short cache can be set to the following:

  • Aggregates and SQL nodes (used to fetch data in OutSystems code):
Figure 1.9 – Cache in minutes in Aggregate

Figure 1.9 – Cache in minutes in Aggregate

  • User actions and SOAP methods consumed:
Figure 1.10 – Cache in minutes in Server Action

Figure 1.10 – Cache in minutes in Server Action

The value of the cache time is defined in the properties section of each of these components, in the Cache in Minutes attribute. When defining the value of the cache, whenever the server is asked for a certain artifact from those mentioned above, instead of recalculating the request, the previously calculated value is returned and made available in the cache. Note the importance of the order having to be exactly the same as foreseen in the multiple scenarios. For example, if we cache an aggregate that has an input defined and is used in the filters, if the value of the different requests is different, the cache will not comply with the forecast, since the previously calculated value does not fit the order in question and it has to be recalculated.

Objectively, to use the short cache, we must carry out a careful analysis of the candidate elements to verify whether their use makes sense. Another scenario to consider, for example, a SOAP service that returns a list, is the fact that we must assess whether the fact that we use the cache and do not have the data in real time can affect the business.

SEO – Search Engine Optimization

The OutSystems platform is already prepared and provides features for the so-called SEOSearch Engine Optimization. But what is this?

Important Note

For Reactive web applications, these features are in Technical Preview, so they need to be activated in LifeTime. SEO is a set of techniques used to make web pages more easily indexable by search engines (such as Google). It often involves making the URL of the page more user-friendly or even changing the native URL. With these techniques, the URLs of our applications go up in the indexing ranking, gaining visibility. Basically, the idea is to make the URLs as similar as possible to the search strings entered by users.

Note

Throughout this book, the term SEO will be used to identify the functionality of Search Engine Optimization.

In the service center of each of the constituent environments of the OutSystems platform, four features are available to solve this problem:

  • Module Alias Rules: This feature allows you to give another name to the module that appears in the URL. For example, if the module is called AssetsManager and we want it to be simpler, we define a rule where the alias of that module is Assets. From that moment, in the URL, the part of the module no longer shows the initial value showing the value of the alias. With this, it is no longer necessary to rename our modules.
Figure 1.11 – Service Center view for Module Alias

Figure 1.11 – Service Center view for Module Alias

  • Redirect Rules: This feature allows us to define a URL that, when the call arrives at IIS, informs the browser to make a new request for a URL provided by it. For example, if we call the URL us.acme.com and we have a redirect rule defined so that it is redirected to www.acme.com/us when the call arrives at IIS, it will communicate to the browser to make a new order for this new URL. This is a widely used technique, including by Google.
Figure 1.12 – Service Center view for Redirect Rules

Figure 1.12 – Service Center view for Redirect Rules

  • Site Rules: This feature allows you to configure the root application for a given URL. For example, we have an application called Site and we set the URL www.acme.com so that, when called, this opens the Site application. This way, we can optimize the control of our domains in parallel with our applications without needing to access the URL built with the domain and the application to open a specific application. In addition, we were also able to define the locale parameter (very useful when working with multiple languages or when we have different versions of our applications based on the language).
Figure 1.13 – Service Center view for Create Site Rule

Figure 1.13 – Service Center view for Create Site Rule

  • Page rules: This feature allows us to configure the trailing part of the URL to be more user-friendly. With this, instead of having something like /CityBuses/SearchPage? From={From}&To={To}, we can have something more user-friendly: /CityBuses/From-{From}-To-{To} (the values between {} are the input parameters for the search). Recently, OutSystems made these settings available in a more understandable way, directly in the page properties in the IDE (Service Studio). With this, as we create and develop our application pages, we can immediately configure our page rules in a simplified and intuitive way. This is the technique that most allows good ranking positions to be achieved in search engines since the trailing part of the URLs is the one that is usually the least human-readable:
Figure 1.14 – Service Center view for Create Page Rule

Figure 1.14 – Service Center view for Create Page Rule

With this in mind, we realize that SEO allows us to obtain better results in search engine searches, much more attractive and user-friendly URLs, and a much more understandable use of our applications, always managed in a centralized and simple way.

OutSystems factory options

The OutSystems platform is quite adaptable to the needs of customers and can be configured and installed according to different standards and on different types of installations.

Derived from its construction on native technologies, the way in which all parts complement each other is robust, performant, and safe.

OutSystems platform deployment options

As an example, we will use a typical installation in an isolated environment.

The typical installation has two servers:

  • A frontend server, where our applications will live and which browsers will access to receive their pages and content.
  • A database server, where our application, system, and log databases will be housed. The OutSystems platform is natively prepared to work with SQL Server, Azure SQL Database, Oracle, and MySQL databases.

The frontend server communicates with the database server to obtain and create/edit/delete the data it needs.

The following screenshot shows the typical OutSystems environment setup:

Figure 1.15 – Typical OutSystems environment setup

Figure 1.15 – Typical OutSystems environment setup

The OutSystems platform supports horizontal scalability, that is, it allows having multiple frontend servers running simultaneously, and for this scenario, it is necessary to have a load balancer between the browsers and the frontend servers to distribute the charge by them. This same load is distributed based on algorithms such as round-robin or based on some type of metric or measurement.

For this purpose, a tool is used in the Windows environment of the server in question called Configuration Tool, where the ports and IP necessary for the correct functioning of the platform are configured.

Following the correct configuration of the frontend servers to the platform, they become visible in the configuration and parameterization console of the respective environment, as well as its services – the service center.

When a user browses our applications, they generate or modify session data. This data is stored on the database server centrally and in a catalog dedicated to that purpose. And this is because? Since requests made by the browser at different times can be processed by different frontend servers, the session data must be in a place that's accessible to all.

In this way, the configuration of the farm type platform (the name given to a platform with multiple frontend servers) becomes much simpler and more robust.

The following screenshot shows the OutSystems farm example:

Figure 1.16 – OutSystems setup farm example

Figure 1.16 – OutSystems setup farm example

The platform is designed to allow different installation and setup configurations in order to adapt to the infrastructure and response needs of the different scenarios imposed by customers. Also, the manner in which we can make these installations and setups is very intuitive, allowing us to have a platform ready for development very quickly.

To get the most out of everything we've seen, OutSystems provides a repository with various pre-designed tools and components, both by OutSystems itself and by members of the community. In addition, OutSystems provides support forums so that we can clear up our doubts and seek help among the members of the OutSystems universe. Let's see how.

External tools, components, and support

As expected, OutSystems offers an extremely attractive help and support ecosystem so that we can leverage our developments and unlock various doubts or problems: the OutSystems Community

In addition, there is a repository of components and plug-ins already built that we can download for free, and that allows us to take even more advantage of our OutSystems software factories: OutSystems Forge.

Forge and Community

Forge is a repository of pre-built components and plugins developed by OutSystems and several developers around the world. OutSystems applications are directly supported by the teams that developed them, making the process of using and optimizing them much easier. With this, we can avoid building something we need from scratch, instead reusing something someone has already done, thereby saving time and effort.

The following screenshot shows the look and feel of Forge:

Figure 1.17 – OutSystems Forge main page

Figure 1.17 – OutSystems Forge main page

The Community is a space for developers (and not just that; it extends to several roles within this huge universe) to share their doubts, help solve problems, and provide feedback and ideas, regardless of the degree of experience of each one.

The following screenshot shows the look and feel of Forums in the Community:

Figure 1.18 – OutSystems Forums (from Community) main page

Figure 1.18 – OutSystems Forums (from Community) main page

Community is very useful and always growing and evolving. Therefore, we can always rely on the fact that the OutSystems world is not static but dynamic, simple, fast, and efficient, just like the product available to us.

Summary

In this chapter, we have discussed the enormous size of the OutSystems ecosystem, its enormous potential, and everything we can rely on to ensure that we shine in the development of web and mobile applications.

Basically, the OutSystems platform provides a list of built-in features to help us develop faster, more securely, and with a very low margin of error, including horizontal scalability, hot deployment, asynchronous logging, bulk insert, multiple catalogs (only for on-premises installations), CDN support, traffic optimization, cache, and SEO-friendly URLs.

In addition, under the hood, the platform offers state-of-the-art capabilities, such as automated batch processing scaling, log tables rotation, database connections pooling, unused database connections unloading, optimized field fetching in aggregates, and optimized dataset memory loading.

In the next chapter, we'll take a closer look at the main components, tools, and capabilities used daily to develop our applications quickly, securely, and with high scalability. A work of art, in other words!

Interesting, isn't it? Well, we're just starting out...

Left arrow icon Right arrow icon

Key benefits

  • Discover strategies and tips for low-code and no-code development with the help of useful examples in this full-color guide
  • Build enterprise-scale reactive web and mobile applications
  • Explore the benefits of low-code development

Description

OutSystems is a software development platform that speeds up the build phase by abstracting code and making almost everything visual. This means replacing textual language with visual artifacts that avoid lexical errors and speed up code composition using accelerators and predefined templates. The book begins by walking you through the fundamentals of the technology, along with a general overview of end-to-end web and mobile software development. You'll learn how to configure your personal area in the cloud and use the OutSystems IDE to connect with it. The book then shows you how to build a web application based on the best architectural and developmental practices in the market, and takes the same approach for the mobile paradigm. As you advance, you'll find out how to develop the same application, and the great potential of reusing code from one paradigm in another and the symbiosis between them is showcased.The only application that'll differ from the application in the exercise is the one used in business process technology (BPT), with a focus on a common market use case. By the end of this OutSystems book, you'll be able to develop enterprise-level applications on the web and mobile, integrating them with third parties and other systems on the market. You'll also understand the concepts of performance, security, and software construction and be able to apply them effectively.

Who is this book for?

This book is for back-end developers, tech leaders, UX/UI developers, frontend developers, (in general, full-stack developers), tech companies, and enterprises looking to learn how to develop web and mobile software quickly and disruptively by leveraging OutSystems, one of the most low-code platforms in the market. An IT background is not mandatory; however, experience in SQL, JavaScript, HTML, CSS, and C# is required to get started with this book.

What you will learn

  • Get to grips with the OutSystems infrastructure
  • Develop reactive web and mobile applications in OutSystems using best practices in Service Studio
  • Define and design Architecture Canvas (3-Layer Canvas) for your applications
  • Integrate with external systems in OutSystems
  • Enhance applications with BPT
  • Manage and monitor your applications in the OutSystems infrastructure

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Jan 27, 2022
Length: 402 pages
Edition : 1st
Language : English
ISBN-13 : 9781800208759
Tools :

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

Publication date : Jan 27, 2022
Length: 402 pages
Edition : 1st
Language : English
ISBN-13 : 9781800208759
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 112.97
Low-Code Application Development with Appian
€27.99
Building Low-Code Applications with Mendix
€31.99
Rapid Application Development with OutSystems
€52.99
Total 112.97 Stars icon
Banner background image

Table of Contents

20 Chapters
Section 1: OutSystems 101 Chevron down icon Chevron up icon
Chapter 1: Exploring the OutSystems Platform Chevron down icon Chevron up icon
Chapter 2: Components, Tools, and Capabilities Chevron down icon Chevron up icon
Chapter 3: Starting Work with OutSystems Chevron down icon Chevron up icon
Section 2: The Magical Path of the Backend Chevron down icon Chevron up icon
Chapter 4: Using Your Modules to Simplify and Encapsulate Your Code Chevron down icon Chevron up icon
Chapter 5: Modeling Data by Using Entities Chevron down icon Chevron up icon
Chapter 6: Server-Side Logic Chevron down icon Chevron up icon
Chapter 7: Exceptions Handling Chevron down icon Chevron up icon
Section 3: Create Value and Innovate with the Frontend Chevron down icon Chevron up icon
Chapter 8: Reactive UI Development Chevron down icon Chevron up icon
Chapter 9: Using Mobile Patterns for Fast Mobile UI Development Chevron down icon Chevron up icon
Chapter 10: Client-Side Logic Chevron down icon Chevron up icon
Chapter 11: Local Storage and Data Synchronization Chevron down icon Chevron up icon
Chapter 12: Debugging and Troubleshooting Mobile and Reactive Web Apps Chevron down icon Chevron up icon
Section 4: Extensibility and Complexity of the OutSystems Platform Chevron down icon Chevron up icon
Chapter 13: Designing the Architecture of Your OutSystems Applications Chevron down icon Chevron up icon
Chapter 14: Integrating OutSystems with Your Ecosystem Chevron down icon Chevron up icon
Chapter 15: BPT Processes and Timers – Asynchronous Tools in OutSystems Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Half star icon Empty star icon 3.8
(6 Ratings)
5 star 50%
4 star 0%
3 star 33.3%
2 star 16.7%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




PauloOliveira Feb 07, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I have 20 years experience in IT (just realised that writing this!) and recently I become aware of OutSystems and was curious about all the hype behind this platform.I consider this book a must have for curious like myself and also for people starting their "hands-on" OutSystems Development careers.I found the book easy reading, clear, with good examples.I now have a better understanding of the platform, for this reason the book completely accomplish my goal.
Amazon Verified review Amazon
Ed Sep 01, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
From the step by steps instructions, thru basic design architectures and even many advanced system options. Excellence general overview for developers.
Amazon Verified review Amazon
vhotraining Jan 27, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
First and foremost, the author and reviewers of this publication have extensive experience and credibility with the OutSystems platform. If you are new to OutSystems or an experienced developer, this book will be a great addition to your tech library. The book starts with a comprehensive overview of the platform and moves to the intermediate and advanced topics quickly. The publication comes with a link to download the finished code for the projects covered and the explanations are clear an concise. I have reviewed this publication from cover to cover and I have not found any errors or issues. If you want to learn OutSystems fast, I would highly recommend this book.
Amazon Verified review Amazon
Thomas Locke Oct 04, 2023
Full star icon Full star icon Full star icon Empty star icon Empty star icon 3
This book is good as a reference, not so much as learning device.The sections are more abstract and basically detail what's on each screen, rather than contextually introducing you to the system incrementally.Not 'bad', but less helpful than I hoped.
Amazon Verified review Amazon
Mark Adkins Dec 30, 2022
Full star icon Full star icon Full star icon Empty star icon Empty star icon 3
Purchased the Kindle version and have been walking through the exercises. The book is helpful for sure, but the Exercises skip important steps. For example, when creating the initial dashboard UI and attempting to publish there is an error "Can't identify 'Status' element in expression. But the Helpdesk_CS compiles and publishes just fine and there are only two drag and drop steps here, so what gives? I'd say the author has some work to do to go back and cleanup some of his exercises to make this a better book.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.