May 11, 2021 | 8 minute read
“With Oracle’s technology, we are well-equipped to enhance and preserve tourism within the local area.”
Pompeii is a UNESCO World Heritage Site, hosting over 2.5 million visitors annually. At its prime in AD 79, the Roman city was buried under volcanic ash after the eruption of Mount Vesuvius. Today, the excavated city offers a glimpse of ancient Roman life, the city’s architecture, and its people.
Like other tourist attractions in Italy, the park was forced to close its doors for safety during the COVID-19 pandemic. When the possibility of reopening to visitors was on the horizon in mid 2020, managers of the park had to find a way to keep visitors safe by ensuring social distancing and avoiding any COVID outbreaks.
The park’s goals and path forward
The Park of Pompeii had the following critical goals aligned to the reopening initiative:
- Use cloud technology to better manage the park’s operations, visitor experience, and ticketing, reducing the need for on-premises IT systems and their management.
- Seek an implementation partner to build a cloud native, mobile solution so that park managers can focus on day-to-day operations of the park, instead of IT.
- Ensure safety of visitors through effective social distancing and clearly divert foot traffic away from tourist hotspots.
When it did reopen during June 2020, the park’s managers had used Oracle Cloud Infrastructure (OCI) and Oracle Consulting to provide a solution that can ensure social distancing for visitors, reducing the chance of spreading the coronavirus. The solution was built entirely on OCI with cloud native and API-first principles in mind. The park used the following OCI services, SDKs, and frameworks:
- Oracle Container Engine for Kubernetes: An Oracle-managed container orchestration service that can reduce the time and cost to build modern cloud native applications
- OCI API Gateway: A service that provides developers the capability to securely expose their application’s APIs for commercial or regulatory purposes
- Oracle Functions: A serverless platform that lets developers create, run, and scale applications without managing any infrastructure
- OCI Java SDK: Software development kit to manage OCI resources using Java
- Helidon: An open source, lightweight, fast, reactive, cloud native framework for developing Java microservices
- OCI flexible Load Balancing: A service that enables customers to distribute web requests across a fleet of servers or automatically route traffic across fault domains, availability domains, or regions, yielding high availability and fault tolerance for any application or data source
- Oracle Visual Builder Studio: A service to rapidly create and extend applications using a visual development environment with integrated agile and collaborative development, version control, and continuous delivery automation
- Oracle Autonomous Transaction Processing: A cloud database service that eliminates the complexity of operating and securing high-performance databases. The service automates provisioning, configuring, tuning, scaling, patching, encrypting, and repairing of databases.
- OCI Health Check: A service that provides high-frequency external monitoring to determine the availability and performance of any publicly facing service, including hosted websites, API endpoints, or externally facing load balancers
- Oracle Blockchain Platform: A platform that offers ready-to-use code for running smart contracts and maintaining a tamper-evident blockchain, built on the industry’s leading open source Hyperledger Fabric blockchain platform
- Oracle Mobile Hub: A service to quickly build, deploy, and manage mobile apps that connect to Oracle ERP, HCM, CX, or any third-party system, on-premises or in the cloud
- Oracle Content and Experience (OCE): A smart authoring platform that separates content delivery from content creation.
Pompeii’s cloud native, mobile solution using OCI
To achieve its goals, the park implemented a cloud native, mobile application built on OCI called MyPompeii on Apple App Store and Google Play. The purpose of this app was to provide park visitors a safe, virtually-guided experience for all aspects of their tour.
- A real-time map enables the information for the visit, points of interest, and the facilities, while guiding people using social distancing protocols.
- The mobile application is completely integrated with TicketOne, an online ticket sales application. A visitor scans the QR Code shown on the electronic or paper ticket to access all the contents of the application.
- After a visit, visitors are encouraged to share feedback through the application to staff of the park. Feedback is certified with blockchain. Visitors can also share their experience through their social channels from the application.
In addition, a backend dashboard enables staff manage park operations through the following features:
- View the number of visitors in various regions of the park through functionalities, such as tracks and heatmaps
- Identify any visitor outside the predefined track
- Review visitor feedback and investigate reported issues
Technical implementation on OCI
In partnership with the park authorities, Oracle Consulting developed a cloud native, API-first platform, based on microservices and invoked through OCI API Gateway. Multiple technologies were used in enabling the application: Oracle Functions, Oracle Kubernetes Engine, and OCI Notifications. Push notifications use Oracle Mobile Hub, while Oracle Visual Builder Studio provides continuous integration and continuous delivery (CI/CD).
The data layer uses Oracle Autonomous Database, including its built-in spatial option to manage site map, itineraries, and geo-localization of points of interest.
As shown, the solution is based on APIs and containers. Custom APIs have been implemented in Java using Helidon 2.0, using a reactive programming approach and including the following features:
- The implemented APIs are deployed as Docker containers on Oracle Container Engine for Kubernetes, using multiple replicas and autoscaling.
- API instances are balanced using OCI load balancers.
- The APIs are publicly exposed through the OCI API Gateway, using a JWT-based scheme for authentication and authorization.
- Application data handled by the API is stored using an Oracle Autonomous Transaction Processing instance.
Oracle Functions handles the integration with TicketOne, the online ticket sales application, in the following ways:
- The function is written in Java, using the OCI Java SDK for Functions.
- The function can be invoked both using its invoke endpoint or through the endpoint provided by the OCI API Gateway.
- For other Pompeii Platform APIs, a valid JWT token is required for invoking the function through the OCI API Gateway.
- An OCI Health Check mitigates any cold start issues with the function.
To avoid tight coupling between API implementations, the platform used OCI Notifications to publish business events when specific conditions have been met. Notifications are sent when a visit is started or completed, a tourist is off-track, or a crowd has been detected. Notifications are implemented through the following steps:
1. The relevant APIs use the OCI Java SDK to act as OCI Notifications publisher.
2. A custom HTTPS subscriber gets these messages and forwards a push notification to user mobile phones.
3. Based on the OCI Notifications message payload, a different text in multiple languages is used as push notification title and body.
4. Push notifications are sent using on Oracle Mobile Hub Notifications API.
After their visits, tourists can leave comments about their experience. Suggestions and complaints are stored within the Oracle Blockchain Platform, promoting transparency and guaranteeing immutability.
- The information within the ledger is used as verified source of truth.
- A thin API layer has been built around Oracle Blockchain REST Proxy for writing transactions within the ledger.
- Notices created by the tourists are replicated into an Autonomous Transaction Processing instance, then used for query purposes.
To minimize the orchestration needed on Mobile Application side, a set of experience APIs powered by Oracle Mobile Hub have been implemented on top of the Pompeii Platform API. Those custom APIs have been used exclusively by the mobile application for taking care of its business-logic specific tasks related to visit creation and visit registration.
Finally, all media content used by the mobile application is stored in Oracle Content and Experience (OCE), using it as headless content management system (CMS). The OCE native REST API has been applied for downloading assets, such as images, text, and articles for tourists. Text content is available in multiple languages and accessible based on the language selected within the mobile application.
Since its launch in the Google Play Store and Apple Store in July 2020, more than 20,000 visitors have downloaded the MyPompeii app. MyPompeii helps tourists visualize all points of interest, get more information, and find first aid stations, restrooms, refreshment stands, and other facilities. The app supplements other safety initiatives the park instituted to allow it to reopen during COVID-19.
“Reopening the Pompeii site to tourists after lockdown was tough. With Oracle’s help, we delivered the cloud native mobile solution in just six weeks,” said Alberto Bruni, COO of the Archaeological Park of Pompeii. “Oracle Cloud Infrastructure and Oracle Consulting were instrumental in reopening our doors to tourists. With Oracle’s technology, we are well-equipped to enhance and preserve tourism within the local area.”
The MyPompeii app is a first step toward the proposed digital ecosystem to enhance and preserve tourism and culture within the local area in Italy. The application can evolve into a loyalty program that involves other sites part of the Archeological Park of Pompeii, such as Boscoreale and Oplontis, and the commercial partners in the area. In addition, Archaeological Park of Pompeii and Oracle Consulting continue to enhance the experience of the mobile app with more features based on customer feedback and application insights.
Visitors to Pompeii park dig Oracle Cloud-based app
Archaeological Park of Pompeii taps Oracle Cloud Infrastructure and Oracle Autonomous Database to manage visitors, allowing the site to reopen after COVID.