Welcome to our engineering blog, where we share the learning experiences we’re engaged in daily. This time, we’re focusing on low-code development in Unit 2.
Today’s Theme: Migrating Outsystems Database to an External DB
In Outsystems, you can request a free cloud version called the Personal Environment (PE) by creating an account. (What is an OutSystems Personal Environment – OutSystems Support) Using this environment, you can develop personal applications for small-scale users and are provided with 2GB of database storage.
However, there are some inconveniences, such as limited storage capacity and the inability to access the database directly from external sources. To address these issues, we decided to migrate the internal database created in Outsystems to an external database while keeping the table definitions unchanged. Below are the results of this migration.
Environment Information
Personal Environment: Version 11.31.0 (Build 43948) Service Studio: Version 11.54.80 / Build 63652 Data Extractor: 1.4.0
About Data Extractor
By using Data Extractor, freely available on the Forge, you can obtain the actual table DDL corresponding to the Entities created in Outsystems. Here’s how to use it:
Install “Data Extractor” from the Forge.
Launch the application via “Open In Browser.”
Log in by entering your ID and password.
Create a new snapshot by clicking “New Snapshot” on the top page.
Configure the new snapshot with the following settings: ・Snapshot Name: Give your snapshot a name. Any name is fine. ・Extract Configurations: Check the “Table DDL” option. Other items are optional. ・Extract Entities: Add the Entities for which you want to output the DDL to the list. Use the “Search Entity to Add” feature to find Entities by prefix matching. Select the desired Entity and click “Add” to include it in the list. ・Other Items: Optional. Configure as needed.
Click the “Run” button. Your snapshot will appear in the list on the top page with the status “Created.” Once the status changes to “Done,” you can download it by clicking the “↓” icon on the far right.
Contents of the downloaded Zip file: ・[TableName].csv.gz: Export of data registered in the Entity. ※Note: In our testing environment, Japanese characters were displayed as “?” and could not be read correctly. ・TableDDL.Create.sql.gz: DDL of the actual table corresponding to the Entity. ※Includes the following: ・Create Table statements ・Alter Table statements to add foreign key constraints to columns of the Entity Identifier type ・Create Index statements to add indexes to columns of the Entity Identifier type
By executing the Create Table statements obtained through these steps, you can create tables with the same layout as the internal database on your own SQL Server.
To reference the tables created in the external database from Outsystems, you’ll need to create a Database Connection via the Service Center and then set up the connection to the tables through “Connect to External Table or View” in Integration Studio.
Summary
Outsystems provides an internal database by default.
To migrate to an external database, you can obtain the Entity’s DDL using the Data Extractor from the Forge.
For data migration, alternative methods may be necessary since columns containing Japanese characters might become garbled.
Referencing tables in the external database requires creating a Database Connection and setting up connections through it.
How did you find this guide? We hope these steps will be helpful when you consider externalizing your own database in the future. Our Unit 2 team will continue to share engineering blogs using low-code tools like OutSystems, so stay tuned!
As a tech blog, we’d like to introduce the learning content we’ve been working on daily. We are unit 1, focusing on AI and Big Data. In our previous article, we discussed the possibilities of content creation, education and learning, and business solutions using the chatbot “ChatGPT-4o”.
This time, we’ll focus on how we can streamline our main business of system development by incorporating AI into system testing to ensure quality.
1. Selenium 4
Overview:
Selenium is a widely used open-source test automation tool, particularly suitable for cross-browser testing. The latest version, Selenium 4, has improved APIs for manipulating UI elements, allowing for more intuitive test script creation. When combined with AI plugins, it also enhances the detection of dynamic UI elements.
Usage rate: High
Price: Free (open-source)
Difficulty level: Intermediate
Official website: Selenium Official Website
2. Cypress
Overview:
Cypress is a JavaScript-based test automation tool for web applications, particularly popular among frontend developers. It allows for real-time verification of test results and has a simple setup, making it easy for beginners to get started. It’s ideal for end-to-end testing and makes it easy to test complex user flows.
Usage rate: High
Price: Free plan available, premium plans (paid)
Difficulty level: Beginner to intermediate
Official website: Cypress Official Website
3. Katalon Studio
Overview:
Katalon Studio is a tool that allows for test automation without writing code, supporting a wide range of test scenarios including web applications, mobile apps, and APIs. With its GUI-based operation, even those unfamiliar with programming can intuitively create tests. It provides enterprise-level features while offering a free plan, making it widely used by beginners to advanced users.
Usage rate: High
Price: Free plan available, enterprise plan (paid)
Difficulty level: Beginner to intermediate
Official website: Katalon Studio Official Website
4. Applitools
Overview:
Applitools is a tool specialized in visual testing, where AI automatically detects changes in design and UI. It’s particularly strong in visual regression testing and is ideal for testing UI and UX consistency. Its ability to detect subtle differences in design helps in quality assurance for frontend and design.
Usage rate: High
Price: Paid (free trial available)
Difficulty level: Beginner-friendly
Official website: Applitools Official Website
In this article, we introduced AI-powered test automation tools for system development. In our next article, we’d like to share our experiences and impressions from actually using these tools. We hope this helps you consider which tool might be best for your project.
This is Unit 0, focusing on web design. In this Engineers blog, I want to introduce some of the topics I’ve been working on daily. This time, I will explain how to use the WordPress plugin, Elementor. By using the Elementor plugin, you can intuitively create web page layouts with drag-and-drop operations. No programming skills are required. In this post, I will explain the basic usage of Elementor.
Elementor Installation and Validation
Elementor is not compatible with all WordPress themes, so we recommend using a supported theme. For this example, we are using the official Elementor theme: HelloElementor.
Booting Up Elementor
Go ahead and create a new fixed page. Now selsect “Edit with Elementor”
About Elementor Widgets
The features provided by Elementor are called “widgets.” You can see a list of widgets on the left side of the screen.
With the paid version, you can access more widgets. As of September 2024, there are four plans available for the paid version, with upgrades ranging from $59 to $399 per year.
Creating a Layout
First, use the “Layout” widget to determine the structure of your web page.
In Elementor, there are two types of page layouts: Flexbox and Grid.
In earlier versions, Elementor layouts were made up of “Sections,” but in recent updates, the concept of “Containers” has been introduced leading to the deprecation of “Sections”.
In this example, we will create a layout using a Grid.
By default, a Grid layout with 3 columns and 2 rows will be created.
Detailed settings can be adjusted by clicking “Edit Grid” on the left side of the screen.
Placing Elements in the Grid
You can easily create a web page by placing elements from the basic widgets.
Simply by using mouse operations, you can easily position content commonly used on web pages.
In the future, I plan to cover more detailed setting methods.
As introduced previously, you can also easily conduct tests using the “LOCAL” environment so please give it a try.
As a technical blog, I would like to introduce the learning content that I am working on on a daily basis.
This time, it is the second unit, which is themed on low-code development.
Theme of this time: “About Outsystems Developer Cloud” We, the second unit, are currently conducting low-code development using OutSystems 11, and in this blog we introduce the development method and other aspects. This time, we will introduce “OutSystems Developer Cloud”, which was released in Japan by OutSystems in April 2023.
What is an Outsystems Developer Cloud?
Outsystems Developer Cloud (hereinafter referred to as ODC) is a cloud-native (created to run on the cloud) low-code application development platform provided by OutSystems.
It is based on the native cloud service of Amazon Web Service (AWS) and supports Kubernetes, Linux containers, microservices, etc.
Technologies used in ODC
As a cloud-native platform, ODC uses technologies to provide benefits such as agility, availability, and fault tolerance, and is used to support the above services. Here are some of those technologies.
Microservices Microservices is a technique for building one large application by combining multiple independent small services through communication via APIs and web services. Since the correlation between individual functions is low, failures or increased load in one function are less likely to affect other functions. In addition, since changes and expansions of functions can be made only to the target service, agility in changes and expansions is high. However, since it is more difficult to maintain consistency as a whole system than creating a single application, attention must be paid to the design of the whole system, data management, and API management.
Containerization Containerization is a technology in virtualization technology that combines the elements required to run in any computing environment (from the execution environment to the application) into one package. It enables rapid development without having to worry about the underlying environment.
Autoscaling Autoscaling is a function that monitors the CPU and RAM usage of each application and automatically increases or decreases the capacity of the application according to the load. Autoscaling allows the build service and other services to be used simultaneously without degrading the performance of the platform.
Advantages of ODC
Usually, building a cloud-native application platform requires huge costs and time. With ODC, OutSystems handles the tedious work involved in building it, so you can introduce cloud-native services with less effort than building it from scratch.
Although there are some differences from OutSystems’ existing low-code development platform, OutSystems 11, there are no major differences in basic functions.
With ODC, you can design, develop, and deploy by taking advantage of the high productivity of OutSystems 11 and the advantages of cloud-native services.
Currently, ODC does not have a free trial that you can immediately install like Outsystems 11, but UI images of the development screen are posted on the Outsystems website.
If you have not tried Outsystems products, try installing a trial of Outsystems 11 first and compare it with the ODC screen.
About the trial installation of Outsystems 11: Engineer blog: Introducing Outsystems and creating sample screens – dandelionS Blog About the ODC UI: UI overview of ODC Portal and ODC Studio – ODC Documentation (outsystems.com)
Summary
This time, we introduced “Outsystems Developer Cloud”. Our company is currently using OutSystems 11, so in the future I would like to delve deeper into the differences between OutSystems 11 and ODC, how to use them for development purposes, and what to do if you want to migrate to ODC!
In the second unit, we will continue to publish blogs for engineers using low-code tools such as OutSystems, so stay tuned.