Why not a Web-based ModelBuilder ?
From ArcGIS 9.3 Desktop Help – imagine it in a web browser.
Yet another refrain of : Web2.0 means anyone can be a publisher.
Right now Modelbuilder is part of ArcGIS Desktop. Modelers create and test models, then publish them by creating a new geoprocssing service on ArcGIS Server.
Why not provide a thin client version of model builder, allowing people from outside the firewall a way to create and edit models?
That way, a cool geoprocessing task like this could be developed by a 3rd party.
Note that IGpFunction doesn’t need to be exposed to COM interop – just IGpFunctionFactory.
This means it should be possible to implement IGpFunctionFactory such that it returns GpFunctions hydrated from assemblies stored in a database as blobs. Using reflection, the assemblies would be scanned, each class implementing IGpFunction would be returned for GetFunctionNames(). This would allow (trusted) developers to publish custom GpTools for use by the web-based modelbuilder simply by uploading assemblies.
For geoprocessing models, a method would be provided that allows the IMdModel of a particular tool in the database to be edited. Note that IMdModels can be serialized/deserialized as xml, so XSLT templates could also be provided, allowing transformation from any client side model representation – not just the one used by modelbuilder. This would allow domain-specific modelbuilder variants to be developed by 3rd parties.
It seems like a generic geoprocessing service could be written that takes a model as an argument and runs it. That way each model wouldn’t need to have its own service. The model could be attributed so that usage statistics are tracked.