What is the best Java EE server to deploy coldfusion 9 on? I know there is Tomcat but i'm sure there are others.
The ColdFusion support matrix lists a limited number of Java EE servers that they support:
WebLogic Server 9.2, 10.3
WebSphere Application Server ND 6.1, ND 7
JRun Updater 7
JBoss 4.2, 5.01
Your choice from this list is going to be dictated by commercial realities, not technical ones - WebLogic and Websphere are the leading servers, but commercial (and expensive); JBoss is free (although you can pay for a support contract); JRun is just rubbish, and I suspect only supported because if I remember correctly, JRun and ColdFusion used to be the same platform.
Having said all that, CF may run just fine on any other appserver, but that would be unsupported.
You need to answer two or three questions to decide:
Do you know enough about it to not
want to just use JRun?
Which Java EE servers do you know well
enough to support (or know the best)?
Which of those are on the supported
servers list?
If you can deploy Cold Fusion on any Java EE app server, there are lots to choose from:
WebLogic
JBOSS
Glassfish
Jetty
WebSphere
Pick the one that fits your budget.
I've listed these in my order of preference. I think WebLogic is still the best Java EE app server out there. Let's hope Oracle doesn't kill it.
I built a ColdFusion 6.1 application for a national 401k provider deployed on JBoss and it worked very well. Actually, I was able to run CF 6 on a 64-bit JVM because I was no longer hindered by JRun.
Related
I am downloading IBM WebSphere server for the developer edition. I find out two flavours (See attached picture)
WebSphere Application Server for Developers, Installation Manager Repository
IBM WebSphere SDK Java 7 for Liberty and Full profile, Installation Manager Repository
i am confused if these two are same. (or there is only the difference for the Java Version)
Let me try to explain the differences. In that page you can download:
IBM WebSphere Application Server for Developers, Full Profile (1-3) - this is developers version of the full Java EE 6 complaint WebSphere Application Server. It contains already Java SDK v6 and is ready to run.
IBM WebSphere Application Server Liberty for Developers - this is new lightweight, fast module based server. Directed for developers. Allows you to build your own server with specific features, compliant with Java EE 6 Web Profile. See more details here: Introducing Liberty profile. In addition to Installation Manager download, you can just download zip archive, and just unpack it. It doesn't contain JDK, but can be used with IBM or Oracle Java 6 or 7.
IBM WebSphere SDK Java 7 for Liberty and Full profile - this is just the Java SDK. It can be used for both Full and Liberty profile. WAS 8.5.5 allows you to switch from Java 6 to Java 7. So you need this download, if you want to use Java 7 with Full profile.
If you are starting development, I'd suggest to download zip with Liberty and WebSphere Developer Tools from wasdev
As per this article in 2017, there are some pros and cons choosing one over another
General advice
Reasons to choose traditional WAS
It costs nothing to move (if you’re already there and it does what you need)
Still has more function than Liberty
Full API, full admin console, security options
Some applications can’t move or would take too much effort
Uses existing admin skills and assets
plus larger existing body of knowledge/information
more training courses available
Integrated with more products for management/production
Common stack for key Portfolio products
Portal server, BPM
Reasons to choose Liberty
Smaller, simpler, faster to set up
easier to have common development and production runtimes
More flexible to install, update and manage
packaged server ‘master image’ deployments are popular
Composable, right-sized runtimes
More choice of deployment environments
Bluemix, other PaaS, containers
Liberty on z/OS has higher throughput, lower resource use
Servers of any edition can be centrally managed (although not clustered)
Greater management scale with collectives than cells
Earlier support of new technology through continuous delivery
Easier version to version migration once using Liberty
This question already has answers here:
What is the difference between Tomcat, JBoss and Glassfish?
(8 answers)
Closed 8 years ago.
I would like to start using JEE6 in the next project that I have to work on at my job, but there is also a limitation (sort of): Tomcat 5.5
My question is, what improvements would bring GlassFish to the table (security/speed) vs the existing Tomcat(5.5) or an upgrade to the newer version 7?
Q: My question is, what improvements would bring GlassFish to the table
(security/speed) vs the existing Tomcat(5.5) or an upgrade to the
newer version 7?
Tomcat 7 compared to Tomcat 5.5 supports newer version of JSR specifications. Therefore, if you wish to use for example Servlet 3.0 or Websockets, you don't have other choice but to upgrade the Tomcat version. See this link for the full list of Tomcat versions and supported specifications.
However, Tomcat is not Java EE container, but only a servlet container. In other words, if you plan to use full Java EE (which includes security and many other things), you have to switch from Tomcat to some of full Java EE application servers. Glassfish is one of them, others are TomEE (similar to Tomcat, so perhaps a good starting point), WildFly, IBM Websphere, Oracle Weblogic etc. Unfortunately, Oracle recently decided to abandon commercial support for Glassfish, so maybe it would be wise choice to go with some other application server if you would like to use it commercially.
One way or another, move from Tomcat 5.5 because it is a quite old version of Tomcat.
See also:
Java EE containers vs Web containers
Oracle abandons commercial support for Glassfish JEE Server
I am new to Java EE. I want to setup Java EE environment to begin developing web applications. I read through articles on internet but they seems to be confusing. My question is that is there any one time installer for Java EE development environment setup? I mean like we have for PHP is that WAMP, XMPP, LAMP etc.
There is no single installer, but two will be enough - you will need an IDE - the most popular are Eclipse and NetBeans. And you will need a Java EE distribution which comes in the form of a Java EE compliant application server - the most popular ones are JBoss and Glassfish. With both IDE and server all you have to do is unpack them into folders of your choice.
The JavaEE distibution of NetBeans already includes GlassFish - even less to do for you ;)
As a prerequisite, you will need an installed JDK, a JRE won't do.
EDIT : In order to control the server and deploy from eclipse you will have to tell it where your application server is - there are according plugins for Glassfish and for JBoss.
I'm not sure about JBoss integration with NetBeans - never done it, but NB intagrates seamlessly with Glassfish.
Glassfish incldes a Derby (JavaDB) distribution, and JBoss includes a H2 DB distribution which both will be enough to start.
Using MySQL or other databases will require a bit of configuration, so if you're just starting - don't bother yet.
You might want to use Eclipse Juno Eclipse IDE for Java EE Developers,
http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/junosr1
I'm a .NET developer looking do some research on my own time to better familiarize myself with Linux and Java (e.g JSP and Servlets).
My plan is to install Linux on an old PC. Then, install and configure a web server capable of hosting JavaServer Pages and Servlets. I would like to create a small web site with dynamic content being pulled from a database. Again, this site is only intended to be used by me for research and testing.
I have very little experience with Linux and Java. Did a couple projects back in college, but that was over 8 years ago.
Below are the questions I have about configuring a test environment I can use for research and testing.
1) What version of Linux should I install on my old PC?
2) What web server should I install on my Linux machine that can be used to host JavaServer Pages and Servlets?
3) What database should I install on the Linux machine? Since I'm doing this for research, it would be nice to test with a DBMS that is commonly used in the real world.
Thanks,
Chris.
You can use Debian, Tomcat and MySQL.
Debian is a fairly common linux distribution and will work on almost every PC.
Tomcat is a simple servlet container. It's the best choice if the only thing you want to do is servlets and JSP.
MySQL is, well MySQL :)
If you do mind using Linux, you can use Ubuntu which is more user-friendly but not really recommended as a server (at least for the default version).
These applications/distributions are from the most used and with the most active communities.
Resources :
debian.org
tomcat.apache.org
mysql.com
ubuntu.com
Whichever you want :-) At work, for example, our Linux servers run Red Hat Enterprise Linux, which is loosely based on Fedora, so that might be a good distribution to use that might be similar to what you would experience in the 'real world'.
Tomcat or JBoss Application Server would be good app servers to start with. Tomcat is just a servlet container, whereas JBoss supports more of the Java EE technologies. That said, many organisations find that a 'lightweight' app server like Tomcat is perfectly adequate.
MySQL and PostgreSQL are both widely-used open source database servers.
I would install the latest Ubuntu. The most user friendly and should work on your old PC.
I would install Glassfish or JBoss. Glassfish comes with Oracle's Java EE and is the easiest to install. JBoss is more widely used in commercial settings. Better yet, install both and try it on both!
MySQL is easy to install on Linux machines. In fact it's usually installed by default by the distribution.
Good luck! Linux is a great learning experience and a lot of fun!
I'm not a specialist in linux distributions, but as webserver the apache tomcat would be the best choice, I think version 6. The database may be a mysql, but for professional usage with more functionality postgresql will be the best choice.
Slackware. You will get lots of different answers on what distribution to use, and a lot of it is personal preference. I always prefer Slackware for server installations, and install all my software from source. I think of Ubuntu and Redhat more as client/desktop installations. I don't like to rely on packages to keep my servers up-to-date.
Tomcat. You don't need J2EE. Tomcat will do the job nicely.
MySQL. It's quite standard and works well.
1) As you want, but I suggest you a Red-Hat (CentOs for example) or Debian (Ubuntu for example) based distribution. With respectively Yum/RPMs and Aptitude/Synaptic, it will be easier to install Java (even if it is not difficult on other distributions).
2) To serve JSP pages and execute servlets, I suggest you Tomcat. It is much easier to install/configure it than other webservers (JBoss, Websphere, Weblogic, etc.), and you won't need them in a first time (EJB, etc.)
3) As a database, you can use MySQL (very easy to install), or PostgreSQL, or Oracle Express Edition (not Open Source but Free... And Oracle is very often used on big projects). From a Java point of view, it will be very similar (JDBC/Hibernate access to database "hide" the specificity of DB)
I think you are starting in the wrong place.
1.
If you want to try out linux try out linux. You don't need to install it - just download a "live CD". I believe the latest Ubuntu installer comes on a live cd.
2.
If you want to try out java web development you don't need to set up a server just install eclipse for java ee and create a dynamic web project. Then just start developing. Try to find some tutorials, etc. Eclipse can even download a development tomcat from within the ide.
3.
For databases - why not just use the same database you use with .net? I am sure there will be a jdbc driver and the code you write shouldn't be that different from any other database.
We have had a web application product for several years, and used Tomcat to deploy it under Windows as it registers itself as a Windows service so it starts and stops automatically.
We may now happen to need more Java EE facilities than is provided by Tomcat (we are very tempted by the Java EE 6 things in the container) so the question is which Open Source Java EE containers work well as Windows services. Since Glassfish is the only Java EE 6 implementation right now, it would be nice if it works well, but I'd like to hear experiences and not just what I can read from brochures. If not, what else do people use?
EDIT: This goes for web containers too, and not just Java EE containers. We will probably keep the necessary stack included until we find the right container and it gets Java EE 6 support.
EDIT: I want this to work as distributed. I'm not interested in manually hacking wrappers etc., but want the installation process to handle the creation and removal of the service.
EDIT 2012: It turned out that the Windows installer for Glassfish can install as a service (requires .NET). Component web site http://kenai.com/projects/winsw. Has proven very robust.
We use Tomcat as a service. We have also used JBoss as a service.
It is possible to run GlassFish as a service.
It is also worth noting that most of the commercial Java EE containers can also run as a service. In particular, I know that all of the following can be run as a service, since we have set them up in that way:
Netweaver
WebLogic
WebSphere
In fact I think you would be hard pressed to find a Java EE container that could not be run as a service, since you could always use the Java service wrapper to wrap any java program as a service.
Since it was mentioned in another answer that you might also be interested in web servers running as services, it is probably worth pointing out that the big two on Windows, IIS and Apache, can both be run as services.
Edit: Since you edited to ask specifically about Java EE containers that contain installers that install the windows service:
Tomcat
JBoss
Netweaver
WebLogic
WebSphere
There are probably others, but these are the only ones that I have used.
There is Platform Services Support in GlassFish v3 which can interact with Solaris/OpenSolaris SMF and Windows Services. To my knowledge, it just works.
I use Caucho's Resin under windows, it comes with its own service installer which works quite well for me.
We use JBoss and it runs perfect as a service, no problems so far. We even have loaded the servers with ssh acces so we can remotely restart the services if we want.
I've used Glassfish (Version 2 though) as a Windows service. While it does take some work to get things installed, once set up, it worked pretty well. We used it in a production environment, and our set up consisted of a two node cluster (so we had to set up a domain, and two nodes (on two different machines)).
If I recall correctly, my biggest challenge was trying to use sc, and figuring out its funky escape sequences.
Another thing to look at is Hudson. I've always been impressed with how it installs itself as a Windows service. You may want to have a look at how they do it. They use Winstone as their embded servlet engine though, which as far as I know, is not EE 6 compliant.