Solved

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

Posted on 2011-02-25
3
456 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 27

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 27

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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
stateless EJB with glassfish 2 71
dynamic reloading of jsp in jetty 2 118
JSONSerializer.toJSON in JSP generating error 8 64
instanceof  operator in java 26 86
This article lists the top 5 free OST to PST Converter Tools. These tools save a lot of time for users when they want to convert OST to PST after their exchange server is no longer available or some other critical issue with exchange server or impor…
Large Outlook files lead to various unwanted errors and corruption issues. Furthermore, large outlook files can also make Outlook take longer to start-up, search, navigate, and shut-down. So, In this article, i will discuss a method to make your Out…
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
Windows 10 is mostly good. However the one thing that annoys me is how many clicks you have to do to dial a VPN connection. You have to go to settings from the start menu, (2 clicks), Network and Internet (1 click), Click VPN (another click) then fi…

911 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

21 Experts available now in Live!

Get 1:1 Help Now