interact with SAP systems via ruby web app - ruby

I have a Hanami web app which interacts with SAP systems via vb scripts.
Is there an alternative way for Ruby which would enable the same level of interaction, i.e. connect to a system and perform some actions to either post or retrieve data from a system?
I've read about RFC and web services, but it seems they're no longer supported for Ruby. Or am I wrong?
EDIT------------------------
I currently have a web and a desktop app that basically do the same thing. Trgigger the execution of a vbs file as shown below:
stdin, stdout, stderr, wait_thr = Open3.popen3("cscript.exe //Nologo path/to/some_vbs_file.vbs #{#param1} #{#param2} #{#param3})
This way I get the data into the vbs and pipe it out as well.
However I've been looking for an alternate way, like mentioned here:
Ruby, Ruby on Rails, and SAP Web Services Integration
But some of the libs on ruby-lang.org are no longer accessible and the entire project is a bit outdated. So I wanted to ask if someone can advise where to look for an alternative, if any.
Thank you.
seba

Related

get data of IBM Workload Scheduler Dashboard from shell script

I need to extract some data from IBM Workload Scheduler Dashboard and need to do some further operation on it.
I just thought to do it in below steps:
curl "Dashboard URL" > report.txt
operation-1 on report.txt
opreation-2 on report.txt
mail the output report.txt
I was not able to find any API or script to do like this where to get data of Workload Scheduler dashboard data on unix box.
any guidance would be appreciated.
The IBM Workload Scheduler dashboard gets data from IWS engines (IWSd or IWSz) via APIs.
The dashboard includes javascript code running in the browser and makes several different calls to the DWC server, so it's not possible to get the data query the dashboard URL.
Instead of querying the dashboard URL, I recommend to consider calling engine APIs from your script.
On IWSd, since 9.3 FP2, there are REST APIs that can be called in script with curl or you can call them from more advanced scripting languages like perl, php, python, javascript that can easily work with REST APIs. They will be available soon also for IWSz.
You can find REST APIs documentation here or directly on your master at https://<masterhost>:<httpsport>/twsd/
On previous IWSd version, or on IWSz you can use the Java EE APIs, that will require to write a Java client. The documentation is available here

Can I create a simple website to accept input and display, without Rails, database or external web server?

I am trying to see if I can create a simple website, like a blog, using only Ruby. No Rails or a database or outside web servers. I plan to store the data in a file for persistence.
I wanted to use TCPServer, CGI, and Net::HTTP.
Is there an easier way I can use?
There are a lot of moving parts when designing a website.
Depending on the purpose of the exercise, you might want to consider using a very simple web framework like Camping, Sinatra, or Ramaze. This is probably the best solution if you're trying to get a top level understanding of web programming because it only has exactly what you need (Camping is less than 4k!) and handles stuff like routing.
Building a web server is more an exercise in HTTP parsing. You might want to omit the framework and try to build something on top of Rake (an API for lots of popular web servers) and a simple web server like Webrick or Thin.
You could also try Espresso
It is easy to learn and fast to run.
And offers all the liberty you need for creation process.
Also it has no hidden "fees", everything is transparent.

What is a good framework for deploying a portable HTML/JavaScript Windows application?

I need to deploy an application onto some Windows machines for purposes of data collection from a group of people (i.e. the application will be used to gather responses to a series of survey questions). The process is interactive, alternating between displays of text and images with specific timing requirements. I have put together a prototype application using HTML and JavaScript that implements the survey. However, there are some unique constraints on the deployment environment that have me stuck:
While the machine is Internet-connected, the client requires that the survey application must run fully local to the PC that it runs on. Therefore, sending the survey results to a remote server is not permissible. Obviously, saving to a local file from a Web browser is typically not permitted for security reasons.
Installation of applications onto the machines that will run the survey is not permitted.
The configuration of the machines is not known specifically a priori, but I can assume some recent version of Windows with IE8+.
The "no remote access" requirement was a late comer, and has thrown a wrench into the plan of just writing a simple Web application that could post results to an HTTP server. I'm now looking for the easiest way forward. Two main approaches come to mind:
Use a GUI framework that provides a control that can display HTML/JavaScript; running a full-blown application on the PC would allow me to save the results to the filesystem. I've never done this, but it seems like in this day and age it shouldn't be too difficult. This would allow me to reuse much of my existing prototype implementation, but I would need some way of transferring the results (which would be stored in a JavaScript data structure) outside of the Web control to where the rest of the application could access it.
Reimplement the entire application using some GUI framework (I've used PyQt successfully before, although not on Windows). This approach is obviously less desirable than #1 due to the lack of reuse. However, it may be necessary if #1 isn't feasible.
Any recommendations for the best way to go? Ideally, I'm looking for a solution that can be run in a "portable" manner from a USB thumbdrive or similar.
Have you looked at HTML Applications (HTA)? They work in IE5+ and can use Windows Scripting Host to write to local drives and UNC shares...
Maybe you can use a portable web server with a scripting language on the server side. http://code.google.com/p/mongoose/ Mongoose, for example, you can run PHP, CGI, etc. .. scripts. Then, simply create a script to save a file to your hard drive. And let the rest of the application in the same manner.
Use a script to start the web server, and perhaps a portable web browser like K-Meleon to start the application http://kmeleon.sourceforge.net/ This is highly configurable. Or start the system explorer to your localhost URL.
The only problem may be that the user has to modify the firewall for the first time you run the server?

windows django server

I have inherited a Windows Server and I have to deploy a django app on it.
Have anyone tried to benchmark http servers with django support on this platform?
Which one is fastest?
Use-case of my application would be:
not so much writes to db
heavy usage of admin panel
display tons of results
Have you looked at either wamp or xampp? They both deliver Apache/MySQL/PHP-and-Perl on a Windows platform. But you need more because neither includes Python. See this SO thread for how to proceed from there. Note, you may encounter problems. See this SO thread for an example.
Ps. Personally, I would just get a an account that supports Django (e.g. webfaction.com) and not screw around with this.
I run a Django site on Windows using Apache. I've posted a write up about some of the hurdles that you're going to face.

Ruby: client-side or server-side?

Is Ruby a client- or server-side language?
Both?
After all, there are Ruby programs which are not used as part of a client-server architecture.
If you are talking about Ruby on Rails, then it's typically only used on the server side.
Ruby is an all-purpose script/programming language which can be executed on both client and server environments.
As client-side, you can use it to create a GUI application (or CLI one) to interact with data, communicate with a server, play with media/game, etc. Some framework examples on this level would beShoes, MacRuby, etc.
As server-side, you can use it to store and save data, validate and execute transactions, etc. It's where frameworks like Rails, Merb, Sinatra and others take place, and its -arguably- it's most known mode of operation.
As the previous poster said, on the context of a server/client web application arquitecture, Ruby would be run on the server side. If I'm not mistaken, there have been some advances for running Ruby through the browser (like JS does), but probably not something to be considered for production ready needs.
Ruby does not (typically) execute in the browser, so if you are asking this in the context of a web server/client browser, then Ruby is server-side.
You can of course also execute stand-alone Ruby code on any machine with a Ruby interpreter. It is not confined to web applications.

Resources