Proposed -> Boost.Application : Article -> How to Extend Application Modes
Hi All, I want to share one simple article about proposed Boost.Application! In the current version of Boost.Application, its officially supports 2 types of application: --------------------------------------------------- * Common Application [This kind of application is a usual Interactive Terminal application] * Server Application [This kind of application generates a Service (Windows), or a background process/Daemon (Unix)] In this article I try to show how user can extend the Boost.Application to support new application mode/type: --------------------------------------------------- * A Simple 'Apache Content Generator Module' http://www.codeproject.com/Articles/695937/Creating-a-New-Application-Mode Others Boost.Application Resources: --------------------------------------------------- [code] https://github.com/retf/Boost.Application [docs] http://www.dokfile.com/appbeta4/docs/libs/application/doc/html/index.html Please, let me know what you think about Boost.Application! -- Renato
[Please do not mail me a copy of your followup] I only looked at the Windows service side of this and I would vote this library down as it stands. The documentation is poor and sketchy and the Windows service side of things is not following current best practices for a Windows service. Even the basics covered in "Professional NT Services" from 1998 are not being followed here. Furthermore, current best practices are not to use the Service API for installing or deleting services (the implementation on github doesn't even check for errors!), but to handle this in the installation package for the service. I'm not saying that the API is deprecated, but this library is going to send a whole bunch of people down the error-prone path instead of the best practices path. On the POSIX side, there is no implementation for 'installing' a service, so the feature set is asymmetrical between platforms. The implementation of a service seems to follow all the guidelines in http://cjh.polyplex.org/software/daemon.pdf, but I didn't check everything point-for-point. The library as implemented is highly coupled directly to system level API calls, whether they are POSIX or Windows, and isn't very amenable to unit testing. The coupling to Windows API calls is also poorly done and doesn't achieve any level of encapsulation into objects, even though the Win32 API is basically objects thinly disguised underneath a C-style API and handles. Sorry, but I wouldn't recommend this library to anyone interested in following best practices for services. -- "The Direct3D Graphics Pipeline" free book http://tinyurl.com/d3d-pipeline The Computer Graphics Museum http://computergraphicsmuseum.org The Terminals Wiki http://terminals.classiccmp.org Legalize Adulthood! (my blog) http://legalizeadulthood.wordpress.com
participants (2)
-
legalize+jeeves@mail.xmission.com
-
Renato Forti