I have a bunch of operational tables, some contain spatial data, some do not. In order to fulfill all my operational mapping reports, I will need to have the flexibility to have feature services or dynamic map services that perform table joins and various aggregations on the underlying geodatabase (or client side). All the tables are in the same enterprise geodatabase instance but not all of them are spatial tables (include a geometry column).
What are my various options to do this? So far I have come up with:
- Joining and Relating tables (http://help.arcgis.com/en/arcgisdesk...0000002n000000) It's my understanding, however, that feature services do not support data from joined tables (http://resources.arcgis.com/en/help/...00000007000000)
- Query layers
- Client side Feature Service joins and aggregations
- Custom Geoprocessing service (ArcPy) that returns a FeatureSet made up of a custom FeatureClass (input schema?) generated by running the join,aggregation query server-side, creating the custom FeatureClass list and returning that to the client, the idea being that I would make the custom geoprocessing service look like a FeatureService or a Dynamic Map Service to the client.
I'd like to get people's opinions in terms of maximum flexibility and scalability ( I don't want to run into a situation where the client must handle large numbers of records in order to perform client side aggregations and joins, that stuff should be done up front in the server and the aggregated data should be made available to the client. )