APE v2

70 views
Skip to first unread message

a.c...@weelya.com

unread,
Nov 17, 2010, 4:00:30 AM11/17/10
to ape-p...@googlegroups.com
Hi folks,

I started the development of a the 2.0 branche (from scratch).
You can follow the project right here :
https://github.com/paraboul/APE-Server-v2

I hope some of you guys will follow the progress of the development and
send me some feedbacks ;)

BTW, Im still looking for a packager (configure script writer, Makefile
writer, and so forth=

Thanks

Anthony Catel

ashutosh bijoor

unread,
Nov 17, 2010, 7:51:57 AM11/17/10
to ape-p...@googlegroups.com
Great news! Looking forward to the new version.

BTW, wanted to know if you have evaluated node.js (http://nodejs.org)
Would it qualify as a platform for developing the new version of APE? 
It may help to get a larger developers community involved.

Regards
Ashutosh
--




--
You received this message because you are subscribed to the Google
Groups "APE Project" group.
To post to this group, send email to ape-p...@googlegroups.com
To unsubscribe from this group, send email to
ape-project...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/ape-project?hl=en
---
APE Project (Ajax Push Engine)
Official website : http://www.ape-project.org/
Git Hub : http://github.com/APE-Project/

Stefan Sayer

unread,
Nov 17, 2010, 7:55:01 AM11/17/10
to ape-p...@googlegroups.com
Hi,

a.c...@weelya.com wrote:
> Hi folks,
>
> I started the development of a the 2.0 branche (from scratch).

cool. Are you going to add a native thrift or json-rpc v2 interface? I
always thought that the JS inlinepush interface is not really the
best, performance-wise.

> You can follow the project right here :
> https://github.com/paraboul/APE-Server-v2
>
> I hope some of you guys will follow the progress of the development and
> send me some feedbacks ;)
>
> BTW, Im still looking for a packager (configure script writer, Makefile
> writer, and so forth=

here you have a start for automake build, place the three files in
core/ and run ./bootstrap. Of course this should be made properly with
subdirectories, libraries etc.

btw I couldn't build jsapi module because of missing jsapi dependency.

why are you not dlopening the modules? this way it could be decided at
run time which ones to include.

Stefan

>
> Thanks
>
> Anthony Catel
>

Makefile.am
configure.in
bootstrap

Stefan Sayer

unread,
Nov 17, 2010, 8:23:18 AM11/17/10
to ape-p...@googlegroups.com
Stefan Sayer wrote:
>> BTW, Im still looking for a packager (configure script writer, Makefile
>> writer, and so forth=
> here you have a start for automake build, place the three files in core/
> and run ./bootstrap. Of course this should be made properly with
> subdirectories, libraries etc.
err... ok, we need libtool for this to work with the lt cares lib.

BR
Stefan

Makefile.am
configure.in
bootstrap

a.c...@weelya.com

unread,
Nov 17, 2010, 9:03:50 AM11/17/10
to ape-p...@googlegroups.com
Hey,

APE clearly doesn't feet with node.js.

It's is heavely based on an optimized C code base to handle long lived
connections and zero-copy'd message queue.
APE Server-side javascript is more like an "APE script" than a general
purpose framework.

So, no, we have to keep our independance over any other platform to keep
the good perf ;)


On Wed, 17 Nov 2010 18:21:57 +0530, ashutosh bijoor <bij...@gmail.com>
wrote:


> Great news! Looking forward to the new version.
> BTW, wanted to know if you have evaluated node.js (http://nodejs.org

> [1])Would it qualify as a platform for developing the new version of


> APE?  It may help to get a larger developers community involved.
> RegardsAshutosh

> --http://bijoor.me [2]


>
> On Wed, Nov 17, 2010 at 2:30 PM, wrote:
> Hi folks,
>
> I started the development of a the 2.0 branche (from scratch).
> You can follow the project right here :

> https://github.com/paraboul/APE-Server-v2 [4]


>
> I hope some of you guys will follow the progress of the development and
> send me some feedbacks ;)
>
> BTW, Im still looking for a packager (configure script writer, Makefile
> writer, and so forth=
>
> Thanks
>
> Anthony Catel
>
> --
> You received this message because you are subscribed to the Google
> Groups "APE Project" group.

> To post to this group, send email to ape-p...@googlegroups.com [5]


> To unsubscribe from this group, send email to

> ape-project...@googlegroups.com [6]


> For more options, visit this group at

> http://groups.google.com/group/ape-project?hl=en [7]


> ---
> APE Project (Ajax Push Engine)

> Official website : http://www.ape-project.org/ [8]
> Git Hub : http://github.com/APE-Project/ [9]


>
> --
> You received this message because you are subscribed to the Google
> Groups "APE Project" group.
> To post to this group, send email to ape-p...@googlegroups.com
> To unsubscribe from this group, send email to
> ape-project...@googlegroups.com
> For more options, visit this group at

> http://groups.google.com/group/ape-project?hl=en [10]


> ---
> APE Project (Ajax Push Engine)

> Official website : http://www.ape-project.org/ [11]
> Git Hub : http://github.com/APE-Project/ [12]
>
>
> Links:
> ------
> [1] http://nodejs.org/
> [2] http://bijoor.me
> [3] mailto:a.c...@weelya.com
> [4] https://github.com/paraboul/APE-Server-v2
> [5] mailto:ape-p...@googlegroups.com
> [6] mailto:ape-project%2Bunsu...@googlegroups.com
> [7] http://groups.google.com/group/ape-project?hl=en
> [8] http://www.ape-project.org/
> [9] http://github.com/APE-Project/
> [10] http://groups.google.com/group/ape-project?hl=en
> [11] http://www.ape-project.org/
> [12] http://github.com/APE-Project/

a.c...@weelya.com

unread,
Nov 17, 2010, 9:04:47 AM11/17/10
to ape-p...@googlegroups.com
Thanks !

a.c...@weelya.com

unread,
Nov 17, 2010, 9:10:22 AM11/17/10
to ape-p...@googlegroups.com
/s/feet/fit :)

a.c...@weelya.com

unread,
Nov 17, 2010, 9:23:00 AM11/17/10
to ape-p...@googlegroups.com
On Wed, 17 Nov 2010 13:55:01 +0100, Stefan Sayer
<stefan...@googlemail.com> wrote:
> Hi,
>
> a.c...@weelya.com wrote:
>> Hi folks,
>>
>> I started the development of a the 2.0 branche (from scratch).
> cool. Are you going to add a native thrift or json-rpc v2 interface? I
> always thought that the JS inlinepush interface is not really the
> best, performance-wise.

I still neither evaluated the future protocol nor the JS API. But yes you
can count on something a way better ;)

Johnathan Leppert

unread,
Nov 17, 2010, 9:44:49 AM11/17/10
to ape-p...@googlegroups.com
Hi Anthony,

I'm very interested in the new version. I'd be curious to know why you started on a rewrite from scratch? What lessons did you learn from the old version? Are you planning to keep backwards compatibilities with the old API's (javascript and server side) or is this a completely new beast? ;-)

If you are not planning on keeping backwards compatibility, is there going to be some forum or spec documentation where those who have used APE to contribute to requests for desired server side/client side API before its developed?

Thanks,

Johnathan

--
You received this message because you are subscribed to the Google
Groups "APE Project" group.
To post to this group, send email to ape-p...@googlegroups.com
To unsubscribe from this group, send email to
ape-project...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/ape-project?hl=en
---
APE Project (Ajax Push Engine)
Official website : http://www.ape-project.org/

Christian Jensen

unread,
Nov 17, 2010, 9:44:54 AM11/17/10
to ape-p...@googlegroups.com
How much of a clean slate do we have to work with for V2? Is this going to be a complete re-write or just an engine re-write?

I ask because I have a lot of input but would hate to over-critique areas that are not up for discussion.

Thanks!
Christian

blueklein76

unread,
Nov 17, 2010, 9:51:12 AM11/17/10
to APE Project
Hi Anthony,

Will you be continuing development on the v1 branch? There are a few
tickets on lighthouse that would be good for my project but there
haven't been many code check-ins recently.

I think APE v1 is a fine project by the way. With all the feedback
over the last year I expect v2 will be great! ;)


On Nov 17, 2:23 pm, <a.ca...@weelya.com> wrote:
> On Wed, 17 Nov 2010 13:55:01 +0100, Stefan Sayer
>
> <stefan.sa...@googlemail.com> wrote:
> > Hi,

a.c...@weelya.com

unread,
Nov 17, 2010, 9:55:38 AM11/17/10
to ape-p...@googlegroups.com
Hey,

APE was my first C project. The current source is kind of "art less" and
has some bas design in its core.
It becomes hard to debug and hard to maintain which is *very*
demotivating.

Btw, there is a lot of inconsistencies in both server API and client API
(e.g. : pipe).

I really wanted to rewrite the whole thing from the code base to the
public/private API.

Once, the C-base will be ready to welcome the protocol and
(javascript)API, we should open a wiki/working group to define the whole
thing together (there is a lot a code night for me before that though ;)).

I keep you in touch.


On Wed, 17 Nov 2010 09:44:49 -0500, Johnathan Leppert
<johnatha...@gmail.com> wrote:
> Hi Anthony,
> I'm very interested in the new version. I'd be curious to know why you
> started on a rewrite from scratch? What lessons did you learn from the
> old version? Are you planning to keep backwards compatibilities with the
> old API's (javascript and server side) or is this a completely new
beast?
> ;-)
> If you are not planning on keeping backwards compatibility, is there
> going to be some forum or spec documentation where those who have used
> APE to contribute to requests for desired server side/client side API
> before its developed?
> Thanks,
> Johnathan

> On Wed, Nov 17, 2010 at 4:00 AM, wrote:
> Hi folks,
>
> I started the development of a the 2.0 branche (from scratch).
> You can follow the project right here :

> https://github.com/paraboul/APE-Server-v2 [2]


>
> I hope some of you guys will follow the progress of the development and
> send me some feedbacks ;)
>
> BTW, Im still looking for a packager (configure script writer, Makefile
> writer, and so forth=
>
> Thanks
>
> Anthony Catel
>
> --
> You received this message because you are subscribed to the Google
> Groups "APE Project" group.

> To post to this group, send email to ape-p...@googlegroups.com [3]


> To unsubscribe from this group, send email to

> ape-project...@googlegroups.com [4]


> For more options, visit this group at

> http://groups.google.com/group/ape-project?hl=en [5]


> ---
> APE Project (Ajax Push Engine)

> Official website : http://www.ape-project.org/ [6]
> Git Hub : http://github.com/APE-Project/ [7]


>
> --
> You received this message because you are subscribed to the Google
> Groups "APE Project" group.
> To post to this group, send email to ape-p...@googlegroups.com
> To unsubscribe from this group, send email to
> ape-project...@googlegroups.com
> For more options, visit this group at

> http://groups.google.com/group/ape-project?hl=en [8]


> ---
> APE Project (Ajax Push Engine)

> Official website : http://www.ape-project.org/ [9]
> Git Hub : http://github.com/APE-Project/ [10]
>
>
> Links:
> ------
> [1] mailto:a.c...@weelya.com
> [2] https://github.com/paraboul/APE-Server-v2
> [3] mailto:ape-p...@googlegroups.com
> [4] mailto:ape-project%2Bunsu...@googlegroups.com
> [5] http://groups.google.com/group/ape-project?hl=en
> [6] http://www.ape-project.org/
> [7] http://github.com/APE-Project/
> [8] http://groups.google.com/group/ape-project?hl=en
> [9] http://www.ape-project.org/
> [10] http://github.com/APE-Project/

Christian Jensen

unread,
Nov 17, 2010, 10:22:31 AM11/17/10
to ape-p...@googlegroups.com
I am not sure if you are looking for help to get this re-write off the ground or not, but I suggest doing something like what the guys over at freeswitch did - a single wiki - open, visibility into everything and lots of direct contact. If I was doing it, I would court the Atlassian guys and ask them for their free stuff for open source projects.

To get more widespread use, I suggest doing what they did too - lots of different language integrations - they did it mostly through SWIG but it works very well. I never liked having to write server side code in JavaScript, always seemed like I never could properly debug and always had to run it inside APE to just see if it worked - years backwards.

Frankly, I might even suggest you grab their tree and start there - they have packages for tons of different platforms.

Thinking a little further on this, you may even consider hopping on TOP of their stack - they have an excellent core threading architecture an adding APE to their stack would be a breeze (just a thought)

Am I out of line yet?

Christian

Stefan Sayer

unread,
Nov 17, 2010, 10:23:43 AM11/17/10
to ape-p...@googlegroups.com
Hi,

have you thought about using libevent or libev instead of your own
implementation of the event loop? They're both well tested, support
all different methods (epoll, kqueue etc), portable etc. Especially
libev is small, quite simple to use, doesn't require any special
structure of your server etc.

[1] http://monkey.org/~provos/libevent/
[2] http://software.schmorp.de/pkg/libev.html

Stefan

Johnathan Leppert

unread,
Nov 17, 2010, 10:27:41 AM11/17/10
to ape-p...@googlegroups.com
I personally like the server side javascript, it's very easy to mock something up in the browser/client side and then integrate with APE on the server -- very similar to node.js. But I agree the debug tools could use some fine tuning. The ability to inspect objects (console.dir or similar) is something that springs to mind right away. Maybe just have a nearly direct implementation of the firebug console commands and some other debug tools?

--
You received this message because you are subscribed to the Google
Groups "APE Project" group.
To post to this group, send email to ape-p...@googlegroups.com
To unsubscribe from this group, send email to
ape-project...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/ape-project?hl=en
---
APE Project (Ajax Push Engine)
Official website : http://www.ape-project.org/

a.c...@weelya.com

unread,
Nov 17, 2010, 12:27:10 PM11/17/10
to ape-p...@googlegroups.com
Stefan

I perfecly know about those libs.
The event loop system is pretty straight forward (and interesting to
write).
I prefere using lib for complicated things I can't do myself (c-ares, and
of course spidermonkey).

It's a very important part for a network application and I don't want to
hack on libev in order to achieve optimization I want.
There are also a bunch of overhead I really don't need and that avoid a
correct compilation inlining.

IMHO, this is why nginx is what it is nowadays.

Troll ? :)

Anthony C.

Felix Filozov

unread,
Nov 17, 2010, 1:21:56 PM11/17/10
to ape-p...@googlegroups.com
What do you think about built in support for redundancy? Have two APE servers share state, such that if one goes down everyone can just switch over.

Johnathan Leppert

unread,
Nov 17, 2010, 1:30:20 PM11/17/10
to ape-p...@googlegroups.com
It's pretty easy to scale APE by simply spawning multiple APE processes and communicating between them using sockets. Then use nginx or similar to provide for load balancing between the processes. 

In this way you can scale horizontally on the same machine, across multiple machines, networks, etc. I'll be writing a blog post about the technique soon.

Johnathan

a.c...@weelya.com

unread,
Nov 17, 2010, 1:40:20 PM11/17/10
to ape-p...@googlegroups.com
Basicly what I want to do :

- Spawn several fork/thread of a sub process coresponding to the number of
cpu core.
- A special crafted protocol to let several APE instance to be linked (a
kind of IRC networking model).

I don't have the exact design yet though.

On Wed, 17 Nov 2010 13:21:56 -0500, Felix Filozov <ffil...@gmail.com>
wrote:


> What do you think about built in support for redundancy? Have two APE
> servers share state, such that if one goes down everyone can just switch
> over.
>

> On Wed, Nov 17, 2010 at 12:27 PM, wrote:
> Stefan
>
> I perfecly know about those libs.
> The event loop system is pretty straight forward (and interesting to
> write).
> I prefere using lib for complicated things I can't do myself (c-ares,
> and
> of course spidermonkey).
>
> It's a very important part for a network application and I don't want
> to
> hack on libev in order to achieve optimization I want.
> There are also a bunch of overhead I really don't need and that avoid a
> correct compilation inlining.
>
> IMHO, this is why nginx is what it is nowadays.
>
> Troll ? :)
>
> Anthony C.
>
> On Wed, 17 Nov 2010 16:23:43 +0100, Stefan Sayer

> wrote:
> > Hi,
> >
> > have you thought about using libevent or libev instead of your own
> > implementation of the event loop? They're both well tested, support
> > all different methods (epoll, kqueue etc), portable etc. Especially
> > libev is small, quite simple to use, doesn't require any special
> > structure of your server etc.
> >

> > [1] http://monkey.org/~provos/libevent/ [3]
> > [2] http://software.schmorp.de/pkg/libev.html [4]
> >
> > Stefan


> >
> > a.c...@weelya.com [5] wrote:
> >> Hi folks,
> >>
> >> I started the development of a the 2.0 branche (from scratch).
> >> You can follow the project right here :

> >> https://github.com/paraboul/APE-Server-v2 [6]


> >>
> >> I hope some of you guys will follow the progress of the development
> and
> >> send me some feedbacks ;)
> >>
> >> BTW, Im still looking for a packager (configure script writer,
> Makefile
> >> writer, and so forth=
> >>
> >> Thanks
> >>
> >> Anthony Catel
> >>
>
> --
> You received this message because you are subscribed to the Google
> Groups "APE Project" group.

> To post to this group, send email to ape-p...@googlegroups.com [7]


> To unsubscribe from this group, send email to

> ape-project...@googlegroups.com [8]


> For more options, visit this group at

> http://groups.google.com/group/ape-project?hl=en [9]


> ---
> APE Project (Ajax Push Engine)

> Official website : http://www.ape-project.org/ [10]
> Git Hub : http://github.com/APE-Project/ [11]


>
> --
> You received this message because you are subscribed to the Google
> Groups "APE Project" group.
> To post to this group, send email to ape-p...@googlegroups.com
> To unsubscribe from this group, send email to
> ape-project...@googlegroups.com
> For more options, visit this group at

> http://groups.google.com/group/ape-project?hl=en [12]


> ---
> APE Project (Ajax Push Engine)

> Official website : http://www.ape-project.org/ [13]
> Git Hub : http://github.com/APE-Project/ [14]


>
>
> Links:
> ------
> [1] mailto:a.c...@weelya.com

> [2] mailto:stefan...@googlemail.com
> [3] http://monkey.org/%7Eprovos/libevent/
> [4] http://software.schmorp.de/pkg/libev.html
> [5] mailto:a.c...@weelya.com
> [6] https://github.com/paraboul/APE-Server-v2
> [7] mailto:ape-p...@googlegroups.com
> [8] mailto:ape-project%2Bunsu...@googlegroups.com
> [9] http://groups.google.com/group/ape-project?hl=en
> [10] http://www.ape-project.org/
> [11] http://github.com/APE-Project/
> [12] http://groups.google.com/group/ape-project?hl=en
> [13] http://www.ape-project.org/
> [14] http://github.com/APE-Project/

Reply all
Reply to author
Forward
0 new messages