1. Conejo Architecture and Major Components Abstract notes on Conejo @paulosuzart [email_address]
2.
3.
4.
5. Architecture Application <<actor>> Conejo RabbitMQ Conejo Server Conejo Server Conejo Server ! !? JSON Content JSON Content Worker Actor Worker Actor Worker Actor ! ! JSON Content !?
6. Major Components Application <<actor>> Conejo <<actor>> Dispatcher <<actor> Worker Any application using Conejo throgh the Conejo Actor Actor runing on client and responsable to request serialization Serializer and send/receive messages to/from predefined Conejo Queues or Reply Queues Runs for eatch Actor Server. This actor is the primary receiver of AMQP Messages. Is responsible for invoking the Serializer and send messages to reply queues The Actor that performs the actual wished logic
7. Major Components <<actor>> Serializer Config Small piece of optional configurations inside the Singleton subclass of the Actor Server Actor responsible to serialize or deserialize byte[] to messages whose types are indicated In AMQP message propertyes.
Conejos is a Actor that user a Serializer. The message is sent with Properties. It is responsible for setting up any temporary queue to receive a reply and then send it back to the application. Dispatcher is an actor derived from a rabbit consumer that receives messages. It uses a serializer based on properties to construct case classes and pass it to the Worker Actor. Config is a simple extension of a AbstractConfig to allow the registration of the Worker Actor. It can be eliminated forcing a trait to the Worker. This could be solved scaning the class path for certaing types and registering it to dispacher.