AutobahnPython: upcoming changes

1,079 views
Skip to first unread message

Tobias Oberstein

unread,
Dec 8, 2014, 10:08:55 AM12/8/14
to autobahnws
Hi AutobahnPython users,

this is a notice of an upcoming change (in the next version, which will
be 0.9.4) that might affect user code:

***
The basic router code in AutobahnPython is gonna be removed, and fully
integrated into Crossbar.io
***

Please note that this is irrelevant to most users of AutobahnPython:

* if you only use WebSocket stuff, you're NOT affected
* if you do WAMP, and have all your app's code inside WAMP app
components (as has been recommended since ever), you're NOT affected

If however you created a custom WAMP router based on the one included
with AutobahnPython, or have put application code into a custom router,
this change will affect you.

Also note that nothing is taken away:

1. there are multiple open-source routers available, including of course
Crossbar.io which continues the code line the basic AutobahnPython started
2. you can just continue to use AutobahnPython v0.9.3-3 (the last
version with the old basic router code inside)
3. you can just fork/copy the old classes from AutobahnPython into your
code (under Apache 2.0 license)

[I'd recommend 1. however - using whatever router you prefer]

If you are affected: I am sorry. I understand breaking code sucks. But
we have big plans and we need to move faster. Please see the reasoning
that follows.

We are accelerating our development with Crossbar.io, implementing
features from the WAMP "Advanced Profile".

E.g. upcoming stuff includes pattern based subscriptions/registrations
and router clustering/federation.

This requires moving bits deep down in the routing core.

The basic router in AutobahnPython was originally planned to only
implement features from the "basic profile", and all stuff from the
"advanced profile" would have been implemented only in Crossbar.io.

However, we now realized that this doesn't make sense, since we would
essentially have to maintain 2 router implementations, since AP features
touch code deep inside the core, and both code lines would diverge more
and more.

We cannot afford this. We have limited resources and need to concentrate
those.

Hence, we will focus all energy on Crossbar.io, making it the most
advanced, powerful, scalable, robust, whatever WAMP router out there.
Well, I'd say it already is, but you will need to fasten your seat belts
- we only started;)

We need to reduce confusion.

All AutobahnXXX libraries but AutobahnPython have been WAMP client
libraries exclusively from the beginning. With above change,
AutobahnPython will now take a similar approach.

This is easier to communicate to new users also: Autobahn is all "WAMP
client" libraries, whereas Crossbar.io is a "WAMP router" (one of
multiple to choose from). Simple.

Despite my continued efforts to convince people that putting app code
into routers is a bad thing, I have that feeling that I didn't succeed
fully;)

Removing any router code from AutobahnPython will help with arguing
here. If you want to write a WAMP router, that is perfectly fine of
course. But that should be a deliberate decision, with a higher entry
bar that simply creating a WAMP app by writing WAMP app components.

WAMP users / app developers should NOT be bothered with any router code
or router code writing.

Cheers,
/Tobias

Jonathan Dobson

unread,
Dec 8, 2014, 11:15:06 AM12/8/14
to autob...@googlegroups.com
I currently have a router from AutobahnPython running in my Twisted project. It is trivial to get it up and running:

...

        router_factory = wamp.RouterFactory()
        session_factory = wamp.RouterSessionFactory(router_factory)
        transport_factory = websocket.WampWebSocketServerFactory(
            session_factory,
            debug=False,
            debug_wamp=False
        )
        server = serverFromString(reactor, "tcp:" + str(self.port))
        server.listen(transport_factory)
...

If I understand this correctly, autobahn.twisted.wamp.RouterFactory / RouterSessionFactory / WampWebSocketServerFactory will not longer be available in future AP releases?

If so, what will be the change for me if I don't wish to fork the eventually discarded code? Import crossbar and instantiate something similar? Will using crossbar for _just_ the router be somewhat heavy handed? 

Tobias Oberstein

unread,
Dec 8, 2014, 1:02:16 PM12/8/14
to autob...@googlegroups.com
Hi Jonathan,

Am 08.12.2014 17:15, schrieb Jonathan Dobson:
> I currently have a router from AutobahnPython running in my Twisted
> project. It is trivial to get it up and running:
>
> ...
>
> router_factory = wamp.RouterFactory()
> session_factory = wamp.RouterSessionFactory(router_factory)
> transport_factory = websocket.WampWebSocketServerFactory(
> session_factory,
> debug=False,
> debug_wamp=False
> )
> server = serverFromString(reactor, "tcp:" + str(self.port))
> server.listen(transport_factory)
> ...
>
> If I understand this correctly, autobahn.twisted.wamp.RouterFactory /
> RouterSessionFactory / WampWebSocketServerFactory will not longer be
> available in future AP releases?

Yes.

>
> If so, what will be the change for me if I don't wish to fork the
> eventually discarded code? Import crossbar and instantiate something

The idea is that you simply let your Twisted app connect to a running
Crossbar.io instance. A WAMP router (Crossbar.io) would be a
prerequisite for your app similar as Python is. That is, not as a Python
level dependency (setup.py), but an "external prerequisite".

> similar? Will using crossbar for _just_ the router be somewhat heavy
> handed?

Running Crossbar.io with a node configuration that only runs a router
(and nothing else) isn't (significantly) more heavy weight than e.g.
what you get by manually setting up a router from classes.

The Crossbar.io package currently is about 1MB, but we want to get rid
of the "app templates" included, which have gotten a little out of hand.
We should be able to cut down to like 200-300kB.

Crossbar.io also only requires some small packages itself in addition to
autobahn[twisted] - none of the deps are for binary extensions.

So I'd argue these are quite minor issues, if at all, and you get a
router with WAMP advanced profile support.

Cheers,
/Tobias
> --
> You received this message because you are subscribed to the Google
> Groups "Autobahn" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to autobahnws+...@googlegroups.com
> <mailto:autobahnws+...@googlegroups.com>.
> To post to this group, send email to autob...@googlegroups.com
> <mailto:autob...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/autobahnws/068d8ce7-143d-4bdf-90db-28985df558dd%40googlegroups.com
> <https://groups.google.com/d/msgid/autobahnws/068d8ce7-143d-4bdf-90db-28985df558dd%40googlegroups.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout.

Jonathan Dobson

unread,
Dec 8, 2014, 1:48:30 PM12/8/14
to autob...@googlegroups.com
Great - thanks for the advisement. So I'd just run crossbar as an external router, and my Twisted app would become a client, along with the existing wamp clients.
B instead of A:

A: [Twisted + Router] <---> [Clients]
B: [Twisted] <---> [crossbar Router] <---> [Clients]

Tobias Oberstein

unread,
Dec 8, 2014, 4:15:57 PM12/8/14
to autobahnws

Yep. Exactly.

Sent from Mobile (Google Nexus 5)

To unsubscribe from this group and stop receiving emails from it, send an email to autobahnws+...@googlegroups.com.
To post to this group, send email to autob...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/autobahnws/4725a4ac-d1e7-4c1e-b5e8-d10a6855c862%40googlegroups.com.

Matthias K.

unread,
Dec 19, 2014, 8:18:20 AM12/19/14
to autob...@googlegroups.com
Hello Tobias,

We are using the Autobahn|Python router as a lightweight-component from which we can quickly start multiple instances (ports).
We are running the router over asyncio (trollius) on Python 2.7.
One router instance is responsible for the communication of one (of many possible) HTML5 presentation component with a .NET/CPython application.
This application is distributed with a dedicated installer.
What are the minimal dependencies of crossbar.io to start it as a plain router? Does it run with asyncio too?

Thank you,

Matthias

Tobias Oberstein

unread,
Dec 19, 2014, 11:01:25 AM12/19/14
to autob...@googlegroups.com
Hi Matthias,
Crossbar.io essentially depends on AutobahnPython and Twisted, and not
much else (in particular, no binary packages). Crossbar.io does run on
Twisted, not asyncio.

>
> Thank you,
>
> Matthias
>
> --
> You received this message because you are subscribed to the Google
> Groups "Autobahn" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to autobahnws+...@googlegroups.com
> <mailto:autobahnws+...@googlegroups.com>.
> To post to this group, send email to autob...@googlegroups.com
> <mailto:autob...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/autobahnws/1f69e1b7-b158-4ef8-9bf2-3b0d9329a3df%40googlegroups.com
> <https://groups.google.com/d/msgid/autobahnws/1f69e1b7-b158-4ef8-9bf2-3b0d9329a3df%40googlegroups.com?utm_medium=email&utm_source=footer>.

mthu...@gmail.com

unread,
Dec 23, 2014, 5:55:13 AM12/23/14
to autob...@googlegroups.com
Thanks for the update.  Does this break any of the beginning examples, in particular, the autobahn.twisted.wamp.ApplicationRunner?

Yury Sobolev

unread,
Jan 2, 2015, 11:17:04 PM1/2/15
to autob...@googlegroups.com
Well... this was a bit disastrous for me.

I tried crossbar a few months ago, but it was broken with horribly out of date documentation. After struggling to get it working I gave up and I wrote my own router using the Autobahn library. I actually invested quite a bit of time into this. It supports (support_ed_ now?), among other features, PAM style authentication chains, as well as multiple database backends. I would like to keep using it, however I would also like to benefit from the advantages of getting security and code updates. At the very least, I would like to salvage what I can. As far as I can tell, the router code in crossbar is basically identical to what was in Autobahn. Can I simply use the corresponding modules from crossbar? Or, since you deliberately removed the router from Autobahn, should I assume the upcoming changes to crossbar will be highly non-backwards compatible?

Finally, I understand you have your own development goals, but I feel this was a very serious and uncalled for change. I certainly appreciate the work you do. The main reason I stick with Autobahn is because I know the code is very high quality. I am also aware I cannot expect anything more than I already get (especially since it is free!). However, this is a huge change. It potentially wipes out months of work on my part. It seems this is becoming a pattern too. The change from WAMPv1 was big. This change followed soon after. I am not sure my project can survive another. I am not angry, but I am disappointed. ;(

-Yury


On Monday, December 8, 2014 10:08:55 AM UTC-5, Tobias Oberstein wrote:

Tobias Oberstein

unread,
Jan 3, 2015, 5:59:06 AM1/3/15
to autob...@googlegroups.com
Hi Yury,

first off, happy new year!

Am 03.01.2015 um 05:17 schrieb Yury Sobolev:
> Well... this was a bit disastrous for me.
>
> I tried crossbar a few months ago, but it was broken with horribly out
> of date documentation. After struggling to get it working I gave up and

The documentation has improved a lot since then, and we've just recently
hired someone to help here. But yes, we've been hearing this a lot: "you
guys do incredible work, but the docs suck".

You can help! Help us improving the docs ..

> I wrote my own router using the Autobahn library. I actually invested
> quite a bit of time into this. It supports (support_ed_ now?), among
> other features, PAM style authentication chains, as well as multiple
> database backends. I would like to keep using it, however I would also

That's cool! And it should be possible to migrate that custom
authentication/authorization code to Crossbar.io.

Crossbar.io supports hooking up both custom authentication, as well as
authorization code.

E.g. here is how you hook into WAMP-Ticket authentication

https://github.com/crossbario/crossbarexamples/tree/master/authenticate/ticketdynamic/python

and here is how to hook into WAMP-CRA

https://github.com/crossbario/crossbarexamples/tree/master/authenticate/wampcradynamic/python

The cool thing is: you can write your custom
authentication/authorization code in _any WAMP supported language_!

And: you don't need to touch Crossbar.io code

Apart from authentication/authorization, what other features does your
custom router have?

> like to benefit from the advantages of getting security and code
> updates. At the very least, I would like to salvage what I can. As far
> as I can tell, the router code in crossbar is basically identical to
> what was in Autobahn. Can I simply use the corresponding modules from
> crossbar? Or, since you deliberately removed the router from Autobahn,

Technically (obviously) yes, but don't do it.

Nothing of the Crossbar.io code base is intended for inclusion at the
class level. Crossbar.io should be treated as a black box! Think like
this: we might rewrite Crossbar.io in C++ in the future .. at which
point there is no Python class to derive from anymore.

> should I assume the upcoming changes to crossbar will be highly
> non-backwards compatible?

The routing code will change and expand drastically over the coming months.

>
> Finally, I understand you have your own development goals, but I feel
> this was a very serious and uncalled for change. I certainly appreciate

"uncalled":

I am not a native speaker, so I am sorry if I get upset wrongly, but
"uncalled" .. forgive me: we don't wait for you to call us to do
something or not.

If "uncalled" would mean "unneeded", then: you don't judge what's needed
or not for this project.

Then: as far as I can tell, this is the very first posting by you on
this list, right?

So what exactly have _you_ contributed to this community? You didn't
even care to _announce_ that you use this stuff, that you wrote a custom
router, not to speak of trying to get your custom code integrated upstream.

Seriously, this attitude (again sorry if I misunderstood) does make _me_
disappointed.

> the work you do. The main reason I stick with Autobahn is because I know
> the code is very high quality. I am also aware I cannot expect anything
> more than I already get (especially since it is free!). However, this is

No, you can and should demand more, even though it's free;) This is a
community, but the model is "benevolent dictator". Stand up, have your
say. You _will_ be heard. Ask other users here or elsewhere: I may be
hard to discuss with, but in the end, good arguments convince me, and
the final outcome then is far superior.

E.g. take WAMP as a protocol. A lot of developers contributed (and
actively do contribute e.g. with respect to the WAMP Advanced Profile).
In fact, WAMP2 grew out of that interaction/feedback. I can assure you:
it's a _lot_ of work only trying to integrate all the requirements and
demands that people have. And more so: it is a challenge to maintain
overall integrity and cohesion in the design. And with the latter,
sometimes this means "saying no" or make a change. It's better than
trying to be everything to everybody ..

> a huge change. It potentially wipes out months of work on my part. It
> seems this is becoming a pattern too. The change from WAMPv1 was big.

Let me ask a question: do you think the benefits of WAMP2 outweight the
break with WAMP1?

There is always a stretch between moving forward, inonvating, and
keeping the state of affairs.

> This change followed soon after. I am not sure my project can survive
> another. I am not angry, but I am disappointed. ;(

I can understand your feelings.

Let's make it concrete: I am willing to assist you porting your custom
authentication/authorization code to Crossbar.io.

Cheers,
/Tobias
> --
> You received this message because you are subscribed to the Google
> Groups "Autobahn" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to autobahnws+...@googlegroups.com
> <mailto:autobahnws+...@googlegroups.com>.
> To post to this group, send email to autob...@googlegroups.com
> <mailto:autob...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/autobahnws/95cc1c00-c8a1-4e56-94cb-c3cc1e019e4e%40googlegroups.com
> <https://groups.google.com/d/msgid/autobahnws/95cc1c00-c8a1-4e56-94cb-c3cc1e019e4e%40googlegroups.com?utm_medium=email&utm_source=footer>.

Yury Sobolev

unread,
Jan 3, 2015, 2:45:44 PM1/3/15
to autob...@googlegroups.com

Hi Tobias,

> first off, happy new year!

Please forgive my lack of manners. Happy New Year!

> The documentation has improved a lot since then, and we've just recently hired someone to help here. But yes, we've been hearing this a lot: "you guys do incredible work, but the docs suck".

This is good to hear, but comes a little late.

> The cool thing is: you can write your custom authentication/authorization code in _any WAMP supported language_!

This is very cool.

> Apart from authentication/authorization, what other features does your custom router have?

Various custom logging, a modular plugin system (reusable), and many months of infrastructure and integration that will need to be tossed.

> "uncalled":
>
> I am not a native speaker, so I am sorry if I get upset wrongly, but "uncalled" .. forgive me: we don't wait for you to call us to do something or not.

No.

> If "uncalled" would mean "unneeded", then: you don't judge what's needed or not for this project.

No, but closer. I mean I believe that there is rarely a time when the right call is to break backwards compatibility. Of course, it is quite presumptuous of me to assume where the project is headed. I apologize for that.

> Then: as far as I can tell, this is the very first posting by you on this list, right?

Yes.

> So what exactly have _you_ contributed to this community? You didn't even care to _announce_ that you use this stuff, that you wrote a custom router, not to speak of trying to get your custom code integrated upstream.

I contributed a WAMP1 client (which you posted). I opened _several_ issues, and I spoke up from time to time on IRC. All this has happened over the past year. My involvement is minimal, so I do not expect you to remember me. I am sorry if I overstepped my bounds.

The reason I do not announce everything is that unfortunately I am not _allowed_ to discuss most of my work. I try to contribute where I can.

> Seriously, this attitude (again sorry if I misunderstood) does make _me_ disappointed.

I definitely said some things I should not have. I was honestly hoping this was the last rewrite I would have to do and was just putting on the finishing touches. I was quite distraught when I upgraded to the latest version and saw all my work break. My post was too emotional. I am sorry about that.

> No, you can and should demand more, even though it's free;) This is a community, but the model is "benevolent dictator". Stand up, have your say. You _will_ be heard. Ask other users here or elsewhere: I may be hard to discuss with, but in the end, good arguments convince me, and the final outcome then is far superior.

I have noticed this. You have taken my suggestions in the past. Thank you.

I will take you up on your offer then. I ask that the project offer long term stability.

> Let me ask a question: do you think the benefits of WAMP2 outweight the break with WAMP1?

Well... Yes and no. Theoretically, yes. Practically, there had been no complete, stable Advanced Profile WAMP2  implementation I can use. So, no.

> There is always a stretch between moving forward, inonvating, and keeping the state of affairs.

Stability is a requirement for me. After the switch to WAMP2, I assumed (I guess "hoped" is the better word), things would settle and begin to mature.

> Let's make it concrete: I am willing to assist you porting your custom authentication/authorization code to Crossbar.io.

Your kindness is truly appreciated. I think the biggest problem is infrastructure changes and how my router was integrated. I will post later with an example of my authentication stack and maybe we can see if it has a place in crossbar.

Thank you for the quick reply.

-Yury

Michel Desmoulin

unread,
Jan 3, 2015, 3:18:08 PM1/3/15
to autob...@googlegroups.com
While I understand the struggle, I can't help but notice the software hasn't reached version 1.0.0 yet. Actually both crossbar and autobahn Python are in V 0.9.x. This is usually the only time a software designer can break all the stuff he wants.

If we don't allow this, then you remove flexibility for the core dev and the lib would start being bloated and unadapted before it even reache it's first official stable release.

I'm not in the core dev team, but I did some big projects and also been on the side of the guys with breaking dependancies.
Yes, it has a cost, but I do feel it's a good balance and a necessary stage to craft great software.

Yury Sobolev

unread,
Jan 3, 2015, 3:45:54 PM1/3/15
to autob...@googlegroups.com

You are right on all points. I would however add the counter point that breaking _major_ functionality on _minor_ version changes (0.9.3 -> 0.9.4) is considered bad form. At least for the WAMP2 change there was a full mid version worth of warning and a transition period where both were supported.

This was barely a month. I suppose it would have happened eventually.

--
You received this message because you are subscribed to a topic in the Google Groups "Autobahn" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/autobahnws/bCj7O2G2sxA/unsubscribe.
To unsubscribe from this group and all its topics, send an email to autobahnws+...@googlegroups.com.
To post to this group, send email to autob...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/autobahnws/f5a80f42-ac1e-4e65-91c5-715db45d5171%40googlegroups.com.

Michel Desmoulin

unread,
Jan 3, 2015, 3:52:35 PM1/3/15
to autob...@googlegroups.com
This raises a good question : are these software using Semver or not ?

If yes, it's freestyle untill 1.0.0 and they cran break it all. But they should disclose it on the doc.

If not, then Yury got a point.

Tobias Oberstein

unread,
Jan 3, 2015, 4:39:31 PM1/3/15
to autob...@googlegroups.com
Hi Yury,

> > The documentation has improved a lot since then, and we've just
> recently hired someone to help here. But yes, we've been hearing this a
> lot: "you guys do incredible work, but the docs suck".
>
> This is good to hear, but comes a little late.

The first version of Crossbar.io was release 2013-11-21 to PyPI. So this
project exists for roughly 12 month (in the public).

So "late" is relative;) Anyway, I absolutely agree on this: the docs
need to improve.

I am probably not good at writing easy, approachable docs. And I
personally definitely can't ramp up my workload more .. I have reached
the limits of what I can do.

> > Apart from authentication/authorization, what other features does
> your custom router have?
>
> Various custom logging, a modular plugin system (reusable), and many
> months of infrastructure and integration that will need to be tossed.

=( I can feel your pain.

And I am feeling guilty for not having tried even harder to raise
awareness to the following paradigm / strong opinion:

Routers should _not_ contain application logic. Never.

Actually, _app_ developers should not even think about writing or
hacking on routers.

Are you hacking the PostgreSQL codebase to inject some application
logic? (rethoric question)

It was a mistake to not splitting out all routing code from the very
beginning into a separate project. Yes. In _hindsight_ that's clear.

But that's how things evolve. In fact, if you go back in the code
history of AutobahnPython, you will find _WebSocket testsuite_ code!
Which had long ago then be split out into a separate project
(AutobahnTestsuite).

Now, logging sounds to me it should be in the router. So I'd also offer
to work with you on getting that migrated.

"plugin system": unsure what this means. If it is about app logic, then
this is IMO the wrong approach to put into a router. The "plugin" system
of Crossbar.io are standard WAMP components.

But, here is what you can do: just take the classes and code from
AutobahnPython 0.9.3-3 and put that into your proprietory codebase. It's
Apache 2.0. Do what you want.

Of course that means you then have a fully custom router to maintain on
your own. Sure. But nothing that existed was taken away from you.

> > If "uncalled" would mean "unneeded", then: you don't judge what's
> needed or not for this project.
>
> No, but closer. I mean I believe that there is rarely a time when the
> right call is to break backwards compatibility. Of course, it is quite

That would mean no project can evolve ever. Doesn't make sense. No, now
(<1.0) is the time to do so. It's not either or. It's shades of grey ..
need to find a balanced approach. And: I am still learning on how to
manage a growing, open-source project. It's tricky in ways .. so I do
make mistakes. Yes.

> > So what exactly have _you_ contributed to this community? You didn't
> even care to _announce_ that you use this stuff, that you wrote a custom
> router, not to speak of trying to get your custom code integrated upstream.
>
> I contributed a WAMP1 client (which you posted). I opened _several_
> issues, and I spoke up from time to time on IRC. All this has happened
> over the past year. My involvement is minimal, so I do not expect you to
> remember me. I am sorry if I overstepped my bounds.

Oh, ok. Sorry for not recognizing! To be honest, I didn't remember you
(I am communicating about this stuff with a lot of people all the time
over various channels) .. but now I see. And will remember you;)

> The reason I do not announce everything is that unfortunately I am not
> _allowed_ to discuss most of my work. I try to contribute where I can.

Never mind, I think I found your startup;)

> I will take you up on your offer then. I ask that the project offer long
> term stability.

I agree. A statement on that is critical:

https://github.com/tavendo/AutobahnPython/issues/313
https://github.com/crossbario/crossbar/issues/194

>
> > Let me ask a question: do you think the benefits of WAMP2 outweight
> the break with WAMP1?
>
> Well... Yes and no. Theoretically, yes. Practically, there had been no
> complete, stable Advanced Profile WAMP2 implementation I can use. So, no.

WAMP BP already goes way beyond WAMP1.

WAMP AP as a spec is neither stable nor complete. So there can't be such
an implementation. Having said that, Crossbar.io is the most complete
implementation I am aware of.

>
> > There is always a stretch between moving forward, inonvating, and
> keeping the state of affairs.
>
> Stability is a requirement for me. After the switch to WAMP2, I assumed
> (I guess "hoped" is the better word), things would settle and begin to
> mature.

Protocol-wise, WAMP2 BP _is_ stable. There won't be a WAMP3. In general,
WAMP2 AP is work in progress. Selected features of WAMP2 AP are stable.

AutobahnPython is still <1.0. But see the issues I filed above ..

>
> > Let's make it concrete: I am willing to assist you porting your
> custom authentication/authorization code to Crossbar.io.
>
> Your kindness is truly appreciated. I think the biggest problem is
> infrastructure changes and how my router was integrated. I will post
> later with an example of my authentication stack and maybe we can see if
> it has a place in crossbar.

Sure. Also note, that you can keep your stuff proprietory: e.g. if you
implement your custom authentication as a WAMP component, you can hook
that up to Crossbar.io without touching CB code, and only using
AutobahnPython. The latter is Apache 2.0, so you can go closed source.
There is no need to contribute anything into the CB codebase for such
things.

Cheers,
/Tobias

>
> Thank you for the quick reply.
>
> -Yury
>
> --
> You received this message because you are subscribed to the Google
> Groups "Autobahn" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to autobahnws+...@googlegroups.com
> <mailto:autobahnws+...@googlegroups.com>.
> To post to this group, send email to autob...@googlegroups.com
> <mailto:autob...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/autobahnws/CAA4O5QgnOra%2BsXidTK95w4hjMwcfR-ccnnviCxXDOit1Vq4Ykw%40mail.gmail.com
> <https://groups.google.com/d/msgid/autobahnws/CAA4O5QgnOra%2BsXidTK95w4hjMwcfR-ccnnviCxXDOit1Vq4Ykw%40mail.gmail.com?utm_medium=email&utm_source=footer>.

Tobias Oberstein

unread,
Jan 3, 2015, 4:44:54 PM1/3/15
to autob...@googlegroups.com
Hi Michel,
Yes. That's also my view. Great software needs to have an incubation
phase .. in which some pivoting is allowed, mistakes made and dead ends
explored.

In fact, regarding WAMP, it was planned from day 1 (!) to have a v1,
gain experience, and then do v2. That's in the mailing lists for
everyone to read up.

On the other hand, the stability is required for others to build/rely on:

https://github.com/tavendo/AutobahnPython/issues/313
https://github.com/crossbario/crossbar/issues/194

Cheers,
/Tobias

>
> --
> You received this message because you are subscribed to the Google
> Groups "Autobahn" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to autobahnws+...@googlegroups.com
> <mailto:autobahnws+...@googlegroups.com>.
> To post to this group, send email to autob...@googlegroups.com
> <mailto:autob...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/autobahnws/f5a80f42-ac1e-4e65-91c5-715db45d5171%40googlegroups.com
> <https://groups.google.com/d/msgid/autobahnws/f5a80f42-ac1e-4e65-91c5-715db45d5171%40googlegroups.com?utm_medium=email&utm_source=footer>.

Tobias Oberstein

unread,
Jan 3, 2015, 4:48:16 PM1/3/15
to autob...@googlegroups.com
Am 03.01.2015 um 21:45 schrieb Yury Sobolev:
> You are right on all points. I would however add the counter point that
> breaking _major_ functionality on _minor_ version changes (0.9.3 ->
> 0.9.4) is considered bad form. At least for the WAMP2 change there was a

I agree. Was a mistake. Should have been 0.10.0, not 0.9.4.

Yury Sobolev

unread,
Jan 3, 2015, 6:26:19 PM1/3/15
to autob...@googlegroups.com

Hi Tobias,

Just to clarify, the database backend is for authentication. The password hashes for CRA need to be stored somewhere.

Anyway, thank you for the feedback. I will try to migrate as much as possible to crossbar.

-Yury


To post to this group, send email to autob...@googlegroups.com

--
You received this message because you are subscribed to a topic in the Google Groups "Autobahn" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/autobahnws/bCj7O2G2sxA/unsubscribe.
To unsubscribe from this group and all its topics, send an email to autobahnws+unsubscribe@googlegroups.com.
To post to this group, send email to autob...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/autobahnws/54A8618F.2000208%40gmail.com.

Sheraz Jamshed

unread,
Jun 25, 2015, 2:51:43 AM6/25/15
to autob...@googlegroups.com
Hi Tobias,

We are trying to implement Autobahn Android with Ratchet server. The iOS and JS clients are already working fine with pubsub. However, I am unable to use include and exclude session IDs from receiving the messages in android. It was very easy to do it in JS and iOS but android does not seem to have any API for it. In short I am trying to avoid server broadcast my message back to me, it only needs to go out to others subscribed to topic.

Please help.

Thanks

Sheraz Jamshed
Reply all
Reply to author
Forward
0 new messages