Re: [akka-user] How to define contract between two actor systems

2017-03-13 Thread Rafał Krzewski
Using akka-remoting / akka-cluster for communication creates very tight 
coupling between components. If these components are being developed by 
separate teams, a lot of deliberate coordination work will be needed.
I think that in modern microsevice-oriented environments it's more typical 
to to use REST or message queue interfaces across different services 
(/teams) to reduce friction.
Message encoding solutions with schema evolution capabilities like Protobuf 
and Avro are often used for creating such interfaces: in this situation 
message schema and not specific code forms the module / service's API. It's 
more formal and unambiguous than any JavaDoc. Another advantage here is the 
ability to mix and match languages and platforms across the teams.

cheers,
Rafał

W dniu sobota, 11 marca 2017 01:56:11 UTC+1 użytkownik Allan Douglas R. de 
Oliveira napisał:
>
> Suyog,
>
> My suggestion is to move these messages to a shared library and let it be 
> your "executable documentation". If anyone needs to send messages to an 
> actor system of another team, just import the library of this team and then 
> you can figure out what are the actors and what case classes you can send 
> to them. If the team that owns the actors uses the same library, then it 
> will always up-to-date.
>
> []'s
>
> On Thu, Mar 9, 2017 at 1:13 PM, suyog choudhari  > wrote:
>
>> Hi Allan,
>>
>> Did you mean that, if two different teams working on different actor 
>> systems, which needs to communicate with each other
>>
>> In this case, one team should look into others code to check what actors 
>> are there and what messages it consumes?
>>
>> Have you tried something like Java Docs with akka which can be 
>> distributed to different teams (this is just a random thought)?
>>
>> On Wednesday, 8 March 2017 09:19:46 UTC-8, Allan Douglas R. de Oliveira 
>> wrote:
>>>
>>> Hi,
>>>
>>> See this snippet of code:
>>> https://gist.github.com/douglaz/e06c1b6dbe95a14407866165af50ad1e
>>>
>>> Look the companion object. It's not what you want (documentation), but 
>>> just an example of a convention that helps figure out what messages an Akka 
>>> actor receives and what kind of data it keeps.
>>>
>>> []'s
>>> ᐧ
>>>
>>> On Tue, Mar 7, 2017 at 2:38 PM, suyog choudhari  
>>> wrote:
>>>
 Hi,

 Is there any recommended practice to define contract between multiple 
 actor systems? 

 In short, how one actor system should release document of what all 
 actors it contains and what kind of messages each actor can expect? 
 Something similar to swagger docs in REST API world.

 Regards,
 Suyog


 -- 
 >> Read the docs: http://akka.io/docs/
 >> Check the FAQ: 
 http://doc.akka.io/docs/akka/current/additional/faq.html
 >> Search the archives: 
 https://groups.google.com/group/akka-user
 --- 
 You received this message because you are subscribed to the Google 
 Groups "Akka User List" group.
 To unsubscribe from this group and stop receiving emails from it, send 
 an email to akka-user+...@googlegroups.com.
 To post to this group, send email to akka...@googlegroups.com.
 Visit this group at https://groups.google.com/group/akka-user.
 For more options, visit https://groups.google.com/d/optout.

>>>
>>>
>>>
>>> -- 
>>> Allan Douglas R. de Oliveira
>>>
>> -- 
>> >> Read the docs: http://akka.io/docs/
>> >> Check the FAQ: 
>> http://doc.akka.io/docs/akka/current/additional/faq.html
>> >> Search the archives: https://groups.google.com/group/akka-user
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "Akka User List" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to akka-user+...@googlegroups.com .
>> To post to this group, send email to akka...@googlegroups.com 
>> .
>> Visit this group at https://groups.google.com/group/akka-user.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> -- 
> Allan Douglas R. de Oliveira
>

-- 
>>  Read the docs: http://akka.io/docs/
>>  Check the FAQ: 
>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>  Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.


Re: [akka-user] How to define contract between two actor systems

2017-03-10 Thread Allan Douglas R. de Oliveira
Suyog,

My suggestion is to move these messages to a shared library and let it be
your "executable documentation". If anyone needs to send messages to an
actor system of another team, just import the library of this team and then
you can figure out what are the actors and what case classes you can send
to them. If the team that owns the actors uses the same library, then it
will always up-to-date.

[]'s

On Thu, Mar 9, 2017 at 1:13 PM, suyog choudhari 
wrote:

> Hi Allan,
>
> Did you mean that, if two different teams working on different actor
> systems, which needs to communicate with each other
>
> In this case, one team should look into others code to check what actors
> are there and what messages it consumes?
>
> Have you tried something like Java Docs with akka which can be distributed
> to different teams (this is just a random thought)?
>
> On Wednesday, 8 March 2017 09:19:46 UTC-8, Allan Douglas R. de Oliveira
> wrote:
>>
>> Hi,
>>
>> See this snippet of code:
>> https://gist.github.com/douglaz/e06c1b6dbe95a14407866165af50ad1e
>>
>> Look the companion object. It's not what you want (documentation), but
>> just an example of a convention that helps figure out what messages an Akka
>> actor receives and what kind of data it keeps.
>>
>> []'s
>> ᐧ
>>
>> On Tue, Mar 7, 2017 at 2:38 PM, suyog choudhari 
>> wrote:
>>
>>> Hi,
>>>
>>> Is there any recommended practice to define contract between multiple
>>> actor systems?
>>>
>>> In short, how one actor system should release document of what all
>>> actors it contains and what kind of messages each actor can expect?
>>> Something similar to swagger docs in REST API world.
>>>
>>> Regards,
>>> Suyog
>>>
>>>
>>> --
>>> >> Read the docs: http://akka.io/docs/
>>> >> Check the FAQ: http://doc.akka.io/docs/akka/c
>>> urrent/additional/faq.html
>>> >> Search the archives: https://groups.google.com/grou
>>> p/akka-user
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "Akka User List" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to akka-user+...@googlegroups.com.
>>> To post to this group, send email to akka...@googlegroups.com.
>>> Visit this group at https://groups.google.com/group/akka-user.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>>
>> --
>> Allan Douglas R. de Oliveira
>>
> --
> >> Read the docs: http://akka.io/docs/
> >> Check the FAQ: http://doc.akka.io/docs/akka/
> current/additional/faq.html
> >> Search the archives: https://groups.google.com/group/akka-user
> ---
> You received this message because you are subscribed to the Google Groups
> "Akka User List" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to akka-user+unsubscr...@googlegroups.com.
> To post to this group, send email to akka-user@googlegroups.com.
> Visit this group at https://groups.google.com/group/akka-user.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Allan Douglas R. de Oliveira

-- 
>>  Read the docs: http://akka.io/docs/
>>  Check the FAQ: 
>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>  Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.


Re: [akka-user] How to define contract between two actor systems

2017-03-09 Thread suyog choudhari
Hi Allan,

Did you mean that, if two different teams working on different actor 
systems, which needs to communicate with each other

In this case, one team should look into others code to check what actors 
are there and what messages it consumes?

Have you tried something like Java Docs with akka which can be distributed 
to different teams (this is just a random thought)?

On Wednesday, 8 March 2017 09:19:46 UTC-8, Allan Douglas R. de Oliveira 
wrote:
>
> Hi,
>
> See this snippet of code:
> https://gist.github.com/douglaz/e06c1b6dbe95a14407866165af50ad1e
>
> Look the companion object. It's not what you want (documentation), but 
> just an example of a convention that helps figure out what messages an Akka 
> actor receives and what kind of data it keeps.
>
> []'s
> ᐧ
>
> On Tue, Mar 7, 2017 at 2:38 PM, suyog choudhari  > wrote:
>
>> Hi,
>>
>> Is there any recommended practice to define contract between multiple 
>> actor systems? 
>>
>> In short, how one actor system should release document of what all actors 
>> it contains and what kind of messages each actor can expect? Something 
>> similar to swagger docs in REST API world.
>>
>> Regards,
>> Suyog
>>
>>
>> -- 
>> >> Read the docs: http://akka.io/docs/
>> >> Check the FAQ: 
>> http://doc.akka.io/docs/akka/current/additional/faq.html
>> >> Search the archives: https://groups.google.com/group/akka-user
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "Akka User List" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to akka-user+...@googlegroups.com .
>> To post to this group, send email to akka...@googlegroups.com 
>> .
>> Visit this group at https://groups.google.com/group/akka-user.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> -- 
> Allan Douglas R. de Oliveira
>

-- 
>>  Read the docs: http://akka.io/docs/
>>  Check the FAQ: 
>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>  Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.


Re: [akka-user] How to define contract between two actor systems

2017-03-08 Thread Allan Douglas R. de Oliveira
Hi,

See this snippet of code:
https://gist.github.com/douglaz/e06c1b6dbe95a14407866165af50ad1e

Look the companion object. It's not what you want (documentation), but just
an example of a convention that helps figure out what messages an Akka
actor receives and what kind of data it keeps.

[]'s
ᐧ

On Tue, Mar 7, 2017 at 2:38 PM, suyog choudhari 
wrote:

> Hi,
>
> Is there any recommended practice to define contract between multiple
> actor systems?
>
> In short, how one actor system should release document of what all actors
> it contains and what kind of messages each actor can expect? Something
> similar to swagger docs in REST API world.
>
> Regards,
> Suyog
>
>
> --
> >> Read the docs: http://akka.io/docs/
> >> Check the FAQ: http://doc.akka.io/docs/akka/
> current/additional/faq.html
> >> Search the archives: https://groups.google.com/group/akka-user
> ---
> You received this message because you are subscribed to the Google Groups
> "Akka User List" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to akka-user+unsubscr...@googlegroups.com.
> To post to this group, send email to akka-user@googlegroups.com.
> Visit this group at https://groups.google.com/group/akka-user.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Allan Douglas R. de Oliveira

-- 
>>  Read the docs: http://akka.io/docs/
>>  Check the FAQ: 
>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>  Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.


[akka-user] How to define contract between two actor systems

2017-03-07 Thread suyog choudhari
Hi,

Is there any recommended practice to define contract between multiple actor 
systems? 

In short, how one actor system should release document of what all actors 
it contains and what kind of messages each actor can expect? Something 
similar to swagger docs in REST API world.

Regards,
Suyog


-- 
>>  Read the docs: http://akka.io/docs/
>>  Check the FAQ: 
>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>  Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.