Call external WFS Stored Query in ArcMap for desktop - arcgis

I have set up a WFS compatible service to provide geo data from my application. I am using a couple stored queries to provide Features via an HTTP GET request and returning XML.
I want to consume this using the ArcGis desktop app (ArcMap), but I cannot figure out how to do this. I can find how to consume a stored query from an ArcGIS server (Catalog -> GIS Servers -> Add ArcGIS Server). I am not using a GeoData database that I can publish through ArcGIS to be consumed this way. I am just providing the ability to request the data using a WFS GetFeature StoredQuery call and returning data in a WFS compatible format (and passes the schema validation).
My request I am testing looks like this:
http://localhost/AWQMS/api/wfs?service=wfs&request=GetFeature&storedQuery_id=GetFeaturesByParameters&OrganizationIdentifiersCsv=BISHOP_PAIUTE_TRIBE_WQX
Can I consume this using ArcMap do display my features on the map?

ArcMap doesn't play well with WFS out of the box:
To use WFS and GML content in ArcGIS for Desktop, you need to install the Data Interoperability extension and add an Interoperability Connection to the WFS service.
But assuming you are licensed for the extension and set up the interoperability connection, yes, you can consume it in ArcMap.

Related

FF4J: REST endpoint as a feature store

I am currently looking at implementing feature toggles using ff4j for our application. We want to have a remote central config app which will hold all the features in it and the applications will talk to this central config app via REST to get the features. We will not be able to leverage Spring Cloud Config or Archaius for this purpose.
I went through the documentation and it seems there is a support for HttpClient (https://github.com/ff4j/ff4j/wiki/Store-Technologies#httpclient). But I couldn't find any sample for the same. Can someone please let me know if I can leverage this method to build my feature store from a REST endpoint. Also, I would appreciate if someone could point me to a sample of this.
This is a common pattern.
A component holds the Administration UI (console) and the REST API. You can call it the "Admin Component". For security reasons It may be the only component to have access to persistance unit (any of the 15 DB implementation available)
For the "admin component" HERE is sample using standAlone spring-bppt application using JDBC DB, and HERE you find a simple web application.
The REST API can be secured using credentials user/password and/or API Key. More information HERE
All microservices access the REST API as clients and request feature store. You will need the dependency ff4j-webapi-jersey2x or ff4j-webapi-jersey1x that hold the client http> Then you can define the store using :
FeatureStoreHttp storeHTT = new FeatureStoreHttp("http://localhost:9998/ff4j");
Warning : Please consider using cache to limit overhead introduce by accessing the REST API at each feature usage. More info on cache HERE

Can I run arcgis javascript code in Arcgis Desktop

Basically, what I am looking for is, I want to learn Arcgis javascript api. And I have Arcgis Desktop 10.3 Trial version installed on my pc. I have heard that javascript can be run only in Arcgis Server based web application. So is there any possibility to run this javascript code in Arcgis Desktop? If not, suggest me ideas on how to get a Arcgis Server Trial for practicing javascript api.
Thank you.
No, you cannot use ArcGIS Desktop to run Javascript api app. It is a web based sdk. You can simple run it on any browser. The main things is you would need ArcGIS Server Services to display data on the map.
To learn you dont need to have a server on your local, you can use arcgis online services. You can find more details on their website.
https://developers.arcgis.com/javascript/3/jshelp/
AS T Kambi, said you don't need server to start learning ArcGIS API for JavaScript. If you have a REST endpoint you can use that or peruse AGOL for a layer.
If you're really ambitious the API will also consume OGC Web Map Services, so you could create a Geoserver and publish your data as a WMS layer.
Check out the esri\layers section of the API Documentation
Explicit, you can't run javascript on arcgis desktop, ArcGis Javascript Api only need Api Rest y you can get it trough of examples for ArcGis.
Too other option mores easy is Create account developer in ArcGis under this link
https://developers.arcgis.com/
No, you cannot use ArcGIS Desktop to run Javascript app. It is a web based SDK. You can simple run it on any browser. Also if your doesn't have access to internet you can use ArcGis SDK
for more information click below link
https://www.youtube.com/watch?v=G3sB1I8CB80

Create Azure Api App from Swagger meta data

I have created some APIs in API management layer, which are essentially proxies between the calling client and an underlying web api.
I did this by importing the swagger file of the underlying API, and then adding the newly created API to a Product, repeating this for each separate proxy that I needed. This means then that the underlying API could be called but not without the subscriber key of the product that the newly created API was attached to.
Is it possible to do something similar with API apps, i.e. creating API apps using just the swagger file from the underlying API in the azure portal, that act as proxies between the calling client and an underlying web api (as below)?
Do you mind expanding on why do you need to have API Apps acting as proxies?
I am not aware of such capability for API Apps specifically. There are Swagger-based code generation tools available, for example on http://swagger.io/open-source-integrations/. So perhaps you will be able to find something that would work for you.

Multi Client Architecture using Azure Api

I want to build a new mobile app backend. This backend might eventually support other types of clients such as desktop or traditional web application.
In the past for multi client applications I would use this stack of technologies. SQL Server -> Entity Framework -> TCP WCF Service Endpoint -> MVC Web Application or WPF Windows Application
I know I want my mobile client to be consuming a Restful Http Web API like the types you would host in the new Azure API product. But I'm not sure if I should still do the WCF layer or not.
Couldn't all my clients consume just the Web API now? Or would it still be wise to develop the WCF service and the layer Web API on top of that?
It just doesn't seem right to be using 2 different serialization technologies at the same time.
Yes, you could replace that with Web API and create a REST API but as Tim already mentioned on his comment, that is obviously just HTTP and not all the protocols WCF supports.
Having said that, API Apps have Swagger metadata to describe what the REST URIs (endpoints) can do (e.g. methods, content types, descriptions etc.). There are a lot of Swagger SDK generators which can read the Swagger metadata and generate the code you need to consume the REST API in your application for pretty much any language out there. For Visual Studio 2013 with the latest Azure SDK, you have this capability built in as well. This is pure code generation, no tight coupling or anything, we just generate the code you were supposed to write to consume the API.

Auto-generate an API Explorer for WCF services

If you have ever used the Flickr API, you'll be familiar with their API Explorer. It is an awesome tool, that allows you to view the documentation for each API method, and the killer feature, being the execution of that API method (with a form to populate any request parameters). It even picks up when you are logged in, and completes the authentication part on your behalf. Gowalla has a similar API Explorer that is also really good.
Are there are tools for WCF that will auto-generate such an API Explorer, free or commercial?
Currently, we use Fiddler to build the JSON requests, but I would like to publish these service contracts, and allow potential developers to play around with them via a web based API explorer.
I am aware of the WCF Web HTTP Service Help Page, which I am using (and is awesome), but it is the API Explorer part that I am interested in.
You may want to look at I/O Docs - an open-sourced interactive documentation system for RESTful web APIs that any API owner can use to deploy for their own documentation. It runs on Node.js and uses Redis as a data store.
https://github.com/mashery/iodocs
Example: developer.klout.com/iodocs, developer.rottentomatoes.com/iodocs
It uses JSON schema based files to define API endpoints, method and parameters. Based on these JSON files, it generates a client interface that developers can use to learn and explore your API. API calls can be executed directly from the documentation interface, producing formatted responses.
It's Open-sourced, so you can be assured of regular updates and improvements. In fact this past weekend, Brandon West from SendGrid (who use I/O docs to power their documentation), created and open sourced the UI to create/edit the JSON schema files for I/O Docs. So you don't have to manually create the JSON files anymore.
https://github.com/brandonmwest/iodoctor
Not exactly what you were looking for, but....
WCF provides something called the WCF Test Client, for this purpose.
If you install Visual Studio, you get it. For example, for VS2008, installed in the usual place, you can find the WCF Test Client (WcfTestClient.exe) in the following location:
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\
Take a look at Apigee: http://apigee.com/