Technologies

Back End

Java

Java can be conceived as the all-round language, as it is the most used programming language in the world, although C is stepping on its heels. According to the TIOBE index, today more than 15% of developers worldwide use Java.

The great diffusion of Java has caused that a great amount of resources exist that guarantee the technological independence of the applications developed with this language.

Spring

Spring is a framework for the Java platform. It is the result of the evolution in software engineering to standardize the work and solve the problems that appear in the world of programming.

It allows you to develop Java applications quickly and efficiently, as it saves lines of code and skips repetitive tasks.

Currently, it is the most widely used Java framework, becoming a de facto standard in the Java world.

Hibernate

Hibernate is a tool that facilitates object-relational mapping (ORM), taking care of managing the relationship between the application and the database.

It automates repetitive database operations, which speeds up development and focuses on specific business operations.

PostgreSQL

PostgreSQL is the most widely used open source relational database on the market. It is considered the most advanced and complete database of the moment.

This database manager provides great flexibility to projects, since it allows a very simple project start without reducing the database capabilities, which are adjusted and refined as the application requirements demand.

PostGIS

PostGIS is the spatial extension of PostgreSQL. One of the most relevant aspects is the ability to store with geographic data and use geospatial calculation functions for analysis, transformation and querying of information based on its coordinates.

Applications that include geospatial information, geolocation and geoprocessing techniques and spatial distribution of map data, provide a clearer visualization of the data and above all a great capacity for analysis and communication.

Oracle Spatial

Oracle is the leading database in the market.

Oracle Spatial includes native Oracle support for all types of geospatial data and models, including vector and raster data, and models for topology and networks, covering the needs of advanced geospatial systems, including support for 3D data.

C++

C++ is a programming language that was designed in the 80’s by Bjarne Stroustrup. The goal was to create a successful language with mechanisms that allow the manipulation of objects.

It is a hybrid language that comes from the extension of the C language and that became one of the most demanded last year. In fact, in recent years C has become as popular as Java.

Phyton

This programming language is characterized by its simplicity, readability and similarity to English. This makes it the perfect system for any beginner. Programming with Python is simple and allows you to be productive in delivering on time.

This relatively young language takes characteristics from its predecessors and prints the value of the interactive environment. The software is free and is implemented on all platforms.

NodeJS

It is an execution environment for JavaScript, so it is able to take advantage of this popular language to undertake a wide variety of projects.

NodeJS has the characteristic of executing many tasks with little resource consumption, which makes it especially interesting for the development of high-concurrency services.

Apache Ignite

Apache Ignite is an in-memory database system for accelerating applications. It’s a distributed in-memory database system with distributed cache and fault tolerance. It’s not exactly a SQL database but it tries to behave like one; it’s also not a NoSQL database because it has high availability and is horizontally scalable. Apache Ignite allows you to build real-time applications that can process terabytes of data at high speed.

Front End

Angular

Angular is one of the most widely used JavaScript frameworks for developing web applications, born in 2010 and manages to consolidate as one of the most important options for developing web applications SPA (Single Page Application) which is a web application that fits on a single page.

Google is the driving force behind Angular and its goal is to increase SPA applications, in an effort to make development and testing faster and easier.

SPA applications provide a more fluid and friendly user experience.

Bootstrap

Bootstrap is a CSS framework developed by Twitter in 2011 that allows to shape a website through CSS libraries. It includes buttons, boxes, menus and other elements that can be used in any website.

It is an excellent tool to create user interfaces adaptable to all types of devices and screens, whatever their size.

JavaScript

JavaScript is a programming language that allows you to perform complex activities on a web page, such as displaying real-time content updates, interacting with maps, 2D/3D graphic animations, etc.

JavaScript should not be confused with Java, as they are different languages. It is used to create applications embedded in a web page or, in NodeJS, high-concurrency applications.

It is used to create dynamic pages provided with effects, animations and actions that are activated to press buttons and windows.

HTML

HTML is a markup language used to structure and present the content of the web page, it allows to organize the distribution of components in the web pages and to personalize their appearance. It is fundamental for the correct functioning of a website

HTML is a standard defined by the W3C, thanks to this standard the applications work perfectly in all browsers, which will know how to display a web page and where to put the texts and images.

CSS

CSS is a style definition language, created to design the look or presentation of HTML pages. CSS makes it possible to separate the content (HTML) from its appearance (CSS), which gives greater development flexibility and facilitates application maintenance.

CSS is a standard defined by the W3C, which guarantees its correct functioning in all the browsers on the market.

jQuery

This is an open source JavaScript library that simplifies the task of programming with JavaScript and allows you to add more interactivity to a website.

There are a large number of plugins that have been created by developers from all over the world that solve various situations, such as menu, photo gallery or site layout.

OpenLayers

OpenLayers is part of the Open Source Geospatial Foundation projects and is defined as an open source, BSD-licensed JavaScript library that displays interactive maps in web applications.

It allows the inclusion of geographic information from different sources such as Google Maps, Bing, PostGIS, Oracle Spatial, OpenStreetMap, and a long etcetera in the applications.

GeoJSON

Based on JavaScript Object Notation (JSON), it is a format that allows the codification of geographic information into data structures, which enables the exchange of geospatial data between different applications.

It uses a coordinate reference system, decimal units and the WGS84 (a geodetic system that allows the location of any point on the planet).

Leaflet

This JavaScript library is used to publish maps on the web. It is simple and light and becomes the ideal tool for projects that want to start in the webmapping world. The fact that it is easy does not indicate that it has limitations in its capabilities. In fact, it is comparable to competitors such as Openlayers.

Mobile technologies

Android

Google developed the Android mobile operating system based on open source software. It was designed for mobile devices with touch screens: smartphones, tablets, cars, Android TV and Wear OS.

iOS

This is the operating system used by Apple mobile devices (iPhone, iPod Touch and iPad). Designed for touch devices, it is characterized by its dynamic and simple interface. The user will be able to configure the most used apps according to his/her needs.

Ionic

In the case of both Android and iOS, the developed applications communicate directly with the operating system, making them applications that only work on the operating system for which they were developed.

Ionic is an open source platform for the development of hybrid mobile applications, which combine HTML, CSS and JavaScript to create applications that can work in both Android and iOS.

Ionic maximizes the investment in mobile application development, since it allows the development of a single application that can be installed in Android and iOS, and avoids the investment in the development of 2 different applications.

Cloud native

Docker

It is one of the most common mechanisms to deploy software on any server (on-premise and cloud) by means of software containers.

Containers are like the containers we see being transported by ship from one place to another. We do not care about their content but their modular form to be stored and transported from one place to another as boxes. Something similar happens with software containers, since inside them we can host all the dependencies that our application needs to be executed.

Docker allows developers to quickly create, execute and scale applications by deploying and running them in containers.

Kubernetes

Thanks to containers and container clusters, the development of scalable and resilient applications has been simplified.

However, container cluster management tasks are increasing exponentially. Kubernetes (or also known as K8S) is a container orchestrator that solves this problem. Thanks to container orchestrators, the tasks of managing the life cycle of a system’s containers have been simplified.

Kubernetes is Open Source and is a Google-led project that has become the de facto standard for the deployment of container-based applications.

Openshift

Openshift is a RedHat platform for container management based on Docker and Kubernetes, being also a certified distribution of Kubernetes.

OpenShift uses Kubernetes internally, but introduces many improvements: more security, auto-compiling of images, etc.

In short, it provides the DevOps with tools that facilitate the administration and monitoring of container cluster-based systems.

Microservices

Microserver architecture is an approach to software development that consists of building an application as a set of small services that run and communicate through very light mechanisms. Each service has the task of implementing full functionality, and can be programmed in different languages and use different technologies to store data.

Amazon AWS

Amazon Web Services (AWS) is the world’s most comprehensive cloud platform serving millions of customers, from start-ups to very large companies. Why do you use AWS? Mainly to reduce their costs, increase agility and innovate faster. This platform has a large number of services and offers everything from artificial intelligence to online analysis and automatic learning.

Microsoft Azure

The most open and flexible enterprise cloud technology solution is called Microsoft Azure. It is a collection of services that allows you to virtualize machines, perform analytics, database and storage networking among other options, while allowing for significant investment savings. Microsoft Azure is constantly expanding cloud services to help meet the needs of the marketplace. It gives you the freedom to create and also deploy applications on a huge global network with favorite tools and frameworks.

Google Cloud

With Google Cloud it is possible to develop excellent software thanks to the base infrastructure, data analysis and the automatic learning system offered by Google. It is a possibility of having an open source software with an excellent performance and with the functions that any company needs.

Machine learning

BigML DATA

Data-based forecasting technologies have become so simplified that they are now available to any company. BigML is a tool that brings Machine Learning closer to companies to make data available to improve predictions.

Data engineering

Apache Kafka

Apache Kafka is a very useful tool for transmitting data. It allows you to publish, store and process records. This platform also allows to subscribe to them in real time. It transfers huge amounts of data to any other place you need. It is the alternative to the traditional messaging system used in companies. Currently, it is an open source solution that becomes necessary for data transmission and has applications for business needs.

MinIo

MinIo is a cloud storage server fully compatible with Amazon S3, which was released under the Apache v2 license. It can store unstructured data such as videos, photos, files, backups and container images. Its maximum object size is 5TB.

Apache NiFi

Apache Nifi is a data logistics platform for automating the movement of data between diverse systems. It offers real-time control and facilitates movement from any destination and source. It offers compatibility with diverse sources and is distributed in formats, schemes, protocols and different sizes. In addition, it enables real-time data tracking.

RabbitMQ

RabbitMQ is a message queuing software known as message broker or queue manager. Applications can connect to these queues and transfer and read messages in them. It can be used primarily to reduce the loads and delivery times by web application servers.

Apache Cassandra

What does Apache Cassandra offer? It’s the right choice when you need high availability and scalability without compromising performance. Its tolerance for basic hardware failures makes it a perfect platform for mission-critical data. It offers the peace of mind of knowing that you can survive despite regional disruptions.

ClickHouse

Clickhouse is a column-oriented database that is increasingly used to calculate analyses in Big Data environments. The most popular commercial implementations are PaaS, Amazon Redshift or Google BigQuery. It was developed by the Russian IT company Yandex to service the web Yandex Metrica. ClickHouse allows the analysis of data that is updated in real time.

Apache Spark

Aparche Spark is a programming framework to process data quickly. As its name indicates, it has been developed within the framework of the Apache project that guarantees the open source license. How does it work? It is a processing engine responsible for orchestrating, distributing and monitoring applications that consist of many data processing tasks. Data can be read from different solutions such as Amazon S3 or Google Storage.

Apache Superset

Apache Superset is a web-based data exploration and visualization application that provides an intuitive interface for exploring and visualizing datasets and creating interactive dashboards. It is conceived as a lightweight semantic layer that allows you to control how your data sources are exposed to the user by defining dimensions and metrics.

Ambassador Edge Stack

Datawire, the provider of micro service tools, launched the first version of Ambassador Edge Stack (AES). It is a microservices API gateway for Kubernetes that offers security features, among other things. AES is a way to “manage the boundary between end users and Kubernetes services” by allowing teams to “quickly publish, monitor and update services to end users.

Apache Atlas

Apache Atlas is a scalable and extensible set of core services that enables enterprises to effectively meet Hadoop compliance requirements. It also allows integration with the enterprise data ecosystem. What does Apache Atlas provide? Open management capabilities so that organizations can create a catalog of data assets, classify and manage these assets, and provide analyst collaboration capabilities