-1

I'm new to AKKA and i can't figure out a general proper way to integrate a backend actor system with my WPF views.

I studied a few examples i found (all very similar, probably based on this), but in my opinion they can't be really taken as a guideline.

How do you tipically make an actor system and WPF communicate?

  • WPF is just a display technology; your communication with the backend system (of which AKKA is a part) takes place in your Model (the "M" of MVVM). WPF doesn't care about your Actors; any interaction with the UI takes place the same way it would without the Actor model. There might be some threading implications (WPF uses a Single-Threaded Apartment; changes from other threads must be marshalled onto WPF's main thread using Invoke() to be displayed on the UI). – Robert Harvey Sep 28 '17 at 16:39
  • @RobertHarvey Are you sure it takes place in the model? My actor system lives between the model and the viewmodel actually. it turns out there's must be some kind of bridge between the viewmodel and the actor and setting it up seems quite messy – Mauro Sampietro Sep 29 '17 at 12:29
  • My actor system lives between the model and the viewmodel actually. -- No it doesn't. It's just considered part of the model. – Robert Harvey Oct 4 '17 at 15:08
  • My model is a database entity. I doubt an actor system should live there. – Mauro Sampietro Oct 5 '17 at 10:39
  • The database (and the data layer, and the service layer and the business layer and your Actors) are all part of the Model in MVVM. To differentiate your database model from the Model in MVVM, simply call it the "Database Model." – Robert Harvey Oct 5 '17 at 13:41
0

There is not enough detail in your question to give an exact answer.

Typically, some form of Socket communication is used. The Actor model relies on receiving and sending messages. So you have various choices of how you want to send messages between processes. A quick Google search shows that you can use Akka Remoting which seems to make the remote message passing transparent to your app. You would need to include that both in your WPF project and the in the remote process you are trying to connect to.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.