I\'m developing a web service from scratch. The service could have potential of
ID: 639645 • Letter: I
Question
I'm developing a web service from scratch. The service could have potential of 10,000 requests a day. Actually, to be honest, requirements aren't that clear at this point of the project. What the management team wants is to build something and getting it working. However, it does have the potential of getting bigger, so I need to put down the * foundation* right.
I've decided to
1. Use Tomcat 6.0 as the application server
2. Use Apache Axis2 as the web service engine (Install it in Tomcat)
3. Use ??? for web service implementation
4. Use Hibernate for accessing database
Point 3 is a bit fuzzy, I am not sure if I should use jax-ws or jaxb or spring or ejb or just POJO to implement the service. To people who have used these technologies, which one is easy to use, which one is easy to maintain, and which one is easy to scale?
Explanation / Answer
I would recommend using the Java EE stack (which is supported by all vendors: Oracle, IBM, JBoss, SAP, etc... offering both open source and commercial distributions).
Web Service Layer
JAX-WS for SOAP Web Services
JAX-RS for RESTful Web Services
Message Binding Layer
JAXB the standard binding layer for both JAX-WS/JAX-RS.
Persistence Layer
JPA -The standard for Java persistence. Hibernate is a JPA implementation, if you stick with the JPA APIs you have the ability to also use EclipseLink or Open JPA without modifying your application.
What the management team wants is to build something and getting it working.
Glassfish is the Java EE reference implementation and contains all the pieces you need.
However, it does have the potential of getting bigger, so I need to put down the * foundation* right.
Sticking to a standard stack you could initially deploy your application to something like GlassFish, and then as your traffic increased you could move your exact same application to something like WebLogic.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.