Tuesday, 21 January 2014

Web server vs Application Server


Most of the times these terms Web Server and Application server are used interchangeably.
Following are some of the key differences in features of Web Server and Application Server:
  • Web Server is designed to serve HTTP Content. Application Server can also serve HTTP Content but is not limited to just HTTP. It can be provided other protocol support such as RMI/RPC
  • Web Server is mostly designed to serve static content. Though most of the Web Servers are having plugins to support scripting languages like Perl, PHP, ASP, JSP etc. through which these servers can generate dynamic HTTP content.
  • Most of the application servers have Web Server as integral part of them, that means App Server can do whatever Web Server is capable of. Additionally App Server have components and features to support Application level services such as connection Pooling, object pooling, transaction support, messaging services, concurrency capabilities etc.
  • As web servers are well suited for static content and app servers for dynamic content, most of the production environments have web server acting as reverse proxy to app server. That means while servicing a page request, static contents such as images/Static html is served by web server that interprets the request. Using some kind of filtering technique (mostly extension of requested resource) web server identifies dynamic content request and transparently forwards to app server
Example of such configuration is Apache HTTP Server and BEA WebLogic Server. Apache HTTP Server is Web Server and BEA WebLogic is Application Server.
In some cases the servers are tightly integrated such as IIS and .NET Runtime. IIS is web server. When equipped with .NET runtime environment IIS is capable of providing application services.

Reference - I do not own the material above but IMHO, it describes the topic aptly and precisely. I had found this from an internet research and I do not now remember where I got this from.

When I am not able to select text in Outlook body

Issue :- I do not know the reason why but there have been times, when all of a sudden, Outlook would not allow me to select text in the message body.

Resolution :- Position the cursor in the message body and just right click. This little trick has helped me all the time !

Friday, 14 September 2012

URI vs URL vs URN

The difference explained as you would to your grandmom -

URIs identify and URLs locate; however, locations are also identifications, so every URL is also a URI, but there are URIs which are not URLs.

Examples

  • Roger Pate
This is my name, which is identification. It is like a URI, but cannot be a URL, as it tells you nothing about my location or how to contact me. In this case it also happens to identify at least 5 other people in the USA alone.
  • 4914 West Bay Street, Nassau, Bahamas
This is a location, which is identification for that physical location. It is like both a URL and URI (since all URLs are URIs), and also identifies me indirectly as "resident of..". In this case it uniquely identifies me, but that would change if I get a roommate.
I say "like" because these examples do not follow the required syntax.

Popular confusion

From Wikipedia:
In computing, a Uniform Resource Locator (URL) is a subset of the Uniform Resource Identifier (URI) that specifies where an identified resource is available and the mechanism for retrieving it. In popular usage and in many technical documents and verbal discussions it is often incorrectly used as a synonym for URI, ... [emphasis mine]
Because of this common confusion, many products and documentation incorrectly use one term instead of the other, assign their own distinction, or use them synonymously.

URNs

My name, Roger Pate, could be like a URN, except those are much more regulated and intended to be unique across both space and time.
Because I currently share this name with other people, it's not globally unique and would not be appropriate as a URN. However, even if no other family used this name, I'm named after my paternal grandfather, so it still wouldn't be unique across time. And even if that wasn't the case, the possibility of naming my descendants after me make this unsuitable as a URN.
URNs are different from URLs in this rigid uniqueness constraint, even though they both share the syntax of URIs.
This explanation was given by a person named Roger Pate on stackoverflow. I have taken the liberty of copying it over here for my reference and whoever stumbles upon this here!

Tuesday, 18 October 2011

Here is one of the most blunt and most honest articles on IT management - https://plus.google.com/112678702228711889851/posts/eVeouesvaVX

I really enjoyed reading it for its simplicity and frankness.

Saturday, 15 October 2011

About Passing OCMJEA 5 Part 1

I passed OCMJEA 5 Part 1(1Z0-864) on Aug 2 2011. This is my journey of making it through this exam.

Profile and Intent :
When I started thinking about this exam(sometime around mid 2010), I was wondering if this exam was for me or not. So I am giving a brief profile of myself so that it might help someone else in a similar position. I have been around in software development and Java/J2EE(backthen) or JEE(now) since 2003. I have a solid background in full life-cycle of software development including requirements gathering, design, coding, testing, debugging and maintenance. Certification was a way to see where I am and what I needed to do to polish my skills. For me, certification was a journey not my ultimate goal. Because I was keen on the breadth and high level JEE rather than the depth, I chose OCMJEA instead of others like OCEJ6EJBD or OCEJWSD etc. 

Study plan : 
First of all, I checked up to see if the exam was retiring anytime soon. It was not. What I did find out was that the certification requirements were changing from a no mandatory coursework(meaning less money) to a mandatory coursework(meaning astronomically more money) from October 1st 2011. I found this out on July 7th 2011. I had approximately 3 months to get certified. I decided to take the plunge and ordered the book Sun Certified Enterprise Architect for Java EE Study Guide by Humphrey Sheil and Mark Cade right away.

While I was waiting for the book to arrive, I did some research on the internet to learn from others' experiences. The following blog posts helped me a lot -
1. http://www.selikoff.net/2010/07/16/jeannes-scea-5-part-1-experiences/
2. http://scea5-passingpart2and3.blogspot.com/
3. http://java.dzone.com/articles/my-path-scea-5?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+javalobby%2Ffrontpage+%28Javalobby+%2F+Java+Zone%29

CodeRanch is another invaluable place for anybody preparing for java certification. I love StackOverflow for finding answers to subjective kind of questions. 

My study resources consisted of the following -
1. Core J2EE patterns by John Crupi, Deepak Allur and Dan Malks
2. Head First Design Patterns
3. Real World Java EE Patterns by Adam Bien
4. EJB 3 in Action by Debu Panda, Reza Rahman and Derek Lane
5. Java EE 5 tutorial
6. Mikalai Zaikin's SCEA 5 study guide
7. Java Web Services Up and Running
8. Humphrey Sheil's SCEA presentation

I had read some of them earlier. I just upped the throttle a little bit when I decided on the dates. With precise dates, I was able to spend 4-5 hrs(a couple of hours in the morning and about a couple in the evening) per week day and 6-8 hrs on weekends for studying for the exam. 

My plan was to take the Step 1 exam in the first week of August and booked the date for August 2nd. I booked the exam and paid for it directly at http://www.pearsonvue.com/oracle/.

A few days before my exam I bought Whizlabs scea mock tests. There is an offer for buying discounted exam voucher when you buy whizlabs scea mock tests. This exam voucher is valid till December 2011. Unfortunately I did not know about it when I had booked my exam. I liked taking the mock tests. They helped me identify my weak areas and to concentrate on improving them.

I also found some free SCEA Step 1(1Z0-864) questions -
1. http://certification.about.com/od/freequestions/a/blscea_intro.htm
2. http://www.coderanch.com/how-to/java/SceaMockTests - Many of the links are no longer valid. It is still helpful though.
3. Gof Design patterns practice
4. http://mycollectivematerial.blogspot.com/2009/02/scea15-my-experience.html
5. http://reddymails.blogspot.com/2011/07/scea-part1-questions.html

The day before my exam, I skimmed through Sun Certified Enterprise Architect for Java EE Study Guide by Humphrey Sheil and Mark Cade and that was it.

The certification requirements have changed since October 1st with the inclusion of mandatory coursework but the general format of the exam otherwise remains the same. I hope my experience helps someone else preparing for the exam. Good luck.