This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Hi guys (and gals), Sorry,I forgot to ask this along with my last post. It's probably fairly simple - How do servlets and servlet containers relate to application servers? Do application servers like JBoss and the Sun App Server have a built in container? What sort of things do you do with an application server and where does a typical webserver fit into the picture. The last thing i was wondering about is are application servers only involved in web based applications like an online store front, or can they be used somehow for other non-web based systems. Its one of the terms that I hear all the time. I've made a few servlets and java applications. When I hear about J2EE, and weservices and all that other stuff I cant quite put it all in its place and see how everything fits together. Any advice would be great Kind Regards Simon Harvey
An Application Server can mean many things to many people depending on who you talk to - there is no official meaning. For example: People may refer to an application server when they mean...
a Web Server
a J2EE application server
a Transaction server
....and probably many other types of middleware
Some application servers may be completely proprietry (eg. Microsoft IIS), others may be mainly based on a set of standards (eg. J2EE application servers - though they will still have proprietry elements to them). J2EE application servers must comply with the various sub-specifications which J2EE includes, such as Servlets, JSPs, EJBs, JMS, JCA, etc.. Servers which comply with ALL of these J2EE specs are classfied as 'fully compliant' J2EE Application Servers. The J2EE specs often talk about 'Web Containers' and 'EJB Containers'. This terminology usually applies in more of a logical rather than a physical sense. The Web Container is the name for the part of the J2EE server which runs Servlets and JSPs. The EJB container is the part of the J2EE server which runs EJBs. However some application servers provide explicit support and configuration options for these containers individually (eg. JBoss) so that an administrator can choose to turn one container type off (eg. a Web Container) whilst still running the other container(s) (eg. an EJB container). Note: Some 'Java servers' (eg. Tomcat) are not fully fledged J2EE application servers, because they only implement a Web Container - they don't support EJBs. Likewise, some 'Java servers' may only be an EJB container without support for Servlets/JSPs. In many situations, people may use J2EE servers for business logic/transactions. They do not use the Web Container at all. The J2EE server may be used by thick clients, proprietry clients, other businesses (eg. Web Services) or other remote servers/middleware and may not be accessed via a browser at all. That's the beauty of J2EE, the choice is yours! Hope this helps Paul [ January 07, 2003: Message edited by: Paul Done ]