CMVRC – Analyst Developer @ NCX

CMVRC logo
About the Job
At NCX Enterprise Consulting
Role Analyst Developer
Location Chile
Duration 10 months
March 2014 – December 2014
Website http://www.custodiametropolitana.cl/
Summary Developed a system requested by the Government of Chile for managing the daily operations of the largest car impound lot in the country, with capacity for over 12,000 vehicles.

CMVRC: Impound car lot management software

Custodia Metropolitana is the entity in charge of the largest impound car lot in the Metropolitan Region of Chile. With capacity for over 12,000 vehicles serving over 25 counties in Santiago, CMVRC is the software that handles the day-to-day operations of the impound lot, from towing cars away from the streets all the way to returning them to their owners, all the process goes through CMVRC. I worked Freelance in this project for 9 months in 2014, with a month break in between because of my work at Athabasca University.

NCX Enterprise Consulting is a software development company founded by Guillermo Quezada, a renowned and experienced IT Engineer in Chile. During the development of CMVRC the team was composed of around 10 people, all high level Computer Science Engineers.

CMVRC Screenshot: Login screenCMVRC Screenshot: Managing tow trucksCMVRC Screenshot: Editing tow truck data
CMVRC Screenshot: Login screen
CMVRC Screenshot: Managing tow trucks
CMVRC Screenshot: Editing tow truck data

The CMVRC project consisted of a big impound lot in the Metropolitan Region of Chile, in a terrain of 25 hectares with capacity for over 12,000 vehicles and it included the generation of infrastructure and services in order to fulfill the obligations regarding custody of vehicles retired from circulation or from public streets by order of the authorities, in conformity with the processes established in Transit Law and others. The project also considered the services of reception, transferring and delivery of these vehicles within that infrastructure and the following devolution to the owner, by means of a certificate issued by competent authorities and payment for the services rendered.

CMVRC: Diagram of interactions between users and software componentsCMVRC: Diagram of use of the software outlining the business processCMVRC: UML diagram of the Software ArchitectureCMVRC: Example of an OrCMVRC: Example of an Orchestration Process. Taken from the documentationchestration Process. Taken from the CMVRC documentationCMVRC: Diagram of the Layers of the implementation for a Business ServiceSoftware Components for CMVRC
CMVRC: Diagram of interactions between users and software components
CMVRC: Diagram of use of the software outlining the business process
CMVRC: UML diagram of the Software Architecture
CMVRC: Example of an Orchestration Process. Taken from the documentation
CMVRC: Diagram of the Layers of the implementation for a Business Service
Software Components for CMVRC

4 macro processes exist within the domain of CMRVC:

  1. Process of Attention to RTE requests: Requests for Retire, Transfer and Delivery of vehicles.
  2. Process of Reception: Acknowledge of the reception of a vehicle by CMRVC.
  3. Process of Entrance to CMVRC: Where the vehicle enters the impound lot and gets assigned a parking spot.
  4. Process of Devolution: Returning the vehicle to their owner previous authorization by authorities and payment of custody services.

Additionally, some other minor processes exists to complement the functionality of CMRVC, like Transfer of Vehicles from Temporary Location to CMVRC, Initial Transferring of Vehicles, and RTE service in requirement to Prosecution and Court ruling. The former 2 needed to operate for the migration of vehicles from county impound lots to CMVRC during the first operating years as counties migrate to rely entirely in CMVRC and discontinue using their own impound lots.

CMVRC: Business process for requesting to retire vehicle from circulationCMVRC: Business process of transferring vehicle from locationCMVRC: Business process of vehicle reception
CMVRC: Business process for requesting to retire vehicle from circulation
CMVRC: Business process of transferring vehicle from location
CMVRC: Business process of vehicle reception

The software was built entirely to support the operations of CMVRC and it was designed and engineered to include all of the following features:

  • RTE Service Request
  • Call Center registry
  • Fleet management
  • Vehicle Reception Service
  • Parking Lot management
  • Vehicle Delivery to Custody Service
  • Information Service (for authorities and public officers)
  • Costumer Attention Service
  • Complaints Service
  • Monitoring Service (for SLA compliance times)

The Experience

Overall, this might have been the largest Software that I’ve ever worked on. The entirety of it was composed of 4 different software components each making use of the 4 logical layers that the model was divided into. It implemented complex business processes using JBPM and the modules some implemented using service oriented architectures and others using component architectures.

Within the software, my role was to develop the user interface for managing the software’s data and to develop a reporting service using Jasper Reports. The UI made for the management of the data was built using RichFaces, and it made use of 3 layers of the architecture to access and modify the data from the databases. The reports were built using Jasper Reports mounted onto an instance of a Jasper Reports Server. Each report was built using iReport and a set of ETL techniques to aggregate the data required for it.

A valuable lesson that I got from working at NCX is about the value of communication; or rather, the disadvantage of the lack of it. During the development of the reporting services for CMVRC I made the mistake of not communicating my progress in a timely fashion, which generated anxiety from the development team and didn’t handle the expectations of the development process correctly. From this experience I learned the value of always communicating where and why I am where I am at in the development process, which is something that I apply today in every job, both in-office or freelancing from home.

Achievements

  • Development of Analytics system for a Software with complex Business processes.
  • Implementation of ETL process to fulfil Analytics requirements.

Frameworks, Software and Technology used

  • Java EE
  • EJB
  • JPA
  • JSF
  • PrimeFaces
  • RichFaces
  • Oracle DB
  • JBoss EAP
  • Web Services
  • XML
  • XSD
  • SOAP
  • SOAP-UI
  • Jasper Reports Server
  • Jasper Reports
  • iReport
  • JBPM
  • BPMN
  • Subversion (SVN)
  • PivotalTracker
  • Agile
  • Eclipse
  • Oracle VM VirtualBox
  • VPN

alfunkso.net