If you’ve wondered what you can do with an enterprise-class low-code platform, then this series is for you. OutSystems creates five 29-minute demo's on some of the most useful and functional apps and use cases for a low-code platform. This blogpost is about how to architect for reuse in OutSystems.
Everyone knows code reuse is the key to a well-architected portfolio of apps. This session shows how you can discover, reuse, and share UI, data, and logic in OutSystems.
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 code
Once 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
If you’ve wondered what you can do with an enterprise-class low-code platform, then this series is for you. OutSystems create five 29-minute demonstrations on some of the most useful and functional applications and use cases for a low-code platform.
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
Now 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.
Next 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.
The 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
Even the code of the best OutSystems developers isn't always perfect and might have a glitch. For any developer, in whatever technology they're working, it's not easy to write code that captures all possible exception cases. And we're not only taking about access errors, network issues, ... but also invalid inputs, incomplete or corrupt data, ... Fortunately, OutSystems already covers the basic error handling out of the box but a solid application needs more.
How to implement error handling
Duarte explained how to implement error handling for the different use cases. She showed that building a robust application that on the one hand give the developer enough information to find the root cause of an issue, and at the same time, alert the end user with a readable, non technical error message does require some thinking and coding.
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.
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!
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.
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 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.
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
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.
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/.
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 email@example.com
The on-site services package that Fujitsu GPMO, until recently, offered to big customers, now comes in a standardized version within easy reach of SMEs. GPMO markets its Selfoss services via a portal build by Providit using OutSystems as a delivery platform.
GPMO (Global Program Management Office) is a department of Fujitsu Technology Solutions. It ensures the management and coordination of the IT services that Fujitsu customers buy. GPMO is headquartered in Brussels. There are also regional offices in Portugal, Costa Rica and the Philippines. If support via a service desk and remote support don't suffice and a service call-out is needed, on the customer's premises, by a professional, GPMO swings into action. Among the company's impressive references are big-name customers such as Lufthansa and Schneider Electric: large, internationally active companies for which GPMO develops a tailored service. Whenever a customer flags a problem, GPMO dispatches a technician or a service partner to the site. The fifty employees of GPMO handle about 240,000 IT support tickets a year, for service call-outs in all four corners of the world.
Rapid Application Development
Meanwhile, under the Selfoss services label, GPMO also offers a more standardized package of on-site services, aimed at SMEs. It concerns services such as the creation of a new user, the migration of data and applications onto a replacement machine, technical or logistic assistance during a move and other desk-side support. “To optimally streamline the marketing of those services, we decided to develop a user portal”, says Alex Curias, VP GPMO at Fujitsu Technology Solutions. “The portal manages all underlying processes: ranging from the automated sending-out of quotations up to the management of contracts, payments, and more.”
In the search for a suitable technology for developing the portal, GPMO soon came across the principle of RAD (Rapid Application Development) – which introduced them to OutSystems. “A first proposal from a would-be partner didn't tick all the boxes”, recalls Serge Van Branden, Global Deployment Director at GPMO. “After that we invited Providit to drop by. With that firm there was a definite click, both technical and personal, right from the off.” GPMO's in-house team performed the analysis for the portal. The business side of the story was already in place. “We had, of course, been making price quotations for customers for several years already”, Van Branden continued, “but, until just recently, it was all done manually.”
Close to the business
GPMO engaged Providit for the technical development. And, right from the start, there was a strong interaction. Providit thought along with GPMO, every step of the way. “We have always retained the mindset of a startup”, Curias explained. “That same mentality is also visible at Providit: the urge to innovate and, step by step, to make progress as rapidly as possible.”
For Providit it was also important to be close to business, throughout the project – quite literally in fact. Van Branden: “About half of the software development took place on-premise, in our own offices.” That gave GPMO significant added value.
In each case, Providit promptly took that feedback with them into the development process. Van Branden: “We opted for a truly iterative approach, and by the book. The terms agile and lean weren’t just buzzwords here. It went much wider than that.” By adopting that approach GPMO made optimal use of what OutSystems had to offer.
“We found ourselves in uncharted territory", Curias recalled. "Which is why we took the time to consult with our customers about what exactly they expected from the solution.”
Van Branden: “In comparison with a traditional technology, the speed of software development with OutSystems was truly spectacular. We are talking here of a factor of five to ten, for sure.”
Software development using a traditional technology had always been a non-starter in GPMO's eyes. Curias: “Our aim was to work efficiently: quickly and not too expensive. In which we could quickly adapt the pilot projects that had just been launched. To incorporate the feedback coming back from the business. In that respect, OutSystems has come up to expectations, without a doubt. It all went very smoothly and in no time.”
What's more, GPMO no longer has to look over its shoulder for the hosting of the portal. All that happens automatically, on the platform of OutSystems itself.
Alex Curias, VP GPMO at Fujitsu Technology Solutions: Providit has the mentality of a startup: the urgeto innovate and make rapid progress, supported by technology that caters to that speed of execution.
New business model
Initially, the Selfoss services portal went live for existing customers and for new customers who'd found GPMO via Fujitsu's network. In the next stage, GPMO aims to develop the market itself. And boost the sales of its services via the portal. “In any project there are three parties involved”, Van Branden explained. “Besides GPMO and the customer there is also the delivery partner, the service provider who goes on-site at the customer's. These service providers also benefit from the portal, as they're able to organize themselves more efficiently.”
This is but one of the aspects that shows how big an impact the portal has on GPMO's operating efficiency.
“The portal is changing our business”, Curias confirmed. “A quotation is dispatched automatically to a customer within 24 hours. Within a week after the client’s go-ahead the customer can be issuing his first IT support tickets. Quotation cycles of six months are a thing of the past. This wouldn't have been possible without the portal. Without the winning combination of Providit and OutSystems, we wouldn't have built the new portal as fast as we did.”
Would you like to discover what we can mean to your organization? Find out here!
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:
At the beginning of October, Outsystems organized its annual conference, NextStep 2018, in Amsterdam. During the conference, over two thousand participants witnessed the unveiling of OutSystems 11. OutSystems 11 is the latest version of the nr 1 low-code delivery platform. So, what benefits can new and existing customers expect from OutSystems 11? Let's have a look.
OutSystems 11: what’s in it for you?
With previous versions of OutSystems, customers mainly focused on developing applications on top of existing core or legacy systems. For example, a contract management system on top of an existing customer management system or a new interface on top of legacy web services. But with OutSystems 11, you now have all the tools to start replacing those legacy core systems. The two most important new features to achieve this are low-code microservices and the support for deploying to containers.
Let's focus on the first feature: low-code microservices. With low-code microservices, you effectively implement a full-fledged microservices architecture. Gone are the hours of validating and fixing cross-architecture impacts on complex sets of apps or large systems! You now safely create and change reusable services and applications fast and at scale.
The second feature: containers. With containers, you take advantage of streamlined, lean operations and faster deployment, as well as increased scalability, resilience and portability. You're now able to deploy apps and services to leading container-as-a-service and platform-as-a-service providers, including Amazon, ECS, Azure Container Service, Pivot PAS and on-premises Docker container environments.
Artificial Intelligence, a look into the future
Outsystems has started a research initiative to bring Artificial Intelligence (AI) to low-code development. By leveraging the possibilities of machine learning, Outsystems AI predict the next steps in your business flow. By recommending the most likely options, it's not only increasing the development speed even further, it's also guiding the developer in making higher quality applications.
Ar you curious how you take full advantage of the latest features in low-code development? Do not hesitate to contact us! Read more
When developers think of OutSystems, they tend to not think any further than just the development tools and features. But the OutSystems Platform holds a lot more than that!
In this meetup, we had a look at the infrastructure. What types of servers do you need and in which setup?
MVP Kurt Vandevelde also explained the complete process of creating a new version of an application. Next to that, he showed how to perform an OutSystems platform upgrade without any downtime for the business users.
The second topic was about CSS Custom Properties. Via a basic example, Arno Vandermeeren showed the different possibilities.
And last but not least, Tim Timperman gave us a high-level overview of OutSystems version 11 that was released last week. OutSystems 11 delivers advanced capabilities specifically designed to address the challenges of replacing massive systems and large application portfolios. Delivering apps with a coordinated, modern look-and-feel that people can't wait to use is faster than ever. OutSystems 11 delivers what teams need to create and change code safely, even when their work spans multiple projects, groups, and organizations.
As you can read, there's a lot more to tell about the OutSystems Platform! Are you eager to find out more? Check it out here!Read more