3 Replies - 6169 Views - Last Post: 13 February 2012 - 01:12 AM

#1 nick2price  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 562
  • View blog
  • Posts: 2,826
  • Joined: 23-November 07

How do you choose your platform and api's?

Posted 12 February 2012 - 02:58 PM

Recently, I decided to study javaEE and javaFX, as in the past, I have used other technologies to handle what these platforms offer. How do you base your choices on what platforms and api's to choose? For instance, say you have to create an ecommerce application as shown in this tutorial (this is a JavaEE tutorial) http://netbeans.org/...erce/intro.html. Now obviously you can create this with JavaEE, but I bet you could also create it with javaSE. Infact, from what I see, javaFX is a high level platform for creating rich internet applications, so you could probably use this aswell. Obviously there would be differences in the choices you make in terms of how you handle things, but the outcome of all would provide similar functionality.

I have only mentioned platforms, but there is also a huge choice of api's. I'm interested in if you were provided with a business plan, how would you go about designing your system, in terms of the platforms/api's you would use?

Looking forward to see how others design their systems.

Is This A Good Question/Topic? 1
  • +

Replies To: How do you choose your platform and api's?

#2 blackcompe  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 1156
  • View blog
  • Posts: 2,538
  • Joined: 05-May 05

Re: How do you choose your platform and api's?

Posted 12 February 2012 - 06:36 PM

*
POPULAR

Quote

Now obviously you can create this with JavaEE, but I bet you could also create it with javaSE


You really wouldn't want to build an E-Commerce system as a standalone application for the following reasons:

-The application would be enormous and it would have to be installed on every end user's PC.

-There are still many client PC's that aren't running dual core CPUs. If it had to do intensive computational work, the end users PC would probably freeze. And, as more features are added the system will probably become less responsive. With enterprise systems, all work is done on powerful servers that scale easily.

-Client/server systems are easier to maintain. All updates are done centrally.

-Most importantly, you can add any front-end to an enterprise system. You easily add a mobile or desktop platform to your system.

-Transaction handling would be dam near impossible and could threaten your data integrity. Standalone applications would talk directly to data sources. Tunneling all transactions through one back-end is much safer, since the container can synchronize database transactions. ACID.....

-n-tier systems facilitate teamwork. A web developer with absolutely no Java experience can work on the front-end, while back-end developers do their thing.

-Swing has a terrible LAF. Lol. I'd much rather use a JSF component library to give end user's that rich experience.

Now if you were developing a small business CRM or inventory application, a standalone application might suffice. E-Commerce systems are generally customer-based applications.

Quote

Infact, from what I see, javaFX is a high level platform for creating rich internet applications, so you could probably use this aswell.


I just watched an Oracle presentation on JavaFX. I'm very excited about JavaFX! It used to be that you had to learn some scripting language to use it. Pure Java now. Java is making it a lot easier for graphically uninclined developers to create immersive applications.

I bet JavaFX will take the mobile market by storm if it hasn't already, but I don't see its adaptation in the business world any time soon. Maybe, it'll be used where needed, perhaps to simulate some business data. Who knows. It's not really a popular technology right now.

The stuff Oracle demoed was amazing.

Quote

I'm interested in if you were provided with a business plan, how would you go about designing your system, in terms of the platforms/api's you would use?


Everything has it's advantages and disadvantages. I guess you have to weigh what's most important from a technological standpoint. I don't have experience with that so my knowledge is rather limited.

Take for example, Spring vs. EJB. Before EJB 3 introduced dependency injection (configurable runtime classes), Spring was an attractive framework, because it allowed most of the components to be decoupled and thus more maintainable and testable. If maintainability was of great importance (when isn't it?), then the choice was simple.

Or, for instance, you might choose Struts as your MVC framework, because it has templating, which helps separate presentation and programming logic much better than JSP. It also supports AJAX, making validation easier, and it makes testing a lot easier.

Or you might choose to use JSF because you have absolutely no web design skills.

Whatever the case may be, it's all about what you need and seeing what's out there and how it can make your life a lot easier.

This post has been edited by blackcompe: 12 February 2012 - 06:42 PM

Was This Post Helpful? 5
  • +
  • -

#3 nick2price  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 562
  • View blog
  • Posts: 2,826
  • Joined: 23-November 07

Re: How do you choose your platform and api's?

Posted 12 February 2012 - 07:08 PM

Fantastic answer, wish I could give you more +1's. I learned more from your reply than what I have been reading. So in essence, JavaEE runs off a client/common/server setup whereas JavaSE is more client only? Most of my work in java to this point has been built of the JavaSE platform, but I have never really looked into the workings behind it. I have never used java to build huge applications in the past because I have been one of these people concerned by its dependencies. Since I love the language however, I am trying to use it for larger projects, hence moving into JavaEE.

JavaFX is looking great, quite excited to test it out aswell. Reminds me of Flash, especially how it works off a timeline (allbeit a coded one).

And to anyone who reads this, that tutorial link I provided in the first post for the ecommerce system is probably so far, the greatest tutorial I have ever seen. The reason for this is it takes you through the complete process of developing a system (requirements, design, implementation etc). Proper Agile route being used. At this moment in time, I am using mySQL Workbench to design my database structure. Recommend it to everyone even though it is quite tedious getting everything up and running.
Was This Post Helpful? 0
  • +
  • -

#4 blackcompe  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 1156
  • View blog
  • Posts: 2,538
  • Joined: 05-May 05

Re: How do you choose your platform and api's?

Posted 13 February 2012 - 01:12 AM

Quote

So in essence, JavaEE runs off a client/common/server setup whereas JavaSE is more client only?


Exactly. You wouldn't call JavaSE "client only." It creates standalone desktop applications. A desktop application isn't a client to anything. It's not served any data, aside from using database services.

Quote

I have never used java to build huge applications in the past because I have been one of these people concerned by its dependencies.


It gets easier with time. Using IDEs with pre-configured wizards helps considerably. A lot of the configuration stuff is generated automatically with wizards or with annotations. It makes things very easy.

The Java EE spec adds all these awesome APIs, which can be used in standalone apps too. For instance, with JPA you don't write one line of JDBC code! You just call a function and send a primary key value and you get a populated POJO. When you want to save it to the database, its just customer.persist();

Quote

JavaFX is looking great, quite excited to test it out aswell. Reminds me of Flash, especially how it works off a timeline (allbeit a coded one).


Yeah the stater demo code looks relatively easy and produces a UI that blows away anything Swing has ever done. I'm pretty sure FX is on a lot of set-top boxes, like TiVo.
Was This Post Helpful? 1
  • +
  • -

Page 1 of 1