Sunteți pe pagina 1din 17

Agile Platform™

What’s New in Version 7.0

OutSystems keeps pushing the bar in simplifying the life of those who need to build and maintain mission critical
business applications. Version 7.0 of the Agile Platform, marks a new age, with the simultaneous launch of the .Net
and Java stacks, allowing great applications to be built with the latest innovations no matter what underlying
technology you’re relying on.
This version introduces a new component called LifeTime that simplifies managing the full lifecycle of your
enterprise application portfolio.
On top of this, 7.0 brings a new set of multi-tenancy capabilities, dramatically simplifying the way you build
applications that require full data isolation among different companies or departments.
Rounding out this release is a set of platform improvements for extensibility, configuration and stack support
providing a tailored fit in your Enterprise IT landscape.

agileplatform LifeTime
The Agile Platform allows for extreme productivity in creating and changing
both Web and Mobile applications. Research conducted across 141
enterprise applications in 15 different companies showed that using the
Agile Platform increased productivity by 10.9x when compared with
standard development tools like Java and .Net. This means that the speed at
which applications are delivered and evolve is much higher than the
industry is used to and requires an extraordinary level of control.
To take full advantage at the amazing speed at which you can create and
evolve your applications, we introduced a new component to the Agile
Platform called LifeTime, that allows you to have full control of your software factory while keeping all the
simplicity you’ve come to expect from OutSystems technology.

Visibility over the entire factory


Development is only the first phase in delivering great applications. After leaving developers’ hands, applications
move across several environments until they reach production. With LifeTime, you’re able to monitor the status
of your applications in each of the environments in your infrastructure. Any inconsistency in a given application
(either because someone forgot to deploy a required module or because versions are not compatible) is
immediately visible. This gives you complete control over your infrastructure and full visibility on the status of your
applications portfolio.

© 2001-2012 OutSystems - All rights reserved Page 1 www.outsystems.com


You get a high level overview of each of the applications, with warnings that allow you to dig deeper into any issue
when needed. You’ll never have a problem in understanding what is going on, whether you’re focused on a single
application or managing a complex software factory.

Architecture and reusability


In version 7.0 you can define which modules (eSpaces and Extensions)
compose an Application. Versioning and staging are fully supported at
the Application level, making management and monitoring operations
much simpler.
At any point, you can navigate to each of the tools that support you in
changing, managing or running the application you’re working on.

© 2001-2012 OutSystems - All rights reserved Page 2 www.outsystems.com


This new Application concept allows you to define which modules belong to which Applications. This increases
the level of control over who is responsible for changing and maintaining a particular module. You’ll be able to see
the impact of your changes at all times, both inside and outside the boundaries of an Application, which will
ultimatelly improve the quality of the the applications in your portfolio.

To achieve a high level of reusability, a robust architecture and clear separation of responsibilities across modules
is required. In addition, having multiple teams working simultaneously on applications and reusable modules,
demands a clear organization of who maintains what.
Applications help you better organize your software factory, and simplify your entire application portfolio
management. The best part is that you will have a single infrastructure hosting a very large set of applications.
With a single infrastructure, you’re allowed to streamline performance management and optimize stack licensing
costs, as well as simplify reusability across your applications.

Operational control
Version 7.0 has a new feature to enhance your operation control, if you ever need to take an application offline. If,
for example, you found a critical defect in your application and don’t want the business to make any changes that
might cause data corruption, you can simply hit the “Take Offline” button of the application and all it’s modules
modules will be put offline.
While offline, the Agile Platform automatically shows an information page to end-users, which you can customize
to fit your particular corporate messaging and image.

© 2001-2012 OutSystems - All rights reserved Page 3 www.outsystems.com


Simplified Staging
With version 7.0 the effort required to stage an application from Development to Production has been
dramatically reduced. The complete staging pipeline can now be managed on a unified console that gives you
complete visibility of applications across all environments, making it very easy and efficient to release a set of
applications to their next stage.

When preparing to release an application to Production, it is critical that you know that everything will run
correctly. LifeTime assists you in this task by allowing you to pick the right version of the application you want to
stage, and immediately preview the impact it will have on the destination environment. If you are responsible for a
shared component (e.g. a library with a set of UI widgets) you’ll immediately know which applications you’ll be
impacting by moving a new version of the component to Production.
In each step of an application’s lifecycle, you’ll be able to drill down and understand exactly what changes you are
staging at a particular moment. LifeTime will compare versions between environments, and allow you to visually
understand the differences between the modules that are in the destination environment and the ones you’re
planning to stage.

© 2001-2012 OutSystems - All rights reserved Page 4 www.outsystems.com


During the deployment operation, the Agile Platform’s 1-Click Publish process shows its true power: all necessary
steps of compiling, linking, updating the database, and updating related applications take place in the destination
environment. You’ll be notified of the impact the staging has on all running business processes (BPT) and can
decide to contine to deployment operation or abort it.. When deployment finishes, you’ll know exactly what has
been changed in the destination environment. You will be prompted to perform any further configurations in the
destination environment like, for example, set values of Site Properties, set URLs of Web Services, etc.

Collaboration & Security


One of the great benefits of the Agile Platform is that you can have your entire deployment process automated
with the click of a button. This makes Continuous Integration in your development factories possible. As these
factories grow, with a lot of applications being managed across several departments, communication is a key
success factor. You need to ensure a sound state of your applications portfolio and that all changes are clearly
visible and well understood by everyone involved.
In LifeTime, everyone - Developers, Operations Teams, Program Managers, etc. - have full visibility over the state of
each application and are able to make well informed decisions during the development and staging processes.

© 2001-2012 OutSystems - All rights reserved Page 5 www.outsystems.com


The security model that supports LifeTime was tailored to support patterns of both simple and complex software
factories where there are several restrictions on who is allowed to stage which application to which environment.
You can easily define Roles in your factory and specify what each Role can do in each environment. For example,
users with the Developer role might not be allowed to push applications to Production, while users with the
Operations role are.

Considering that each team usually works with a particular set of applications, LifeTime lets you set specific
permissions for users in a team in the context of each application. This maps the way organizations manage the
security on their software factory, and simplifies the management of several applications and teams of users.
When staging applications, all of your security settings are applied accordingly by LifeTime without any
bottlenecks in the process.

© 2001-2012 OutSystems - All rights reserved Page 6 www.outsystems.com


Development teams can truly collaborate with Operations teams by defining a deployment plan without making
the actual deployment to Production. When preparing the deployment plan, they’ll still have full preview of the
deployment and will be able to solve any inconsistency issues together with other application owners. They’ll be
able to leave annotated deployment instructions in a ready-to-go deployment plan for the Operations team to
actually stage it to Production.

The simplified security management across your factory, environments and applications, and streamlining of the
staging process, makes your ‘DevOps’ initiative a reality. LifeTime is the central console where you can manage
everything related with your infrastructure. For some environment-specific use cases, Service Center still provides
all the necessary functionality with a strong integration with LifeTime, to ensure the integrity of your security
settings.
When you’re authenticated in LifeTime you’ll also have access and visibility to the underlying capabilities of Service
Center (for each environment) through a fully integrated authentication. Permissions are fully managed in
LifeTime and automatically in sync with each environment. Service Center has been refurbished, supporting all
these use cases around the new application model and security patterns.

© 2001-2012 OutSystems - All rights reserved Page 7 www.outsystems.com


Versioning and Tagging
The level of productivity offered by the Agile Platform gives you rapid and highly valuable delivery cycles even
with a big volume of changes in every release. Handling this level of changes requires great control over what
capabilities and features you have at each point in the lifecycle.
Version 7.0 gives you a new set of versioning capabilities which provide enhanced control over all changes.
When you publish a module of an application, the Agile Platform detects any changes that were made to it, based
on the versions you already have stored in the environment. You’ll able to identify both a changed application
and its changed modules modified as they are marked with a ‘+’ sign. The set of versions of each module make
up the definition of the actual application version tag.

It is common for development teams to work towards the stabilization of a version that will be pushed to the
Quality Assurance environment for testing before rolling it out to production.

© 2001-2012 OutSystems - All rights reserved Page 8 www.outsystems.com


At any moment, you can Tag an application with a version number. By tagging a version that is considered
stable, you can proceed with the development, and rest assured that the version that will be deployed is the
snapshot of the tagged version.
If you want to take to production an application that differs from what is currently running, just create a custom
tag! Select the base version of the application and select the modules that you want to include in that tag (which
will be the exact combination of modules that you want to stage). LifeTime will check for consistency of the
modules, and inform you if the entire application remains consistent. No room for mistakes!

Did you ever have to make a hotfix on a defect your users detected in Production? How often did you forget to
bring that fix back to Development? This is one of the most common causes of errors in applications and really
jeopardizes the sense of quality your business users have: they see an error being fixed, but 1 week later, when a
new release is taken to Production, the fix is no longer there and the error is back!

© 2001-2012 OutSystems - All rights reserved Page 9 www.outsystems.com


LifeTime supports you in this cycle: it detects that you’ve applied a hotfix but did not move the fix back to
Development yet. You’ll be able to merge the change you’ve made back to Development and mark the hotfix as
resolved. In a very straight forward and productive way, the quality of your delivery processes has just improved!

Multi-tenancy
The Multi-tenancy capabilities in version 7.0 have been fully refactored to provide you with a great experience
when developing Multi-tenant applications with full data isolation.

Why Multi-tenancy?
Multi-tenancy is a core capability that addresses the needs of modern enterprise applications to reach out to
multiple simultaneous customers, with an effective isolation of data, configurations, and end-users. Most common
scenarios include:
o Cloud ready, public reach, SaaS applications/packages created by ISVs, like for example NetSuite,
Freshbooks, SurveyMonkey, SalesForce.com...
o Enterprise applications which support multiple companies/divisions that require data separation.
For example, a company providing an Order Management application for its partners to manage
their prospects, proposals and orders, ensuring partners don’t see each other’s data.

In the past, these needs were addressed through custom, hand-coded approaches to isolate data and users. These
approaches proved to be costly and error prone to both development and maintenance. The new Multi-tenancy
capabilities offered in 7.0 allow you to consistently address those needs, while cutting costs across development,
maintenance, and infrastructure.
When delivering applications with a Multi-tenant architecture, you will experience:
• Lower infrastructure operation costs: there is only one deployed application running on your servers;
• Consistent security policy for data, end-users, sessions, and processes: these are enforced at the
Platform level, not by developers;
• Simplified application development and maintenance: there is a single code base to build and
maintain;
• Economy of scale: allows the constant growth of users and customers with an ever decreasing
management cost per user, therefore, you’ll decrease the overall TCO of your applications.

© 2001-2012 OutSystems - All rights reserved Page 10 www.outsystems.com


Development Challenges: As simple as it gets
Developing Multi-tenant applications has always meant extra work. Traditionally it’s up to the developer to ensure
that every query is properly filtered throughout the whole code base. A repetitive and error-prone task that, we all
know, developers are not very fond of. And that’s just the beginning. Since relying on the developers work alone is
“too much of a risk”, extra effort is usually required for additional quality assurance tasks. This becomes even worse
when you realize how hard it is to test applications with multiple users, having testers going through endless log-
in/log-out cycles.

The Agile Platform simplifies Multi-tenant development allowing developers to focus on providing business value
to the customers. To deliver a Multi-tenant application you just need to worry about building the application and,
when ready, properly configure the application model elements (Entities, Timers, and Properties) for Multi-
tenancy - the Agile Platform takes care of the rest. Even better, support for debugging Multi-tenant applications
is also provided out-of-the-box. At the end of the day, with Agile Platform 7.0 developers won’t have to worry
about implementing data filters over and over again to attain data isolation. This also means quality
assurance teams can focus their attention and time on testing the actual business features, instead of wasting time
worrying about data-isolation test cases.

Creating Multi-tenant applications with the Agile Platform is


so simple that you can even build upon your existing (Single-
tenant) applications. Just open your application in Service
Studio, set which elements are Multi-tenant, and publish.
That’s it! You now have a full-fledged Multi-tenant application
up and running, with no additional coding required!

© 2001-2012 OutSystems - All rights reserved Page 11 www.outsystems.com


We’ve extended several APIs and created new ones to allow, for example, the creation of self-registration pages
for your end-users to register in your SaaS application, automatically creating a new tenant, or control the tenant
under which a session should run. In order to help you get going fast, we’ve created a set of examples as open-
source sample modules.

Security Concerns: The risk-free approach


Have the data of one of your customers accidentally accessed by another customer, is the kind of event that can
get you into a lot of trouble, to say the least! You’ll certainly lose a customer, risk financial and legal consequences,
and stain your brand and market reputation. Data security breaches can severely hurt a company’s business, so it’s
no surprise that one of the most heard questions about Multi-tenancy is: “How can I assure proper data isolation?”

Trusting that your developers and testers will do a good job


shouldn’t be your only option. And even if you have ‘religious’
faith in your current team and processes, what happens if
sometime later a change request has to be handled by a rookie or
an external developer with less knowledge on how the system
should work?

The Agile Platform effectively addresses tenant data isolation compliance by implementing the required data
isolation and filtering patterns at the core level of the platform. This enforces the proper tenant segregation in
a way that is completely independent of developers who build and change your applications.
That’s why relying on the Agile Platform Multi-tenancy capabilities is the smartest and best way to go if you want
to ensure that your customers data will always be safe and properly isolated.

Operation Costs: Highly effective


One of the main advantages of an ideal Multi-tenant application is the operational benefits. Since application code
is all in one place, it is much easier (and cost effective) to maintain, update, and
backup the application and data.
Although Multi-tenancy can be achieved through a physical/infrastructural
segregation approach, with each tenant having his own set of allocated
computing (hardware and software) resources, it does so at the expense of
additional infrastructure complexity, licensing and management costs. The main

© 2001-2012 OutSystems - All rights reserved Page 12 www.outsystems.com


driver to justify this increase in costs is, actually, ensuring data isolation, something that, as we’ve seen, the Agile
Platform is able provide out-of-the-box, with no extra costs.

Cross tenant scenarios – the master key


Although data isolation is the key for Multi-tenancy applications, it can also be a downside when you consider the
need for cross-tenant usage scenarios, such as:
• Common data: creating and managing entities that hold a list of countries or currency exchange rates that
are shared across all tenants;
• System-wide processes, such as running a daily batch process to calculate financial reports for all tenants;
• Centralized analytics, such as getting aggregate information of how many deals you have registered in
your SaaS application, across all end-customers.

To support these use cases, simply use the “Show Tenant Identifier” property of an Entity, and you have access to
the data of all tenants in a controlled and secured way.
The Agile Platform allows you to very easily develop a Multi-tenant application, eliminating extra costs and risks
that exist in the traditional approach, while allowing your IT to gather system-wide statistics and perform common
data maintenance with no additional effort.
So, by choosing a shared infrastructure Multi-tenant approach with the Agile Platform, you’re not only able to truly
optimize your computing resources and operation costs, but also effortlessly handle common cross-tenant
scenarios while maintaining full compliance with data isolation requirements.

© 2001-2012 OutSystems - All rights reserved Page 13 www.outsystems.com


Java stack alignment

Removing the need for choice


With Agile Platform 7.0, OutSystems is delivering a whole new set of capabilities for both
the .Net and Java stacks, at the same time.
The Agile Platform provides customers with the flexibility of choice for their target stack
and gives them the assurance that, if they need to make a stack change they’ll be able to
do it with minimal cost and disruption to their operations.

Since applications built with the Agile Platform are totally defined in the model, the effort required to migrate
these applications relies mainly on the integration/extension points. You won’t have to rebuild the entire
application for the new stack: the platform will handle the complete generation of code to the new stack,
including all code optimizations.
Also, in each new version of the Agile Platform, OutSystems will review and adapt the platform to the lastest
versions of the underlying stacks, allowing you to take full advantage of the new versions of the application server
or database capabilities without having to change your applications.

Simplicity and Performance in Java


Usually, building an Enterprise application in Java is very complex. The myriad of frameworks and components
that support the development of Java has lead to a fragmentation within the Java community. Specialization
exists, but as developers switch projects (or companies), the probability to find a Java application that is built using
a different framework is very high. This fragmentation results in great losses of productivity and quality of
applications being built.
Using the Agile Platform, developers are abstracted from these low level technical details making the
development of Enterprise applications in Java very simple, while ensuring that all optimizations and best
practice code patterns are used in all applications. And, since the platform is so easy to learn, developers will not
struggle when shifting between different projects. The instrumentation, performance, and health monitoring
capabilities of the Agile Platform are automatically included in your applications and allow Java teams to focus on
what is really important in their applications.
The effort and complexity for configuring and tuning the application server is reduced. Development and
operational teams do not have to deal with multiple frameworks for build automation, deployment scripts, etc.
The Agile Platform hides all that complexity with simple to use capabilities. You can become an expert Enterprise
developer in Java, with the skills to develop high performance Java applications in 2 weeks!

© 2001-2012 OutSystems - All rights reserved Page 14 www.outsystems.com


SQL Server Integrated Authentication
It is a common practice, in most organizations running Microsoft Windows, to
use Active Directory accounts to control access to databases. This allows IT to
have a single place to manage users and security settings, to simplify the
management, control and policy changes across the entire software
landscape.
With this in mind, the Agile Platform 7.0 now supports Windows Integrated
Authentication to the SQL Server Database, further enhancing compliance
with Microsoft best practices
The Configuration Tool has also been simplified (on both the .Net and Java
stacks) to make your install and upgrade experience even easier.

Platform extensibility APIs


In version 7.0, the Agile Platform starts having a new set of extensibility APIs. These are APIs that allow you to build
upon the Platform’s capabilities and internal architecture.
One of these cases is the ability to choose an external database connection at runtime: a common requirement
for integration scenarios, in which you have several databases, with the same schema, for different companies,
countries, departments, etc. This API allows you to add an external connection and choose which database to
target at runtime, based on custom criteria.
As new use cases are addressed, other extensibility API’s will be released incrementally, to further enhance the
Agile Platform’s ability to fit the tools and processes that you currently have in your Enterprise IT landscape.

BPT Abort Activity Change


One of the great benefits when using BPT, the Agile Platform’s Business Process Technology, is the high degree of
integration between your business processes modeling and the running application. It is common to see scenarios
where actions in the user interface of the applications involve automatically closing some activities based on some
business validation. Having these validations in the process ensure better maintainability of applications and
processes, and a tight control of the conditions that allow a process to evolve. With this in mind, a new “Abort
Activity Change Exception” was created that should be used when the error on a close condition for an activity
is a business validation. This particular exception is logged to the General Log section instead of the Error Log.
When you add an On Activity Close callback to an activity, Service Studio will automatically create a template action
with this in mind, which you can then customize for your particular need.

© 2001-2012 OutSystems - All rights reserved Page 15 www.outsystems.com


Oracle Unicode support
As of version 7.0, the Agile Platform supports Unicode in Oracle (for the platform’s database as well as for
integrations with external databases). This capability was already supported on SQL Server in previous versions of
the platform. This allows you to store data for non-western languages and build truly universal applications that
target users in every location of the world, no matter what their language is.

© 2001-2012 OutSystems - All rights reserved Page 16 www.outsystems.com


SQL Server 2012 external database support
As part of our goal to continuously keep the Agile Platform up to date to our
customers’ technology landscape, the latest installment of Microsoft’s flagship
database engine has been added to the supported external databases list.
Take advantage of Integration Studio™ wizard-based discovery and introspection
of your organization’s existing SQL Server 2012 database tables to combine local
and external data sources, with out-of-the-box access optimizations, and
performance monitoring.

What’s next?
To see all these new features and capabilities in action, download the new Agile Platform 7.0 today and check it
out for yourself!

© 2001-2012 OutSystems - All rights reserved Page 17 www.outsystems.com

S-ar putea să vă placă și