Easy and generic API Integration to another existing system - ruby-on-rails

I want to know if there is a way to create a REST API that can be easily integrated in an existing system. Specifically what I mean, assume we have an existing system for an e-commerce website and my API is trying to automate/facilitate the process of adding items to a cart and purchasing. I know that some systems offer an API to do that but what I want is for the existing website to use my API and integrate it into their system regardless of its database architecture. Is this possible in any way?
P.S. if anything is unclear please let me know to update the description with more information.

Related

Creating OTRS web mobile interface

at the company where I work, we use OTRS to schedule tickets and such. But the web interface is not very intuitive and easy to use, particularly on mobile...
Is it possible to create my own mobile version of OTRS? I mean, I can create a website that is mobile optimised and easy to use, but is there an API to communicate with OTRS?
I've only seen simple scripts to create tickets via soap or rest interface, I need to create a ticket, show a list of the user tickets and close them, postpone them...
Thank you in advance
It is very much possible, since the OTRS is Open Source and you can basically do whatever you want with it. You might however underestimate the scope of the task you're talking about. I once thought about doing something like this too, but when you look at the functionality the OTRS is providing in the background and all the little details you need for a working interface you will probably come to the conclusion that it requires a LOT of work.
You could use the Generic Interface to create a Webservice that enables you to access ticket information etc. and build your own Frontend that utilizes the Webservice. I can tell you from experience that there is lots of functionality you need to add to the webservice to create a decent API for your Frontend, because the Information the Generic Interface offers by default is very limited.
Since OTRS Version 5 the software includes an interface with responsive design in order to make it better suited for mobile use. Depending on the version you are currently using you might consider upgrading to it. If you want to check it out first you can have a look at the online-demo they feature on their website: https://www.otrs.com/otrs-demo-trial/
If you like the concept of the OTRS but the interface makes it difficult to use for you, the founder of the OTRS released a different kind of ticket system called Zammad. You might want to check it out, it's interface is aimed at being more intuitive.
tl;dr
Yes, it's certainly possible - the OTRS is an open system, but very difficult and probably not worth the effort.

I wanna fetch my blogposts from my website, to my iOS app. What knowledge is required to do this?

My website is up and running with support from Wix.com, I used the drag and drop builder to set it up and I didn't need to do any Client side/Server side programming for it to work.
What should I do if I want to keep the app updated with the website as soon as I upload any article/post on the website.
Consider taking a different approach and migrate to a platform/architecture that better suits your specific case.
My suggestion would be Microweber - it's a pretty advanced platform for websites with CMS and e-commerce features. It's been around for quite some time (3 years or so) and I'm using it for about 12 live active projects.
It's very neat if you plan to write custom code as it's based on Laravel and everything is easily extendable.
However, I'm using it mainly because of the support. Although it's free and open-source the team is online most of the time and have replied to my every request so far.
This is critical for me as many website solutions come and go and none is
perfect. What makes this one better is the reaction time and adequacy.
This is my personal opinion with regard to the fact that it's very hard to pick one solution among so many given that you didn't state more specific requirements.
It cannot be done without any server side scripting and backend database for the mobile app. you need to develop database for it.and then you will need to develop web service for the passing the data between mobile and backend.
A dirty way to do this would be through an HTTP request that reads HTML. However the best way would be through Wix's REST API.
Edit: I'm regards to keeping the app updated, you're going to need a backend service that is consistently checking for updates.

Recommended practices for Versioning WebAPI interfaces

I'd like to use WebAPI as my API technology to:
Allow approved companies to enter/retrieve data in my systtem
Create a standard interface for my company's iOS/Android/etc. applications
Does anyone know of best practices for, and mechanisms used to implement, versioning of interfaces. Specifically, I don't want to break backwards compatibility if I make updates to my API. I'd like to know what versioning schemes people use and if WebAPI has any built in mechanisms supporting versioning without the need to set up routes/paths every time a new version is released. Any thoughts would be appreciated.
Update
After performing some research I think I know what I want to do, I'm not sure how to do it. Ideally during content negotiation I would like to use a media type passed by the user to specify which version of the API should be used (rather than hard-coding the URL) and hit the corresponding controller.
If you don't want the version to be included in the Url, the way to go is probably to implement IHttpControllerSelector. This blog post should give you a good starting point: Implementing API versioning in ASP.NET Web API
I recommend you take a look at Peter Williams' series of blog posts on versioning REST services. They explain the what and why. For the how, check out Mike Wasson's tutorial on how to create a custom media formatter.

Building the back-end server for an iPhone App

I'm looking at building a simple login-based iOS application that needs secure access to create, read, updated and delete data from a MySQL database - with certain actions available to specific users based on roles.
I've done some research and it looks like I need to build a RESTful Web service which provides Web Services which the iPhone app calls to access the data.
I have very little experience of web services development, are there any books/tutorials that are worth checking out? Is it worth looking at a web framework, rather than start from sractch?
I've done some basic web development in PHP/Python so would prefer to build in that I think..given that hosting it would be relatively cheap..
Have done some basic C#/Java; would it be worth looking at these instead? I tried creating a simple ASMX webservice but most of the examples cite using a MSSQL server, not sure if that is the way to go though.
Use a framework. No point reinventing the wheel and giving yourself a headache. A good PHP based solution would be to use Drupal to build the backend using the Services module to provide data via webservices. Drupal is so flexible and so popular now, that you can get a lot of what you want done without any code at all.
Roughly:
Install Drupal 7 on a webserver according to the instructions
Install the Services module
Design the entities that will make up your MySQL database
Tell the services module how you want to expose things
Some examples of API calls are here.
A case study of someone else who has used Drupal as the backend for iPhone/Android is here.
You will have a learning curve to get your head round Drupal, but you'll have one anyway to get your head around webservices and the benefits you gain from having everything else Drupal offers are enormous, e.g.
The difficult bits are already done for you, so the amount of code will be massively reduced, if you even need any at all
Using Drupal's hugely flexible entities system, you can design a flexible and extensible mysql database scheme using the web based UI, which will be ready to work with any of Drupal's other modules, so you can expand add features with minimal effort in the future
There's an enormous community of people who can help you and the forums on drupal.org are very active
You would have a great UI for users, in case you ever need to give them access to their data through a normal website interface. Drupal has loads of pre-built themes (I recommend Omega) which look awesome and again, little to no code is needed to get a whole site ready made along with HTML5, standards compliance etc.
Drupal provides you with ready-made modules to provide access control via roles, as well as everything else you can imagine e.g. managing a mailing list for your users, providing you with usage statistics, admin interface for user and role management etc.
Drupal use is exploding globally and there's a serious skills shortage, so you'd be even more employable :)
First, it's not compulsory that you use a REST web service. It's just that WS si more or less standard for web-based applications.
I'm not really familiar with PHP, but in python you have django-piston. On the IOS side you have restkit to pair the server with.
What I could say from my experience is that writing a prototype in django is quite easy and you can definitely use this to develop your app.

Social networks in an Delphi win32 application

I want to create some kind “social” connection/interaction in an application that I am creating.
The application is for a restrict group of professionals, that would benefits for social connection/interaction with each other.
So now I don’t know what to do. Do something new, integrate with an existing one ?
I am open for ideas.
---- UPDATE ----
Some basic features should be:
•Private Messages
•Blog functionality
•Publications
•A user profile, with basic info
•Friends list
•Pools
Open source product, if possible.
Platform. For now yes win32 application. Later if the concept catch on we can go web. Be this is only an extra feature of a big application, not the main feature.
Your question is quite vague but I try to give you some pointers.
First you need to define what functionality you want in your application. You want a social network site for professionals so we can rule out the fluffy bits. But there are other aspects of a social network site that you maybe want to include:
Real time chat (one on one or multi, and do you want to include voice and view)
Private Messages (like email)
Discussions (like a discussion forum)
Blog functionality
Publications
A user profile, and what do you want to include.
Do we need to maintain a friends list?
And special purpose groups.
Then you need to decide if you are going to buy, take or make the software. Maybe you can adapt some open source product.
Then you need to decide on a platform. You have tagged this question delphi win32. But why not use a web based concept.
If you have more concrete problems, we are glad to help.
Looking at your requirements– you need a web based application
Use something like Drupal it can do all the basic features you require
And you will not have to write a single line of code.
It uses MySql as it’s database – and has hundreds of different plug-ins

Resources