Deploy Tomcat in Linux Server

jamesmcfly

New Member
Hello,
I am trying to develop a native mobile application using Progress database.
As far as I know, the database should be connected to the AppServer and the AppServer should be connected to the Web Server, in this case: Tomcat.

The development for the web service required OpenEdge Developer Studio and then we can create the file .war, that we can use for web service deployment.

I developed the web service under Windows using the OpenEdge Developer Studio and I want to deploy that web service under Linux Server using the RDBMS and Appserver License. If I am not mistaken, it would take also an OpenEdge Developer Studio to deploy that webservice using the Tomcat.

I understand that for the development purpose, it would need the OpenEdge Developer Studio. But if it is only for deployment, it would be too expensive if I just want to deploy for each server using the OpenEdge Developer Studion license (as I said before, we only use the Run Time version), because I work in a company, which resell the OpenEdge License. Our customer would be very negative about this.

So these are my questions: Is there any way that I could install the Tomcat Webserver individually and deploy the web service? How can I set the webserver so that it can connect to specific Appserver? Because there could be more than 1 AppServer running in 1 server.

Thank you in advance
 

RealHeavyDude

Well-Known Member
Progress provides the WSA ( Web Service Adapter ) which is included in any AppServer license. The WSA is a Java Servlet that you can deploy to almost any Java Servlet Engine ( like Tomcat, Jetty or even IBM's infamous WebSphere ). The WSA itself and the deployment of applications to it is administered via the Admin Service ( which also comes with the AppServer as you need it to administer the AppServer ) which has a command line interface ( wsaconfig and wsaman, respectively ) and a GUI interface ( OE Management ).

The WebService request lands on the HTTP listener on either a dedicated web server or a Java Servlet Engine that has a HTTP listener ( like Tomcat has ). Whether it is better to have a dedicated Web Server in a production environment or use the HTTP listener of the JSE might be subject to flame war discussions. ( I would prefer a dedicated Web Sever like Apache and integrate Tomcat with it ). The HTTP listener then forwards the request to the Java Servlet ( WSA ) which then forwards the request to the Progress AppServer.

The connection parameters for the AppServer connection can be defined on the WSA or they can be part of the proxy that you deploy to the WSA - where the definiton on the WSA wins. I prefer to define them on the WSA.

Heavy Regards, RealHeavyDude.
 

jamesmcfly

New Member
Thank you for your reply.
I forgot to mention that I am using Rest Adapter for this purpose, which is the feature from OpenEdge 11.x. If I am not mistaken, the WSA is only for SOAP? I am a bit confused.
I usually create the setting for Rest Services via OpenEdge Explorer: start the Tomcat and start the Rest Service for each AppServer there (in Windows using the OpenEdge Developer Studio).
I still have not found the tutorial how to start the Rest Service using the WSA or Tomcat (in Linux without the Developer Studio) and how to set the connection to the AppServer. Every documentation or tutorial I read uses the Tomcat which is included in the Developer Studio, which is not that helpful.
If there is a proper tutorial, I would be very glad, because I am still new to this web service.
 

RealHeavyDude

Well-Known Member
You are correct. WSA is for SOAP based Web Service and the REST Adapter for a REST based web service. Like the WSA the REST Adapter is a Java servlet which you can deploy to Tomcate like any other Java Servlet. Usually you just copy it under the webapps directory of Tomcat ( see here for more information http://stackoverflow.com/questions/5109112/how-to-deploy-a-war-file-in-tomcat-7 ).

Additionally Tomcat offers a management UI which you can use to upload any war file too.

You don't start the REST Adapter individually - it is a servlet that Tomcat manages for you. All you need to do is start Tomcat and you are all set.

BTW, I don't have any tutorial at hand - but these are basics for working with Java Servlet Engines like Tomcat that have nothing to do with Progress. Don't get me wrong - but, if you plan to introduce such technologies into your application stack then you should make yourself familiar with them. Progress uses the JSE just like anybody else - as a container to host a Java servlet. Here you can find tons of documenation on Tomcat: http://tomcat.apache.org/download-70.cgi.

Heavy Regards, RealHeavyDude.
 

jamesmcfly

New Member
Thank you for your explanation. I thought I had to use the Tomcat, which is included in the Developer Studio. But if I install the Tomcat separately and use this to connect to the AppServer, then it is a good news. I just need to find the setting to connect the Tomcat to AppServer.

Thanks again!
 
Top