MY company is looking to develop a prototype distributed Client-Server implementation, based
around the CORBA architecture.
It is envisaged that a monitoring station will eventually contain sensors to measure various pollutants and indicators of air quality, but initially the company will focus on nitrogen oxides as a basic proof of concept. The company has decided on an architecture for the system that comprises: the Monitoring Station, which can be installed wherever required and communicate with the rest of the system over wireless 4G networks; a Regional Centre, to which all monitoring stations in a particular geographical area will be connected; and a central Environmental Centre, to which the regional monitoring stations will report. The idea behind this architecture is both to distribute the processing and communications within the system, and to provide resilience should, for example, the central environmental centre become unavailable for some period of time.
The company have asked you to prototype the system, and to make recommendations as to the
suitability of the architecture and the platform selected.
The requirements of the system can be broken down into a number of separate systems which will
need to communicate in a client-server manner to solve the overall requirements.
1. The Monitoring Station
The Monitoring Station is a stand-alone monitoring system, to be prototyped as a CORBA server,
that supports certain functionality
2. The Regional Centre
The Regional Centre is to be prototyped as a CORBA server that supports the following
functionality at least:
Receives requests to register Monitoring Stations and maintains a list of connected
devices
Receives alerts from connected Monitoring Stations, and maintains a log of these
alerts
Triggers an alarm at the Environmental Centre when two alarms happen within a
specified time frame
Returns the log upon request
Polls all connected Monitoring Stations when requested to do so, and returns a set of
readings
A preliminary IDL starting specification might be:
Typedef sequence<Reading> Log_of_alarm_readings;
Typedef sequence<Reading> Set_of_readings;
interface RegionalCentre {
readonly attribute string name;
readonly attribute Log_of_alarm_readings log;
void raise_alarm (in Reading alarmReading );
Set_of_readings take_readings();
void add_monitoring_station(in string station_name, in string station_location, in
string station_ior);
} ;
3. The Environmental Centre
The Environmental Centre is to be prototyped as a CORBA server that supports the following
functionality at least:
Receives confirmed alarms from Regional Centres
Alerts the operator when a confirmed alarm is received
Allows agencies (e.g. the Environment Agency, local councils, local pressure groups,
etc.) to register for notifications in case of alarms
Maintains a list of connected Regional Centres
Polls all Regional Centres upon request and displays the results of readings returned,
highlighting readings of concern
A preliminary IDL starting specification might be:
interface EnvironmentalCentre {
void raise_alarm(in Reading alarm_reading);
void register_agency(in string who, in string contact_details,
in string region_of_interest);
void register_regional_centre(in string centre_name)
} ;
A CORBA-based client-server system.
Hi sir/madam, I am an expert web programmer with more than 6 years’ experience in latest web development technologies.