• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer
Codemotion Magazine

Codemotion Magazine

We code the future. Together

  • Magazine
  • Dev Hub
    • Community Manager
    • CTO
    • DevOps Engineer
    • Backend Developer
    • Frontend Developer
    • Web Developer
    • Mobile Developer
    • Game Developer
    • Machine Learning Developer
    • Blockchain Developer
    • Designer – CXO
    • Big Data Analyst
    • Security Manager
    • Cloud Manager
  • Articles
    • Stories
    • Events
  • Sign In
Home » Dev Hub » Backend Developer » Smart City: IoT and Microservices to build Oracle Proxima City
Backend Developer

Smart City: IoT and Microservices to build Oracle Proxima City

At Codemotion Rome 2019, Oracle presented Proxima City, a project focused on IoT and microservices to build programmable smart cities.

Last update March 11, 2020 by Gabriele Sabbatini

Table Of Contents
  • Introduction
  • Smart City: the Proxima Project
  • Development
  • Smart Cities and Edge Computing
  • Cloud Environment
  • Conclusion

At Codemotion Rome 2019, Gabriele Provinciali, Oracle Solution Architect, presented Proxima City, a project focused on IoT and microservices to improve our city and lifestyle. Proxima City could be the new frontier of services for smart cities.

Introduction

On 22 and 23 March 2019, Codemotion hosted one of the most hotly-anticipated events regarding coding. During the conference, project managers, software architects and developers benefited from the fantastic panelists. Various industry professionals attended the conference as speakers to provide valuable knowledge on the subjects of IoT, software development, leadership and teamwork methods, blockchain, etc. Among many companies, Oracle presented several ideas, including its own solution for a programmable smart city.

Smart City: the Proxima Project

The PROXIMA city project was created by software architect Gabriele Provinciali and his team. On a sultry day in July, perhaps thinking about the quickest, freshest route to the parking lot, an Oracle development team thought about the usefulness of developing an interconnected city prototype. Once the decision to start the project was taken, the team gave itself some well-defined rules:

  • If you proposed it, do it
  • If you do it, failure is accepted
  • If you don’t know how to do it, RTFM
  • If you aren’t having fun, don’t do it

Having set the general guidelines of the game, the team kicked off the project on August 2, delivering it less than four weeks later.

Provinciali and his team built a Lego model of an envisioned city that could improve the lifestyle of its citizens. Their goal was not simply the realisation of a prototype, but the development of both hardware and software that could be mobile and reallocated.

We asked the PM team what was the greatest difficulty they encountered:

“One of the obstacles we have faced is precisely the conception and realisation of integrated Use Cases, rooted in the real world, and in which people could recognize themselves as citizens, users or customers. People who visit Proxima City are attracted to Lego buildings, but at the end of the path they have a clearer idea of ​​the value that technology can generate for all interlocutors“

Development

After underlining the guidelines of the project, let’s move on to analysing its development.

In order to respond to concrete needs based on real data, the team immediately created an SDK useful in communicating actual physical world events.

In fact, the project would not have been effective had it been limited only to responding to simulated events.

Once the SDK was developed, Provinciali and his team decided that the most effective way to develop PROXIMA was to use a microservice architecture, rather than a monolith. For non-technicians, the microservices architecture involves a greater complexity in the development and a greater initial effort, favouring the scalability and the programmability of services, since everyone communicates autonomously.

To achieve this goal and foster the speed of communication between sensors and software and between software themselves, Provinciali decided to push forward an architecture with two separate environments:

  • An edge computing part useful for reducing latency in data processing that allows real-time responses and bandwidth saving
  • A cloud computing aspect for the storage and processing of actual data, which makes the dialogue of data different microservices possible

Smart Cities and Edge Computing

The edge computing environment was created with Arduino – small hardware made up of electronic cards with microcontrollers – planted in Lego. Each Arduino is connected with the relevant sensors. The hardware was used to generate events that could then be sent to the cloud for the purpose of enrichment. In addition, industrial sensors have also been added to offer the most holistic service possible. The communication protocol used to allow the Arduino and industrial sensors to exchange data with the Raspberry Pi is the common MQTT. In fact, the Arduino, given their minimal computational power, rely on a Raspberry Pi that acts as a gateway for the cloud environment. To offer a better monitoring service for the Edge environment, an analytical dashboard has also been designed.

Edge Computing architecture with an edge dashboard

The guidelines for the development of the Edge part were very clear; the team had to guarantee an architectural style:

  • Inspired by microservices
  • Independent
  • Heterogeneous

These guidelines have been fundamental to achieve the set objectives. The team had to avoid exposing itself to the domino effect of technical problems that would have caused huge scalability problems.

Cloud Environment

The cloud environment was managed with the implementations shown in the image:

  • Iot cloud service for data collection
  • Kafka for the creation of a chronological tape of events
  • Stream analytics: for data indexing
  • Autonomous DWH: for the creation of final reports
  • Visual Builder: to help create the User Interface
Cloud system architecture

Conclusion

The Oracle team succeeded in developing a programmable smart city in just one month. After taking a quick look at the software architecture, we can move on to interesting applications for citizens, city leaders and stakeholders.

In addition to the useful dashboards for reading data analysis, the designed microservices are useful to monitor temperature and air quality, managing parking lots and garbage, finding the nearest services and shaded areas and many other uses.

Model of PROXIMA, the programmable smart city

Although the project was born as a parallel activity, it was a huge success. The city of Lego was exhibited in Singapore, Dubai, London, Stockholm, Brussels and Paris. Soon it will be shown during the Oracle event to specify that its services are NOD: Not Only a Database.

Tagged as:Codemotion Rome IoT Microservices

The Lifecycle of the Developer’s Career
Previous Post
Become a Mobile Developer and Connect the Virtual and Physical Worlds
Next Post

Primary Sidebar

Subscribe to our newsletter

I consent to the processing of personal data in order to receive information on upcoming events, commercial offers or job offers from Codemotion.
THANK YOU!

Whitepaper & Checklist: How to Organise an Online Tech Conference

To help community managers and companies like ours overcome the Covid-19 emergency we have decided to share our experience organizing our first large virtual conference. Learn how to organise your first online event thanks to our success story – and mistakes!

DOWNLOAD

Latest

Understanding‌ ‌a‌ ‌Lean‌ ‌Approach‌ ‌to‌ ‌Software ‌Development‌ ‌to‌ ‌Maximize‌ ‌Output‌ ‌Value

Understanding‌ ‌a‌ ‌Lean‌ ‌Approach‌ ‌to‌ ‌Software ‌Development‌ ‌to‌ ‌Maximize‌ ‌Output‌ ‌Value‌

DevOps Engineer

5 Tips to Foster Productive Collaboration With Data Analysts

5 Tips to Foster Productive Collaboration With Data Analysts

Big Data Analyst

How to Implement AI Predictive Maintenance on Edge Devices

How to Implement AI Predictive Maintenance on Edge Devices (Case Study)

Machine Learning Developer

6 Ways to Implement Metaprogramming in JavaScript with Proxies

6 Ways to Implement Metaprogramming in JavaScript with Proxies

Web Developer

How to Optimise Your IoT Device's Power Consumption

How to Optimise Your IoT Device’s Power Consumption

Machine Learning Developer

Related articles

  • How Oracle Uses Lego, IoT, and Microservices to Build a Programmable Smart City
  • What are the Main Areas of Development for Programmers to Land Their Dream Job?
  • How to Contribute to an Open-Source Project
  • Are You Ready for the FaaS Wars?
  • Survey Results Show a Strong Future for API Development
  • Kubernetes: Monitoring, Alerting, Observability, and More
  • Build Incremental Architecture Through Microservices with Modern Languages – Casavo’s Case Study
  • Lessons Learned from Load Testing
  • Identifying and Resolving SQL Server Index Fragmentation
  • How to Monitor Microservices

Subscribe to our newsletter

I consent to the processing of personal data in order to receive information on upcoming events, commercial offers or job offers from Codemotion.
THANK YOU!

Footer

  • Learning
  • Magazine
  • Community
  • Events
  • Kids
  • How to use our platform
  • About Codemotion Magazine
  • Contact us
  • Become a contributor
  • How to become a CTO
  • How to run a meetup
  • Tools for virtual conferences

Follow us

  • Facebook
  • Twitter
  • LinkedIn
  • Instagram
  • YouTube
  • RSS

DOWNLOAD APP

© Copyright Codemotion srl Via Marsala, 29/H, 00185 Roma P.IVA 12392791005 | Privacy policy | Terms and conditions

  • Learning
  • Magazine
  • Community
  • Events
  • Kids
  • How to use our platform
  • About Codemotion Magazine
  • Contact us
  • Become a contributor
  • How to become a CTO
  • How to run a meetup
  • Tools for virtual conferences

Follow us

  • Facebook
  • Twitter
  • LinkedIn
  • Instagram
  • YouTube
  • RSS

DOWNLOAD APP

CONFERENCE CHECK-IN