JRuby Community Support - jruby

We are exercising various technology or framework options to develop our new portal or web-application on elearning. So the favourites on the list are (not in any specific order)
1. Rails
2. J2EE
3. JRuby
So wanted inputs on the JRuby community support if we get to choose JRuby framework. Also want to know JRuby advantages. I have gone through some of the coolest advantage of JRuby, still want to konw if I missed something
1. Threading => Scalabity
2. Performance 2.5 times faster
3. Usage of both what java and ruby got to offer
4. Unicode support of Java etc etc.

It seems you're comparing a web development framework (Rails) with a enterprise development and deployment platform (J2EE) and a language implementation (JRuby).
If you develop a rails app and deploy it using warbler & glassfish then you'll be using all three things!
Perhaps rephrase?

Related

Free server sellection for react project

I am working on a project and developing with react. I need somewhere to keep my datas. Where do you suggest? I use json-server while I'm following my course. But I'm open for any suggestion. Ofcourse it would be better if it is free at least while working on prototype.
What about mysql, nosql or postgresql? Probably I choose postgre because of it's support which comes with it's popularity
I have used Heroku to deploy production applications and hobby projects. It has a free tier, and it is fast and easy to setup. Databases are supported via addons (including Postgres), some of which have free tiers. Heroku recognizes many applications automatically, but if are using create-react-app, you need to use a buildpack for the deployment.

Installing DotNetNuke 7 with MySQL and in .Net 3.0 environment?

I just registered a hosting service from www.amhosting.com and they said that the Server support MySQL and .Net 3.0 only while the site I am installing is DNN 7 which is running with MSSQL and .Net 4.0.
So what is the solution for this case?
Could I run DNN 7 in .net 3.0 environment?
or should I downgrade the DNN to lower version that is able to run in .net 3.0?
How to configure the DNN site to run with MySQL?
Thanks a lot.
Cheers,
Timmy
I think you should change your hosting solution.
From what I know DNN7 only works with .NET 4.0 / 4.5
MySql - god forbid, you're in a world of pain. I have heard about attempts to make the DNN Core compatible with MySql... but it's only the Core, and any such projects would be outdated in a matter of months, as DNN does release quite often.
Talking about third party modules, which sooner or later you'll be bound to download from codeplex or buy from Dnn store - forget about. no dnn developer out there provides scripts for mysql.
Good luck!
As Greg states, you won't have an easy time getting DNN working in 2.0 (there was no 3.0, but 3.5 exists) with MYSQL, and you will be limited based on the "provider" for MYSQL.
Go with another hosting company that does Windows Hosting with MSSQL options, there are plenty of them out there for low cost, you'll save a lot more money changing hosting, than you will trying to get mysql working with DNN, and you won't have any upgrade options available to you.

Open Source Application Server Solution

A project with the following technologies and components has surfaced: to up a Web stack solution initially composed with Ubuntu, JDK, JBoss, Spring MVC 3.0+, and MySQL.
In planning this project, I have been struggling to find answers to the following questions for first steps, best practices, and sequence:
1) Does the JDK (and JBoss) need to be installed as ‘root’? (I have seen articles that mention it is not a good idea to operate in root unless absolutely necessary due to the fatal consequences.)
2) Does Ubuntu need to be installed as a Server in order to accomplish all this, or can it also be installed as a Desktop? I have not been able to determine if having a JBoss and MySQL need to be installed on top of Linux as a server.
3) Does Maven need to be used within Spring STS in order to get JBoss, and MySQL (and in the future Hibernate) to work successfully together?
4) My intent is to install in this order: a) Ubuntu -> b) Java -> c) JBoss -> d) Spring STS -> and e) MySQL. Are there any blatant conflicts in this sequence?
JBoss will require Java (recommend Java 7) before it will do anything. I don't think it really "installs" per-say, but rather just unpacks to some directory (even if you install from the package manager, it just really extracts itself). I question your need for Spring since JBoss and Java EE in general really does everything Spring does, and better now-a-days. Unless you have a specific requirement for Spring, I'd question this extra dependency.
For linux - in a high level, any OS can be a "server", all it needs is to be capable of serving things (web pages, ssh connections, etc). In M$ world, different "levels" of the OS have been specially designed based on anticipated task/workload. So for example, while Windows 7 can indeed run as a server, it was not designed for it and therefore may not be optimized or include helper utilities and tools to make life easier as a sys admin of the system. Windows Server on the other hand does include all the "normal" server tools and lots of goodies to make maintaining and setting the server up easier.
In linux land, this is no such thing. Linux is the kernel that talks back and forth with the bare metal, etc... and Distro makers will take that and build an OS around the kernel, basically just attaching any packages they feel their distro needs... such as wget, or cat, or any other standard userland apps, plus some non-standard such as mysql or java or whatever they want.
Now, some distributions of linux will tailor themselves at being "server" ready, while others will tailor themselves at being a desktop OS. The difference? It's really just whatever default packages the distribution maker decides to include or not. For example, the overwhelming majority of linux servers are run completely headless, and therefore there is absolutely no reason to have X11 and a huge bloated GUI environment installed and/or running on that system... it's pointless. Also, an "average joe" user does not need MySQL installed by default on his desktop system since it would only bloat his system and he likely won't ever use it.
So basically it comes down to default installed packages.
Some linux server distros take this further and exercise extreme caution when making updates, patches, or new releases in the name of stability and security, while on the other hand most desktop distros are more haphazard with their updates since if it breaks a home users web browser, it's probably not a huge deal... but if a server update breaks the webserver application stack, now that's a serious problem.
So you'll find server OS's like CentOS (based on upstream RHEL) are extremely slow to bring in the "latest and greatest" features that desktop OS's get early on. Their goal is high security and long term stability.
Now, for Ubuntu. While I certainty know a lot of folks run Ubuntu as their server OS choice (partly due to Amazon choosing Ubuntu as the default linux VM for their ECS cloud), but I'd really question this. Ubuntu is not focused on being a server. It's focused on being a great all-around desktop oriented OS. Yes the LTS version is meant for long term stability, but it's based out of a desktop OS, so it's still not the focus.
IMHO, I'd go with CentOS because it's free and completely binary compatible version of RHEL - and RHEL is the de-facto standard for enterprise-grade linux servers. Be aware though, the RHEL way of doing things is a bit different than the debian way -- so there is no apt-get, you must use yum install instead. Startup scripts are different and some ways of doing things are different, but really, once you know linux, you know linux.
EDIT: Also check into Jenkins - its a free opensource continuous integration system that runs on JBoss or Tomcat or any other container, and can automagically pull your code from a repo (github, git, svn, etc) and compile/package it then push it to live deployment. You setup your ANT or Maven build scripts, and it can kick off on a schedule or however you configure it.
EDIT EDIT: I'd also recommend using OpenJDK -- as it's likely included in your package manager (for just about every disto) and will be more updated than the oracle version if it's in your package manager too. I've found most "server" distros will have OpenJDK 7 while only having Oracle java 6 in their package managers. Also, installing it via the package manager will enable you to keep it updated a ton easier.
Installed as root, why not? Run as root, probably not a good idea.
If you want a desktop, install a desktop distrib. If you want a server, install a server distrib. This doesn't change what can and can't be run in the OS. It only changes what is installed by default.
Maven is a build tool. JBoss doesn't care how you build your app. All it cares about is if the application you deploy is a valid Java EE application.
No. You need an OS, so Ubuntu must come first. JBoss and (AFAIK) Spring STS need a JRE to run, as they're Java applications, so Java should be installed before them. MySQL is independent of JBoss, STS and Java, so you can install it whenever you want.
Note that if you're struggling just with this installation part, be prepared to suffer with the rest. Building a Java EE webapp is not a piece of cake, and you should probably find some experienced developer to help you, as it seems you're only beginning with Java.

Is it possible to write code for gnome and then build it to windows?

I want to write a database program and have it built for a windows machine at work. Is that possible to do without much grinding? (so to speak)
Yes, that should be possible. There's a project to bring GTK+ to windows.
You may need this installer if you happen to run a GTK+-based
application and need GTK+ runtime environment to run it. Note that
this installer does not include any development libraries or headers.
If you want to develop/compile GTK+ applications for Win32, download
the dev packages from Tor Lillqvist's pages (see the Links section).
Note, however, that user experience usually deteriorates, the more cross-platform you are.
Use a cross-platform language like:
Python
Java
.Net (Mono)
Or, if you prefer C++, use the Boost libraries: http://www.boost.org/
From the website:
Boost works on almost any modern operating system, including UNIX and
Windows variants. Follow the Getting Started Guide to download and
install Boost. Popular Linux and Unix distributions such as Fedora,
Debian, and NetBSD include pre-built Boost packages. Boost may also
already be available on your organization's internal web server.
Additionally to SimpleCoder's remarks: If it is a program with an UI, make sure that you use an UI toolkit that also is cross-platform or design it in a way that you can use different UI toolkits with the same business layer (a good pattern would be the MVC Pattern).

is the ruby mysqlplus adapter production ready

is the ruby mysqlplus adapter production ready?
have a choice between:
1. mysql library by tmtm (has a pure ruby and c version)
2. mysqlplus by http://github.com/oldmoe/mysqlplus/
3. dataobjects (used my datamapper ORM)
4. em-mysql
Currently using the C version of the mysql gem, that is the oldest and most popular option.
Evented programming is hard, invasive and is a paradigm-shift so that rules out em-mysql :-)
How mature are dataobjects and mysqlplus, was more interested in mysqlplus due to its concurrent driver.
I am the maintainer of DataMapper, and we've been using DataObjects under the hood for several years.
It is production ready. In many ways it is further along than most of other ruby drivers. It supports MRI, JRuby and even Rubinius. It had full Ruby 1.9 coding support very early on. It works with Ruby 1.8.6 to 1.9.2. It has non-blocking support. It handles typecasting of values without any intermediary steps (so the data doesn't come out as a String to be coerced into another ruby type; it comes back as the type directly). It has a unified API between all the DB drivers it supports (currently sqlite, mysql, postgresql, oracle, sqlserver, h2, hsql and derby).
Actually there's a rubysoc project to port AR/ARel to work with DO, and there's a chance it could become the default driver for ActiveRecord.