EWF, core WSF, concurrency, and future of EWF

6 views
Skip to first unread message

Jocelyn Fiat

unread,
Jul 10, 2014, 5:27:40 AM7/10/14
to eiffel-web...@googlegroups.com
Hi users, contributors, and others,

A few points were raised during previous web meetings:
1) split the EWF repository into a core repository, and collection of repositories for libraries on top of this core.
2) and documentation of EWF itself.
3) have a deeper look at auto-documentation for API, swagger sounds to be the recommended way to go. And finding a way to generate swagger specification from the Eiffel code.
Note that Olivier Ligot recently noticed that the EWF repository becomes maybe too big.

And I think this is time to start working on point 1) , including good documentation on this "core" and improved test coverage.
In addition, I think we may need to change part of the design to better support concurrency.

Recently, I have been working on integrating the experimental concurrent nino into EWF (integrated directly as a new EWF connector).
The result could be used with simple EWF service, but a few parts of the design of EWF are not well designed for concurrent access. I think mainly about WSF_ROUTED_SERVICE and WSF_FILTERED_SERVICE which are using attributes for `router' or `filter'. Those attributes should be protected again concurrent access, but doing that would goes against the benefit of using concurrency. 
Then I will not commit this "concurrent nino" solution to EWF for now.

Note that for now the CGI, libfcgi connectors are safe, indeed the underlying server (apache, iis, ...) is handling the concurrent request itself.
About nino, the current code does not really support concurrency, so this is also "safe".

Nevertheless, we were asked often for a concurrent standalone Eiffel server, and also persistent connection support, so we should also keep working on that part.

So in the following weeks, I will work on
- extracting the core of EWF into a new repository,
- and experimenting with design so that EWF is safe with connector supporting concurrency.

For now, I can not guarantee the result will be 100% backward compatible with current EWF, but this experience will help us improving EWF, or providing a EWF_v2.
We will make sure migration from current EWF to new EWF is simple and documented.

Any comment/suggestion/contribution is welcome,

We will let you know about progress in this forum.
--
Jocelyn for the EWF team.

Olivier Ligot

unread,
Jul 11, 2014, 8:50:45 AM7/11/14
to
Hi Jocelyn and others,

It's great to hear that the code will be split into multiple repositories !
Let me know if I can help you.

Note that there is already a separate repository for Swagger: https://github.com/EiffelWebFramework/swagger

Olivier
Reply all
Reply to author
Forward
0 new messages