开发者

Way how to develop a Cloud Application

We start a new project which should be a cloud scalable application.

The prefered Ways is right now Java, Tomcat as a Application Server to be able to deploy it into the Amazon Ec2. The Web Service should be accessable over SOAP (WSDL) and an WebInterface which should be designed with GWT, for the Server Structure we plan to use Spring, and for the Data Hibernate to store the business modell into the database.

Has any开发者_如何学Cbody some ready projects for eclipse, where such an project with (java ee axis1 java annotations for webservices, gwt, spring and hibernate) is prepared?

Or how is the best way to start or setup/structure such an project to don't run in an wrong way!?

All Helps and Tips would be great.

Thanks and greetings

Tommy


Google App Engine (GAE) is another potential solution for a scalable web architecture. The biggest difference here is that you do NOT have access to the underlying server, but Google does provide many API's to allow you to do what you may need to do. (Such as a persistence layer in the absence of JDBC)

GAE can be quick and easy to start up and use with Eclipse, as they have a nice plugin suite for Eclipse (maybe IntelliJ too, but I don't know for sure). It also integrates very well with GWT.

One last note, you can do code with GAE in Python, if you so desire.


Several questions in your thread. My opinion on "pre-canned" eclipse project templates: I think I've seen something like this in the past, but can't remember where. Indeed, I do not recommend to follow this approach, because:

  1. you should understand your application. Starting which a bunch (and we talk about +10 libs here) of libs does not give you any idea what's going on under the hood
  2. world is changing I. A +1 year old example may already be outdated
  3. world is changing II. At a certain point in time your app enters the maintenance (running) mode. What if changes are required, you have to migrate from e.g. Tomcat 7 to Tomcat 9 or from Spring 3 to String 5. Will you start at this point in time to understand what you did 3 years ago?
  4. when the enterprise comes into play, you have to consider different aspects such as licensing and legal issues, so you must clearly identify your OSS components their licenses and location.
  5. It's not that hard, identify the top level libs you need, e.g. Spring. Then see which prerequisits you have to fulfill.


Building an app to run on Amazon AWS is really the same as building it to run on anything else. When you start your machine instance, at that point it's really just a linux (or windows) box that you can login to and manage in whatever way you want. Sorry to say the cloud isn't a magic bullet on scalability, you should still look at best practices on how to make your app scalable across multiple servers.

Amazon does provide the other services to make scaling easier, like the elastic load balancer and the ability to create custom AMIs so that you can start a new instance in a heartbeat, but you'll still have to figure out how you want the app to scale. As chedine said, I would probably go with REST over SOAP, but I don't know which constraints have been put on you by your project manager.

Finally, home's points on upgrading and understanding your app are good, and I would suggest going through the spring/hibernate documentation and configuring what you need, the way you need it. It might seem like a heavy investment up front, but well worth the effort if you plan to base your app on the technology.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜