You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Introduction

The Component Caller API is a component that works as a proxy that makes the ACS / CORBA world in a REST API. This enables different functionality, such as connecting standalone applications, plugins and/or web services to the system.

The Event Converter is a component that serves a pre-configured set of events by converting them from ACS' Notification Channel (Based on CORBA's Notification Service) into Redis PubSub model for unreliable subscribers and into Redis queues for reliable subscribers.

At ALMA, these services are being used in a couple of places:

  • Integrated Alarms System Plugins to obtaine device information
  • ObopsOnlineServer to prepare observation and operational reports (Shift Logs)
  • Some prototypes have been done to check feasibility of web services to control the system

Presentation

  • Scope
    • Background
    • Component Caller API
    • Event Converter
  • Duration: 10 minutes

Hands-On Exercise

Component Caller API

Deployment / Configuration

  • Python Container
    • For instance aragornContainer with the demo CDB
  • Component configuration:
Component Caller API
<?xml version='1.0' encoding='ISO-8859-1'?>
<ComponentCallerAPI
    Name="ComponentCallerAPI"
    Code="acs.ComponentCallerAPI"
    Type="IDL:alma/ACS/ACSComponent:1.0"
    Container="<container>"
    ImplLang="py"
    Autostart="true"
</ComponentCallerAPI>

Interaction

Event Converter

Deployment / Configuration

  • Python Container
    • For instance aragornContainer with the demo CDB
  • Component Configuration
Component Caller API
<?xml version='1.0' encoding='ISO-8859-1'?>
<EventConverter
    Name="EventConverter"
    Code="acs.EventConverter"
    Type="IDL:alma/ACS/ACSComponent:1.0"
    Container="<container>"
    ImplLang="py"
    Autostart="true">
</EventConverter>
  • XMLDoc
Component Caller API
<?xml version="1.0" encoding="ISO-8859-1"?>
<EventConverter xmlns="urn:schemas-cosylab-com:EventConverter:1.0" xmlns:baci="urn:schemas-cosylab-com:BACI:1.0" xmlns:cdb="urn:schemas-cosylab-com:CDB:1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <RedisConn host="localhost" port="6379"/>
  <PubSub>
    <Channel name="TEST">
      <EventType type="Test.Event"/>
    </Channel>
  </PubSub>
  <ReliableSubscribers>
    <Subscriber name="test_events" queueLimit="20">
      <Channel name="TEST">
        <EventType type="Test.Event"/>
      </Channel>
    </Subscriber>
  </ReliableSubscribers>
</EventConverter>

Interaction

Discussion

  • Limitations: Callbacks
  • Improvements
  • New Ideas
  • No labels