[Webapps-common-discuss] Flexible configuration of web apps/services

Josef Spillner josef.spillner at tu-dresden.de
Sat Dec 12 22:54:23 UTC 2009


Hello,

please have a look at the attached draft for a webcontext debconf convention 
and comment on it or point to existing solutions to the problem mentioned 
therein.

Josef
-------------- next part --------------
New packaging infrastructure package: webcontext-common
Draft by Josef Spillner <josef.spillner at tu-dresden.de>
12.12.2009
=======================================================

Problem description:
 Operating system installations on servers are increasingly offering interdependent
 web applications and web services. Some packages are prepared for being used in
 multiple instances in parallel (multi-tenancy operation), while others are not.
 Sometimes external services are to be used, and sometimes the server hosts the
 relevant software by itself.
 In general, the setup of web apps and related resources, like databases, is not
 very straightforward.

Use case:
 The ????? Service Platform (serviceplatform.org) is a distributed web service
 marketplace for the upcoming Internet of Services. It consists of several platform
 services which often link to each other to some extent. Some are also integrated
 through shared databases. The use on a live medium requires all components to use
 local hostnames, either as virtual subdomains (like foo.demo and bar.demo) or
 differentiated by port numbers (demo:80, demo:81). The URLs containing these
 base context URLs are primarily used in configuration files.

Web context concept:
 (Should be integrated with debconf, for now suggested as external app)
 For each package using webcontext-common, a context needs to be specified.
 A number of contexts can be predefined. This is especially useful for virtual
 networks on live media and for development.
 All "context-dependency" packages using webcontext-common will be used in the postinst
 to query their context URLs. This takes into account the context(s) configured
 for these packages, including predefined contexts and multi-instance contexts.
 As these dependencies can be fulfilled by remote services, they're kept separate
 from Debian package dependencies but instead are recommended so that they're still
 pulled in by default. (This is a separate, long-lasting dependency management issue
 and will not be solved by this proposal.)

Web context example (via use case):
 There are three web apps, access-gate (a SOAP proxy), provider wizard (a service
 provisioning tool) and puq (a unified hosting environment).

 User installs access-gate
  Offered contexts: [access-gate.demo:80, other/specify]
  Configured context: [foo.invalid:80]
 User installs providerwizard
  Offered contexts: [providerwizard.demo:80, other/specify]
  Configured context: [foo.invalid:81]
  Offered dependency contexts for access-gate: [access-gate.demo:80, foo.invalid:80, other/specify]
  Configured dependency context for access-gate: [foo.invalid:80]
  Offered dependency contexts for puq: [puq.demo:80, other/specify]
  Configured dependency context for puq: [someotherhost:9090]



More information about the Webapps-common-discuss mailing list