Does Unity3d IBM Cloudant wrapper exist? - c#

I was exploring different storage solutions for my Unity app:
C# code communicates with PHP script on server and this php script communicates with SQL database on server. It was good, but writing Universal PHP script was hard and we ended up with many different php scripts for different queries. It wasn't a flexible solution.
AWS - we decided to try DynamoDB, it was ok - Amazon provided nice UnityPackage with elegant wrapper for integrating our code with their back end; however their solution is expensive and it doesn't provide much more then a storage space.
IBM Bluemix- now we're investigating Bluemix solution. It provides many interesting add-ons like Watson, and we think we would like to stay with it. However it seems like no one have ever bothered to create some integration points with Unity, and it seems like all communications needs to go through REST api.
Does anybody have some experience with IBM cloud solution, and could provide some tips for integrating an existing project / redesigning it to work best with IBM?
Thanks !

Related

Deploy C# Storm topologies to a local/on premise Storm cluster

I need to do some data analytics on data acquired from IOT sensors (CEP, outliers detection, etc.)
I searched over the internet to find which tool I can use according to our constraints:
All developers in my team are C# developers
The solution must be deployed on premise
I found Apache Storm to be a great solution based on what I read on it and we can develop spouts, bolts in c# from visual studio by installing the azure data lake tools.
I installed everything and started to develop a simple topology. The problem is that it seems that topologies can be deployed only to Azure HD Insights
My question : is it possible to deploy a c# topology to a storm cluster which is not in Azure? I want to submit to submit my topology to a Storm docker image.
It is definitely possible. I haven't been able to find the source for Azure data lake tools (maybe it isn't open source?), but the reference for how to implement Storm topologies in other languages is here http://storm.apache.org/releases/2.0.0-SNAPSHOT/Multilang-protocol.html.
There's an example of how to implement multilang topologies here https://github.com/apache/storm/blob/master/examples/storm-starter/src/jvm/org/apache/storm/starter/WordCountTopology.java, which implements one of its bolts in Python. You might note that there's a ShellBolt at the top of that class, which calls a python file. The python file contains the bolt implementation https://github.com/apache/storm/blob/master/examples/storm-starter/multilang/resources/splitsentence.py, which uses the Storm multilang implementation for Python here https://github.com/apache/storm/blob/master/storm-multilang/python/src/main/resources/resources/storm.py.
Sadly Storm only ships with wrappers for Python, Javascript and Ruby, but you could write your own (and contribute it back to the project if it turns out well)?
If you don't want to implement your own wrapper, a quick google turned up https://github.com/ziyunhx/storm-net-adapter, which I haven't tried, but it might be worth a shot?
You might also poke at Microsoft to get them to open source the data lake tools, or at least provide support for running on non-Azure clusters. It's very likely their tools contain a multilang wrapper for Storm.

Simple CRUD Application with portable database

after much searching I am going to pose my question here. If there is a duplicate and my search-foo abilities failed me I will gladly defer to it. On to the question.
I have a heavy background in service and web applications, with centralized database servers in an 'always on' way. However, a friend of mine is in need of a simple CRUD application (probably C# due to my limited experience with other GUI libraries/APIs) to replace a costly solution he currently has.
The application itself is very simple and I have planned to use Dropbox as a network layer to keep it even simpler. The issue I'm having trouble solving is that I need a good way to handle a portable database for authentication/authorization. I was considering SQL Lite stored in a read only folder within Dropbox so that it stays current while connected to the internet but doesn't require a network connection to function (They will not always have internet when using the program).
I am looking for suggestions, reading material, or experience with a similar design as a starting place.
Thanks for taking the time to help.
I recommend Sqlite. Works on almost all platforms and pretty easy to use. With .NET I use a micro ORM with it like Dapper.
Here is an example: http://blog.maskalik.com/asp-net/sqlite-simple-database-with-dapper
You can also use SQL Server Compact Edition (SQLCE) to achieve this very quickly. VS provides designers for making SQLCE database files, and ADO.NET plays nicely with it as well. It also supports simple replication as well.

What's the best way to call c# code in c code on linux

I am doing a project and have a C# library but I need to call it in C code on Linux. What's the most efficient way to do this? Performance is the first consideration.
Of course, I can make a C# service and use TCP to talk. But I wonder if it's the best way...
Thank you!
You can also use CoreRT to create native libraries from C# code and call them from C. You can find an example here
Edit: CoreRT has moved to runtimelab feature NativeAOT. Updated link.
I think the most standard solution is to have your C# service export a "web services" remote API, which the C code can then access via the standard Linux web services packages. In effect these support a form of RPC, but with web pages encoding the request and also the reply. The advantage of using web services is generality; your solution will port to any platform and will work from any language, not just C.
Another way to go is to use one of the new open-source packages from Google, Facebook, Twitter, etc. A bunch of the cloud vendors are open-sourcing their RPC infrastructures because many customers pose your exact question and need these solutions. Those will definitely be faster and more powerful in other ways too: they include powerful performance visualization tools and debuggers of various kinds. Microsoft has a remote method invocation technology too. So these are an option, perhaps less general but definitely faster. So you then have to ask how important speed is, for this particular path...
The bottom line then is that there are maybe five packages you could use. No idea which is winning or best!

mongodb + silverlight

Has anyone worked with mongodb from within Silverlight? What driver did you use? Silverlight supports only asynchronous sockets; but it looks like available C# drivers are synchronous.
Believe it or not, my first project with MongoDB was in Silverlight. IronPython, some C#. This was in 2009 and we went live with something like 0.8 or 0.9 of MongoDB ... so it has been awhile.
This was I think 2.x Silverlight so it was harder to accomplish things like direct database connections. That said, I would recommend still going the route that I went at the time.
Use a REST+JSON API on your server end and have your client communicate through that. We did ours in Python, but there are these days a few awesome prebuilt Mongo REST Interfaces like Sleepy Mongoose if you don't want to roll your own.
The biggest advantage of this is the question of security: with a direct database connection from client to server even with authentication you run the risk of the user getting into your database... at which point they can do anything they want as MongoDB Authentication restricts access at a DB level, but not what people can see or delete. This doesn't even require disassembling code in some cases as there are, as I recall, development browser plugins that let you script a running Silverlight app from IronPython and IronRuby.
There are other reasons including the synchronous question, but overall I think having a serverside interface to Mongo with a clean, secured facade that talks to Silverlight would serve you better.
It'd probably be best to use the official 10gen MongoDB C# driver on the server with a lightweight web API sitting over it that can be consumed by your Silverlight app with WCF, SOAP, REST, etc.
This not seems to be a good practice to access the mongoDB from silverlight.
I suggest you to wrap all your commands in a clean WCF service (maybe a data service), and completely abstract the mongo plumbing.
this will allow you to control exactly what kind of operation can be done, who can execute the command, and with an evolutive protocol.

ODETTE FTP (OFTP) for .NET or Delphi

I'm trying to come up with a proposal for a client for an interface with a European Automotive manufacturer. The standard interface to transfer data files(EDIFAC) is ODETTE-FTP (OFTP).
I'm trying to find a native component solution, much like what's available for other FTP formats. After much Google searching I haven't been able to find that solution. IP*Works has a BizTalk add in, and there is an open source Java project is all I've turned up.
Anyone have any good leads on this? Having to roll my own OFTP solution from scratch is going to put us outside the time/cost constraints of our client.
I'm the one that developed the open source Java project for Odette FTP. ACCORD is a project actually being developed by Neociclo under the OW2 Consortium, focused to bring a set of tools around the OFTP connectivity, but so far we've a stable OFTP2 component library that is being used around.
I would propose you to consider the tools from www.iKVM.net and try creating a prototype for such interoperability between Java and .Net. If you find it's feasible or succeed in the prototype we can help you in setting up the component library to fit in your needs.
Get involved subscribing to accord-users#ow2.org mailing list.
Best regards,
Rafael Marins

Categories

Resources