As to accessing the attributes, Javascript API should meet most of your needs. Check QueryTask, FeatureLayer.queryFeatures etc. Here are many query related samples available: https://developers.arcgis.com/en/javascript/jssamples/#search/query. One thing for sure, JS API can never completely reach the ability ArcObjects can. That's why SOE is needed sometime. But JS API is well designed to meet most of your online mapping needs.As to your specific question, here are the counterpart classes I can think of to match the ability of the listed ArcObjects classes.esri.layers.FeatureLayer:com.esri.arcgis.carto.FeatureLayer;com.esri.arcgis.carto.IFeatureLayer;esri.Graphic:com.esri.arcgis.geodatabase.Feature;com.esri.arcgis.geodatabase.IFeature;// no good match from JS API. But you should be able to accomplish most of the abilities by // combining the power of esri.Graphic, esri.layers.FeatureLayer, esri.layers.GraphicsLayercom.esri.arcgis.geodatabase.IFeatureClass;FeatureSet: object returned from the queryTask, featureLayer.queryFeatures, and featureLayer.selectFeatures.com.esri.arcgis.geodatabase.IFeatureCursor;esri.tasks.Query:com.esri.arcgis.geodatabase.IQueryFilter;com.esri.arcgis.geodatabase.ISpatialFilter;com.esri.arcgis.geodatabase.QueryFilter;com.esri.arcgis.geodatabase.SpatialFilter;esri.geometry.Polygon:com.esri.arcgis.geometry.Polygon;