Connecting a Non-GeoDatabase to a GeoServer - gis

As you know, the architecture of a simple GIS is as follows:
GeoDatabase->MapServer->Client.
Between mapServer and Client, there is some amount of standardization:
MapServer -> (OGC Standard adapter) -> Client.
I want to know if something similar exists between GeoDatabase and mapServer, something like:
arbitraryDatsource -> (X Standard adapter) -> MapServer.
I know I can create views inside any relational database for being accesible to the mapServer.
But my problem is, the database I have is not a relational or standard data source. So, if an standard interface (Web service) between databases and mapServers exist, my problem is solved as I can implement that service to access my database and plug it into the MapServer.
Do you know if such standard exist?
Thank you in advance,
Esteban.

No idea about MapServer but in geoserver you can connect with WMS service. GeoServer has the ability to proxy a remote Web Map Service (WMS). This process is sometimes known as Cascading WMS.
http://www.onterrasystems.com/storage/mapsavvy/Geoserver%20as%20Admin%20and%20setup%20a%20WMS%20Cascade.pdf
http://docs.geoserver.org/stable/en/user/data/cascaded/wms.html

Related

Flutter connecting to a database in server

I'm new to flutter and i really want to know, is there a way to connect to a database server (for instance mysql) in flutter rather using firebase. I'm working on a smart parking system project where i need to insert the latitude and longitude of the parking area which is free into the database which is created in server and retrieve it whenever user requests for it. It would be great if anyone gives solution for above mentioned problem (Flutter with database).
Since Flutter is just a UI Framework, topics such as persistence and databases may be out of scope or may depend on the use case.
Flutter UI's can persist data (application state) for short periods of time in a manner that is really only useful for the purposes of creating a good User Experience (is this button click? is it green? etc.)
For persisting more useful data outside of the application and on the actual device, you may want to consider the Shared Preferences Plugin for Flutter.
Wraps NSUserDefaults (on iOS) and SharedPreferences (on Android),
providing a persistent store for simple data. Data is persisted to
disk automatically and asynchronously.
Now, if you require persisting data in any centralized manner (e.g. RDMS, Firebase, or any data persistence service) your options are:
Persistence options that have a Flutter plugin (e.g. Firestore, Firebase)
Build your own service layer using HTTP, gRPC that talks to some backend service that provides access to a data store. You can do this with Express, Rails, CloudFunctions, etc.
As for connecting directly to a database such as MySQL, I don't see why you couldn't do that (maybe there is some technical limitation), but this would be a very bad idea in any practical situations as (unlike Firebase/Firestore) you won't be able to protect your data store once any client application has write access.
It sounds like you need a central read/write data store, so your best bet may be to host a server that provides access to a database while exposing an API to Flutter for which you can use dart:io to make requests.
Try using sqflite. It's a package you can include in your Flutter app that allows you to persist data to the local device. You will need to use the path_provider as well. Here is the link to the repository on Github https://github.com/tekartik/sqflite

ODBC Bridge needed for JSON / RESTful web application

I've been running in circles looking for a way to deliver data from a proprietary flat file database (based on the ProvideX platform) to a client-thick web application that makes RESTful requests and expects JSON responses.
ProvideX and Sage MAS 90 provided an ODBC driver that works for pulling tables, but I can't think of a good way to connect the dots without needing to program a bunch of server-side code.
Before I go down the path of programming custom server-side middleware, does anyone have any bright ideas, (or obvious ideas that I have overlooked)?
I am not locked into any particular architecture at the moment because we are hashing out requirements for the web application, so any ideas would be helpful.
ProvideX/Sage provides a web services module, but I can't use it because my company has refused to invest in the software module and upgrade costs. Let's not let that be a distraction, however, because I am still looking for a way to use the ODBC driver in this question thread.
ODBC-ODBC Bridges exist but all the ones I know are commercial.

How to use Oracle database as web service provider with JSON?

I'm considering an option to use Oracle Database as web services provider and implement web service logic via PL/SQL stored procedures. I used to code stored procedures some time ago, though I'm not sure what direction should I go in order to use most up to date solutions:
I would like to use amazon cloud for oracle solution. After creating oracle instance, what else should be done in order to use it for serving as web server. I didn't find Amazon Cloud for Oracle Application Server or Glassfish. Also, I need to use JSON but it's unclear does Oracle have such support out of the box. Currently, I found the only option to use Soap 1.1 with Oracle XML DB
Should there be two DB instances for security issues: one node serving as data source and the other one serving as web service provider.
Would appreciate for any ideas and info :)
You might want to review the Oracle Rest Data Services Developer Guide
Amazon provides Oracle access in their product "RDS", but I've never tried it. However, I doubt that you'd be able to use the Oracle web listener directly.
JSON support is not included in Oracle AFAIK, but it should be easy to implement on your own.

What database-as-a-service providers (ideally either Mongo or MySQL data sources) offer a REST API for retrieving data as JSON?

We would like to hook up an iPhone app directly to a database in the cloud. From the iPhone app, we would like to use some REST API to retrieve data from the cloud database. We prefer using MySQL or Mongo as the data store.
We prefer not setting up our database system on AWS or another hosted provider. We would like a cloud service that offers the database layer out of the box.
What database-as-a-service companies support this, and what are the pros/cons of each?
We looked around, and it seems like MongoLab is the only service offering a REST API.
Mongo is a great database for API interaction as the query language uses javascript expressions. Here are the open source API libraries that are implemented in Python
Sleepy Mongoose
Eve
Primary advantage
JavaScript can handle the querying part of data retrieval
Primary disadvantage
The API libraries above have difficulty capturing complex queries

Develop an iOS App that gets contents from a remote DB

I am developing an education app for Kids.
The application is going to contain pictures, stories and video as well.
Including all above contents in the app will surely bloat it and hence i would like store all data on a server that will be accessed by my app.
I haven't used any remote databases (like MySQL or Oracle) with any other iOS app. In fact i am a newbie in developing such kind of apps. Can any one point me to a sample
Connecting to a remote mysql is really not recommended.
The security here is critical.
You should create a webservice and my advice to you is to make sure that the access to the webservice is restricted
The webservice can be your own "protocol" or any other well known protocol like SOAP
By your own I mean, json, csv .... or whatever.
Edit 1
The technology of your webservice should be dependent on many things.
If the system is small, and the code needs to be update very often, I would suggest to do it with PHP and some small(!) MVC framework like CI.
But if its a large system with needs of ACL (access control list) I will probably choose java with spring...
I suggest that : Do not connect to / use database directly from user application. It may causes serious security problems and your app should have native SQL drivers to connect db.
So, create a web service that receive queries from the application and response in XML, JSON or some other strings that easy to parse. This will be much easier than embed native APIs into your apps.