Which CAS Server should I use? - java

I don't know very much about CAS, except that I need Single Sign On for a few internal websites, and that this is probably my best option.
What's a good CAS Server to use in an all Ruby on Rails environment?
What's a good CAS Server to use in a mix of Ruby on Rails and Java environment?
I see rubycas. They have a client. Will this client work in Rails with all CAS Servers or just the rubycas server?
If I'm looking to overhaul the entire sign on system, should I add LDAP behind CAS?

If it needs to be an all Ruby environment you will need to use rubycas-server (http://code.google.com/p/rubycas-server/) and the unofficial Ruby CAS client (https://wiki.jasig.org/display/CASC/Ruby+on+Rails+CAS+Client).
If it can be a mixed Ruby/Java environment, I'd imagine that you would want to look at using the original Java CAS server (http://www.jasig.org/cas/download) and the unofficial Ruby CAS client. The Java CAS server is really just a webapp that can be run on something like Tomcat.
Any client should work with either server according to documentation (I've tried a few for the Java "server" and all have worked fine).
The backend should not really matter to the overall architecture. If you want to use LDAP...go for it. In fact, if you want to use the original CAS Server and don't want to write much Java, there will be projects you can leverage to use LDAP whereas if you are using a homegrown solution, you will need to write that implementation.

Related

How to host JSPs on a web server?

Hi I'm sorry for the naivety of this problem but I need some guidance as I have confused myself greatly.
I have been tasked with creating a database(mysql) and creating a web interface for i to be interacted with. I have experience with web design and database development. Previously I have used java to interact with a DB and was hoping I could use JSP for the web interface. This is where my problem is, how I would I deploy/host this website?
I have 2 theories which are misguided:
(A). Use a cms which has a web server for me to place the jsps in?
or
(B). Use a domian/web hosting site that has a server for me to place the jsps in?
I'm totally lost and any guidance would be greatly appreciated.
Simple answer is you will require a Java Application Server to host your JSPs.
You can use Apache Tomcat, GlassFish, or some other application server to do this.
You will also need a database e.g MySQL running on your host or some other host accessible by the machine running the Java application server.
You can choose to host all of this locally or farm it out to a web host provider depending on your resources.
A CMS seems like overkill. See this link for a description of CMS and its functionality. I don't believe this is what you are looking.
I don't know exactly what you're looking for, but I think you need (B)
You need a MySQL instance running your database and a servlet container (e.g. Tomcat) to host your JSPs.
Running a CMS which is just used to use the DB that it works with is a little bit heavy for that usecase.
As suggested by Mr #cmd , yes there is no need to go for an outsourced server just to host your website, unless you need it to be visible to the world.
Else for your testing purpose, you can use Any of the Apache Tomcat, Glassfish servers for hosting the applications designed in JSP or in other web interface language.
And Inside of the JSP coding itself you may write the interaction coding with your database.
your database also can be installed in the same server.
And actually instead of a server, you may even use your PC to install the Apache Tomcat and the database and start using it.

How do I provide SSO for our ROR and JavaEE applications?

We have two application one is in Ruby On Rails and second is in Java EE.
We want to integrate those two application so that if user has done login in one of them other one should be accessible without login.
How can we implement this??
this two applications are running on different servers, ROR on webrick and Java EE (JBoss or Tomcat)
What are the various ways to integrate such applications??
What you're looking for is called Single Sign On, and the there are practically infinity answers to how you could do it. This question will probably be closed.
But, if you want one (of the many possible) solutions, you could run a JBoss PicketLink server for Identity Management. Expose a SOAP API from the PicketLink server, and then consume that one the Rails side for authentication/authorization.
As #messick mentioned you will have to go for a SSO (Single Sign On implement ion), There are standard libraries for that and the most famous is CAS (ruby)
You could either implement the CAS server in JAVA and use a ruby client or CAS server is ruby with a java client
This is the standard CAS guidelines project (you could find links to implementation in various languages as well)

Restful Webservice Java, server side

I'm trying to develop a small server which would include one restful webservice.
I'd like to use JAX-RS for the webservice part, but every example I'm seeing is using a tomcat server, and I can't use any 'application' server (meaning I can create a server in my code, but can't run it from the outside).
Well anyway I was wondering if anyone had any sample to show, and any advice on which light library I could use to run such a simple server into my code (can't use any gpl /lgpl etc licence, so no jersey for example).
Thank you.
It's possible to embed Tomcat in your application, see here for an example: http://java.dzone.com/articles/embedded-tomcat-minimal
Another popular choice for an embedded servlet container is Jetty, they have a tutorial here.
Edit
The examples provided with Jersey can also be helpful, here's one for running using the Grizzly HTTP library: https://github.com/jersey/jersey/blob/master/examples/helloworld/src/main/java/org/glassfish/jersey/examples/helloworld/App.java
You can even use the HTTP server that's bundled with the JDK (probably not the way to go for a real application): https://github.com/jersey/jersey/blob/master/examples/helloworld-pure-jax-rs/src/main/java/org/glassfish/jersey/examples/helloworld/jaxrs/App.java
Have you checked out http://www.sparkjava.com/?
It's very light-weight and concise.
Building a server into code is nothing. See "Embedding Jetty", for one. There are plenty of other options with varying degrees of difficulty and capabilities, like the Simple Framework, Tomcat, Grizzly, Netty, and Vert.x, to name a few. Then, if you're not stuck with Java, the language, there's Ratpack for a lightweight REST server. Otherwise, running something like Jersey in an embedded server is quite simple. I do it every day in tests.

Web service client and server

I am a webservice beginner. Is it required to have two different projects having separate EAR for developing a Web Service and its client both?(JAX-WS based)
Since you are using SOAP via JAX-WS you can develop the client using any programming language and technology you like (as long as it knows about SOAP).
So, yes, you should definitely separate server and client, even if you develop the client in Java, too.
I guess it'd be recommended to do so, to keep a minimum level of organization.
By the way, if you are coding your client for a desktop environment, you would have a resulting .jar and only the server would be packed in an .ear.

Java Web Apps virtual host

I have just became a partner of a company that has a site developed in JAVA. As part of the agreement they allow me to create a section on their site (so I can take benefit of their traffic), but the development of this section needs to be as less intrusive as possible.
So ideally I would like to implement an independant web application in JAVA (with same layout) with a separate database that runs in the same application server. And in the application server to make a mapping like this:
All the traffic that comes to www.domain.com/MY_FOLDER
its served by my web application, all the rest should be served by my partners site.
I have no experience in JAVA but I found that in php this can be done, so I was wondering if it can be done also in JAVA.
About the application server I dont know yet which one they are using but I guess that are using "resing server" (by caucho: http://www.caucho.com/).
I would really appreciate if you can give me any ideas of how I can achieve this.
Thanks in advance,
Juan
Only one application can listen at a given socket at one time, so you need to have the existing server forward "your" requests to your web application, if it is not Java capable in itself.
The way to do that is not standardized so you will have to talk to the server administrator.
The easiest way to start from scratch with a Java Web Application is in the Netbeans bundle with Glassfish.

Categories