subscribe

Future of SabreAMF

I've been asked a bunch of times what's gonna happen with SabreAMF.

The thing is, the goals of SabreAMF were a lean AMF-parsing library without any pre-cooked frameworks like AMFPHP or WebOrb. What I mean with that is that both of those products force you to structure your service classes in a specific way, whereas I needed to fit an Flash Remoting library in existing business logic for webservice.

I feel like I have succeeded in that goal. It has became what I wanted it to be, it's in use at a few high-traffic sites and no bug reports have came in in the last 4 months.

So what's next?

The next step is to put the version number on 1.0 and freeze the codebase, unless new bug reports come in. In the meanwhile I have been working on a more complete web service framework, that will make use of SabreAMF, and will actually looks more like AMFPHP's approach. I have to work out copyright issues before I can promise it will get open sourced, but I have a good feeling about it.

Features/Ideas:

  • Service-classes are specified using an xml file.
  • Services are accessible using AMF, JSON, XML-RPC, SOAP, REST and PHP-RPC.
  • VO-Classmapping configuration for Actionscript 2, Actionscript 3, SOAP and PHP-RPC.
  • Automatic self-documentation using Reflection and PHP docblocks.
  • Proxy-service classes, allowing you to proxy external webservices. (this allows you to access SOAP services using PHP-RPC, XML-RPC services using AMF, etc.)

If anyone thinks this is not a bad idea, and willing to contribute drop me a line, or post a comment.

Web mentions

Comments

  • Mark Piller

    Mark Piller

    Just to be clear and not cause any confusion... WebORB for PHP does NOT require a developer to create class in any particular way. It does not force anyone to create any special methods, extend any base classes or follow specific naming conventions. As long as your class is public and has public methods, WebORB automatically exposes it to Flash and Flex clients.

    Cheers,
    Mark
  • Evert

    Evert

    Thanks Mark,

    I guess my main point there was: with amfphp and weborb you have to create classes to start with, whereas with sabreamf you only have a low level interface to the AMF request and you can choose however you want to handle that or respond to..

    And, I'm sure there is some predefined way in weborb to register service classes by either configuration, or dropping it into a folder (like amfphp). It all comes to that Weborb and AMFPHP forces (or heavily encourages) certain business logic, making it a framework and not an AMF library.

    Evert
  • Mike Caplan

    Mike Caplan

    Hi Evert,

    Thanks for posting about the future of SabreAMF. As a new PHP + Flex developer, I've been struggling to settle on an AMF solution. With AMFPHP being mark EoL, and WebOrb being a heavyweight (159 PHP files required to run their bundled calculator example), I've been looking at SabreAMF with great interest, but hesitant because what appeared to be loss of momentum. Glad to see that SabreAMF has definite plans for the future.

    Any talk about supporting the AMFEXT?

    Best,

    Mike
  • Evert

    Evert

    Yea, I'd really like to support AMFEXT.. I have to figure out how it would fit in though.. The only thing that worries me is that AMFEXT seems like its very much based on AMFPHP's model..

    I'd have to go through the AMFEXT's output and sort of re-parse it. It might be faster to go through a PHP nested array structure instead of binary data, but I wanna see how this would work exactly, and what the benefits are.

    If I have enough time I'd really like to dive into the code and add event handlers so I have a bit deeper control of the output.

    But yea, SabreAMF itself will come to a halt though.. because I feel like its 'feature complete'. I will continue to support it and fix bugs where needed, but all the fancy stuff will go into the currently unnamed project =).
  • Mark Piller

    Mark Piller

    Evert, thanks for clarifying your points. I understand what you meant now. Good luck with your new "unnamed project" :)

    Mike Caplan, those "159 files" is a framework to expose ANY php class as a remoting service, including our calculator example. Thanks for counting though!
  • ryan

    ryan

    hello.

    i've been a long time fan of amfphp, but i really do hate the way it does force me to use it in a particular way. and worst of all people who are new to amfphp usually get stumped because of its lack of documentation and expectation that you to know how its all put together. so when sabre amf came along i jumped for joy.

    i'm really glad you wrote this post. i think people needed to know where you are at.

    i've decided to use sabre amf as my defacto php amf library for some projects i have lined up.

    i think if you slap a 1.0 on the end of it people will be less reluctant towards it, so if you feel comfortable doing so... go for it...

    and if you do decide to release your framework as open source, please, please, please do keep them separate, because we are drastically missing a encapsulated amf core library for php.
  • Evert

    Evert

    Thanks for the kind words ryan,

    I will definitely keep things separate .. The framework is merely a project that makes use of SabreAMF
  • Einundswanzig

    Einundswanzig

    Hi Evert im trying to integrate your SabreAMF into the Symfony framework but i have some questions, there's any way to reach you other that this blog?
  • Daniel

    Daniel

    Hi Evert, I totally agree with your perspective that SabreAMF has reached your goals and is doing a great job of it. I've been looking for clean web services framework like you mentioned here. Just wondering if you ever got that project off the ground or if you have plans for something like that. Or does anyone know of a similiar style framework to what Evert mentions here?
  • tom3k

    tom3k

    damn sweet!

    no amfext, or anything needed!

    briliant!