OutSystems accomplishes this through a variety of means
- Native OutSystems API’s that the platform provides
- Integrated SOAP/REST web services
- Variety of community connectors (2400+)
- Integrations to external systems
The structure of the OutSystems platform that enables DevOpsAs you see, the platform is composed of the following tools:
- Service studio: core of low-code development
- Service Center: configuration of your application in each environment as well as providing the tools to troubleshoot
- LifeTime: manages your application releases (Dev à QA – PROD), Developer User/Groups access control, version control and analytics related to your application/environment.
- Integration studio: integrates with external systems using .NET. and allows you to use low-code without walls
Versioning in OutSystemsWhen you click the ‘one-click publish’ button in service studio, you store a new version of your application in Service Center. In addition, you can use Service studio (your development environment) as a tool to compare and merge other versions with the current version of your application.
Application migration using LifeTimeYou can create deployment plans for applications and execute it at a later date. LifeTime will automatically check if it’s valid by performing dependencies analysis with other components. If so, the platform makes sure you are also migrating the dependent applications if needed and prevents having errors and problems in your application.
In other words, when the platform is migrating your application, LifeTime will specify the key steps of what's happening while it migrates.Feedback during the development lifecycle Naturally, it’s important to get quick feedback during the development phase from the business so you can easily incorporate it in your actual application. OutSystems has created built-in application feedback possibilities. It enables users to quickly send feedback while using the application in an easy and user friendly way. After activating it for a specific application, a button appears at the bottom of the screen where the user is able to write their feedback. After clicking the button, the user can select a part of the screen where the feedback is related to. The developers review the feedback that the users send, using an application Outsystems provides. As you check the list of remarks, you select one and swiftly get all the details of the feedback: Operation Systems, browser, resolution but most importantly, you actually get to see the screen as you tester/business user saw it. Moreover, the developer is able to automatically open Service Studio (development tool) directly from the user’s feedback. This can gain you a lot of time.
Use an external system to deploy an OutSystems application (Jenkins)Of course, OutSystems has also built tools so that it easily integrates with Jenkins. Jenkins enables a 2-part integration:
- Getting the latest info from the platform (info related to your environments and applications contained in them)
- Deployment of your applications between multiple environments starts in Jenkins and you can follow up in LifeTime.
ConclusionWith OutSystems you handle the full life cycle of the application by incorporating the core values of DevOps in the platform. No need for a different tool for every step in the Application Life Cycle. You integrate everything in the OutSystems Platform. Would you like to talk about this to one of our experts? Drop us a note! Read more
Accessible frameworkAfter six months, Joris made up his mind and formally applied for a job at Providit. “The online courses gave me a head start. When I joined the company, I followed some extra training. But then again, OutSystems is a very accessible development framework. So after a couple of weeks, I was already at work at a client, rewriting and expanding existing applications in OutSystems.” Joris experienced first-hand how the OutSystems platform allows young developers to get started right away. “Once you understand the concept and find your way around the basics, it’s easy to make progress really quickly. And whenever I get stuck or have a question, I turn to my colleagues at Providit, or ask for advice in the worldwide online OutSystems community.”
Found out yourselfSounds interesting? Well, finding out what OutSystems has in store, is something that you test quite easily. “Do what I did”, Joris advised. “There’s lots of data online you can start working with. If you have an idea for a cool application, just play around with OutSystems for a day or two, and you’ll easily see if the technology appeals to you or not.” As for Joris, he found at Providit what he was looking for. “Working here has little to do with traditional software development”, Joris concluded. “These days, a business looking into an opportunity needs a new application fast, to be sure the opportunity isn’t long gone by the time the application is ready – and also to be faster than the competition. In that sense, software development in general is shifting more and more towards low-code.” Would you consider a new career as OutSystems developer at Providit? Drop us a message! Read more
Glenn Michiels, OutSystems developer at Providit, gives his view on the subject."Outsystems promotes a component-based architecture, meaning that you compose an app (mobile or web) of a number of independent components. One can compare it a bit with Lego blocks where the components, also called “modules” in OutSystems are the building blocks with which you built your application." This architecture has a number of important advantages. First of all, you only have to develop everything once. If you need a functionality, just reuse it. Second, in case of code changes, you only need to do it in one place since. Third, in a development team with multiple people, each can be responsible for a specific module, thus avoiding conflicts of more than one person working at the same time on the same code base.
But how can we, as developers, get the most of this architecture?Fortunately, OutSystems has described best practices to follow. Below, I have listed some of those I find most important:
- Put the data tables of your application in a separate module. If you need to develop a web and a mobile application, both can, and should, use the same database module
- Make use of component libraries whenever possible. If somebody already developed a component you need, just reuse is. The best know component library is the “Forge”.
- Make use of web blocks. Web blocks are reusable visual building blocks. If customization is required, try to fit it in into the original component. Otherwise you’ll create as second code base.
Reuse the codeOnce we have our modules built based on the above rules, we only need to select the ones we need and reuse the code. This is done by referencing the module and selecting the web blocks, actions, tables you want to use in your application. Now we have created a solid, maintainable architecture for the application. We can now with confidence built the application specific code. If you put in place the right foundations from the start, you’ll benefit from it during the rest of the development. The recording can be found here: https://www.outsystems.com/webinars/architect-reuse-demo-series/ Wanna know more about the Outsystems Platform? Check here! Read more
Can Low-Code Handle Workflow and Complex Logic? You Bet!Along with the visual point-and-click model for development, OutSystems has all the fundamental constructs to create complex logic and process flows. Didier Leroy, OutSystems developer at Providit, gives his view on the subject:
Having worked a bit with business processes before, I already knew that it was a powerful tool at our disposal. What I didn’t realize was how powerful it actually is. Features like Human activities, automatic email sending, dynamic logic, executing different processes in parallel and lots more really makes you understand “how powerful Outsystems actually is
Business ProcessesNow what exactly are business processes? The demo showed an example of what you can use business processes for. They took a workflow in which a manager has to approve certain proposals. This use case was perfect to discover the possibilities of business processes within OutSystems. After a process started, several things can happen. A common one is that the flow is put on hold, awaiting a human interaction. Once the user does his work, the flow is woken up automatically and continues.
LogicNext to that, we include a certain logic e.g. executing a database query and making our decision based on the output of the query result. Another common used widget in a workflow, is the decisions crossroads. Depending on the condition returning a true or false, the flow goes into a different logic branch.
ConclusionThe conclusion is that its fairly easy to create business flows with Outsystems. They are structured, very powerful and give a great visual view of the current flow. And finally, you find several plugins on the Forge like the Business Activity Monitoring plugin. It includes a number of process and human activity reports such as group and user load, process instance and activity inspection, SLA status, and load trends. Find out more here! Read more
March's Belgian Outsystems Community Meetup
How to implement error handling
Sure, working with OutSystems offers quick results. But Rapid Application Development is not synonymous with improvisation. Building applications on a strategic platform such as OutSystems requires a strict governance policy.
As a low-code platform, OutSystems allows to visually develop applications. On top of that, you easily integrate them with existing systems and add new code whenever needed. But although deep technical development skills may not be required when starting out with OutSystems, there still is a need for governance. Especially when developing business-critical applications on the platform.
We all know that an application’s success depends on various elements. Architecture indeed is a very important one. The application’s architecture defines if it will be secure, scalable, maintainable and available. In the ideal scenario, it is based on best practices and offers the desired level of performance. In order to check all those boxes, it is important to allocate the necessary resources to governance.
Spending money and time on governance saves even more money and time throughout the application’s development and life cycles. Although OutSystems allows to move forward really quickly during the development phase, we advise to plan ahead and thoroughly analyze the project’s requirements before getting head-first into coding. What functionalities are needed? Which are the user profiles? What is the desired level of security? And what about hosting the application in the cloud? Which level of load balancing will be needed? And many more.
And yes, the development process is based on an agile approach. But then again, that doesn’t mean you don’t have to think everything through before you start working. Don’t assume the platform will generate whatever code you need – although it would – but try and aim for a first time right approach.
Investment with return
Agreed, it all sounds quite logical. However, in reality the combination of low-code and agile often leads to projects spinning out of control quite spectacularly. At Providit, we avoid that sort of drama. We prefer to cover the project’s entire scope: from infrastructure and architecture, to governance, application development, support and training. Obviously, application development is our main focus. But then again, that’s exactly why we know how important governance is for all the steps that follow in the process later on.
In the long run
Would you like to rely on OutSystems as a strategic platform for business-critical applications? Good plan! But it is absolutely essential to make that initial investment in governance. It allows you to lay the foundation on which you build robust applications. In the long run, the initial investment in governance leads to even faster development, with better overall results – and less costs – in terms of performance and maintenance.
Would you like to learn more about Providit’s vision on application development governance? Contact us!
Are you eager to know what we can mean to the digital transformation of your organization? Discover it here!Read more
Since OutSystems is all about speed, Niels explained how to take advantage of those libraries and integrate them into your OutSystems applications. He was able to achieve the same results in only a few minutes!
Data Range Picker
Since reusability is one of the biggest strengths of OutSystems, Niels also explained how to turn it into a reusable component and make it available for everyone.
You find the full integrated version on the forge: https://www.outsystems.com/forge/component-overview/2252/daterangepicker
Using websockets in Outsystems
Have you ever heard of a dashboard where the page is automatically updates without the need of user interaction? Or did you ever have a project where real time data was a key functionality?
Then Websockets is the answer here! It allows interaction between server and client at any time without the client even requesting it. Niels explained us how to integrate this technology into the OutSystems platform. He used the firebase components available on the forge.
And of course, he showcased how to send realtime data to a specific user (or a set of users) regardless the platform (web or native mobile)!
In summary, please find the presentations below.
So, did we trigger you with our expertise? Contact us for a good chat!
Curious about what we can do besides showing our expertise? Discover it here!Read more
In November last year, the entire Providit attended the OutSystems Developer Conference in Lisbon. The conference was dedicated to the development of mobile and web apps on the OutSystems low-code platform. The objective was to strengthen the bond among the team members and to learn new things about app developing with OutSystems. Niels, OutSystems Professional Developer and lead developer at Providit, especially enjoyed learning more about microservices, mobile applications, and the use of Microsoft Azure AI in Outsystems.
The Providit team travelled to Lisbon a day early, to have a day of team building. The team members visited the city center and had a good time together while sightseeing and having a couple of drinks at the terraces. After a relaxing evening on the coast, the team was ready for two days of dedication related to the OutSystems Platform.
The first tech talk that Niels attended was part of the Architecture track. “It was a fantastic session”, he says. “Since OutSystems 11, the architecture to build applications has improved a lot. One of the cases on display was a back-end example with several applications using the same server actions. However, the code needed an update. Normally, this means that each application has to be manually updated and deployed. Microservices, a new approach, solves this problem by ignoring manual updates as the applications can use the new code automatically.”
Niels also learned something interesting during a tech talk about mobile applications. “I asked a question that had been on my mind for a long time: how to synchronize large pictures to your smartphone without impacting its performance? The answer was that it is important to compress the files so that they become small before synchronizing. In that case, it’s possible to keep working on your smartphone as the decompressed files are downloaded in the background. When you want to see a picture, the full file will be downloaded.” The goal for attending the sessions was hereby met: learning new things.
A last tech talk that Niels attended was about Microsoft Azure on the OutSystems Platform. “The presenter explained how to integrate an online tire catalogue with the help of Microsoft Azure recognition software. The result is that customers now scan a tire with their smartphone and receive information about it such as type, width, wheel diameter, and price.” By combine OutSystems and the MS Azure recognition software, the presenter was able to create a great application in no time.
Niels is an OutSystems fan and regrets that he was not able to attend more tech talks during the two-day OutSystems Developer Conference. However, the good news is that all talks are now available on the conference website: https://www.outsystems.com/learn/techtalks/.
Developing apps with OutSystems at Providit feels like home to Niels. “We are a very close group of colleagues and are also friends. Our organizational structure is horizontal, and everyone’s opinion is appreciated. This is often not the case at big IT companies. Last but not least, at Providit I get the possibility to grow personally and professionally. That’s really important to me.”
Do you want to become an OutSystems developer and help organizations to develop better apps faster? Contact us via firstname.lastname@example.org
Would you like to know what we have to offer? Discover it here!Read more
OutSystems recently released its new version 11. To us the ideal moment to take a closer look at it during our Belgium OutSystems Community meetup of 13 November. Warm welcome!
Besides that he entire Providit team went to Portugal to discover its new features. But more on that trip in another blog post. Now, we would like to focus on the following three topics.
Service Modules, Service Actions and Screen Templates
First of all, Didier Leroy talked about Service Modules and Service Actions. Service Action allows, compared to Server Actions, to create a weak dependency between actions.
Next, Nick Vandebriel introduced the new Screen Templates to us. OutSystems took a close look at the market and created at least 50 templates. They cover most of the types of applications that have been built lately. Exactly what you would expect from OutSystems! Starting from one of the templates obviously allows you to develop the screens even faster.
And last but not least, Glenn Michiels demonstrated how UI Components are used to -again- increase the performance of the developers.
So, please find all the content in our presentations on:
1/ Service Modules
2/ Screen Templates
3/ Reusable UI Components
Would you like to know more about us? Check us out here!