Platform Basics
OutSystems Overview
This lesson is part of the Developing OutSystems Web Applications course.

Hello and welcome to the OutSystems platform overview. Now, OutSystems is a
low code enterprise-grade, rapid application development platform, it
allows you, not only to create and publish your mobile and web applications
to your server once but also to monitor and evolve your applications through
their working life. It's worth noting that OutSystems can be hosted in and
integrated with a multitude of systems and setups that you might already have.
OutSystems has existed since 2001 and, as you can see from this slide, its platform
is being used extensively worldwide by clients of all sizes and in all sorts of
industries. Throughout its history, OutSystems has received numerous awards,
both for the quality of the technology and its ability to continuously deliver
innovation for the companies that develop on top of our platform. Now, the
scenario that brings companies to OutSystems is usually very
similar. Businesses have new challenges that they need to meet and all of a
sudden realize that the core systems that they have in place, though they must
be retained obviously, are themselves not appropriate to this new innovation pace.
And this is where OutSystems comes in. Its visual approach to application
development allows new systems and applications to be built over these
existing systems. So for this new application, you can import existing data
as well as expand and design new data models for your application; you can
visually design the underlying logic and the business processes that describe
what the business wants to achieve; and finally, you can design all the
interaction screens that users, of all roles, of all kinds, will use to interact
with your application, across all sorts of devices, be they web or mobile. Now
OutSystems is not solely a code generator, it is true that you can develop and
compile highly optimized code and push it to the server very dynamically
but that's just one part of the platform. OutSystems is an end to end platform that
allows you to: once your applications are up and running, manage the full life of
the running applications and monitor their health, regardless of your
OutSystems servers being styled on-premise, on our platform as a service,
or a mixture of both.
Not only that, but the nature of the platform and its language lends itself
to continuous developments and integrations in face of the changing
requirements that come from the business and allow you to keep your applications
evergreen with minimum effort. So, let's quickly look at the components that make
up OutSystems. Now, your factory, your installation might be made up of
several stages, as we see in this slide. You might have development, quality and
production, but let's start first by discussing one stage at a time, one
environment at a time. First you have the platform server, this may be made up of
one or more machines that compile, deploy, manage and run your applications
over an application server. As a developer you're normally not involved
in the setup of the platform server, your IT will take care of this. Now, for us
developers the most important component is Service Studio, which is the IDE that we
use to create web and mobile applications. This screenshot gives you a
glimpse of what Service Studio looks like and we'll be spending most of the time
in this course working inside Service Studio.
We will drill into every single of these panels in a later lesson. Now, after
you design your application in Service Studio, you can publish it to the server
so a blueprint of what you visually designed in Service Studio is sent to the
server and it's compiled to the appropriate code, screens and data
model necessary for it to be made available in the application server. Now
depending on which stack you're running the OutSystems platform, you may produce
.Net assemblies in ASPX
or JAR files and Java server pages. Both OutSystems platform flavors
are supported by a multitude of underlying database systems. Another
development component is Integration Studio. Integration Studio enables the
extension of the platform through the creation of custom adapters that
integrate with the existing system, database and code, and we have a lesson on that
later in the course. And finally, while focusing on a single environment, there's
Service Center, which is a platform management console that allows you to
not only configure the platform but also manage and monitor the behavior of all
the applications that are hosted on this environment. Now, a typical enterprise
installation has more than one environment. Applications are normally
developed in the development environment, integration and acceptance tests are done
in QA, and finally all the code is made available in the production
environment. To support this life cycle staging process there's Lifetime.
Unlike Service Center, Lifetime is a cross environment management console, allowing
the developer or the release manager to see what versions of the applications are on
each stage and to stage them across environments using a simple Web browser.
Now, this slide shows at a glance all of the components that make up the
platform that is OutSystems but there's more to the platform than just your
installation and your tools, so in closing, let me talk about two extra
components that you will find outside your installation. One of them is the
OutSystems Forge. It is a repository of components and full-blown applications
provided not only by OutSystems but by our great community. If ever you find
that you might need a new widget or some form of connector, do have a look inside
Forge before you start rolling your own. Not only that
there's the Forums, where all of the OutSystems developers hang out, this is a
great place to go if you
want to find answers to specific questions that you might come across
while developing in OutSystems. And that's the platform in a nutshell. See you in
the next lesson.