Solved

Connecting the web service's tier to the application tier:What protocol / language should I use?

Posted on 2011-02-25
3
455 Views
Last Modified: 2013-11-05
Hello, we are currently trying to architect a 3 tier solution for a web application with all tiers separated by a DMZ. The first tier being the web servers, the second tier being where the application logic or messaging takes place, and the third is the Oracle databases. What would be the best protocol or language to use for the web servers to send commands and / or methods to the application tier? Would SOAP be an appropriate protocol for this? Or is SOAP strictly used for front end POST methods? I know SOAP uses XML, so should the Java on the web servers strictly use XML? Please let me know the best course of action.
0
Comment
Question by:krella
  • 2
3 Comments
 
LVL 26

Expert Comment

by:mrcoffee365
ID: 34982565
In my experience, using XML to communicate within an application is the slowest in terms of performance of any of the methods.  If your tiers are on different networks, it's possible that network communication will be so slow that it will dwarf the time spent reading and producing XML, but if you are on the same internal network -- and I'm not sure where your "DMZ" falls on this -- then you'll notice the performance slowdown.

So we always recommend XML for external communications and either serialized objects or plain text for internal communications.  Direct communications, as in Oracle thin client, is even better.
0
 

Author Comment

by:krella
ID: 34983158
Thanks Mr. Coffee. We are planning on using the thin client with the syntax below to connect to Oracle.

"jdbc:oracle:thin:@machine_name:1521:database_name",

Would you recommend this is done on the application tier? In a nutshell we would like the web tier to pass parameters and arguments to the app tier. Then the app tier performs the business logic. Then relevant data is stored in the DB. Does this sound like the best way to architect the tiers?
0
 
LVL 26

Accepted Solution

by:
mrcoffee365 earned 250 total points
ID: 34983780
That is the classic architecture.

Just be warned that every network communication layer you put in your communication path causes a delay.  So 3 computers, communicating for every request, will add up.  It does keep things extremely separate.

If your machines can handle it, you might consider combining the containers for the web tier and the application tier.  Keep the software architecture so that the classes are separate, but run them in the same JVM, which would normally mean within the same webapp container, say under JBoss/Tomcat (or Websphere, Weblogic, whatever).

But your plan is the classic architecture recommended by consultants.  In my experience, it has caused significant performance bottlenecks -- but then every architecture has problems.  You'll have to solve something with each one.
0

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
web service Rest Client creation 4 73
getting Http 404 error in jsp forms 8 72
J2SE 5.0 metadata 1 44
Java Exception example issues 11 83
Owning a franchise can be the dream of a lifetime. It provides a chance for economic growth. You can be as successful as you want.  To make your franchise successful, you need to market it successfully. Here are six of the best marketing strategies …
Is your company's data protection keeping pace with virtualization? Here are 7 dynamic ways to adapt to rapid breakthroughs in technology.
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

757 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now