Removing JAX-RS feature from Websphere Application Server 8.5 - websphere

I have created a rest api using jersey 2.10 framework. The application is deployed on Websphere application server 8.5. Since websphere comes bundled with jax-rs 1 implementation, I configured shared library to use jax-rs 2 jar files. My company policy does not allow configuration of shared libraries and I am being asked to downgrade to jax-rs 1 implementation. And that is the last thing I want to do.
Is there a way to disable or remove jax-rs 1 from websphere 8.5. JAX-RS is included under web 2.0 features in websphere and is it possible to remove/disable web2.0 feature in the server.

The only way to use Jersey 2.10 framework is via shared library as discussed JAX-RS Jersey 2.10 support in WebSphere 8. You could use WebSphere Liberty, where you can disable jax-rs 1.1 or WebSphere Liberty Beta, which supports JAX-RS 2.0. But with your company restrictions, it probably will be not possible also.
So for the future, you should know about benefits and limitations of the platform that you are planing to deploy and use its provided features instead of some third party, especially if you have some other external limitations.

Related

Does IBM Websphere Liberty support OSGI bundle with EJB?

I checked the IBM knowledge center, the websphere support a EJB application inside a OSGI bundle, I am not sure if Liberty also support it so far?
According to this documentation page, EJB applications in OSGi bundles are not support on WebSphere Liberty:
IBM doc: Enterprise OSGi programming model support

OSGI JAX-WS Client On WebSphere Application Server

I am trying to implement an OSGI based JAX-WS WebService client on WebSphere Application Server(8.5.5). I created a web project in my RAD (Rational Application Developer) workbench and added the programming model as osgi.
After that I tried to create the webservice client from the available wsdl.
But I am getting the following error " The IBM WebSphere JAX-WS Web service runtime does not support Client projects with the OSGi Bundle facet."
Are you using JAX-WS on WebSphere Application Server traditional (i.e. not the Liberty Profile)? If so, then traditional does not support JAX-WS in OSGi Applications. The Liberty profile does support JAX-WS.
If not, then this could be a tools check that's no longer valid. I know the tools used to prevent you doing this when JAX-WS was not supported on traditional or Liberty. You could try using the latest WebSphere Developer tools from the Ecilpse Marketplace or https://wasdev.net/repo to create a simple test project to see if you hit the same problem.
I hope this helps.
Regards, Graham.

Reporting statistics in Spring Web Flow

We have an enterprise application using Spring 3.2.8 and Spring Web Flow 2.3.3 deployed on the Websphere 8 server. We wish to report statistics like no. of incomplete flows, the state at which user terminate the flow, time spent at individual states etc. We thought of using Spring Instrumentation. However, could not find instrumentation jar package for Spring 3.2 and Webflow 2.3. Where can I find the complete distribution of Spring 3.2 instrumentation jars? Or which other tool can I use for my purpose with Websphere 8? Please help.
I just did a google search. If I read the webpage correctly, instrumented spring is a paid product.
From http://static.springsource.com/projects/instrumentation/index.html:
Instrumented Spring Framework, Web Services, Web Flow, and Security are available as part of a tc Server Spring Edition 2.x subscription or evaluation, which includes integration with Hyperic HQ. Instrumented Spring products are also available to Spring Enterprise subscribers.

JAX-RS 2.0 jersey ready for project to be put into production in April-May?

I am building a RESTful web application in which I am interested to use asynchronous functionality and filtering. The application needs to be in production around April/May. Is it a good idea to start working on the available options for JAX-RS 2.0 Jersey since I cannot utilize this functionality in JAX-RS 1.0. If not then I might have to look into other options like Play Framework (which I am currently evaluating). I have seen that Resteasy 2.3.5 also has the required functionality but I was hoping to use the proper JAX-RS 2.0 implementation.
Thank you.
if your app server is jboss 7.x I recomend you RESTEasy, Jboss people is responsible for RESTEasy and it's integrate with JBoss 7.x, the problem with RESTEasy and Jersey is security, please read about OAuth before you choose something, security is important, please implement this first, no only read, implement it

With Spring do you still need a java application server and when?

looks to me you need tomcat or some other servlet engine for the web part.
what about data access part using hibernate and jms? Thanks.
No, you don't need an application server, you can see Spring as a proprietary, modular application server implementation / adapter. But you still need an a servlet container.
Data access part: you can use hibernate and some standalone connection pool
jms: Spring is not a JMS provider, but it nicely integrates POJOs with any JMS provider
Spring also has comprehensive transactions support
Finally you have jmx and aop support built-in and easy integration with bean validation, jpa, web services, rmi, jci, task scheduling, caching...
As you can see you can either use certified application server and Java EE stack or built on top of Tomcat and pick Spring modules you need. Sometimes Spring uses standard Java EE APIs (like JPA), more often it builts its own.

Resources